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