diff --git a/cartridges/details_window.py b/cartridges/details_dialog.py
similarity index 98%
rename from cartridges/details_window.py
rename to cartridges/details_dialog.py
index 3afcb60..84d1454 100644
--- a/cartridges/details_window.py
+++ b/cartridges/details_dialog.py
@@ -36,9 +36,9 @@ from cartridges.utils.create_dialog import create_dialog
from cartridges.utils.save_cover import convert_cover, save_cover
-@Gtk.Template(resource_path=shared.PREFIX + "/gtk/details-window.ui")
-class DetailsWindow(Adw.Window):
- __gtype_name__ = "DetailsWindow"
+@Gtk.Template(resource_path=shared.PREFIX + "/gtk/details-dialog.ui")
+class DetailsDialog(Adw.Dialog):
+ __gtype_name__ = "DetailsDialog"
cover_overlay = Gtk.Template.Child()
cover = Gtk.Template.Child()
@@ -61,12 +61,9 @@ class DetailsWindow(Adw.Window):
def __init__(self, game: Optional[Game] = None, **kwargs: Any):
super().__init__(**kwargs)
-
self.game: Game = game
self.game_cover: GameCover = GameCover({self.cover})
- self.set_transient_for(shared.win)
-
if self.game:
self.set_title(_("Game Details"))
self.name.set_text(self.game.name)
@@ -152,7 +149,6 @@ class DetailsWindow(Adw.Window):
self.executable.connect("entry-activated", self.apply_preferences)
self.set_focus(self.name)
- self.present()
def delete_pixbuf(self, *_args: Any) -> None:
self.game_cover.new_cover()
diff --git a/cartridges/importer/importer.py b/cartridges/importer/importer.py
index 0f96615..65194e4 100644
--- a/cartridges/importer/importer.py
+++ b/cartridges/importer/importer.py
@@ -407,7 +407,7 @@ class Importer(ErrorProducer):
self,
page_name: Optional[str] = None,
expander_row: Optional[Adw.ExpanderRow] = None,
- ) -> Adw.PreferencesWindow:
+ ) -> Adw.PreferencesDialog:
return shared.win.get_application().on_preferences_action(
page_name=page_name, expander_row=expander_row
)
diff --git a/cartridges/main.py b/cartridges/main.py
index 5914208..3023663 100644
--- a/cartridges/main.py
+++ b/cartridges/main.py
@@ -34,7 +34,7 @@ gi.require_version("Adw", "1")
from gi.repository import Adw, Gio, GLib, Gtk
from cartridges import shared
-from cartridges.details_window import DetailsWindow
+from cartridges.details_dialog import DetailsDialog
from cartridges.game import Game
from cartridges.importer.bottles_source import BottlesSource
from cartridges.importer.desktop_source import DesktopSource
@@ -47,7 +47,7 @@ from cartridges.importer.lutris_source import LutrisSource
from cartridges.importer.retroarch_source import RetroarchSource
from cartridges.importer.steam_source import SteamSource
from cartridges.logging.setup import log_system_info, setup_logging
-from cartridges.preferences import PreferencesWindow
+from cartridges.preferences import CartridgesPreferences
from cartridges.store.managers.cover_manager import CoverManager
from cartridges.store.managers.display_manager import DisplayManager
from cartridges.store.managers.file_manager import FileManager
@@ -246,10 +246,9 @@ class CartridgesApplication(Adw.Application):
debug_str += log_file.read()
log_file.close()
- about = Adw.AboutWindow.new_from_appdata(
+ about = Adw.AboutDialog.new_from_appdata(
shared.PREFIX + "/" + shared.APP_ID + ".metainfo.xml", shared.VERSION
)
- about.set_transient_for(shared.win)
about.set_developers(
(
"kramo https://kramo.hu",
@@ -275,7 +274,7 @@ class CartridgesApplication(Adw.Application):
Gtk.License.CUSTOM,
"Steam and the Steam logo are trademarks and/or registered trademarks of Valve Corporation in the U.S. and/or other countries.", # pylint: disable=line-too-long
)
- about.present()
+ about.present(shared.win)
def on_preferences_action(
self,
@@ -284,12 +283,12 @@ class CartridgesApplication(Adw.Application):
page_name: Optional[str] = None,
expander_row: Optional[str] = None,
) -> CartridgesWindow:
- win = PreferencesWindow()
+ win = CartridgesPreferences()
if page_name:
win.set_visible_page_name(page_name)
if expander_row:
getattr(win, expander_row).set_expanded(True)
- win.present()
+ win.present(shared.win)
return win
@@ -300,10 +299,10 @@ class CartridgesApplication(Adw.Application):
shared.win.active_game.toggle_hidden()
def on_edit_game_action(self, *_args: Any) -> None:
- DetailsWindow(shared.win.active_game)
+ DetailsDialog(shared.win.active_game).present(shared.win)
def on_add_game_action(self, *_args: Any) -> None:
- DetailsWindow()
+ DetailsDialog().present(shared.win)
def on_import_action(self, *_args: Any) -> None:
shared.importer = Importer()
diff --git a/cartridges/meson.build b/cartridges/meson.build
index 535284d..61da5c3 100644
--- a/cartridges/meson.build
+++ b/cartridges/meson.build
@@ -18,7 +18,7 @@ install_data(
'main.py',
'window.py',
'preferences.py',
- 'details_window.py',
+ 'details_dialog.py',
'game.py',
'game_cover.py',
configure_file(
@@ -28,4 +28,4 @@ install_data(
)
],
install_dir: moduledir
-)
\ No newline at end of file
+)
diff --git a/cartridges/preferences.py b/cartridges/preferences.py
index a0d158e..cdd37d8 100644
--- a/cartridges/preferences.py
+++ b/cartridges/preferences.py
@@ -43,8 +43,8 @@ from cartridges.utils.create_dialog import create_dialog
@Gtk.Template(resource_path=shared.PREFIX + "/gtk/preferences.ui")
-class PreferencesWindow(Adw.PreferencesWindow):
- __gtype_name__ = "PreferencesWindow"
+class CartridgesPreferences(Adw.PreferencesDialog):
+ __gtype_name__ = "CartridgesPreferences"
general_page = Gtk.Template.Child()
import_page = Gtk.Template.Child()
@@ -123,7 +123,6 @@ class PreferencesWindow(Adw.PreferencesWindow):
def __init__(self, **kwargs: Any) -> None:
super().__init__(**kwargs)
self.file_chooser = Gtk.FileDialog()
- self.set_transient_for(shared.win)
self.toast = Adw.Toast.new(_("All games removed"))
self.toast.set_button_label(_("Undo"))
diff --git a/data/cartridges.gresource.xml.in b/data/cartridges.gresource.xml.in
index 4704591..4c2ab68 100644
--- a/data/cartridges.gresource.xml.in
+++ b/data/cartridges.gresource.xml.in
@@ -6,7 +6,7 @@
gtk/help-overlay.ui
gtk/game.ui
gtk/preferences.ui
- gtk/details-window.ui
+ gtk/details-dialog.ui
gtk/style.css
gtk/style-dark.css
library_placeholder.svg
diff --git a/data/gtk/details-window.blp b/data/gtk/details-dialog.blp
similarity index 93%
rename from data/gtk/details-window.blp
rename to data/gtk/details-dialog.blp
index 2bef55d..add24a6 100644
--- a/data/gtk/details-window.blp
+++ b/data/gtk/details-dialog.blp
@@ -1,17 +1,8 @@
using Gtk 4.0;
using Adw 1;
-template $DetailsWindow : Adw.Window {
- default-width: 480; // Same as Nautilus' properties window
- default-height: -1;
- modal: true;
-
- ShortcutController {
- Shortcut {
- trigger: "Escape";
- action: "action(window.close)";
- }
- }
+template $DetailsDialog : Adw.Dialog {
+ content-width: 480;
Adw.ToolbarView {
@@ -85,7 +76,7 @@ template $DetailsWindow : Adw.Window {
Picture cover {
width-request: 200;
height-request: 300;
-
+
styles [
"card"
]
@@ -149,4 +140,4 @@ template $DetailsWindow : Adw.Window {
}
}
}
-}
\ No newline at end of file
+}
diff --git a/data/gtk/preferences.blp b/data/gtk/preferences.blp
index 0badc13..1c84b51 100644
--- a/data/gtk/preferences.blp
+++ b/data/gtk/preferences.blp
@@ -1,7 +1,8 @@
using Gtk 4.0;
using Adw 1;
-template $PreferencesWindow : Adw.PreferencesWindow {
+template $CartridgesPreferences : Adw.PreferencesDialog {
+ search-enabled: true;
Adw.PreferencesPage general_page {
name: "general";
diff --git a/data/gtk/window.blp b/data/gtk/window.blp
index 277198f..7217a79 100644
--- a/data/gtk/window.blp
+++ b/data/gtk/window.blp
@@ -45,7 +45,7 @@ Adw.StatusPage hidden_notice_empty {
template $CartridgesWindow : Adw.ApplicationWindow {
title: _("Cartridges");
- width-request: 281;
+ width-request: 360;
height-request: 100;
Adw.Breakpoint {
@@ -75,6 +75,8 @@ template $CartridgesWindow : Adw.ApplicationWindow {
title: _("All Games");
Adw.OverlaySplitView overlay_split_view {
+ sidebar-width-fraction: .2;
+
[sidebar]
Adw.NavigationPage {
title: _("Cartridges");
diff --git a/data/hu.kramo.Cartridges.metainfo.xml.in b/data/hu.kramo.Cartridges.metainfo.xml.in
index 4afa764..d4b0e43 100644
--- a/data/hu.kramo.Cartridges.metainfo.xml.in
+++ b/data/hu.kramo.Cartridges.metainfo.xml.in
@@ -28,7 +28,7 @@
touch
- 280
+ 360
diff --git a/data/meson.build b/data/meson.build
index 756c573..cf98149 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -4,7 +4,7 @@ blueprints = custom_target('blueprints',
'gtk/window.blp',
'gtk/game.blp',
'gtk/preferences.blp',
- 'gtk/details-window.blp'
+ 'gtk/details-dialog.blp'
),
output: '.',
command: [find_program('blueprint-compiler'), 'batch-compile', '@OUTPUT@', '@CURRENT_SOURCE_DIR@', '@INPUT@'],
diff --git a/flatpak/hu.kramo.Cartridges.Devel.json b/flatpak/hu.kramo.Cartridges.Devel.json
index 69850b9..3ea2258 100644
--- a/flatpak/hu.kramo.Cartridges.Devel.json
+++ b/flatpak/hu.kramo.Cartridges.Devel.json
@@ -1,7 +1,7 @@
{
"id" : "hu.kramo.Cartridges.Devel",
"runtime" : "org.gnome.Platform",
- "runtime-version" : "45",
+ "runtime-version" : "master",
"sdk" : "org.gnome.Sdk",
"command" : "cartridges",
"finish-args" : [