Pyfa remembers window state (maximized/normal) + more sanity checks in SettingsProvider.getSettings - fill in missing keys with default values
This commit is contained in:
@@ -139,11 +139,15 @@ class MainFrame(wx.Frame):
|
|||||||
|
|
||||||
def LoadMainFrameAttribs(self):
|
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)
|
self.mainFrameAttribs = service.SettingsProvider.getInstance().getSettings("pyfaMainWindowAttribs", mainFrameDefaultAttribs)
|
||||||
|
if self.mainFrameAttribs["wnd_maximized"]:
|
||||||
width = self.mainFrameAttribs["wnd_width"]
|
width = mainFrameDefaultAttribs["wnd_width"]
|
||||||
height = self.mainFrameAttribs["wnd_height"]
|
height = mainFrameDefaultAttribs["wnd_height"]
|
||||||
|
self.Maximize()
|
||||||
|
else:
|
||||||
|
width = self.mainFrameAttribs["wnd_width"]
|
||||||
|
height = self.mainFrameAttribs["wnd_height"]
|
||||||
|
|
||||||
self.SetSize((width, height))
|
self.SetSize((width, height))
|
||||||
self.SetMinSize((mainFrameDefaultAttribs["wnd_width"], mainFrameDefaultAttribs["wnd_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_width"] = width
|
||||||
self.mainFrameAttribs["wnd_height"] = height
|
self.mainFrameAttribs["wnd_height"] = height
|
||||||
|
self.mainFrameAttribs["wnd_maximized"] = self.IsMaximized()
|
||||||
|
|
||||||
def SetActiveStatsWindow(self, wnd):
|
def SetActiveStatsWindow(self, wnd):
|
||||||
self.activeStatsWnd = wnd
|
self.activeStatsWnd = wnd
|
||||||
|
|||||||
@@ -51,6 +51,9 @@ class SettingsProvider():
|
|||||||
try:
|
try:
|
||||||
f = open(p, "rb")
|
f = open(p, "rb")
|
||||||
info = cPickle.load(f)
|
info = cPickle.load(f)
|
||||||
|
for item in defaults:
|
||||||
|
if item not in info:
|
||||||
|
info[item] = defaults[item]
|
||||||
|
|
||||||
except:
|
except:
|
||||||
info = {}
|
info = {}
|
||||||
|
|||||||
Reference in New Issue
Block a user