frontend/main: rename show_exit_dialog to show_unsaved_dialog

* add new `discard` parameter to GradienceSaveDialog
    * clean some placeholder functions in main module
This commit is contained in:
tfuxu 2023-01-04 21:00:48 +01:00
parent 1de0a01a4b
commit 3d2f16c4e2
No known key found for this signature in database
GPG key ID: 79CFC3B9B31C098A
3 changed files with 14 additions and 23 deletions

View file

@ -27,7 +27,7 @@ class GradienceSaveDialog(Adw.MessageDialog):
preset_entry = Gtk.Template.Child("preset-entry")
def __init__(self, parent, heading=None, body=None, path=None, **kwargs):
def __init__(self, parent, heading=None, body=None, path=None, discard=False, **kwargs):
super().__init__(**kwargs)
self.parent = parent
@ -53,6 +53,13 @@ class GradienceSaveDialog(Adw.MessageDialog):
raise AttributeError("DEV FAULT: You need to either specify 'body' or 'path' parameter")
self.add_response("cancel", _("_Cancel"))
if discard:
self.add_response("discard", _("Discard"))
self.set_response_appearance(
"discard", Adw.ResponseAppearance.DESTRUCTIVE
)
self.add_response("save", _("_Save"))
self.set_default_response("cancel")
self.set_close_response("cancel")

View file

@ -497,6 +497,7 @@ class GradienceApplication(Adw.Application):
_("_Restore"),
Adw.ResponseAppearance.DESTRUCTIVE
)
dialog.gtk3_app_type.set_sensitive(False)
dialog.connect("response", self.restore_color_scheme)
dialog.present()
@ -510,6 +511,7 @@ class GradienceApplication(Adw.Application):
_("_Reset"),
Adw.ResponseAppearance.DESTRUCTIVE
)
dialog.connect("response", self.reset_color_scheme)
dialog.present()
@ -552,7 +554,7 @@ class GradienceApplication(Adw.Application):
dialog.present()
def show_exit_dialog(self, *_args):
def show_unsaved_dialog(self, *_args):
dialog = GradienceSaveDialog(
self.win,
heading=_("You have unsaved changes!"),
@ -560,12 +562,9 @@ class GradienceApplication(Adw.Application):
presets_dir,
"user",
to_slug_case(self.preset_name) + ".json"
),
discard=True
)
)
dialog.add_response("discard", _("Discard"))
dialog.set_response_appearance(
"discard", Adw.ResponseAppearance.DESTRUCTIVE)
preset_entry = dialog.preset_entry
preset_entry.set_text(self.preset_name)
@ -624,13 +623,8 @@ class GradienceApplication(Adw.Application):
)
dialog = GradienceLogOutDialog(self.win)
dialog.connect('response', self.on_theme_set_dialog_response)
dialog.present()
def on_theme_set_dialog_response(self, _dialog, response):
if response == "ok":
logging.debug("theme_set_dialog_ok")
def restore_color_scheme(self, widget, response):
if response == "restore":
if widget.get_app_types()["gtk4"]:
@ -642,13 +636,8 @@ class GradienceApplication(Adw.Application):
)
dialog = GradienceLogOutDialog(self.win)
dialog.connect('response', self.on_theme_restore_dialog_response)
dialog.present()
def on_theme_restore_dialog_response (self, dialog, response):
if response == "ok":
logging.debug("theme_restore_dialog_ok")
def reset_color_scheme(self, widget, response):
if response == "reset":
if widget.get_app_types()["gtk4"]:
@ -668,13 +657,8 @@ class GradienceApplication(Adw.Application):
)
dialog = GradienceLogOutDialog(self.win)
dialog.connect('response', self.on_theme_reset_dialog_response)
dialog.present()
def on_theme_reset_dialog_response (self, dialog, response):
if response == "ok":
logging.debug("theme_reset_dialog_ok")
def show_preferences(self, *_args):
prefs = GradiencePreferencesWindow(self.win)
prefs.present()

View file

@ -98,7 +98,7 @@ class GradienceMainWindow(Adw.ApplicationWindow):
def on_close_request(self, *args):
if self.get_application().is_dirty:
logging.debug("Window close request")
self.get_application().show_exit_dialog()
self.get_application().show_unsaved_dialog()
return True
self.close()