From ff0c5caf30c4eea06505458e14684c9d914d0480 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 8 Aug 2025 17:51:29 +0900 Subject: [PATCH] feat: add quit dialog --- helpers/ui.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/helpers/ui.py b/helpers/ui.py index 82a307e..9837192 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -101,6 +101,7 @@ class Popup(Enum): RETURN = 5 MODLIST = 6 DETAILS = 7 + QUIT = 8 class NotebookPage(Enum): @@ -860,8 +861,7 @@ def process_shell_return_code( process_tree_option(RowType.HANDSHAKE) case 255: # dzgui version update msg = "Update complete. Please close DZGUI and restart." - spawn_dialog(msg, Popup.NOTIFY) - save_res_and_quit() + spawn_dialog(msg, Popup.QUIT) def call_on_thread( @@ -2697,11 +2697,7 @@ class GenericDialog(Gtk.MessageDialog): dialog_type = Gtk.MessageType.INFO button_type = Gtk.ButtonsType.NONE header_text = "Please wait" - case Popup.NOTIFY: - dialog_type = Gtk.MessageType.INFO - button_type = Gtk.ButtonsType.OK - header_text = "Notice" - case Popup.RETURN: + case Popup.NOTIFY | Popup.RETURN | Popup.QUIT: dialog_type = Gtk.MessageType.INFO button_type = Gtk.ButtonsType.OK header_text = "Notice" @@ -2748,6 +2744,13 @@ class GenericDialog(Gtk.MessageDialog): ok.connect("clicked", self._return_to_main_menu) self.connect("delete-event", self._return_to_main_menu) + if mode == Popup.QUIT: + button_label = "Exit" + ok = self.action_area.get_children()[0] + ok.set_label(button_label) + ok.connect("clicked", save_res_and_quit) + self.connect("delete-event", save_res_and_quit) + self.set_default_response(Gtk.ResponseType.OK) self.set_size_request(500, 0) self.set_position(Gtk.WindowPosition.CENTER_ON_PARENT)