From 6f3558a83e70431a0cf92ee4ef85b0bce7468e75 Mon Sep 17 00:00:00 2001 From: Anna Schumaker Date: Tue, 8 Jun 2021 08:50:21 -0400 Subject: [PATCH] window: Handle user maximize / unmaximize Signed-off-by: Anna Schumaker --- ui/test_window.py | 16 ++++++++++++++++ ui/window.py | 7 +++++++ 2 files changed, 23 insertions(+) diff --git a/ui/test_window.py b/ui/test_window.py index 0a5f493..a7ce08d 100644 --- a/ui/test_window.py +++ b/ui/test_window.py @@ -20,9 +20,25 @@ class TestUIWindow(unittest.TestCase): def test_window_resize(self): self.assertEqual(settings.get_int("window.width"), 1100) self.assertEqual(settings.get_int("window.height"), 600) + self.assertEqual(window.Window.get_property("default-width"), 1100) self.assertEqual(window.Window.get_property("default-height"), 600) + self.assertFalse(window.Window.is_maximized()) window.Window.set_default_size(1200, 800) self.assertEqual(settings.get_int("window.width"), 1200) self.assertEqual(settings.get_int("window.height"), 800) + + def test_window_maximize(self): + self.assertFalse(settings.get_bool("window.maximized")) + (width, height) = window.Window.get_default_size() + + window.Window.maximize() + #self.assertTrue(settings.get_bool("window.maximized")) + self.assertEqual(settings.get_int("window.width"), width) + self.assertEqual(settings.get_int("window.height"), height) + + window.Window.unmaximize() + self.assertEqual(settings.get_int("window.width"), width) + self.assertEqual(settings.get_int("window.height"), height) + self.assertFalse(window.Window.is_maximized()) diff --git a/ui/window.py b/ui/window.py index a6092be..b3704a3 100644 --- a/ui/window.py +++ b/ui/window.py @@ -9,10 +9,13 @@ Window = Gtk.ApplicationWindow() def initialize(): settings.initialize("window.width", 1100) settings.initialize("window.height", 600) + settings.initialize("window.maximized", False) initialize() Window.set_default_size(settings.get_int("window.width"), settings.get_int("window.height")) +if settings.get_bool("window.maximized"): + Window.maximize() def on_change_width(window, width): settings.set("window.width", window.get_default_size().width) @@ -21,3 +24,7 @@ Window.connect("notify::default-width", on_change_width) def on_change_height(window, height): settings.set("window.height", window.get_default_size().height) Window.connect("notify::default-height", on_change_height) + +def on_maximized(window, maximized): + settings.set("window.maximized", window.is_maximized()) +Window.connect("notify::maximized", on_maximized)