From 2b9afb08af4770c5f61d4f158ebde54f717d0359 Mon Sep 17 00:00:00 2001 From: BlueFox Date: Sun, 4 Feb 2024 20:45:46 +0100 Subject: [PATCH] Now saving the window properties to GSettings; added some comments --- data/de.privacynerd.colorcodes.gschema.xml | 14 +++++++- src/window.py | 17 ++++++++-- src/window.ui | 37 +++++++++++++++++++++- 3 files changed, 63 insertions(+), 5 deletions(-) diff --git a/data/de.privacynerd.colorcodes.gschema.xml b/data/de.privacynerd.colorcodes.gschema.xml index 75a0b21..16ee375 100644 --- a/data/de.privacynerd.colorcodes.gschema.xml +++ b/data/de.privacynerd.colorcodes.gschema.xml @@ -1,5 +1,17 @@ - + + + 600 + + + 300 + + + false + + + false + diff --git a/src/window.py b/src/window.py index 4866fb4..212a02a 100644 --- a/src/window.py +++ b/src/window.py @@ -17,14 +17,25 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -from gi.repository import Adw -from gi.repository import Gtk +from gi.repository import Adw, Gtk, Gio @Gtk.Template(resource_path='/de/privacynerd/colorcodes/window.ui') class ColorcodesWindow(Adw.ApplicationWindow): - __gtype_name__ = 'ColorcodesWindow' + __gtype_name__ = 'ColorCodesWindow' label = Gtk.Template.Child() def __init__(self, **kwargs): super().__init__(**kwargs) + + # Restore state via GSettings + self.settings = Gio.Settings(schema_id="de.privacynerd.colorcodes.state") + self.settings.bind("width", self, "default-width", + Gio.SettingsBindFlags.DEFAULT) + self.settings.bind("height", self, "default-height", + Gio.SettingsBindFlags.DEFAULT) + self.settings.bind("is-maximized", self, "maximized", + Gio.SettingsBindFlags.DEFAULT) + self.settings.bind("is-fullscreen", self, "fullscreened", + Gio.SettingsBindFlags.DEFAULT) + diff --git a/src/window.ui b/src/window.ui index 658577e..3390a1f 100644 --- a/src/window.ui +++ b/src/window.ui @@ -2,13 +2,40 @@ -