UX improvements
This commit is contained in:
@@ -2,10 +2,13 @@ using Gtk 4.0;
|
|||||||
using Adw 1;
|
using Adw 1;
|
||||||
|
|
||||||
template PreferencesWindow : Adw.PreferencesWindow {
|
template PreferencesWindow : Adw.PreferencesWindow {
|
||||||
search-enabled: false;
|
|
||||||
default-height: 500;
|
default-height: 500;
|
||||||
|
|
||||||
Adw.PreferencesPage page {
|
Adw.PreferencesPage general_page {
|
||||||
|
name: "general";
|
||||||
|
title: _("General");
|
||||||
|
icon-name: "user-home-symbolic";
|
||||||
|
|
||||||
Adw.PreferencesGroup general_group {
|
Adw.PreferencesGroup general_group {
|
||||||
title: _("General");
|
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 {
|
Adw.ActionRow {
|
||||||
title: _("High Quality Images");
|
title: _("High Quality Images");
|
||||||
subtitle: _("Save game covers losslessly at the cost of storage");
|
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 {
|
Adw.PreferencesGroup steam_group {
|
||||||
title: _("Steam");
|
title: _("Steam");
|
||||||
|
|
||||||
|
|||||||
@@ -127,8 +127,11 @@ class CartridgesApplication(Adw.Application):
|
|||||||
)
|
)
|
||||||
about.present()
|
about.present()
|
||||||
|
|
||||||
def on_preferences_action(self, _widget, _callback=None):
|
def on_preferences_action(self, _widget, _callback=None, page_name=None):
|
||||||
PreferencesWindow(self.win).present()
|
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):
|
def on_launch_game_action(self, _widget, _callback=None):
|
||||||
# Launch the game and update the last played value
|
# 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):
|
class PreferencesWindow(Adw.PreferencesWindow):
|
||||||
__gtype_name__ = "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()
|
exit_after_launch_switch = Gtk.Template.Child()
|
||||||
cover_launches_game_switch = Gtk.Template.Child()
|
cover_launches_game_switch = Gtk.Template.Child()
|
||||||
@@ -174,4 +175,4 @@ class PreferencesWindow(Adw.PreferencesWindow):
|
|||||||
)
|
)
|
||||||
|
|
||||||
if os.name == "nt":
|
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 gi.repository import Adw, Gtk
|
||||||
|
|
||||||
from .create_dialog import create_dialog
|
from .create_dialog import create_dialog
|
||||||
@@ -46,7 +65,9 @@ class Importer:
|
|||||||
|
|
||||||
def response(_widget, response):
|
def response(_widget, response):
|
||||||
if response == "open_preferences":
|
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:
|
if self.imported_no == 0:
|
||||||
create_dialog(
|
create_dialog(
|
||||||
|
|||||||
Reference in New Issue
Block a user