From: smorloc Date: Thu, 17 Jan 2013 05:44:21 +0000 (-0500) Subject: Save & restore main window position X-Git-Tag: 13.03~93^2~1 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=8b0443402c1c97e35b10649323eda9a07b317d74;p=cura.git Save & restore main window position --- diff --git a/Cura/gui/mainWindow.py b/Cura/gui/mainWindow.py index 54f05e55..72d04d6f 100644 --- a/Cura/gui/mainWindow.py +++ b/Cura/gui/mainWindow.py @@ -208,17 +208,25 @@ class mainWindow(wx.Frame): self.normalSettingsPanel.Show(False) self.updateSliceMode() - if wx.Display().GetClientArea().GetWidth() < self.GetSize().GetWidth(): - f = self.GetSize().GetWidth() - wx.Display().GetClientArea().GetWidth() - self.preview3d.SetMinSize(self.preview3d.GetMinSize().DecBy(f, 0)) - self.Fit() - self.preview3d.Fit() - #self.SetMinSize(self.GetSize()) - + # Set default window size & position + self.SetSize((wx.Display().GetClientArea().GetWidth()/2,wx.Display().GetClientArea().GetHeight()/2)) self.Centre() - self.Show(True) - self.Centre() + # Restore the window position, size & state from the preferences file + try: + if profile.getPreference('window_maximized') == 'True': + self.Maximize(True) + else: + posx = int(profile.getPreference('window_pos_x')) + posy = int(profile.getPreference('window_pos_y')) + width = int(profile.getPreference('window_width')) + height = int(profile.getPreference('window_height')) + self.SetPosition((posx,posy)) + self.SetSize((width,height)) + except: + pass + + self.Show(True) def updateSliceMode(self): isSimple = profile.getPreference('startMode') == 'Simple' @@ -241,7 +249,6 @@ class mainWindow(wx.Frame): self.normalSettingsPanel.Layout() self.simpleSettingsPanel.Layout() self.GetSizer().Layout() - self.Fit() self.Refresh() def OnPreferences(self, e): @@ -478,6 +485,17 @@ class mainWindow(wx.Frame): def OnClose(self, e): profile.saveGlobalProfile(profile.getDefaultProfilePath()) + + # Save the window position, size & state from the preferences file + profile.putPreference('window_maximized', self.IsMaximized()) + if not self.IsMaximized(): + (posx, posy) = self.GetPosition() + profile.putPreference('window_pos_x', posx) + profile.putPreference('window_pos_y', posy) + (width, height) = self.GetSize() + profile.putPreference('window_width', width) + profile.putPreference('window_height', height) + self.Destroy() def OnQuit(self, e):