PluginMqttMonitor.py

changeset 3
82845c0fd550
parent 1
bf1a17419d44
child 10
7e0e921dc7ea
--- a/PluginMqttMonitor.py	Sun Aug 26 19:40:15 2018 +0200
+++ b/PluginMqttMonitor.py	Mon Aug 27 19:26:27 2018 +0200
@@ -18,13 +18,14 @@
 from E5Gui.E5Action import E5Action
 
 import UI.PixmapCache
+import Preferences
 
 # Start-Of-Header
 name = "MQTT Monitor Plugin"
 author = "Detlev Offenbach <detlev@die-offenbachs.de>"
 autoactivate = True
 deactivateable = True
-version = "1.x"
+version = "1.0.0"
 className = "MqttMonitorPlugin"
 packageName = "MqttMonitor"
 shortDescription = "Plug-in implementing a tool to connect to a MQTT broker"
@@ -66,10 +67,19 @@
     return data
 
 
+def prepareUninstall():
+    """
+    Module function to prepare for an uninstallation.
+    """
+    Preferences.Prefs.settings.remove(MqttMonitorPlugin.PreferencesKey)
+
+
 class MqttMonitorPlugin(QObject):
     """
     Class implementing the MQTT Monitor plug-in.
     """
+    PreferencesKey = "MqttMonitor"
+    
     def __init__(self, ui):
         """
         Constructor
@@ -81,6 +91,10 @@
         self.__ui = ui
         self.__initialize()
         
+        self.__defaults = {
+            "RecentBrokers": [],
+        }
+        
         self.__translator = None
         self.__loadTranslator()
     
@@ -106,12 +120,9 @@
             error = self.tr("The 'paho-mqtt' package is not available.")
             return None, False
         
-##        self.__object = MqttMonitorWidget(self, self.__ui)
-##        self.__object.activate()
-##        e5App().registerPluginObject("MqttMonitor", self.__object)
         from MqttMonitor.MqttMonitorWidget import MqttMonitorWidget
         
-        self.__widget = MqttMonitorWidget()##self.__ui)
+        self.__widget = MqttMonitorWidget(self)
         self.__ui.addSideWidget(
             self.__ui.RightSide, self.__widget,
             UI.PixmapCache.getIcon(
@@ -143,8 +154,6 @@
         """
         Public method to deactivate this plug-in.
         """
-##        e5App().unregisterPluginObject("TimeTracker")
-##        self.__object.deactivate()
         menu = self.__ui.getMenu("subwindow")
         menu.removeAction(self.__activateAct)
         self.__ui.removeE5Actions([self.__activateAct], 'ui')
@@ -191,3 +200,30 @@
         else:
             self.__widget.show()
         self.__widget.setFocus(Qt.ActiveWindowFocusReason)
+    
+    def getPreferences(self, key):
+        """
+        Public method to retrieve the various settings.
+        
+        @param key the key of the value to get
+        @return the requested setting
+        """
+        if key in ["RecentBrokers"]:
+            return Preferences.toList(Preferences.Prefs.settings.value(
+                self.PreferencesKey + "/" + key, self.__defaults[key]))
+        else:
+            return Preferences.Prefs.settings.value(
+                self.PreferencesKey + "/" + key, self.__defaults[key])
+    
+    def setPreferences(self, key, value):
+        """
+        Public method to store the various settings.
+        
+        @param key the key of the setting to be set (string)
+        @param value the value to be set
+        """
+        Preferences.Prefs.settings.setValue(
+            self.PreferencesKey + "/" + key, value)
+
+#
+# eflag: noqa = M801

eric ide

mercurial