X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=m_librarian%2Fwx%2FApplication.py;h=03821fc732f7154e40580bcfb7f91f8ae63eb9c6;hb=559e13282f49a7950ab76896deb2ad99982addd1;hp=308d65d4e6a5635123e5f902d97c9dfb47d929f6;hpb=62c3d011985f444f1200aa1fecfc9d0175caea59;p=m_librarian.git diff --git a/m_librarian/wx/Application.py b/m_librarian/wx/Application.py index 308d65d..03821fc 100644 --- a/m_librarian/wx/Application.py +++ b/m_librarian/wx/Application.py @@ -1,11 +1,24 @@ # coding: utf-8 -import wx, wx.adv +import wx, wx.adv # noqa: E401 multiple imports on one line from ..__version__ import __version__ +from .session_config import get_session_config class MainWindow(wx.Frame): + def __init__(self): + session_config = get_session_config() + width = session_config.getint('main_window', 'width', 600) + height = session_config.getint('main_window', 'height', 400) + super(wx.Frame, self).__init__( + parent=None, id=-1, title=u"m_Librarian", + size=wx.Size(width=width, height=height), + ) + self.InitMenu() + self.Show(True) + self.Bind(wx.EVT_SIZE, self.OnSize) + def InitMenu(self): MenuBar = wx.MenuBar() self.SetMenuBar(MenuBar) @@ -31,17 +44,25 @@ class MainWindow(wx.Frame): aboutInfo.SetDescription( u'Библиотекарь для библиотек LibRusEc/Flibusta') aboutInfo.AddDeveloper(u'Олег Бройтман') - aboutInfo.SetWebSite(u'https://phdru.name/Software/Python/m_librarian/') - aboutInfo.SetCopyright(u'(C) 2023 Олег Бройтман') + aboutInfo.SetWebSite( + u'https://phdru.name/Software/Python/m_librarian/') + aboutInfo.SetCopyright(u'(C) 2023, 2024 Олег Бройтман') 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