mirror of
https://github.com/GradienceTeam/Gradience.git
synced 2024-10-04 08:47:54 +00:00
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:
parent
1de0a01a4b
commit
3d2f16c4e2
3 changed files with 14 additions and 23 deletions
|
@ -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")
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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()
|
||||
|
||||
|
|
Loading…
Reference in a new issue