From 51dee24be94567334dfb8765cbd3bb23dcae9ee3 Mon Sep 17 00:00:00 2001 From: kali Date: Fri, 5 Oct 2012 04:10:50 +0900 Subject: init QSettings - save window geometry --- src/leap/app.py | 8 ++++++++ src/leap/baseapp/leap_app.py | 10 +++++++++- src/leap/baseapp/mainwindow.py | 7 ++++++- 3 files changed, 23 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/leap/app.py b/src/leap/app.py index 3170de4a..a5e09d80 100644 --- a/src/leap/app.py +++ b/src/leap/app.py @@ -50,6 +50,14 @@ def main(): logger.info('Starting app') app = QApplication(sys.argv) + # needed for initializing qsettings + # it will write .config/leap/leap.conf + # top level app settings + # in a platform independent way + app.setOrganizationName("leap") + app.setApplicationName("leap") + app.setOrganizationDomain("leap.se") + if not QSystemTrayIcon.isSystemTrayAvailable(): QMessageBox.critical(None, "Systray", "I couldn't detect" diff --git a/src/leap/baseapp/leap_app.py b/src/leap/baseapp/leap_app.py index 98ca292e..49f7ceda 100644 --- a/src/leap/baseapp/leap_app.py +++ b/src/leap/baseapp/leap_app.py @@ -1,5 +1,9 @@ import logging +import sip +sip.setapi('QVariant', 2) + +from PyQt4 import QtCore from PyQt4 import QtGui from leap.gui import mainwindow_rc @@ -35,7 +39,7 @@ class MainWindowMixin(object): self.setWindowTitle("LEAP Client") self.set_app_icon() - self.resize(400, 300) + #self.resize(400, 300) self.set_statusbarMessage('ready') logger.debug('set ready.........') @@ -88,6 +92,10 @@ class MainWindowMixin(object): """ cleans state before shutting down app. """ + # save geometry for restoring + settings = QtCore.QSettings() + settings.setValue("Geometry", self.saveGeometry()) + # TODO:make sure to shutdown all child process / threads # in conductor # XXX send signal instead? diff --git a/src/leap/baseapp/mainwindow.py b/src/leap/baseapp/mainwindow.py index 55be55f7..d3656cd4 100644 --- a/src/leap/baseapp/mainwindow.py +++ b/src/leap/baseapp/mainwindow.py @@ -30,14 +30,19 @@ class LeapWindow(QtGui.QMainWindow, def __init__(self, opts): logger.debug('init leap window') self.debugmode = getattr(opts, 'debug', False) - super(LeapWindow, self).__init__() if self.debugmode: self.createLogBrowser() + EIPConductorAppMixin.__init__(self, opts=opts) StatusAwareTrayIconMixin.__init__(self) MainWindowMixin.__init__(self) + settings = QtCore.QSettings() + geom = settings.value("Geometry") + if geom: + self.restoreGeometry(geom) + self.initchecks = InitChecksThread(self.run_eip_checks) # bind signals -- cgit v1.2.3