Merged in allazar/flatcam/geomsave (pull request #6)
Persist main window geometry
This commit is contained in:
commit
35754aa2b5
@ -146,6 +146,9 @@ class App(QtCore.QObject):
|
||||
QtCore.QObject.__init__(self)
|
||||
|
||||
self.ui = FlatCAMGUI(self.version)
|
||||
self.connect(self.ui,
|
||||
QtCore.SIGNAL("geomUpdate(int, int, int, int)"),
|
||||
self.save_geometry)
|
||||
|
||||
#### Plot Area ####
|
||||
# self.plotcanvas = PlotCanvas(self.ui.splitter)
|
||||
@ -243,6 +246,11 @@ class App(QtCore.QObject):
|
||||
|
||||
# Persistence
|
||||
"last_folder": None,
|
||||
# Default window geometry
|
||||
"def_win_x": 100,
|
||||
"def_win_y": 100,
|
||||
"def_win_w": 1024,
|
||||
"def_win_h": 650,
|
||||
|
||||
# Constants...
|
||||
"defaults_save_period_ms": 20000, # Time between default saves.
|
||||
@ -269,6 +277,7 @@ class App(QtCore.QObject):
|
||||
self.save_defaults(silent=True)
|
||||
|
||||
self.propagate_defaults()
|
||||
self.restore_main_win_geom()
|
||||
|
||||
def auto_save_defaults():
|
||||
try:
|
||||
@ -675,6 +684,14 @@ class App(QtCore.QObject):
|
||||
return
|
||||
self.defaults.update(defaults)
|
||||
|
||||
def save_geometry(self, x, y, width, height):
|
||||
self.defaults["def_win_x"] = x
|
||||
self.defaults["def_win_y"] = y
|
||||
self.defaults["def_win_w"] = width
|
||||
self.defaults["def_win_h"] = height
|
||||
self.save_defaults()
|
||||
print self.defaults
|
||||
|
||||
def message_dialog(self, title, message, kind="info"):
|
||||
icon = {"info": QtGui.QMessageBox.Information,
|
||||
"warning": QtGui.QMessageBox.Warning,
|
||||
@ -1800,6 +1817,12 @@ class App(QtCore.QObject):
|
||||
routes[param].defaults[p] = self.defaults[param]
|
||||
self.log.debug(" " + param + " OK!")
|
||||
|
||||
def restore_main_win_geom(self):
|
||||
self.ui.setGeometry(self.defaults["def_win_x"],
|
||||
self.defaults["def_win_y"],
|
||||
self.defaults["def_win_w"],
|
||||
self.defaults["def_win_h"])
|
||||
|
||||
def plot_all(self):
|
||||
"""
|
||||
Re-generates all plots from all objects.
|
||||
|
@ -4,6 +4,9 @@ from GUIElements import *
|
||||
|
||||
class FlatCAMGUI(QtGui.QMainWindow):
|
||||
|
||||
# Emitted when persistent window geometry needs to be retained
|
||||
geom_update = QtCore.pyqtSignal(int, int, int, int, name='geomUpdate')
|
||||
|
||||
def __init__(self, version):
|
||||
super(FlatCAMGUI, self).__init__()
|
||||
|
||||
@ -241,6 +244,8 @@ class FlatCAMGUI(QtGui.QMainWindow):
|
||||
self.show()
|
||||
|
||||
def closeEvent(self, event):
|
||||
grect = self.geometry()
|
||||
self.geom_update.emit(grect.x(), grect.y(), grect.width(), grect.height())
|
||||
QtGui.qApp.quit()
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user