Skip to content

Commit

Permalink
🚧 pages: refactor messagedialog into helper function
Browse files Browse the repository at this point in the history
  • Loading branch information
vnepogodin committed Aug 5, 2024
1 parent 1932219 commit b4d50c9
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 33 deletions.
41 changes: 8 additions & 33 deletions src/pages.rs
Original file line number Diff line number Diff line change
Expand Up @@ -408,17 +408,7 @@ fn create_fixes_section(builder: &Builder) -> gtk::Box {
let widget_window =
utils::get_window_from_widget(widget_obj).expect("Failed to retrieve window");

let dialog = gtk::MessageDialog::builder()
.transient_for(&widget_window)
.message_type(msg.msg_type)
.text(msg.msg)
.title(msg.msg_type.to_string())
.modal(true)
.buttons(gtk::ButtonsType::Ok)
.build();
dialog.connect_response(|dialog, _| dialog.close());

dialog.show();
utils::show_simple_dialog(&widget_window, msg.msg_type, &msg.msg, msg.msg_type.to_string());
glib::ControlFlow::Continue
});

Expand Down Expand Up @@ -737,17 +727,7 @@ fn create_connections_section() -> gtk::Box {
let widget_window =
utils::get_window_from_widget(widget_obj).expect("Failed to retrieve window");

let dialog = gtk::MessageDialog::builder()
.transient_for(&widget_window)
.message_type(msg.msg_type)
.text(msg.msg)
.title(msg.msg_type.to_string())
.modal(true)
.buttons(gtk::ButtonsType::Ok)
.build();
dialog.connect_response(|dialog, _| dialog.close());

dialog.show();
utils::show_simple_dialog(&widget_window, msg.msg_type, &msg.msg, msg.msg_type.to_string());
glib::ControlFlow::Continue
});

Expand Down Expand Up @@ -993,17 +973,12 @@ fn toggle_service(
if !msg {
callback(msg);

let dialog = gtk::MessageDialog::builder()
.transient_for(&widget_window)
.message_type(gtk::MessageType::Error)
.text(&dialog_text)
.title("Error")
.modal(true)
.buttons(gtk::ButtonsType::Ok)
.build();
dialog.connect_response(|dialog, _| dialog.close());

dialog.show();
utils::show_simple_dialog(
&widget_window,
gtk::MessageType::Error,
&dialog_text,
"Error".to_string(),
);
}
glib::ControlFlow::Continue
});
Expand Down
19 changes: 19 additions & 0 deletions src/utils.rs
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,25 @@ pub fn is_root_on_btrfs() -> bool {
root_fs == "btrfs\n"
}

pub fn show_simple_dialog(
widget_window: &gtk::Window,
dialog_msg_type: gtk::MessageType,
dialog_text: &String,
dialog_title: String,
) {
let dialog = gtk::MessageDialog::builder()
.transient_for(widget_window)
.message_type(dialog_msg_type)
.text(dialog_text)
.title(dialog_title)
.modal(true)
.buttons(gtk::ButtonsType::Ok)
.build();
dialog.connect_response(|dialog, _| dialog.close());

dialog.show();
}

#[cfg(test)]
mod test {
use super::*;
Expand Down

0 comments on commit b4d50c9

Please sign in to comment.