From 6c952a6485ec29b63e7b026c764e0e0033fd6f45 Mon Sep 17 00:00:00 2001 From: Romain Vigier Date: Mon, 4 Apr 2022 15:59:56 +0200 Subject: [PATCH] Preferences: Load icons from resources --- ...-symbolic.svg => backgrounds-symbolic.svg} | 0 ...er-code-symbolic.svg => code-symbolic.svg} | 0 ...nds-symbolic.svg => commands-symbolic.svg} | 0 ...t-symbolic.svg => contribute-symbolic.svg} | 0 ...ghtthemeswitcher-ondemand-off-symbolic.svg | 0 ...ightthemeswitcher-ondemand-on-symbolic.svg | 0 .../apps => }/nightthemeswitcher-symbolic.svg | 0 ...ule-symbolic.svg => schedule-symbolic.svg} | 0 ...bute-symbolic.svg => support-symbolic.svg} | 0 ...hemes-symbolic.svg => themes-symbolic.svg} | 0 ...te-symbolic.svg => translate-symbolic.svg} | 0 src/data/meson.build | 10 ++++--- ...xtensions.nightthemeswitcher.gresource.xml | 18 ------------- src/data/preferences.gresource.xml | 27 +++++++++++++++++++ src/preferences/BackgroundButton.js | 2 +- src/preferences/BackgroundsPage.js | 2 +- src/preferences/ClearableEntry.js | 2 +- src/preferences/CommandsPage.js | 2 +- src/preferences/ContributePage.js | 2 +- src/preferences/SchedulePage.js | 2 +- src/preferences/ShortcutButton.js | 2 +- src/preferences/ThemesPage.js | 2 +- src/preferences/TimeChooser.js | 2 +- src/prefs.js | 4 +-- 24 files changed, 45 insertions(+), 32 deletions(-) rename src/data/icons/{hicolor/scalable/categories/nightthemeswitcher-backgrounds-symbolic.svg => backgrounds-symbolic.svg} (100%) rename src/data/icons/{hicolor/scalable/actions/nightthemeswitcher-code-symbolic.svg => code-symbolic.svg} (100%) rename src/data/icons/{hicolor/scalable/categories/nightthemeswitcher-commands-symbolic.svg => commands-symbolic.svg} (100%) rename src/data/icons/{hicolor/scalable/actions/nightthemeswitcher-support-symbolic.svg => contribute-symbolic.svg} (100%) rename src/data/icons/{hicolor/scalable/status => }/nightthemeswitcher-ondemand-off-symbolic.svg (100%) rename src/data/icons/{hicolor/scalable/status => }/nightthemeswitcher-ondemand-on-symbolic.svg (100%) rename src/data/icons/{hicolor/scalable/apps => }/nightthemeswitcher-symbolic.svg (100%) rename src/data/icons/{hicolor/scalable/categories/nightthemeswitcher-schedule-symbolic.svg => schedule-symbolic.svg} (100%) rename src/data/icons/{hicolor/scalable/categories/nightthemeswitcher-contribute-symbolic.svg => support-symbolic.svg} (100%) rename src/data/icons/{hicolor/scalable/categories/nightthemeswitcher-themes-symbolic.svg => themes-symbolic.svg} (100%) rename src/data/icons/{hicolor/scalable/actions/nightthemeswitcher-translate-symbolic.svg => translate-symbolic.svg} (100%) delete mode 100644 src/data/org.gnome.shell.extensions.nightthemeswitcher.gresource.xml create mode 100644 src/data/preferences.gresource.xml diff --git a/src/data/icons/hicolor/scalable/categories/nightthemeswitcher-backgrounds-symbolic.svg b/src/data/icons/backgrounds-symbolic.svg similarity index 100% rename from src/data/icons/hicolor/scalable/categories/nightthemeswitcher-backgrounds-symbolic.svg rename to src/data/icons/backgrounds-symbolic.svg diff --git a/src/data/icons/hicolor/scalable/actions/nightthemeswitcher-code-symbolic.svg b/src/data/icons/code-symbolic.svg similarity index 100% rename from src/data/icons/hicolor/scalable/actions/nightthemeswitcher-code-symbolic.svg rename to src/data/icons/code-symbolic.svg diff --git a/src/data/icons/hicolor/scalable/categories/nightthemeswitcher-commands-symbolic.svg b/src/data/icons/commands-symbolic.svg similarity index 100% rename from src/data/icons/hicolor/scalable/categories/nightthemeswitcher-commands-symbolic.svg rename to src/data/icons/commands-symbolic.svg diff --git a/src/data/icons/hicolor/scalable/actions/nightthemeswitcher-support-symbolic.svg b/src/data/icons/contribute-symbolic.svg similarity index 100% rename from src/data/icons/hicolor/scalable/actions/nightthemeswitcher-support-symbolic.svg rename to src/data/icons/contribute-symbolic.svg diff --git a/src/data/icons/hicolor/scalable/status/nightthemeswitcher-ondemand-off-symbolic.svg b/src/data/icons/nightthemeswitcher-ondemand-off-symbolic.svg similarity index 100% rename from src/data/icons/hicolor/scalable/status/nightthemeswitcher-ondemand-off-symbolic.svg rename to src/data/icons/nightthemeswitcher-ondemand-off-symbolic.svg diff --git a/src/data/icons/hicolor/scalable/status/nightthemeswitcher-ondemand-on-symbolic.svg b/src/data/icons/nightthemeswitcher-ondemand-on-symbolic.svg similarity index 100% rename from src/data/icons/hicolor/scalable/status/nightthemeswitcher-ondemand-on-symbolic.svg rename to src/data/icons/nightthemeswitcher-ondemand-on-symbolic.svg diff --git a/src/data/icons/hicolor/scalable/apps/nightthemeswitcher-symbolic.svg b/src/data/icons/nightthemeswitcher-symbolic.svg similarity index 100% rename from src/data/icons/hicolor/scalable/apps/nightthemeswitcher-symbolic.svg rename to src/data/icons/nightthemeswitcher-symbolic.svg diff --git a/src/data/icons/hicolor/scalable/categories/nightthemeswitcher-schedule-symbolic.svg b/src/data/icons/schedule-symbolic.svg similarity index 100% rename from src/data/icons/hicolor/scalable/categories/nightthemeswitcher-schedule-symbolic.svg rename to src/data/icons/schedule-symbolic.svg diff --git a/src/data/icons/hicolor/scalable/categories/nightthemeswitcher-contribute-symbolic.svg b/src/data/icons/support-symbolic.svg similarity index 100% rename from src/data/icons/hicolor/scalable/categories/nightthemeswitcher-contribute-symbolic.svg rename to src/data/icons/support-symbolic.svg diff --git a/src/data/icons/hicolor/scalable/categories/nightthemeswitcher-themes-symbolic.svg b/src/data/icons/themes-symbolic.svg similarity index 100% rename from src/data/icons/hicolor/scalable/categories/nightthemeswitcher-themes-symbolic.svg rename to src/data/icons/themes-symbolic.svg diff --git a/src/data/icons/hicolor/scalable/actions/nightthemeswitcher-translate-symbolic.svg b/src/data/icons/translate-symbolic.svg similarity index 100% rename from src/data/icons/hicolor/scalable/actions/nightthemeswitcher-translate-symbolic.svg rename to src/data/icons/translate-symbolic.svg diff --git a/src/data/meson.build b/src/data/meson.build index 61c90ea..e418e65 100644 --- a/src/data/meson.build +++ b/src/data/meson.build @@ -2,8 +2,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later gnome.compile_resources( - DNS, - DNS + '.gresource.xml', + 'preferences', + 'preferences.gresource.xml', gresource_bundle: true, install: true, install_dir: INSTALL_DIR / 'resources', @@ -23,4 +23,8 @@ custom_target( install_dir: INSTALL_DIR / 'schemas' ) -install_subdir('icons', install_dir: INSTALL_DIR) +icons = [ + 'icons/nightthemeswitcher-ondemand-off-symbolic.svg', + 'icons/nightthemeswitcher-ondemand-on-symbolic.svg' +] +install_data(icons, install_dir: INSTALL_DIR / 'icons' / 'hicolor' / 'scalable' / 'status') diff --git a/src/data/org.gnome.shell.extensions.nightthemeswitcher.gresource.xml b/src/data/org.gnome.shell.extensions.nightthemeswitcher.gresource.xml deleted file mode 100644 index 8bcc23a..0000000 --- a/src/data/org.gnome.shell.extensions.nightthemeswitcher.gresource.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - ui/BackgroundButton.ui - ui/BackgroundsPage.ui - ui/ClearableEntry.ui - ui/CommandsPage.ui - ui/ContributePage.ui - ui/SchedulePage.ui - ui/ShortcutButton.ui - ui/ThemesPage.ui - ui/TimeChooser.ui - - diff --git a/src/data/preferences.gresource.xml b/src/data/preferences.gresource.xml new file mode 100644 index 0000000..e28aa7b --- /dev/null +++ b/src/data/preferences.gresource.xml @@ -0,0 +1,27 @@ + + + + + icons/code-symbolic.svg + icons/support-symbolic.svg + icons/translate-symbolic.svg + icons/nightthemeswitcher-symbolic.svg + icons/backgrounds-symbolic.svg + icons/commands-symbolic.svg + icons/contribute-symbolic.svg + icons/schedule-symbolic.svg + icons/themes-symbolic.svg + ui/BackgroundButton.ui + ui/BackgroundsPage.ui + ui/ClearableEntry.ui + ui/CommandsPage.ui + ui/ContributePage.ui + ui/SchedulePage.ui + ui/ShortcutButton.ui + ui/ThemesPage.ui + ui/TimeChooser.ui + + diff --git a/src/preferences/BackgroundButton.js b/src/preferences/BackgroundButton.js index 852b197..cc4e8f5 100644 --- a/src/preferences/BackgroundButton.js +++ b/src/preferences/BackgroundButton.js @@ -10,7 +10,7 @@ const _ = extensionUtils.gettext; var BackgroundButton = GObject.registerClass({ GTypeName: 'BackgroundButton', - Template: 'resource:///org/gnome/shell/extensions/nightthemeswitcher/ui/BackgroundButton.ui', + Template: 'resource:///org/gnome/shell/extensions/nightthemeswitcher/preferences/ui/BackgroundButton.ui', InternalChildren: ['filechooser'], Properties: { uri: GObject.ParamSpec.string( diff --git a/src/preferences/BackgroundsPage.js b/src/preferences/BackgroundsPage.js index b8eed90..73484b2 100644 --- a/src/preferences/BackgroundsPage.js +++ b/src/preferences/BackgroundsPage.js @@ -9,7 +9,7 @@ const Me = extensionUtils.getCurrentExtension(); var BackgroundsPage = GObject.registerClass({ GTypeName: 'BackgroundsPage', - Template: 'resource:///org/gnome/shell/extensions/nightthemeswitcher/ui/BackgroundsPage.ui', + Template: 'resource:///org/gnome/shell/extensions/nightthemeswitcher/preferences/ui/BackgroundsPage.ui', InternalChildren: [ 'day_button', 'night_button', diff --git a/src/preferences/ClearableEntry.js b/src/preferences/ClearableEntry.js index f087ba5..c9a8f02 100644 --- a/src/preferences/ClearableEntry.js +++ b/src/preferences/ClearableEntry.js @@ -9,7 +9,7 @@ const Me = extensionUtils.getCurrentExtension(); var ClearableEntry = GObject.registerClass({ GTypeName: 'ClearableEntry', - Template: 'resource:///org/gnome/shell/extensions/nightthemeswitcher/ui/ClearableEntry.ui', + Template: 'resource:///org/gnome/shell/extensions/nightthemeswitcher/preferences/ui/ClearableEntry.ui', }, class ClearableEntry extends Gtk.Entry { onIconReleased(entry, position) { if (position === Gtk.EntryIconPosition.SECONDARY) diff --git a/src/preferences/CommandsPage.js b/src/preferences/CommandsPage.js index a212de0..69a1c08 100644 --- a/src/preferences/CommandsPage.js +++ b/src/preferences/CommandsPage.js @@ -11,7 +11,7 @@ const utils = Me.imports.utils; var CommandsPage = GObject.registerClass({ GTypeName: 'CommandsPage', - Template: 'resource:///org/gnome/shell/extensions/nightthemeswitcher/ui/CommandsPage.ui', + Template: 'resource:///org/gnome/shell/extensions/nightthemeswitcher/preferences/ui/CommandsPage.ui', InternalChildren: [ 'enabled_switch', 'sunrise_entry', diff --git a/src/preferences/ContributePage.js b/src/preferences/ContributePage.js index c48e63d..e92cee2 100644 --- a/src/preferences/ContributePage.js +++ b/src/preferences/ContributePage.js @@ -9,5 +9,5 @@ const Me = extensionUtils.getCurrentExtension(); var ContributePage = GObject.registerClass({ GTypeName: 'ContributePage', - Template: 'resource:///org/gnome/shell/extensions/nightthemeswitcher/ui/ContributePage.ui', + Template: 'resource:///org/gnome/shell/extensions/nightthemeswitcher/preferences/ui/ContributePage.ui', }, class ContributePage extends Adw.PreferencesPage {}); diff --git a/src/preferences/SchedulePage.js b/src/preferences/SchedulePage.js index ea5d3dd..e58d765 100644 --- a/src/preferences/SchedulePage.js +++ b/src/preferences/SchedulePage.js @@ -14,7 +14,7 @@ const { DropDownChoice } = Me.imports.preferences.DropDownChoice; var SchedulePage = GObject.registerClass({ GTypeName: 'SchedulePage', - Template: 'resource:///org/gnome/shell/extensions/nightthemeswitcher/ui/SchedulePage.ui', + Template: 'resource:///org/gnome/shell/extensions/nightthemeswitcher/preferences/ui/SchedulePage.ui', InternalChildren: [ 'transition_switch', 'manual_time_source_switch', diff --git a/src/preferences/ShortcutButton.js b/src/preferences/ShortcutButton.js index ff29328..18879d4 100644 --- a/src/preferences/ShortcutButton.js +++ b/src/preferences/ShortcutButton.js @@ -11,7 +11,7 @@ const utils = Me.imports.utils; var ShortcutButton = GObject.registerClass({ GTypeName: 'ShortcutButton', - Template: 'resource:///org/gnome/shell/extensions/nightthemeswitcher/ui/ShortcutButton.ui', + Template: 'resource:///org/gnome/shell/extensions/nightthemeswitcher/preferences/ui/ShortcutButton.ui', InternalChildren: ['choose_button', 'change_button', 'clear_button', 'dialog'], Properties: { keybinding: GObject.ParamSpec.string( diff --git a/src/preferences/ThemesPage.js b/src/preferences/ThemesPage.js index a909ccb..5583c77 100644 --- a/src/preferences/ThemesPage.js +++ b/src/preferences/ThemesPage.js @@ -14,7 +14,7 @@ const { DropDownChoice } = Me.imports.preferences.DropDownChoice; var ThemesPage = GObject.registerClass({ GTypeName: 'ThemesPage', - Template: 'resource:///org/gnome/shell/extensions/nightthemeswitcher/ui/ThemesPage.ui', + Template: 'resource:///org/gnome/shell/extensions/nightthemeswitcher/preferences/ui/ThemesPage.ui', InternalChildren: [ 'gtk_enabled_switch', 'gtk_day_variant_combo_row', diff --git a/src/preferences/TimeChooser.js b/src/preferences/TimeChooser.js index 3265d92..fc76d72 100644 --- a/src/preferences/TimeChooser.js +++ b/src/preferences/TimeChooser.js @@ -9,7 +9,7 @@ const Me = extensionUtils.getCurrentExtension(); var TimeChooser = GObject.registerClass({ GTypeName: 'TimeChooser', - Template: 'resource:///org/gnome/shell/extensions/nightthemeswitcher/ui/TimeChooser.ui', + Template: 'resource:///org/gnome/shell/extensions/nightthemeswitcher/preferences/ui/TimeChooser.ui', InternalChildren: ['hours', 'minutes'], Properties: { time: GObject.ParamSpec.double( diff --git a/src/prefs.js b/src/prefs.js index ab11f3b..84ff37f 100644 --- a/src/prefs.js +++ b/src/prefs.js @@ -16,7 +16,7 @@ const _ = extensionUtils.gettext; function init() { extensionUtils.initTranslations(); - const resource = Gio.Resource.load(GLib.build_filenamev([Me.path, 'resources', 'org.gnome.shell.extensions.nightthemeswitcher.gresource'])); + const resource = Gio.Resource.load(GLib.build_filenamev([Me.path, 'resources', 'preferences.gresource'])); Gio.resources_register(resource); GObject.type_ensure(Me.imports.preferences.BackgroundsPage.BackgroundsPage); @@ -31,7 +31,7 @@ function init() { GObject.type_ensure(Me.imports.preferences.TimeChooser.TimeChooser); const iconTheme = Gtk.IconTheme.get_for_display(Gdk.Display.get_default()); - iconTheme.add_search_path(GLib.build_filenamev([Me.path, 'icons'])); + iconTheme.add_resource_path('/org/gnome/shell/extensions/nightthemeswitcher/preferences/icons'); } /**