diff options
Diffstat (limited to 'portato/gui/qt')
-rw-r--r-- | portato/gui/qt/dialogs.py | 3 | ||||
-rw-r--r-- | portato/gui/qt/windows.py | 12 |
2 files changed, 15 insertions, 0 deletions
diff --git a/portato/gui/qt/dialogs.py b/portato/gui/qt/dialogs.py index 7b5609e..6a80164 100644 --- a/portato/gui/qt/dialogs.py +++ b/portato/gui/qt/dialogs.py @@ -12,6 +12,9 @@ from PyQt4.QtGui import QMessageBox +def queue_not_empty_dialog(parent): + return QMessageBox.question(parent, "Portato", "There are some packages in the emerge queue and/or an emerge process is running.\nDo you really want to quit?", QMessageBox.Ok | QMessageBox.Cancel) + def io_ex_dialog (parent, ex): string = ex.strerror if ex.filename: diff --git a/portato/gui/qt/windows.py b/portato/gui/qt/windows.py index 3fa93cf..edb1873 100644 --- a/portato/gui/qt/windows.py +++ b/portato/gui/qt/windows.py @@ -852,3 +852,15 @@ class MainWindow (Window): def cb_pkg_list_selected (self, index, prev): if not index is None: self.pkgDetails.update(self.selCatName+"/"+str(index.text()), self.queue) + + def closeEvent (self, event): + if not self.queue.is_empty(): + ret = queue_not_empty_dialog(self) + if ret == Qt.QMessageBox.Cancel: + event.ignore() + return + else: + self.queue.kill_emerge() + + event.accept() + |