From 8b0443402c1c97e35b10649323eda9a07b317d74 Mon Sep 17 00:00:00 2001 From: smorloc Date: Thu, 17 Jan 2013 00:44:21 -0500 Subject: [PATCH] Save & restore main window position --- Cura/gui/mainWindow.py | 38 ++++++++++++++++++++++++++++---------- 1 file changed, 28 insertions(+), 10 deletions(-) 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): -- 2.30.2