diff --git a/data/gtk/preferences.blp b/data/gtk/preferences.blp index f1ea811..11b7cb6 100644 --- a/data/gtk/preferences.blp +++ b/data/gtk/preferences.blp @@ -2,10 +2,13 @@ using Gtk 4.0; using Adw 1; template PreferencesWindow : Adw.PreferencesWindow { - search-enabled: false; default-height: 500; - Adw.PreferencesPage page { + Adw.PreferencesPage general_page { + name: "general"; + title: _("General"); + icon-name: "user-home-symbolic"; + Adw.PreferencesGroup general_group { title: _("General"); @@ -17,15 +20,6 @@ template PreferencesWindow : Adw.PreferencesWindow { } } - Adw.ActionRow { - title: _("Cover Image Launches Game"); - subtitle: _("Swaps the behavior of the cover image and the play button"); - - Switch cover_launches_game_switch { - valign: center; - } - } - Adw.ActionRow { title: _("High Quality Images"); subtitle: _("Save game covers losslessly at the cost of storage"); @@ -36,6 +30,24 @@ template PreferencesWindow : Adw.PreferencesWindow { } } + Adw.PreferencesGroup a11y_group { + title: _("Accessibility"); + + Adw.ActionRow { + title: _("Cover Image Launches Game"); + subtitle: _("Swaps the behavior of the cover image and the play button"); + + Switch cover_launches_game_switch { + valign: center; + } + } + } + } + Adw.PreferencesPage import_page { + name: "import"; + title: _("Import"); + icon-name: "document-save-symbolic"; + Adw.PreferencesGroup steam_group { title: _("Steam"); diff --git a/src/main.py b/src/main.py index 24a3281..288605d 100644 --- a/src/main.py +++ b/src/main.py @@ -127,8 +127,11 @@ class CartridgesApplication(Adw.Application): ) about.present() - def on_preferences_action(self, _widget, _callback=None): - PreferencesWindow(self.win).present() + def on_preferences_action(self, _widget, _callback=None, page_name=None): + win = PreferencesWindow(self.win) + if page_name: + win.set_visible_page_name(page_name) + win.present() def on_launch_game_action(self, _widget, _callback=None): # Launch the game and update the last played value diff --git a/src/preferences.py b/src/preferences.py index 400a3d2..57c9309 100644 --- a/src/preferences.py +++ b/src/preferences.py @@ -26,7 +26,8 @@ from gi.repository import Adw, Gio, GLib, Gtk class PreferencesWindow(Adw.PreferencesWindow): __gtype_name__ = "PreferencesWindow" - page = Gtk.Template.Child() + general_page = Gtk.Template.Child() + import_page = Gtk.Template.Child() exit_after_launch_switch = Gtk.Template.Child() cover_launches_game_switch = Gtk.Template.Child() @@ -174,4 +175,4 @@ class PreferencesWindow(Adw.PreferencesWindow): ) if os.name == "nt": - self.page.remove(self.bottles_group) + self.import_page.remove(self.bottles_group) diff --git a/src/utils/importer.py b/src/utils/importer.py index 8a57b72..e125953 100644 --- a/src/utils/importer.py +++ b/src/utils/importer.py @@ -1,3 +1,22 @@ +# importer.py +# +# Copyright 2022-2023 kramo +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +# SPDX-License-Identifier: GPL-3.0-or-later + from gi.repository import Adw, Gtk from .create_dialog import create_dialog @@ -46,7 +65,9 @@ class Importer: def response(_widget, response): if response == "open_preferences": - self.parent_widget.get_application().on_preferences_action(None) + self.parent_widget.get_application().on_preferences_action( + None, page_name="import" + ) if self.imported_no == 0: create_dialog(