From 123b750e784c4de2952509f1e84062296ef43fd4 Mon Sep 17 00:00:00 2001 From: MeexReay Date: Sat, 19 Apr 2025 02:38:47 +0300 Subject: [PATCH] reset button --- src/chat/gui.rs | 62 ++++++++++++++++++++++++++++++++++++++++++++----- src/chat/mod.rs | 2 +- 2 files changed, 57 insertions(+), 7 deletions(-) diff --git a/src/chat/gui.rs b/src/chat/gui.rs index 232e1fb..06a78ef 100644 --- a/src/chat/gui.rs +++ b/src/chat/gui.rs @@ -241,6 +241,18 @@ fn open_settings(ctx: Arc, app: &Application) { save_button.connect_clicked(clone!( #[weak] ctx, + #[weak] host_entry, + #[weak] name_entry, + #[weak] message_format_entry, + #[weak] update_time_entry, + #[weak] max_messages_entry, + #[weak] hide_my_ip_entry, + #[weak] show_other_ip_entry, + #[weak] auth_enabled_entry, + #[weak] ssl_enabled_entry, + #[weak] chunked_enabled_entry, + #[weak] formatting_enabled_entry, + #[weak] commands_enabled_entry, move |_| { let config = Config { host: host_entry.text().to_string(), @@ -289,6 +301,45 @@ fn open_settings(ctx: Arc, app: &Application) { } )); + let reset_button = Button::builder() + .label("Reset all") + .build(); + + vbox.append(&reset_button); + + reset_button.connect_clicked(clone!( + #[weak] ctx, + #[weak] host_entry, + #[weak] name_entry, + #[weak] message_format_entry, + #[weak] update_time_entry, + #[weak] max_messages_entry, + #[weak] hide_my_ip_entry, + #[weak] show_other_ip_entry, + #[weak] auth_enabled_entry, + #[weak] ssl_enabled_entry, + #[weak] chunked_enabled_entry, + #[weak] formatting_enabled_entry, + #[weak] commands_enabled_entry, + move |_| { + let config = Config::default(); + ctx.set_config(&config); + save_config(get_config_path(), &config); + host_entry.set_text(&config.host); + name_entry.set_text(&config.name.unwrap_or_default()); + message_format_entry.set_text(&config.message_format); + update_time_entry.set_text(&config.update_time.to_string()); + max_messages_entry.set_text(&config.max_messages.to_string()); + hide_my_ip_entry.set_active(config.hide_my_ip); + show_other_ip_entry.set_active(config.show_other_ip); + auth_enabled_entry.set_active(config.auth_enabled); + ssl_enabled_entry.set_active(config.ssl_enabled); + chunked_enabled_entry.set_active(config.chunked_enabled); + formatting_enabled_entry.set_active(config.formatting_enabled); + commands_enabled_entry.set_active(config.commands_enabled); + } + )); + let window = Window::builder() .application(app) .title("Settings") @@ -659,10 +710,9 @@ fn on_add_message(ctx: Arc, ui: &UiModel, message: String) { .label(ip) .margin_end(10) .halign(Align::Start) + .valign(Align::Start) .css_classes(["message-ip"]) .selectable(true) - .wrap(true) - .wrap_mode(WrapMode::Char) .build(); hbox.append(&ip); @@ -672,10 +722,9 @@ fn on_add_message(ctx: Arc, ui: &UiModel, message: String) { let date = Label::builder() .label(format!("[{date}]")) .halign(Align::Start) + .valign(Align::Start) .css_classes(["message-date"]) .selectable(true) - .wrap(true) - .wrap_mode(WrapMode::Char) .build(); hbox.append(&date); @@ -684,10 +733,9 @@ fn on_add_message(ctx: Arc, ui: &UiModel, message: String) { let name = Label::builder() .label(format!("<{name}>")) .halign(Align::Start) + .valign(Align::Start) .css_classes(["message-name", &format!("message-name-{}", color)]) .selectable(true) - .wrap(true) - .wrap_mode(WrapMode::Char) .build(); hbox.append(&name); @@ -696,6 +744,7 @@ fn on_add_message(ctx: Arc, ui: &UiModel, message: String) { let content = Label::builder() .label(content) .halign(Align::Start) + .valign(Align::Start) .css_classes(["message-content"]) .selectable(true) .wrap(true) @@ -707,6 +756,7 @@ fn on_add_message(ctx: Arc, ui: &UiModel, message: String) { let content = Label::builder() .label(message) .halign(Align::Start) + .valign(Align::Start) .css_classes(["message-content"]) .selectable(true) .wrap(true) diff --git a/src/chat/mod.rs b/src/chat/mod.rs index c932c0b..c4e9480 100644 --- a/src/chat/mod.rs +++ b/src/chat/mod.rs @@ -24,7 +24,7 @@ lazy_static! { pub static ref COLORED_USERNAMES: Vec<(Regex, String)> = vec![ (Regex::new(r"\u{B9AC}\u{3E70}<(.*?)> (.*)").unwrap(), "green".to_string()), // bRAC - (Regex::new(r"\u{2550}\u{2550}\u{2550}<(.*?)> (.*)").unwrap(), "red".to_string()), // CRAB + (Regex::new(r"\u{2550}\u{2550}\u{2550}<(.*?)> (.*)").unwrap(), "red".to_string()), // CRAB (Regex::new(r"\u{00B0}\u{0298}<(.*?)> (.*)").unwrap(), "magenta".to_string()), // Mefidroniy (Regex::new(r"<(.*?)> (.*)").unwrap(), "cyan".to_string()), // clRAC ];