X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=m_librarian%2Fwx%2FApplication.py;h=b7ad92dacb05bceebfc63e7b8d1ae02067625e33;hb=f05d832d00b9f9a884583e4c6a240814291c9906;hp=489924ddcd360083f13b534ea355a2ffdab883f5;hpb=d64c85c78598c984e7e468903fde25fb55e23883;p=m_librarian.git diff --git a/m_librarian/wx/Application.py b/m_librarian/wx/Application.py index 489924d..b7ad92d 100644 --- a/m_librarian/wx/Application.py +++ b/m_librarian/wx/Application.py @@ -1,65 +1,16 @@ -# coding: utf-8 - -import wx, wx.adv # noqa: E401 multiple imports on one line -from ..__version__ import __version__ +import wx +from .AWindow import AWindow from .SearchPanel import SearchPanel -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.search_panel = search_panel = SearchPanel(self) - self.Show(True) - self.Bind(wx.EVT_SIZE, self.OnSize) - def InitMenu(self): - MenuBar = wx.MenuBar() - self.SetMenuBar(MenuBar) - file_menu = wx.Menu() - exit = file_menu.Append(wx.ID_EXIT, u"&Выход", u"Выйти из программы") - self.Bind(wx.EVT_MENU, self.OnQuit, exit) - MenuBar.Append(file_menu, u"&Файл") +class MainWindow(AWindow): - about_menu = wx.Menu() - about = about_menu.Append(wx.ID_ABOUT, - u"&О m_Librarian", u"О m_Librarian") - self.Bind(wx.EVT_MENU, self.OnAbout, about) - MenuBar.Append(about_menu, u"&О программе") + session_config_section_name = 'main_window' + window_title = u"m_Librarian" - def OnQuit(self, event): - self.Close(True) - - def OnAbout(self, event): - aboutInfo = wx.adv.AboutDialogInfo() - aboutInfo.SetName(u'm_Librarian') - aboutInfo.SetVersion(__version__) - aboutInfo.SetDescription( - u'Библиотекарь для библиотек LibRusEc/Flibusta') - aboutInfo.AddDeveloper(u'Олег Бройтман') - 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 + def OnInit(self): + AWindow.OnInit(self) + self.search_panel = SearchPanel(self) class Application(wx.App):