UX improvements

This commit is contained in:
kramo
2023-03-29 00:55:18 +02:00
parent 643ca368a6
commit c1abed8af6
4 changed files with 53 additions and 16 deletions

View File

@@ -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");

View File

@@ -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

View File

@@ -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)

View File

@@ -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(