]> git.phdru.name Git - m_librarian.git/blobdiff - m_librarian/wx/Application.py
Feat(wx): Add `MainWindow.__init__()`
[m_librarian.git] / m_librarian / wx / Application.py
index 308d65d4e6a5635123e5f902d97c9dfb47d929f6..a12eb0e64a3deb93abe6eef767dec04a4c2eaf76 100644 (file)
@@ -2,10 +2,20 @@
 
 import wx, wx.adv
 from ..__version__ import __version__
+from .session_config import get_session_config
 
 
 class MainWindow(wx.Frame):
 
+    def __init__(self):
+        session_config = get_session_config()
+        super(wx.Frame, self).__init__(
+            parent=None, id=-1, title=u"m_Librarian",
+        )
+        self.InitMenu()
+        self.Show(True)
+        self.Bind(wx.EVT_SIZE, self.OnSize)
+
     def InitMenu(self):
         MenuBar = wx.MenuBar()
         self.SetMenuBar(MenuBar)
@@ -36,12 +46,18 @@ class MainWindow(wx.Frame):
         aboutInfo.SetLicense(u'GPL')
         wx.adv.AboutBox(aboutInfo)
 
+    def OnSize(self, event):
+        """Save window size in the session config"""
+        size = event.GetSize()
+        session_config = get_session_config()
+        session_config.set('main_window', 'width', str(size.width))
+        session_config.set('main_window', 'height', str(size.height))
+        session_config.save()
+        event.Skip()  # Call other handlers
 
 class Application(wx.App):
 
     def OnInit(self):
-        frame = MainWindow(None, -1, u"m_Librarian")
-        frame.InitMenu()
-        frame.Show(True)
+        frame = MainWindow()
         self.SetTopWindow(frame)
         return True