MqttMonitor/ConfigurationPage/MqttPage.py

branch
eric7
changeset 105
36ec7431ad04
child 106
84498095d511
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MqttMonitor/ConfigurationPage/MqttPage.py	Fri Jul 23 19:48:14 2021 +0200
@@ -0,0 +1,67 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+"""
+Module implementing the MQTT Monitor configuration page.
+"""
+
+from Preferences.ConfigurationPages.ConfigurationPageBase import (
+    ConfigurationPageBase
+)
+
+from .Ui_MqttPage import Ui_MqttPage
+
+from ..MqttProtocols import MqttProtocols
+
+
+class MqttPage(ConfigurationPageBase, Ui_MqttPage):
+    """
+    Class implementing the MQTT Monitor configuration page.
+    """
+    def __init__(self, plugin):
+        """
+        Constructor
+        
+        @param plugin reference to the plugin object
+        @type RefactoringRopePlugin
+        """
+        ConfigurationPageBase.__init__(self)
+        self.setupUi(self)
+        self.setObjectName("MqttPage")
+        
+        self.__plugin = plugin
+        
+        # set initial values
+        protocol = self.__plugin.getPreferences("DefaultProtocol")
+        self.mqttv31Button.setChecked(
+            protocol == MqttProtocols.MQTTv31)
+        self.mqttv311Button.setChecked(
+            protocol == MqttProtocols.MQTTv311)
+        self.mqttv5Button.setChecked(
+            protocol == MqttProtocols.MQTTv5)
+        self.recentBrokersSpinBox.setValue(
+            self.__plugin.getPreferences("RecentBrokersNumber"))
+        self.recentTopicsSpinBox.setValue(
+            self.__plugin.getPreferences("RecentTopicsNumber"))
+    
+    def save(self):
+        """
+        Public slot to save the Rope Autocompletion configuration.
+        """
+        if self.mqttv31Button.isChecked():
+            protocol = MqttProtocols.MQTTv31
+        elif self.mqttv311Button.isChecked():
+            protocol = MqttProtocols.MQTTv311
+        elif self.mqttv5Button.isChecked():
+            protocol = MqttProtocols.MQTTv5
+        else:
+            # should never happen
+            protocol = MqttProtocols.MQTTv311
+        
+        self.__plugin.setPreferences("DefaultProtocol", protocol)
+        self.__plugin.setPreferences("RecentBrokersNumber",
+            self.recentBrokersSpinBox.value())
+        self.__plugin.setPreferences("RecentTopicsNumber",
+            self.recentTopicsSpinBox.value())

eric ide

mercurial