Pyfa remembers window state (maximized/normal) + more sanity checks in SettingsProvider.getSettings - fill in missing keys with default values

This commit is contained in:
HomeWorld
2010-12-07 02:02:36 +02:00
parent c97222b94c
commit ea8678e094
2 changed files with 12 additions and 4 deletions

View File

@@ -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

View File

@@ -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 = {}