From 970b64d6d394a72b9ecac23fb1cf87f926e8776a Mon Sep 17 00:00:00 2001 From: Aaron <123612000+aaron1857@users.noreply.github.com> Date: Wed, 28 May 2025 13:57:12 -0500 Subject: [PATCH] Add toggle for screenshot on application start --- data/com.github.tenderowl.frog.gschema.xml | 5 +++++ data/ui/preferences_general.blp | 5 +++++ frog/main.py | 3 ++- frog/widgets/preferences_general_page.py | 2 ++ 4 files changed, 14 insertions(+), 1 deletion(-) diff --git a/data/com.github.tenderowl.frog.gschema.xml b/data/com.github.tenderowl.frog.gschema.xml index 650aac4..2815ea9 100644 --- a/data/com.github.tenderowl.frog.gschema.xml +++ b/data/com.github.tenderowl.frog.gschema.xml @@ -36,6 +36,11 @@ Autocopy text to clipboard Automatically copy the extracted text to the clipboard. + + false + Automatically take Screenshot at start + Automatically take Screenshot at application launch. + false Open QR-code links diff --git a/data/ui/preferences_general.blp b/data/ui/preferences_general.blp index a5baac6..2ff6899 100644 --- a/data/ui/preferences_general.blp +++ b/data/ui/preferences_general.blp @@ -30,6 +30,11 @@ template $PreferencesGeneralPage : Adw.PreferencesPage { use-underline: true; subtitle: _("Automatically open links from QR-codes"); } + Adw.SwitchRow autoscreen_switch { + title: _("_Take Screenshot at start"); + use-underline: true; + subtitle: _("Automatically take Screenshot at start"); + } } Adw.PreferencesGroup { diff --git a/frog/main.py b/frog/main.py index 1089f98..f8dca3c 100644 --- a/frog/main.py +++ b/frog/main.py @@ -80,7 +80,6 @@ def __init__(self, version=None): def do_startup(self, *args, **kwargs): Adw.Application.do_startup(self) - # create command line option entries shortcut_entry = GLib.OptionEntry() shortcut_entry.long_name = 'extract_to_clipboard' @@ -113,6 +112,8 @@ def do_startup(self, *args, **kwargs): self.create_action('github_star', self.on_github_star) self.settings.connect("changed", self.on_settings_changed) + if self.settings.get_boolean('autoscreen'): + self.backend.capture(self.settings.get_string("active-language"), True) def do_activate(self): win = self.props.active_window diff --git a/frog/widgets/preferences_general_page.py b/frog/widgets/preferences_general_page.py index 51ea51e..0f18868 100644 --- a/frog/widgets/preferences_general_page.py +++ b/frog/widgets/preferences_general_page.py @@ -41,6 +41,7 @@ class PreferencesGeneralPage(Adw.PreferencesPage): extra_language_combo: Adw.ComboRow = Gtk.Template.Child() autocopy_switch: Adw.SwitchRow = Gtk.Template.Child() autolinks_switch: Adw.SwitchRow = Gtk.Template.Child() + autoscreen_switch: Adw.SwitchRow = Gtk.Template.Child() telemetry_switch: Adw.SwitchRow = Gtk.Template.Child() def __init__(self): @@ -50,6 +51,7 @@ def __init__(self): self.settings.bind('autocopy', self.autocopy_switch, 'active', Gio.SettingsBindFlags.DEFAULT) self.settings.bind('autolinks', self.autolinks_switch, 'active', Gio.SettingsBindFlags.DEFAULT) + self.settings.bind('autoscreen', self.autoscreen_switch, 'active', Gio.SettingsBindFlags.DEFAULT) self.settings.bind('telemetry', self.telemetry_switch, 'active', Gio.SettingsBindFlags.DEFAULT) downloaded_langs = language_manager.get_downloaded_languages()