[five-or-more/arnaudb/code-improvements: 7/10] Do not share settings with FiveOrMoreApp.
- From: Robert Roth <robertroth src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [five-or-more/arnaudb/code-improvements: 7/10] Do not share settings with FiveOrMoreApp.
- Date: Sat, 9 May 2020 16:13:24 +0000 (UTC)
commit 07ac2ce0cf734287a3b2a2c11af1516757eb1dd0
Author: Arnaud Bonatti <arnaud bonatti gmail com>
Date: Fri May 8 22:56:24 2020 +0200
Do not share settings with FiveOrMoreApp.
src/main.vala | 12 ++----------
src/window.vala | 22 +++++++++++++---------
2 files changed, 15 insertions(+), 19 deletions(-)
---
diff --git a/src/main.vala b/src/main.vala
index 911bd1d..4d910b6 100644
--- a/src/main.vala
+++ b/src/main.vala
@@ -30,8 +30,6 @@ private class FiveOrMoreApp: Gtk.Application
internal const string KEY_BACKGROUND_COLOR = "background-color";
internal const string KEY_THEME = "ball-theme";
- private Settings settings;
-
private GameWindow window;
private const GLib.ActionEntry action_entries[] =
@@ -64,8 +62,7 @@ private class FiveOrMoreApp: Gtk.Application
{
base.startup ();
- settings = new Settings ("org.gnome.five-or-more");
- window = new GameWindow (settings);
+ window = new GameWindow ();
add_window (window);
add_action_entries (action_entries, this);
@@ -144,12 +141,7 @@ private class FiveOrMoreApp: Gtk.Application
protected override void shutdown ()
{
- settings.delay ();
- settings.set_int ("window-width", window.window_width);
- settings.set_int ("window-height", window.window_height);
- settings.set_boolean ("window-is-maximized", window.window_maximized);
- settings.apply ();
-
+ window.on_shutdown ();
base.shutdown ();
}
}
diff --git a/src/window.vala b/src/window.vala
index d04d32d..a239919 100644
--- a/src/window.vala
+++ b/src/window.vala
@@ -35,11 +35,11 @@ private class GameWindow : ApplicationWindow
[GtkChild]
private Games.GridFrame grid_frame;
- public GLib.Settings settings { private get; protected construct; }
+ private GLib.Settings settings = new GLib.Settings ("org.gnome.five-or-more");
private bool window_tiled;
- internal bool window_maximized { internal get; private set; }
- internal int window_width { internal get; private set; }
- internal int window_height { internal get; private set; }
+ private bool window_maximized;
+ private int window_width;
+ private int window_height;
private Game? game = null;
private ThemeRenderer? theme = null;
@@ -125,11 +125,6 @@ private class GameWindow : ApplicationWindow
game.game_over.connect (score_cb);
}
- internal GameWindow (GLib.Settings settings)
- {
- Object (settings: settings);
- }
-
protected override bool window_state_event (Gdk.EventWindowState event)
{
if ((event.changed_mask & Gdk.WindowState.MAXIMIZED) != 0)
@@ -152,6 +147,15 @@ private class GameWindow : ApplicationWindow
window_height = allocation.height;
}
+ internal inline void on_shutdown ()
+ {
+ settings.delay ();
+ settings.set_int ("window-width", window_width);
+ settings.set_int ("window-height", window_height);
+ settings.set_boolean ("window-is-maximized", window_maximized);
+ settings.apply ();
+ }
+
private void score_cb ()
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]