From 4cf41cc546746933fd0cf51add5caa2eb785a416 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gustavo=20I=C3=B1iguez=20Goia?= Date: Mon, 9 Jan 2023 00:30:55 +0100 Subject: [PATCH] ui: added Quit menu --- ui/opensnitch/dialogs/stats.py | 16 +++++++++++----- ui/opensnitch/service.py | 1 + 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/ui/opensnitch/dialogs/stats.py b/ui/opensnitch/dialogs/stats.py index 939482412b..0da551d164 100644 --- a/ui/opensnitch/dialogs/stats.py +++ b/ui/opensnitch/dialogs/stats.py @@ -31,6 +31,7 @@ class StatsDialog(QtWidgets.QDialog, uic.loadUiType(DIALOG_UI_PATH)[0]): _trigger = QtCore.pyqtSignal(bool, bool) settings_saved = QtCore.pyqtSignal() + close_trigger = QtCore.pyqtSignal() _status_changed_trigger = QtCore.pyqtSignal(bool) _shown_trigger = QtCore.pyqtSignal() _notification_trigger = QtCore.pyqtSignal(ui_pb2.Notification) @@ -440,11 +441,11 @@ def __init__(self, parent=None, address=None, db=None, dbname="db", appicon=None menu.addAction(Icons.new("go-down"), QC.translate("stats", "Import rules")).triggered.connect(self._on_menu_node_import_clicked) self.nodeActionsButton.setMenu(menu) - menu = QtWidgets.QMenu() - menu.addAction(Icons.new("go-up"), QC.translate("stats", "Export rules")).triggered.connect(self._on_menu_export_clicked) - menu.addAction(Icons.new("go-down"), QC.translate("stats", "Import rules")).triggered.connect(self._on_menu_import_clicked) - menu.addAction(Icons.new("document-save"), QC.translate("stats", "Export events to CSV")).triggered.connect(self._on_menu_export_csv_clicked) - self.actionsButton.setMenu(menu) + menuActions = QtWidgets.QMenu() + menuActions.addAction(Icons.new("go-up"), QC.translate("stats", "Export rules")).triggered.connect(self._on_menu_export_clicked) + menuActions.addAction(Icons.new("go-down"), QC.translate("stats", "Import rules")).triggered.connect(self._on_menu_import_clicked) + menuActions.addAction(Icons.new("document-save"), QC.translate("stats", "Export events to CSV")).triggered.connect(self._on_menu_export_csv_clicked) + menuActions.addAction(Icons.new("application-exit"), QC.translate("stats", "Quit")).triggered.connect(self._on_menu_exit_clicked) # translations must be done here, otherwise they don't take effect self.TABLES[self.TAB_NODES]['header_labels'] = [ @@ -707,6 +708,7 @@ def _configure_buttons_icons(self): leftArrowIcon = Icons.new("go-previous") fwIcon = Icons.new("security-high") optsIcon = Icons.new("format-justify-fill") + helpIcon = Icons.new("help-browser") if QtGui.QIcon().hasThemeIcon("preferences-desktop") == False: self.fwTreeEdit.setText("+") @@ -715,6 +717,7 @@ def _configure_buttons_icons(self): self.delRuleButton.setIcon(delRuleIcon) self.editRuleButton.setIcon(editRuleIcon) self.prefsButton.setIcon(prefsIcon) + self.helpButton.setIcon(helpIcon) self.startButton.setIcon(self.iconStart) self.fwButton.setIcon(fwIcon) self.cmdProcDetails.setIcon(searchIcon) @@ -2375,6 +2378,9 @@ def _on_menu_node_import_clicked(self, triggered): + def _on_menu_exit_clicked(self, triggered): + self.close_trigger.emit() + def _on_menu_export_clicked(self, triggered): outdir = QtWidgets.QFileDialog.getExistingDirectory(self, os.path.expanduser("~"), diff --git a/ui/opensnitch/service.py b/ui/opensnitch/service.py index 29f28e2b12..e7bf55eda5 100644 --- a/ui/opensnitch/service.py +++ b/ui/opensnitch/service.py @@ -134,6 +134,7 @@ def _setup_slots(self): self._stats_dialog._shown_trigger.connect(self._on_stats_dialog_shown) self._stats_dialog._status_changed_trigger.connect(self._on_stats_status_changed) self._stats_dialog.settings_saved.connect(self._on_settings_saved) + self._stats_dialog.close_trigger.connect(self._on_close) self._show_message_trigger.connect(self._show_systray_message) def _setup_icons(self):