summaryrefslogtreecommitdiff
path: root/src/leap/bitmask/gui
diff options
context:
space:
mode:
authorIvan Alejandro <ivanalejandro0@gmail.com>2013-09-10 17:48:41 -0300
committerIvan Alejandro <ivanalejandro0@gmail.com>2013-09-11 11:21:25 -0300
commit8ccd37675068abb63887faed0e556306f442058f (patch)
tree4b0df6bd5bcabec8214117e2e41d0082ec936a90 /src/leap/bitmask/gui
parent55190af15f83d22ca3427d941714bb0b59e8b1cf (diff)
Prevent last window closing the app in tray.
Diffstat (limited to 'src/leap/bitmask/gui')
-rw-r--r--src/leap/bitmask/gui/mainwindow.py12
1 files changed, 12 insertions, 0 deletions
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