UX improvements
This commit is contained in:
@@ -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");
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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 <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# 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(
|
||||
|
||||
Reference in New Issue
Block a user