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()
Exemple #2
0
    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)
Exemple #3
0
 def _show_message(self, text):
     Message.ok(text, "", QtWidgets.QMessageBox.Warning)
Exemple #4
0
def info(message):
    Message.ok(message)
Exemple #5
0
def ok(message):
    Message.ok(message)
Exemple #6
0
    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)
Exemple #7
0
def info(message):
    Message.ok(message)
Exemple #8
0
def ok(message):
    Message.ok(message)