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

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