window: Handle user maximize / unmaximize

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
Anna Schumaker 2021-06-08 08:50:21 -04:00
parent 1c70390449
commit 6f3558a83e
2 changed files with 23 additions and 0 deletions

View File

@ -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())

View File

@ -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)