From ea8678e094e7ea381b5f8a8c278b59f9645fa851 Mon Sep 17 00:00:00 2001 From: HomeWorld Date: Tue, 7 Dec 2010 02:02:36 +0200 Subject: [PATCH] Pyfa remembers window state (maximized/normal) + more sanity checks in SettingsProvider.getSettings - fill in missing keys with default values --- gui/mainFrame.py | 13 +++++++++---- service/settings.py | 3 +++ 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/gui/mainFrame.py b/gui/mainFrame.py index 20f39017e..01dd62ec5 100644 --- a/gui/mainFrame.py +++ b/gui/mainFrame.py @@ -139,11 +139,15 @@ class MainFrame(wx.Frame): def LoadMainFrameAttribs(self): - mainFrameDefaultAttribs = {"wnd_width":1000, "wnd_height": 700} + mainFrameDefaultAttribs = {"wnd_width":1000, "wnd_height": 700, "wnd_maximized": False} self.mainFrameAttribs = service.SettingsProvider.getInstance().getSettings("pyfaMainWindowAttribs", mainFrameDefaultAttribs) - - width = self.mainFrameAttribs["wnd_width"] - height = self.mainFrameAttribs["wnd_height"] + if self.mainFrameAttribs["wnd_maximized"]: + width = mainFrameDefaultAttribs["wnd_width"] + height = mainFrameDefaultAttribs["wnd_height"] + self.Maximize() + else: + width = self.mainFrameAttribs["wnd_width"] + height = self.mainFrameAttribs["wnd_height"] self.SetSize((width, height)) self.SetMinSize((mainFrameDefaultAttribs["wnd_width"], mainFrameDefaultAttribs["wnd_height"])) @@ -155,6 +159,7 @@ class MainFrame(wx.Frame): self.mainFrameAttribs["wnd_width"] = width self.mainFrameAttribs["wnd_height"] = height + self.mainFrameAttribs["wnd_maximized"] = self.IsMaximized() def SetActiveStatsWindow(self, wnd): self.activeStatsWnd = wnd diff --git a/service/settings.py b/service/settings.py index ac8522a4f..4a6428e43 100644 --- a/service/settings.py +++ b/service/settings.py @@ -51,6 +51,9 @@ class SettingsProvider(): try: f = open(p, "rb") info = cPickle.load(f) + for item in defaults: + if item not in info: + info[item] = defaults[item] except: info = {}