window: Handle user resizes

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
Anna Schumaker 2021-06-07 15:22:41 -04:00
parent 2455d577df
commit 1c70390449
4 changed files with 56 additions and 2 deletions

9
ui/event.py Normal file
View File

@ -0,0 +1,9 @@
# Copyright 2021 (c) Anna Schumaker.
from gi.repository import Gtk
Key = Gtk.EventControllerKey()
def on_key_released(controller, keyval, keycode, state):
print(keyval, keycode, state)
Key.connect("key-released", on_key_released)

8
ui/test_event.py Normal file
View File

@ -0,0 +1,8 @@
# Copyright 2021 (c) Anna Schumaker.
from . import event
from gi.repository import Gtk
import unittest
class TestUIEvents(unittest.TestCase):
def test_ui_events(self):
self.assertIsInstance(event.Key, Gtk.EventControllerKey)

View File

@ -1,8 +1,28 @@
# Copyright 2021 (c) Anna Schumaker.
import unittest
from lib import settings
from . import window
from gi.repository import Gtk
import unittest
class TestUIWindow(unittest.TestCase):
def test_window(self):
def tearDown(self):
settings.reset()
window.initialize()
def setUpClass():
settings.reset()
window.initialize()
def test_window_init(self):
self.assertIsInstance(window.Window, Gtk.ApplicationWindow)
window.Window.present()
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)
window.Window.set_default_size(1200, 800)
self.assertEqual(settings.get_int("window.width"), 1200)
self.assertEqual(settings.get_int("window.height"), 800)

View File

@ -1,6 +1,23 @@
# Copyright 2021 (c) Anna Schumaker.
from lib import settings
import gi
gi.require_version("Gtk", "4.0")
from gi.repository import Gtk
Window = Gtk.ApplicationWindow()
def initialize():
settings.initialize("window.width", 1100)
settings.initialize("window.height", 600)
initialize()
Window.set_default_size(settings.get_int("window.width"),
settings.get_int("window.height"))
def on_change_width(window, width):
settings.set("window.width", window.get_default_size().width)
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)