diff --git a/data/gtk/window.blp b/data/gtk/window.blp index b6c608c608331f00706e6f216847fa1a0d379b2f..21f1e3f500df549b025db08cd50f9331f79717df 100644 --- a/data/gtk/window.blp +++ b/data/gtk/window.blp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2022 Bruce Cowan <bruce@bcowan.me.uk> +// SPDX-FileCopyrightText: 2022-2023 Bruce Cowan <bruce@bcowan.me.uk> // // SPDX-License-Identifier: GPL-3.0-or-later @@ -7,8 +7,6 @@ using Adw 1; template RugbyAppWindow : Adw.ApplicationWindow { title: "Rugby"; - default-height: 600; - default-width: 400; Box { orientation: vertical; diff --git a/data/uk.me.bcowan.Rugby.gschema.xml b/data/uk.me.bcowan.Rugby.gschema.xml index f159c5b99d05a9dc8a3a6817d188eb934ccc4a39..30a0b6fb66f1de16a781d926a20529a305c7a395 100644 --- a/data/uk.me.bcowan.Rugby.gschema.xml +++ b/data/uk.me.bcowan.Rugby.gschema.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!-- - SPDX-FileCopyrightText: 2020 Bruce Cowan <bruce@bcowan.me.uk> + SPDX-FileCopyrightText: 2020-2023 Bruce Cowan <bruce@bcowan.me.uk> SPDX-License-Identifier: GPL-3.0-or-later --> @@ -22,4 +22,16 @@ <description>Number of points for a kick (drop goal or penalty)</description> </key> </schema> + <schema id="uk.me.bcowan.Rugby.window" path="/uk/me/bcowan/Rugby/window/"> + <key name="height" type="i"> + <default>600</default> + <summary>Window height</summary> + <description>The height of the window</description> + </key> + <key name="width" type="i"> + <default>400</default> + <summary>Window width</summary> + <description>The width of the window</description> + </key> + </schema> </schemalist> diff --git a/src/rugby-app-window.c b/src/rugby-app-window.c index dd0ad445d1633488500791abaf409f74d38c9364..b1029ee0462ec09abe3dccf145837f101487ecb7 100644 --- a/src/rugby-app-window.c +++ b/src/rugby-app-window.c @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: 2017-2022 Bruce Cowan <bruce@bcowan.me.uk> + * SPDX-FileCopyrightText: 2017-2023 Bruce Cowan <bruce@bcowan.me.uk> * * SPDX-License-Identifier: GPL-3.0-or-later */ @@ -23,6 +23,8 @@ struct _RugbyAppWindow GtkWidget *empty_page; GtkWidget *list_page; + GSettings *win_settings; + GtkCustomFilter *try_filter; }; @@ -123,6 +125,7 @@ static void rugby_app_window_dispose (GObject *object) { gtk_widget_dispose_template (GTK_WIDGET (object), RUGBY_TYPE_APP_WINDOW); + g_clear_object (&RUGBY_APP_WINDOW (object)->win_settings); G_OBJECT_CLASS (rugby_app_window_parent_class)->dispose (object); } @@ -181,6 +184,14 @@ rugby_app_window_init (RugbyAppWindow *self) win_entries, G_N_ELEMENTS (win_entries), self); + + self->win_settings = g_settings_new ("uk.me.bcowan.Rugby.window"); + g_settings_bind (self->win_settings, "height", + self, "default-height", + G_SETTINGS_BIND_DEFAULT); + g_settings_bind (self->win_settings, "width", + self, "default-width", + G_SETTINGS_BIND_DEFAULT); } static void