diff options
author | Ivan Alejandro <ivanalejandro0@gmail.com> | 2013-09-10 17:48:41 -0300 |
---|---|---|
committer | Ivan Alejandro <ivanalejandro0@gmail.com> | 2013-09-11 11:21:25 -0300 |
commit | 8ccd37675068abb63887faed0e556306f442058f (patch) | |
tree | 4b0df6bd5bcabec8214117e2e41d0082ec936a90 | |
parent | 55190af15f83d22ca3427d941714bb0b59e8b1cf (diff) |
Prevent last window closing the app in tray.
-rw-r--r-- | changes/bug-3791_prevent-last-window-close-app | 1 | ||||
-rw-r--r-- | src/leap/bitmask/gui/mainwindow.py | 12 |
2 files changed, 13 insertions, 0 deletions
diff --git a/changes/bug-3791_prevent-last-window-close-app b/changes/bug-3791_prevent-last-window-close-app new file mode 100644 index 00000000..3eeee72a --- /dev/null +++ b/changes/bug-3791_prevent-last-window-close-app @@ -0,0 +1 @@ + o Prevent dialogs closing the app when it has been minimized to the tray. Closes #3791. diff --git a/src/leap/bitmask/gui/mainwindow.py b/src/leap/bitmask/gui/mainwindow.py index 6141a3a2..2942d4c8 100644 --- a/src/leap/bitmask/gui/mainwindow.py +++ b/src/leap/bitmask/gui/mainwindow.py @@ -682,11 +682,18 @@ class MainWindow(QtGui.QMainWindow): Toggles the window visibility """ visible = self.isVisible() and self.isActiveWindow() + qApp = QtCore.QCoreApplication.instance() + if not visible: + qApp.setQuitOnLastWindowClosed(True) self.show() self.activateWindow() self.raise_() else: + # We set this in order to avoid dialogs shutting down the + # app on close, as they will be the only visible window. + # e.g.: PreferencesWindow, LoggerWindow + qApp.setQuitOnLastWindowClosed(False) self.hide() self._update_hideshow_menu() @@ -1611,6 +1618,11 @@ class MainWindow(QtGui.QMainWindow): """ # TODO separate the shutting down of services from the # UI stuff. + + # Set this in case that the app is hidden + qApp = QtCore.QCoreApplication.instance() + qApp.setQuitOnLastWindowClosed(True) + self._cleanup_and_quit() self._really_quit = True |