window: Bind size to GSettings
This commit is contained in:
@@ -17,9 +17,10 @@ gi.require_versions({
|
|||||||
|
|
||||||
from gi.repository import Gio, GLib
|
from gi.repository import Gio, GLib
|
||||||
|
|
||||||
from .config import LOCALEDIR, PKGDATADIR
|
from .config import APP_ID, LOCALEDIR, PKGDATADIR
|
||||||
|
|
||||||
DATA_DIR = Path(GLib.get_user_data_dir(), "cartridges")
|
DATA_DIR = Path(GLib.get_user_data_dir(), "cartridges")
|
||||||
|
state_settings = Gio.Settings.new(f"{APP_ID}.State")
|
||||||
|
|
||||||
_RESOURCES = ("data", "icons", "ui")
|
_RESOURCES = ("data", "icons", "ui")
|
||||||
|
|
||||||
|
|||||||
@@ -4,8 +4,6 @@ using Adw 1;
|
|||||||
|
|
||||||
template $Window: Adw.ApplicationWindow {
|
template $Window: Adw.ApplicationWindow {
|
||||||
title: _("Cartridges");
|
title: _("Cartridges");
|
||||||
default-width: 920;
|
|
||||||
default-height: 700;
|
|
||||||
|
|
||||||
ShortcutController {
|
ShortcutController {
|
||||||
Shortcut {
|
Shortcut {
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ from typing import Any
|
|||||||
|
|
||||||
from gi.repository import Adw, Gdk, Gio, GLib, GObject, Gtk
|
from gi.repository import Adw, Gdk, Gio, GLib, GObject, Gtk
|
||||||
|
|
||||||
from cartridges import games
|
from cartridges import games, state_settings
|
||||||
from cartridges.config import PREFIX, PROFILE
|
from cartridges.config import PREFIX, PROFILE
|
||||||
from cartridges.games import Game
|
from cartridges.games import Game
|
||||||
|
|
||||||
@@ -54,6 +54,13 @@ class Window(Adw.ApplicationWindow):
|
|||||||
if PROFILE == "development":
|
if PROFILE == "development":
|
||||||
self.add_css_class("devel")
|
self.add_css_class("devel")
|
||||||
|
|
||||||
|
for key, name in {
|
||||||
|
"width": "default-width",
|
||||||
|
"height": "default-height",
|
||||||
|
"is-maximized": "maximized",
|
||||||
|
}.items():
|
||||||
|
state_settings.bind(key, self, name, Gio.SettingsBindFlags.DEFAULT)
|
||||||
|
|
||||||
# https://gitlab.gnome.org/GNOME/gtk/-/issues/7901
|
# https://gitlab.gnome.org/GNOME/gtk/-/issues/7901
|
||||||
self.search_entry.set_key_capture_widget(self)
|
self.search_entry.set_key_capture_widget(self)
|
||||||
self.sorter.set_sort_func(self._sort_func)
|
self.sorter.set_sort_func(self._sort_func)
|
||||||
|
|||||||
@@ -2,4 +2,15 @@
|
|||||||
<schemalist gettext-domain="cartridges">
|
<schemalist gettext-domain="cartridges">
|
||||||
<schema id="@APP_ID@" path="@PREFIX@/">
|
<schema id="@APP_ID@" path="@PREFIX@/">
|
||||||
</schema>
|
</schema>
|
||||||
|
<schema id="@APP_ID@.State" path="@PREFIX@/State/">
|
||||||
|
<key name="width" type="i">
|
||||||
|
<default>920</default>
|
||||||
|
</key>
|
||||||
|
<key name="height" type="i">
|
||||||
|
<default>700</default>
|
||||||
|
</key>
|
||||||
|
<key name="is-maximized" type="b">
|
||||||
|
<default>false</default>
|
||||||
|
</key>
|
||||||
|
</schema>
|
||||||
</schemalist>
|
</schemalist>
|
||||||
|
|||||||
Reference in New Issue
Block a user