def edit_rule(self, records, _addr=None): self._reset_state() self.rule = self.get_rule_from_records(records) if self.rule.operator.type not in Config.RulesTypes: Message.ok( QC.translate("rules", "<b>Rule not supported</b>"), QC.translate( "rules", "This type of rule ({0}) is not supported by version {1}". format(self.rule.operator.type, version)), QtWidgets.QMessageBox.Warning) self.hide() return self._old_rule_name = records.value(2) self._load_rule(addr=_addr, rule=self.rule) self.show()
def _save_db_config(self): dbtype = self.comboDBType.currentIndex() self._cfg.setSettings(Config.DEFAULT_DB_TYPE_KEY, dbtype) if dbtype == self._db.get_db_file(): return if self.comboDBType.currentIndex() != Database.DB_TYPE_MEMORY: if self.dbLabel.text() != "": self._cfg.setSettings(Config.DEFAULT_DB_FILE_KEY, self.dbLabel.text()) else: Message.ok( QC.translate("preferences", "Warning"), QC.translate( "preferences", "You must select a file for the database<br>or choose \"In memory\" type." ), QtWidgets.QMessageBox.Warning) return Message.ok( QC.translate("preferences", "DB type changed"), QC.translate("preferences", "Restart the GUI in order effects to take effect"), QtWidgets.QMessageBox.Warning)
def _show_message(self, text): Message.ok(text, "", QtWidgets.QMessageBox.Warning)
def info(message): Message.ok(message)
def ok(message): Message.ok(message)
def _save_settings(self): if self.tabWidget.currentIndex() == 0: self._cfg.setSettings(self._cfg.DEFAULT_ACTION_KEY, self.comboUIAction.currentIndex()) self._cfg.setSettings(self._cfg.DEFAULT_DURATION_KEY, int(self.comboUIDuration.currentIndex())) self._cfg.setSettings(self._cfg.DEFAULT_TARGET_KEY, self.comboUITarget.currentIndex()) self._cfg.setSettings(self._cfg.DEFAULT_TIMEOUT_KEY, self.spinUITimeout.value()) self._cfg.setSettings(self.CFG_DISABLE_POPUPS, bool(self.popupsCheck.isChecked())) # this is a workaround for not display pop-ups. # see #79 for more information. if self.popupsCheck.isChecked(): self._cfg.setSettings(self._cfg.DEFAULT_TIMEOUT_KEY, 0) elif self.tabWidget.currentIndex() == 1: self._show_status_label() addr = self.comboNodes.currentText() if (self._node_needs_update or self.checkApplyToNodes.isChecked()) and addr != "": try: notif = ui_pb2.Notification(id=int( str(time.time()).replace(".", "")), type=ui_pb2.CHANGE_CONFIG, data="", rules=[]) if self.checkApplyToNodes.isChecked(): for addr in self._nodes.get_nodes(): error = self._save_node_config(notif, addr) if error != None: self._set_status_error(error) return else: error = self._save_node_config(notif, addr) if error != None: self._set_status_error(error) return except Exception as e: print(self.LOG_TAG + "exception saving config: ", e) self._set_status_error( QC.translate("preferences", "Exception saving config: {0}").format( str(e))) self._node_needs_update = False elif self.tabWidget.currentIndex() == 2: dbtype = self.comboDBType.currentIndex() self._cfg.setSettings(Config.DEFAULT_DB_TYPE_KEY, dbtype) if dbtype == self._db.get_db_file(): return if self.comboDBType.currentIndex() != Database.DB_TYPE_MEMORY: if self.dbLabel.text() != "": self._cfg.setSettings(Config.DEFAULT_DB_FILE_KEY, self.dbLabel.text()) else: Message.ok( QC.translate("preferences", "Warning"), QC.translate( "preferences", "You must select a file for the database<br>or choose \"In memory\" type." ), QtWidgets.QMessageBox.Warning) return Message.ok( QC.translate("preferences", "DB type changed"), QC.translate( "preferences", "Restart the GUI in order effects to take effect"), QtWidgets.QMessageBox.Warning)