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")
|
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)
|
super().__init__(**kwargs)
|
||||||
|
|
||||||
self.parent = parent
|
self.parent = parent
|
||||||
|
@ -53,6 +53,13 @@ class GradienceSaveDialog(Adw.MessageDialog):
|
||||||
raise AttributeError("DEV FAULT: You need to either specify 'body' or 'path' parameter")
|
raise AttributeError("DEV FAULT: You need to either specify 'body' or 'path' parameter")
|
||||||
|
|
||||||
self.add_response("cancel", _("_Cancel"))
|
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.add_response("save", _("_Save"))
|
||||||
self.set_default_response("cancel")
|
self.set_default_response("cancel")
|
||||||
self.set_close_response("cancel")
|
self.set_close_response("cancel")
|
||||||
|
|
|
@ -497,6 +497,7 @@ class GradienceApplication(Adw.Application):
|
||||||
_("_Restore"),
|
_("_Restore"),
|
||||||
Adw.ResponseAppearance.DESTRUCTIVE
|
Adw.ResponseAppearance.DESTRUCTIVE
|
||||||
)
|
)
|
||||||
|
|
||||||
dialog.gtk3_app_type.set_sensitive(False)
|
dialog.gtk3_app_type.set_sensitive(False)
|
||||||
dialog.connect("response", self.restore_color_scheme)
|
dialog.connect("response", self.restore_color_scheme)
|
||||||
dialog.present()
|
dialog.present()
|
||||||
|
@ -510,6 +511,7 @@ class GradienceApplication(Adw.Application):
|
||||||
_("_Reset"),
|
_("_Reset"),
|
||||||
Adw.ResponseAppearance.DESTRUCTIVE
|
Adw.ResponseAppearance.DESTRUCTIVE
|
||||||
)
|
)
|
||||||
|
|
||||||
dialog.connect("response", self.reset_color_scheme)
|
dialog.connect("response", self.reset_color_scheme)
|
||||||
dialog.present()
|
dialog.present()
|
||||||
|
|
||||||
|
@ -552,7 +554,7 @@ class GradienceApplication(Adw.Application):
|
||||||
|
|
||||||
dialog.present()
|
dialog.present()
|
||||||
|
|
||||||
def show_exit_dialog(self, *_args):
|
def show_unsaved_dialog(self, *_args):
|
||||||
dialog = GradienceSaveDialog(
|
dialog = GradienceSaveDialog(
|
||||||
self.win,
|
self.win,
|
||||||
heading=_("You have unsaved changes!"),
|
heading=_("You have unsaved changes!"),
|
||||||
|
@ -560,13 +562,10 @@ class GradienceApplication(Adw.Application):
|
||||||
presets_dir,
|
presets_dir,
|
||||||
"user",
|
"user",
|
||||||
to_slug_case(self.preset_name) + ".json"
|
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 = dialog.preset_entry
|
||||||
preset_entry.set_text(self.preset_name)
|
preset_entry.set_text(self.preset_name)
|
||||||
|
|
||||||
|
@ -624,13 +623,8 @@ class GradienceApplication(Adw.Application):
|
||||||
)
|
)
|
||||||
|
|
||||||
dialog = GradienceLogOutDialog(self.win)
|
dialog = GradienceLogOutDialog(self.win)
|
||||||
dialog.connect('response', self.on_theme_set_dialog_response)
|
|
||||||
dialog.present()
|
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):
|
def restore_color_scheme(self, widget, response):
|
||||||
if response == "restore":
|
if response == "restore":
|
||||||
if widget.get_app_types()["gtk4"]:
|
if widget.get_app_types()["gtk4"]:
|
||||||
|
@ -642,13 +636,8 @@ class GradienceApplication(Adw.Application):
|
||||||
)
|
)
|
||||||
|
|
||||||
dialog = GradienceLogOutDialog(self.win)
|
dialog = GradienceLogOutDialog(self.win)
|
||||||
dialog.connect('response', self.on_theme_restore_dialog_response)
|
|
||||||
dialog.present()
|
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):
|
def reset_color_scheme(self, widget, response):
|
||||||
if response == "reset":
|
if response == "reset":
|
||||||
if widget.get_app_types()["gtk4"]:
|
if widget.get_app_types()["gtk4"]:
|
||||||
|
@ -668,13 +657,8 @@ class GradienceApplication(Adw.Application):
|
||||||
)
|
)
|
||||||
|
|
||||||
dialog = GradienceLogOutDialog(self.win)
|
dialog = GradienceLogOutDialog(self.win)
|
||||||
dialog.connect('response', self.on_theme_reset_dialog_response)
|
|
||||||
dialog.present()
|
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):
|
def show_preferences(self, *_args):
|
||||||
prefs = GradiencePreferencesWindow(self.win)
|
prefs = GradiencePreferencesWindow(self.win)
|
||||||
prefs.present()
|
prefs.present()
|
||||||
|
|
|
@ -98,7 +98,7 @@ class GradienceMainWindow(Adw.ApplicationWindow):
|
||||||
def on_close_request(self, *args):
|
def on_close_request(self, *args):
|
||||||
if self.get_application().is_dirty:
|
if self.get_application().is_dirty:
|
||||||
logging.debug("Window close request")
|
logging.debug("Window close request")
|
||||||
self.get_application().show_exit_dialog()
|
self.get_application().show_unsaved_dialog()
|
||||||
return True
|
return True
|
||||||
self.close()
|
self.close()
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue