From 4ad8f217c371d60ec7f12b80dd263652a087e2d5 Mon Sep 17 00:00:00 2001 From: Romain Vigier Date: Wed, 23 Feb 2022 22:56:22 +0100 Subject: [PATCH] Group advanced settings and use expander rows --- src/po/nightthemeswitcher@romainvigier.fr.pot | 58 ++++---- src/preferences/SchedulePage.js | 15 +-- src/preferences/ui/SchedulePage.ui | 127 +++++++++--------- 3 files changed, 95 insertions(+), 105 deletions(-) diff --git a/src/po/nightthemeswitcher@romainvigier.fr.pot b/src/po/nightthemeswitcher@romainvigier.fr.pot index 0f9ae74..7d24daf 100644 --- a/src/po/nightthemeswitcher@romainvigier.fr.pot +++ b/src/po/nightthemeswitcher@romainvigier.fr.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Night Theme Switcher\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-02-23 21:30+0100\n" +"POT-Creation-Date: 2022-02-23 22:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -45,35 +45,35 @@ msgstr "" msgid "Turn Off" msgstr "" -#: src/preferences/BackgroundButton.js:61 +#: src/preferences/BackgroundButton.js:71 msgid "Only JPEG, PNG, TIFF and XML files can be set as background image." msgstr "" -#: src/preferences/SchedulePage.js:45 src/preferences/ui/SchedulePage.ui:63 +#: src/preferences/SchedulePage.js:43 src/preferences/ui/SchedulePage.ui:62 msgid "Night Light" msgstr "" -#: src/preferences/SchedulePage.js:49 +#: src/preferences/SchedulePage.js:48 msgid "Location Services" msgstr "" -#: src/preferences/SchedulePage.js:57 +#: src/preferences/SchedulePage.js:56 src/preferences/ui/SchedulePage.ui:79 msgid "Manual schedule" msgstr "" -#: src/preferences/SchedulePage.js:58 src/preferences/ui/SchedulePage.ui:109 +#: src/preferences/SchedulePage.js:57 src/preferences/ui/SchedulePage.ui:108 msgid "On-demand" msgstr "" -#: src/preferences/SchedulePage.js:91 +#: src/preferences/SchedulePage.js:90 msgid "None" msgstr "" -#: src/preferences/SchedulePage.js:92 +#: src/preferences/SchedulePage.js:91 msgid "Top bar" msgstr "" -#: src/preferences/SchedulePage.js:93 +#: src/preferences/SchedulePage.js:92 msgid "System menu" msgstr "" @@ -228,7 +228,7 @@ msgid "Path to the night background" msgstr "" #: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:120 -#: src/preferences/ui/SchedulePage.ui:43 +#: src/preferences/ui/SchedulePage.ui:27 msgid "Time source" msgstr "" @@ -301,7 +301,7 @@ msgid "When the day ends" msgstr "" #: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:174 -#: src/preferences/ui/SchedulePage.ui:15 +#: src/preferences/ui/SchedulePage.ui:50 msgid "Transition" msgstr "" @@ -335,7 +335,7 @@ msgstr "" msgid "Run commands" msgstr "" -#: src/preferences/ui/CommandsPage.ui:21 src/preferences/ui/SchedulePage.ui:83 +#: src/preferences/ui/CommandsPage.ui:21 src/preferences/ui/SchedulePage.ui:82 msgid "Sunrise" msgstr "" @@ -344,7 +344,7 @@ msgstr "" msgid "notify-send \"Hello sunshine!\"" msgstr "" -#: src/preferences/ui/CommandsPage.ui:35 src/preferences/ui/SchedulePage.ui:95 +#: src/preferences/ui/CommandsPage.ui:35 src/preferences/ui/SchedulePage.ui:94 msgid "Sunset" msgstr "" @@ -373,48 +373,48 @@ msgstr "" msgid "Schedule" msgstr "" -#: src/preferences/ui/SchedulePage.ui:16 -msgid "Smooth transition between day and night appearance." -msgstr "" - -#: src/preferences/ui/SchedulePage.ui:31 +#: src/preferences/ui/SchedulePage.ui:15 msgid "Manual time source" msgstr "" -#: src/preferences/ui/SchedulePage.ui:32 +#: src/preferences/ui/SchedulePage.ui:16 msgid "" "The extension will try to use Night Light or Location Services to " "automatically set your current sunrise and sunset times if they are enabled. " "If you prefer, you can manually choose a time source." msgstr "" -#: src/preferences/ui/SchedulePage.ui:49 +#: src/preferences/ui/SchedulePage.ui:33 msgid "Always show on-demand controls" msgstr "" -#: src/preferences/ui/SchedulePage.ui:50 +#: src/preferences/ui/SchedulePage.ui:34 msgid "Allows you to override the current time when using a schedule." msgstr "" -#: src/preferences/ui/SchedulePage.ui:66 +#: src/preferences/ui/SchedulePage.ui:47 +msgid "Advanced Settings" +msgstr "" + +#: src/preferences/ui/SchedulePage.ui:51 +msgid "Smooth transition between day and night appearance." +msgstr "" + +#: src/preferences/ui/SchedulePage.ui:65 msgid "Follow Disable until tomorrow" msgstr "" -#: src/preferences/ui/SchedulePage.ui:67 +#: src/preferences/ui/SchedulePage.ui:66 msgid "" "When Night Light is temporarily disabled, the extension will switch to day " "variants." msgstr "" -#: src/preferences/ui/SchedulePage.ui:80 -msgid "Manual schedule times" -msgstr "" - -#: src/preferences/ui/SchedulePage.ui:112 +#: src/preferences/ui/SchedulePage.ui:111 msgid "Keyboard shortcut" msgstr "" -#: src/preferences/ui/SchedulePage.ui:123 +#: src/preferences/ui/SchedulePage.ui:122 msgid "Button location" msgstr "" diff --git a/src/preferences/SchedulePage.js b/src/preferences/SchedulePage.js index ed2a1b5..5699fc0 100644 --- a/src/preferences/SchedulePage.js +++ b/src/preferences/SchedulePage.js @@ -25,9 +25,7 @@ var SchedulePage = GObject.registerClass({ 'schedule_sunset_time_chooser', 'ondemand_shortcut_button', 'ondemand_button_location_combo_row', - 'nightlight_preferences_group', - 'manual_schedule_preferences_group', - 'ondemand_preferences_group', + 'nightlight_expander_row', ], }, class SchedulePage extends Adw.PreferencesPage { constructor(props = {}) { @@ -44,6 +42,7 @@ var SchedulePage = GObject.registerClass({ const nightlightChoice = new DropDownChoice({ id: 'nightlight', title: _('Night Light') }); nightlightChoice.connect('notify::enabled', () => choiceFilter.changed(Gtk.FilterChange.DIFFERENT)); + nightlightChoice.bind_property('enabled', this._nightlight_expander_row, 'visible', GObject.BindingFlags.DEFAULT); colorSettings.bind('night-light-enabled', nightlightChoice, 'enabled', Gio.SettingsBindFlags.GET); const locationChoice = new DropDownChoice({ id: 'location', title: _('Location Services') }); @@ -101,15 +100,5 @@ var SchedulePage = GObject.registerClass({ }; settings.connect('changed::ondemand-button-placement', () => updateOndemandButtonLocationComboRowSelected()); updateOndemandButtonLocationComboRowSelected(); - - const updateGroupsVisibility = () => { - const timeSource = settings.get_string('time-source'); - this._nightlight_preferences_group.visible = timeSource === 'nightlight'; - this._manual_schedule_preferences_group.visible = timeSource === 'schedule'; - this._ondemand_preferences_group.visible = timeSource === 'ondemand' || settings.get_boolean('always-enable-ondemand'); - }; - settings.connect('changed::time-source', () => updateGroupsVisibility()); - settings.connect('changed::always-enable-ondemand', () => updateGroupsVisibility()); - updateGroupsVisibility(); } }); diff --git a/src/preferences/ui/SchedulePage.ui b/src/preferences/ui/SchedulePage.ui index 1f0868b..466f7fd 100644 --- a/src/preferences/ui/SchedulePage.ui +++ b/src/preferences/ui/SchedulePage.ui @@ -8,22 +8,6 @@ SPDX-License-Identifier: GPL-3.0-or-later schedule Schedule nightthemeswitcher-schedule-symbolic - - - - - Transition - Smooth transition between day and night appearance. - transition_switch - - - center - - - - - - @@ -59,68 +43,85 @@ SPDX-License-Identifier: GPL-3.0-or-later - - Night Light + + Advanced Settings - Disable until tomorrow]]> - When Night Light is temporarily disabled, the extension will switch to day variants. - nightlight_follow_disable_switch + Transition + Smooth transition between day and night appearance. + transition_switch - - center - - - - - - - - - Manual schedule times - - - Sunrise - - - 12 - 12 + center - - Sunset + + Night Light - - 12 - 12 - center - - - - - - - - - On-demand - - - Keyboard shortcut - ondemand_shortcut_button - - - center + + Disable until tomorrow]]> + When Night Light is temporarily disabled, the extension will switch to day variants. + nightlight_follow_disable_switch + + + center + + - - Button location + + Manual schedule + + + Sunrise + + + 12 + 12 + center + + + + + + + Sunset + + + 12 + 12 + center + + + + + + + + + On-demand + + + Keyboard shortcut + ondemand_shortcut_button + + + center + + + + + + + Button location + +