PluginMqttMonitor.py

Tue, 10 Dec 2024 15:48:55 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Tue, 10 Dec 2024 15:48:55 +0100
branch
eric7
changeset 154
b66cfd856e93
parent 151
f9830d91be9a
permissions
-rw-r--r--

Updated copyright for 2025.

1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
1 # -*- coding: utf-8 -*-
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
2
154
b66cfd856e93 Updated copyright for 2025.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 151
diff changeset
3 # Copyright (c) 2018 - 2025 Detlev Offenbach <detlev@die-offenbachs.de>
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
4 #
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
5
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
6 """
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
7 Module implementing the MQTT Monitor plug-in.
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
8 """
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
9
129
9d54bf366323 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 127
diff changeset
10 import json
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
11 import os
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
12
129
9d54bf366323 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 127
diff changeset
13 from PyQt6.QtCore import QCoreApplication, QObject, Qt, QTranslator
92
2fb5c08019fd Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 88
diff changeset
14 from PyQt6.QtGui import QKeySequence
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
15
127
8982ef7b7d67 Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 123
diff changeset
16 from eric7 import Preferences
8982ef7b7d67 Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 123
diff changeset
17 from eric7.EricGui.EricAction import EricAction
8982ef7b7d67 Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 123
diff changeset
18 from eric7.EricWidgets.EricApplication import ericApp
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
19
127
8982ef7b7d67 Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 123
diff changeset
20 try:
8982ef7b7d67 Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 123
diff changeset
21 from eric7.EricGui import EricPixmapCache
8982ef7b7d67 Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 123
diff changeset
22 except ImportError:
8982ef7b7d67 Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 123
diff changeset
23 from UI import PixmapCache as EricPixmapCache
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
24
141
864edfb1bb63 Adapted code to eric 24.2 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 139
diff changeset
25 try:
864edfb1bb63 Adapted code to eric 24.2 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 139
diff changeset
26 from eric7.UI.UserInterface import UserInterfaceSide
864edfb1bb63 Adapted code to eric 24.2 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 139
diff changeset
27
864edfb1bb63 Adapted code to eric 24.2 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 139
diff changeset
28 _Side = UserInterfaceSide.Right
864edfb1bb63 Adapted code to eric 24.2 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 139
diff changeset
29 except ImportError:
864edfb1bb63 Adapted code to eric 24.2 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 139
diff changeset
30 # backward compatibility for eric < 24.2
864edfb1bb63 Adapted code to eric 24.2 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 139
diff changeset
31 from eric7.UI.UserInterface import UserInterface
864edfb1bb63 Adapted code to eric 24.2 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 139
diff changeset
32
864edfb1bb63 Adapted code to eric 24.2 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 139
diff changeset
33 _Side = UserInterface.RightSide
864edfb1bb63 Adapted code to eric 24.2 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 139
diff changeset
34
105
36ec7431ad04 Made the default MQTT protocol a configuration item.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 103
diff changeset
35 from MqttMonitor.MqttProtocols import MqttProtocols
36ec7431ad04 Made the default MQTT protocol a configuration item.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 103
diff changeset
36
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
37 # Start-Of-Header
148
187406bcc8ae Redid the archive to include the compiled forms and changed the plug-in header to the new format.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 145
diff changeset
38 __header__ = {
187406bcc8ae Redid the archive to include the compiled forms and changed the plug-in header to the new format.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 145
diff changeset
39 "name": "MQTT Monitor Plugin",
187406bcc8ae Redid the archive to include the compiled forms and changed the plug-in header to the new format.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 145
diff changeset
40 "author": "Detlev Offenbach <detlev@die-offenbachs.de>",
187406bcc8ae Redid the archive to include the compiled forms and changed the plug-in header to the new format.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 145
diff changeset
41 "autoactivate": True,
187406bcc8ae Redid the archive to include the compiled forms and changed the plug-in header to the new format.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 145
diff changeset
42 "deactivateable": True,
151
f9830d91be9a Fixed a backward compatibility issue with eric-ide < 24.11.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 148
diff changeset
43 "version": "11.0.2",
148
187406bcc8ae Redid the archive to include the compiled forms and changed the plug-in header to the new format.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 145
diff changeset
44 "className": "MqttMonitorPlugin",
187406bcc8ae Redid the archive to include the compiled forms and changed the plug-in header to the new format.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 145
diff changeset
45 "packageName": "MqttMonitor",
187406bcc8ae Redid the archive to include the compiled forms and changed the plug-in header to the new format.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 145
diff changeset
46 "shortDescription": "Plug-in implementing a tool to connect to a MQTT broker",
187406bcc8ae Redid the archive to include the compiled forms and changed the plug-in header to the new format.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 145
diff changeset
47 "longDescription": (
187406bcc8ae Redid the archive to include the compiled forms and changed the plug-in header to the new format.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 145
diff changeset
48 "Plug-in implementing a tool to connect to a MQTT broker, subscribe"
187406bcc8ae Redid the archive to include the compiled forms and changed the plug-in header to the new format.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 145
diff changeset
49 " to topics, present received messages and publish messages."
187406bcc8ae Redid the archive to include the compiled forms and changed the plug-in header to the new format.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 145
diff changeset
50 " It displays broker statistics (the $SYS/# topic tree) and"
187406bcc8ae Redid the archive to include the compiled forms and changed the plug-in header to the new format.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 145
diff changeset
51 " log messages of the underlying paho-mqtt client. This tool"
187406bcc8ae Redid the archive to include the compiled forms and changed the plug-in header to the new format.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 145
diff changeset
52 " supports unencrypted connections (port 1883) as well as encrypted"
187406bcc8ae Redid the archive to include the compiled forms and changed the plug-in header to the new format.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 145
diff changeset
53 " SSL/TLS connections (port 8883)."
187406bcc8ae Redid the archive to include the compiled forms and changed the plug-in header to the new format.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 145
diff changeset
54 ),
187406bcc8ae Redid the archive to include the compiled forms and changed the plug-in header to the new format.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 145
diff changeset
55 "needsRestart": False,
187406bcc8ae Redid the archive to include the compiled forms and changed the plug-in header to the new format.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 145
diff changeset
56 "hasCompiledForms": True,
187406bcc8ae Redid the archive to include the compiled forms and changed the plug-in header to the new format.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 145
diff changeset
57 "pyqtApi": 2,
187406bcc8ae Redid the archive to include the compiled forms and changed the plug-in header to the new format.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 145
diff changeset
58 }
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
59 # End-Of-Header
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
60
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
61 error = ""
105
36ec7431ad04 Made the default MQTT protocol a configuration item.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 103
diff changeset
62
36ec7431ad04 Made the default MQTT protocol a configuration item.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 103
diff changeset
63 mqttPluginObject = None
36ec7431ad04 Made the default MQTT protocol a configuration item.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 103
diff changeset
64
36ec7431ad04 Made the default MQTT protocol a configuration item.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 103
diff changeset
65
138
871d54655ef1 Corrected some code style issues and the code documentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 136
diff changeset
66 def createMqttPage(
143
51bc5bcc672a Modified the plugin for 'paho-mqtt' >=2.0.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 141
diff changeset
67 _configDlg,
138
871d54655ef1 Corrected some code style issues and the code documentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 136
diff changeset
68 ):
105
36ec7431ad04 Made the default MQTT protocol a configuration item.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 103
diff changeset
69 """
36ec7431ad04 Made the default MQTT protocol a configuration item.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 103
diff changeset
70 Module function to create the autocompletion configuration page.
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
71
143
51bc5bcc672a Modified the plugin for 'paho-mqtt' >=2.0.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 141
diff changeset
72 @param _configDlg reference to the configuration dialog (unused)
105
36ec7431ad04 Made the default MQTT protocol a configuration item.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 103
diff changeset
73 @type ConfigurationWidget
36ec7431ad04 Made the default MQTT protocol a configuration item.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 103
diff changeset
74 @return reference to the configuration page
36ec7431ad04 Made the default MQTT protocol a configuration item.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 103
diff changeset
75 @rtype AutoCompletionRopePage
36ec7431ad04 Made the default MQTT protocol a configuration item.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 103
diff changeset
76 """
36ec7431ad04 Made the default MQTT protocol a configuration item.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 103
diff changeset
77 global mqttPluginObject
132
b4fde9ee3d83 - Changed the data shown on the status tab to use localized values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 131
diff changeset
78 from MqttMonitor.ConfigurationPage.MqttPage import MqttPage # noqa: I101
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
79
105
36ec7431ad04 Made the default MQTT protocol a configuration item.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 103
diff changeset
80 page = MqttPage(mqttPluginObject)
36ec7431ad04 Made the default MQTT protocol a configuration item.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 103
diff changeset
81 return page
36ec7431ad04 Made the default MQTT protocol a configuration item.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 103
diff changeset
82
36ec7431ad04 Made the default MQTT protocol a configuration item.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 103
diff changeset
83
36ec7431ad04 Made the default MQTT protocol a configuration item.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 103
diff changeset
84 def getConfigData():
36ec7431ad04 Made the default MQTT protocol a configuration item.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 103
diff changeset
85 """
36ec7431ad04 Made the default MQTT protocol a configuration item.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 103
diff changeset
86 Module function returning data as required by the configuration dialog.
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
87
105
36ec7431ad04 Made the default MQTT protocol a configuration item.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 103
diff changeset
88 @return dictionary containing the relevant data
36ec7431ad04 Made the default MQTT protocol a configuration item.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 103
diff changeset
89 @rtype dict
36ec7431ad04 Made the default MQTT protocol a configuration item.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 103
diff changeset
90 """
36ec7431ad04 Made the default MQTT protocol a configuration item.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 103
diff changeset
91 usesDarkPalette = ericApp().usesDarkPalette()
36ec7431ad04 Made the default MQTT protocol a configuration item.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 103
diff changeset
92 iconSuffix = "dark" if usesDarkPalette else "light"
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
93
105
36ec7431ad04 Made the default MQTT protocol a configuration item.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 103
diff changeset
94 return {
36ec7431ad04 Made the default MQTT protocol a configuration item.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 103
diff changeset
95 "mqttPage": [
36ec7431ad04 Made the default MQTT protocol a configuration item.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 103
diff changeset
96 QCoreApplication.translate("MqttMonitorPlugin", "MQTT Monitor"),
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
97 os.path.join("MqttMonitor", "icons", "mqtt22-{0}".format(iconSuffix)),
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
98 createMqttPage,
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
99 None,
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
100 None,
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
101 ],
105
36ec7431ad04 Made the default MQTT protocol a configuration item.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 103
diff changeset
102 }
36ec7431ad04 Made the default MQTT protocol a configuration item.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 103
diff changeset
103
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
104
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
105 def exeDisplayData():
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
106 """
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
107 Module function to support the display of some executable info.
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
108
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
109 @return dictionary containing the data to query the presence of
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
110 the executable
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
111 @rtype dict
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
112 """
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
113 try:
132
b4fde9ee3d83 - Changed the data shown on the status tab to use localized values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 131
diff changeset
114 import paho.mqtt # noqa: I101, I102
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
115
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
116 version = paho.mqtt.__version__
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
117 except ImportError:
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
118 version = QCoreApplication.translate(
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
119 "MqttMonitorPlugin", "(package not available)"
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
120 )
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
121
78
a22328182bc2 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
122 return {
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
123 "programEntry": False,
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
124 "header": QCoreApplication.translate("MqttMonitorPlugin", "MQTT"),
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
125 "text": QCoreApplication.translate("MqttMonitorPlugin", "paho-mqtt"),
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
126 "version": version,
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
127 }
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
128
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
129
3
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
130 def prepareUninstall():
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
131 """
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
132 Module function to prepare for an uninstallation.
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
133 """
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
134 Preferences.Prefs.settings.remove(MqttMonitorPlugin.PreferencesKey)
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
135
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
136
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
137 class MqttMonitorPlugin(QObject):
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
138 """
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
139 Class implementing the MQTT Monitor plug-in.
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
140 """
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
141
3
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
142 PreferencesKey = "MqttMonitor"
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
143
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
144 def __init__(self, ui):
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
145 """
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
146 Constructor
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
147
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
148 @param ui reference to the user interface object
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
149 @type UI.UserInterface
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
150 """
86
620022b14cb4 Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 85
diff changeset
151 super().__init__(ui)
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
152 self.__ui = ui
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
153 self.__initialize()
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
154
3
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
155 self.__defaults = {
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
156 "RecentBrokersWithPort": "[]", # JSON formatted empty list
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
157 "BrokerProfiles": "{}", # JSON formatted empty dict
19
889a7c3c0e63 MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 18
diff changeset
158 # __IGNORE_WARNING_M613__
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
159 "MostRecentProfile": "", # most recently used profile
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
160 "PublishProperties": "{}", # JSON formatted empty dict
103
5fe4f179975f Continued implementing support for MQTT v5 user properties.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
161 # __IGNORE_WARNING_M613__
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
162 "SubscribeProperties": "{}", # JSON formatted empty dict
102
70b8858199f5 Started implementing support for MQTT v5 user properties.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
163 # __IGNORE_WARNING_M613__
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
164 "UnsubscribeProperties": "{}", # JSON formatted empty dict
102
70b8858199f5 Started implementing support for MQTT v5 user properties.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
165 # __IGNORE_WARNING_M613__
105
36ec7431ad04 Made the default MQTT protocol a configuration item.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 103
diff changeset
166 "DefaultProtocol": MqttProtocols.MQTTv311,
36ec7431ad04 Made the default MQTT protocol a configuration item.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 103
diff changeset
167 "RecentBrokersNumber": 20,
36ec7431ad04 Made the default MQTT protocol a configuration item.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 103
diff changeset
168 "RecentTopicsNumber": 20,
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
169 "RecentTopics": "[]", # JSON formatted empty list
3
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
170 }
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
171
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
172 self.__translator = None
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
173 self.__loadTranslator()
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
174
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
175 def __initialize(self):
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
176 """
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
177 Private slot to (re)initialize the plugin.
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
178 """
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
179 self.__widget = None
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
180
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
181 def activate(self):
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
182 """
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
183 Public method to activate this plug-in.
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
184
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
185 @return tuple of None and activation status
92
2fb5c08019fd Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 88
diff changeset
186 @rtype tuple of (None, bool)
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
187 """
105
36ec7431ad04 Made the default MQTT protocol a configuration item.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 103
diff changeset
188 global error, mqttPluginObject
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
189 error = "" # clear previous error
105
36ec7431ad04 Made the default MQTT protocol a configuration item.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 103
diff changeset
190 mqttPluginObject = self
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
191
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
192 try:
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
193 import paho.mqtt # __IGNORE_WARNING__
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
194 except ImportError:
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
195 error = self.tr("The 'paho-mqtt' package is not available.")
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
196 return None, False
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
197
132
b4fde9ee3d83 - Changed the data shown on the status tab to use localized values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 131
diff changeset
198 from MqttMonitor.MqttMonitorWidget import MqttMonitorWidget # noqa: I101
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
199
92
2fb5c08019fd Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 88
diff changeset
200 usesDarkPalette = ericApp().usesDarkPalette()
86
620022b14cb4 Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 85
diff changeset
201 iconSuffix = "dark" if usesDarkPalette else "light"
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
202
92
2fb5c08019fd Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 88
diff changeset
203 self.__widget = MqttMonitorWidget(self, usesDarkPalette)
113
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
204 iconName = (
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
205 "sbMqttMonitor96"
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
206 if self.__ui.getLayoutType() == "Sidebars"
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
207 else "mqtt22-{0}".format(iconSuffix)
113
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
208 )
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
209 self.__ui.addSideWidget(
141
864edfb1bb63 Adapted code to eric 24.2 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 139
diff changeset
210 _Side,
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
211 self.__widget,
127
8982ef7b7d67 Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 123
diff changeset
212 EricPixmapCache.getIcon(os.path.join("MqttMonitor", "icons", iconName)),
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
213 self.tr("MQTT Monitor"),
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
214 )
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
215
92
2fb5c08019fd Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 88
diff changeset
216 self.__activateAct = EricAction(
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
217 self.tr("MQTT Monitor"),
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
218 self.tr("M&QTT Monitor"),
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
219 QKeySequence(self.tr("Alt+Shift+Q")),
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
220 0,
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
221 self,
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
222 "mqtt_monitor_activate",
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
223 )
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
224 self.__activateAct.setStatusTip(
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
225 self.tr("Switch the input focus to the MQTT Monitor window.")
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
226 )
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
227 self.__activateAct.setWhatsThis(
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
228 self.tr(
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
229 """<b>Activate MQTT Monitor</b>"""
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
230 """<p>This switches the input focus to the MQTT Monitor"""
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
231 """ window.</p>"""
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
232 )
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
233 )
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
234 self.__activateAct.triggered.connect(self.__activateWidget)
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
235
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
236 self.__ui.addEricActions([self.__activateAct], "ui")
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
237 menu = self.__ui.getMenu("subwindow")
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
238 menu.addAction(self.__activateAct)
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
239
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
240 return None, True
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
241
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
242 def deactivate(self):
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
243 """
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
244 Public method to deactivate this plug-in.
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
245 """
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
246 menu = self.__ui.getMenu("subwindow")
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
247 menu.removeAction(self.__activateAct)
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
248 self.__ui.removeEricActions([self.__activateAct], "ui")
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
249 self.__ui.removeSideWidget(self.__widget)
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
250
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
251 self.__initialize()
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
252
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
253 def __loadTranslator(self):
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
254 """
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
255 Private method to load the translation file.
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
256 """
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
257 if self.__ui is not None:
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
258 loc = self.__ui.getLocale()
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
259 if loc and loc != "C":
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
260 locale_dir = os.path.join(
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
261 os.path.dirname(__file__), "MqttMonitor", "i18n"
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
262 )
61
008d32130cdf PluginMqttMonitor: fixed a typo causing translation files to not being loaded.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 41
diff changeset
263 translation = "mqttmonitor_{0}".format(loc)
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
264 translator = QTranslator(None)
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
265 loaded = translator.load(translation, locale_dir)
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
266 if loaded:
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
267 self.__translator = translator
92
2fb5c08019fd Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 88
diff changeset
268 ericApp().installTranslator(self.__translator)
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
269 else:
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
270 print(
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
271 "Warning: translation file '{0}' could not be"
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
272 " loaded.".format(translation)
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
273 )
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
274 print("Using default.")
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
275
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
276 def __activateWidget(self):
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
277 """
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
278 Private slot to handle the activation of the MQTT Monitor.
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
279 """
85
1ee3f393af03 Removed support for obsolete eric6 versions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 84
diff changeset
280 uiLayoutType = self.__ui.getLayoutType()
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
281
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
282 if uiLayoutType == "Toolboxes":
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
283 self.__ui.rToolboxDock.show()
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
284 self.__ui.rToolbox.setCurrentWidget(self.__widget)
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
285 elif uiLayoutType == "Sidebars":
145
3f8e91170c37 Fixed an issue causing an exception on computers with a small screen or when the `Combined Sidebars` option is selected.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
286 try:
3f8e91170c37 Fixed an issue causing an exception on computers with a small screen or when the `Combined Sidebars` option is selected.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
287 self.__ui.activateLeftRightSidebarWidget(self.__widget)
3f8e91170c37 Fixed an issue causing an exception on computers with a small screen or when the `Combined Sidebars` option is selected.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
288 except AttributeError:
3f8e91170c37 Fixed an issue causing an exception on computers with a small screen or when the `Combined Sidebars` option is selected.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
289 self.__activateLeftRightSidebarWidget(self.__widget)
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
290 else:
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
291 self.__widget.show()
92
2fb5c08019fd Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 88
diff changeset
292 self.__widget.setFocus(Qt.FocusReason.ActiveWindowFocusReason)
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
293
3
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
294 def getPreferences(self, key):
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
295 """
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
296 Public method to retrieve the various settings.
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
297
92
2fb5c08019fd Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 88
diff changeset
298 @param key key of the setting
2fb5c08019fd Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 88
diff changeset
299 @type str
2fb5c08019fd Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 88
diff changeset
300 @return value of the requested setting
2fb5c08019fd Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 88
diff changeset
301 @rtype Any
3
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
302 """
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
303 if key in (
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
304 "RecentBrokersWithPort",
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
305 "BrokerProfiles",
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
306 "SubscribeProperties",
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
307 "UnsubscribeProperties",
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
308 "PublishProperties",
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
309 "RecentTopics",
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
310 ):
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
311 return json.loads(
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
312 Preferences.Prefs.settings.value(
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
313 self.PreferencesKey + "/" + key, self.__defaults[key]
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
314 )
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
315 )
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
316 elif key in ("DefaultProtocol",):
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
317 return MqttProtocols(
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
318 int(
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
319 Preferences.Prefs.settings.value(
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
320 self.PreferencesKey + "/" + key, self.__defaults[key]
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
321 )
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
322 )
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
323 )
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
324 elif key in ("DefaultProtocol", "RecentBrokersNumber", "RecentTopicsNumber"):
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
325 return int(
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
326 Preferences.Prefs.settings.value(
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
327 self.PreferencesKey + "/" + key, self.__defaults[key]
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
328 )
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
329 )
3
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
330 else:
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
331 return Preferences.Prefs.settings.value(
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
332 self.PreferencesKey + "/" + key, self.__defaults[key]
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
333 )
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
334
3
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
335 def setPreferences(self, key, value):
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
336 """
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
337 Public method to store the various settings.
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
338
92
2fb5c08019fd Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 88
diff changeset
339 @param key key of the setting to be set
2fb5c08019fd Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 88
diff changeset
340 @type str
2fb5c08019fd Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 88
diff changeset
341 @param value value to be set
2fb5c08019fd Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 88
diff changeset
342 @type Any
3
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
343 """
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
344 if key in (
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
345 "RecentBrokersWithPort",
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
346 "BrokerProfiles",
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
347 "SubscribeProperties",
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
348 "UnsubscribeProperties",
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
349 "PublishProperties",
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
350 "RecentTopics",
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
351 ):
10
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
352 Preferences.Prefs.settings.setValue(
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
353 self.PreferencesKey + "/" + key, json.dumps(value)
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
354 )
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
355 elif key in ("DefaultProtocol",):
105
36ec7431ad04 Made the default MQTT protocol a configuration item.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 103
diff changeset
356 Preferences.Prefs.settings.setValue(
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
357 self.PreferencesKey + "/" + key, int(value)
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
358 )
10
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
359 else:
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
360 Preferences.Prefs.settings.setValue(self.PreferencesKey + "/" + key, value)
3
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
361
145
3f8e91170c37 Fixed an issue causing an exception on computers with a small screen or when the `Combined Sidebars` option is selected.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
362 ############################################################################
3f8e91170c37 Fixed an issue causing an exception on computers with a small screen or when the `Combined Sidebars` option is selected.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
363 ## Methods for backward compatibility with eric-ide < 24.9
3f8e91170c37 Fixed an issue causing an exception on computers with a small screen or when the `Combined Sidebars` option is selected.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
364 ############################################################################
3f8e91170c37 Fixed an issue causing an exception on computers with a small screen or when the `Combined Sidebars` option is selected.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
365
3f8e91170c37 Fixed an issue causing an exception on computers with a small screen or when the `Combined Sidebars` option is selected.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
366 def __activateLeftRightSidebarWidget(self, widget):
3f8e91170c37 Fixed an issue causing an exception on computers with a small screen or when the `Combined Sidebars` option is selected.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
367 """
3f8e91170c37 Fixed an issue causing an exception on computers with a small screen or when the `Combined Sidebars` option is selected.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
368 Private method to activate the given widget in the left or right
3f8e91170c37 Fixed an issue causing an exception on computers with a small screen or when the `Combined Sidebars` option is selected.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
369 sidebar.
3f8e91170c37 Fixed an issue causing an exception on computers with a small screen or when the `Combined Sidebars` option is selected.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
370
3f8e91170c37 Fixed an issue causing an exception on computers with a small screen or when the `Combined Sidebars` option is selected.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
371 @param widget reference to the widget to be activated
3f8e91170c37 Fixed an issue causing an exception on computers with a small screen or when the `Combined Sidebars` option is selected.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
372 @type QWidget
3f8e91170c37 Fixed an issue causing an exception on computers with a small screen or when the `Combined Sidebars` option is selected.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
373 """
3f8e91170c37 Fixed an issue causing an exception on computers with a small screen or when the `Combined Sidebars` option is selected.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
374 # This is for backward compatibility with eric-ide < 24.9.
3f8e91170c37 Fixed an issue causing an exception on computers with a small screen or when the `Combined Sidebars` option is selected.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
375 sidebar = (
3f8e91170c37 Fixed an issue causing an exception on computers with a small screen or when the `Combined Sidebars` option is selected.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
376 self.__ui.leftSidebar
3f8e91170c37 Fixed an issue causing an exception on computers with a small screen or when the `Combined Sidebars` option is selected.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
377 if Preferences.getUI("CombinedLeftRightSidebar")
3f8e91170c37 Fixed an issue causing an exception on computers with a small screen or when the `Combined Sidebars` option is selected.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
378 else self.__ui.rightSidebar
3f8e91170c37 Fixed an issue causing an exception on computers with a small screen or when the `Combined Sidebars` option is selected.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
379 )
3f8e91170c37 Fixed an issue causing an exception on computers with a small screen or when the `Combined Sidebars` option is selected.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
380 sidebar.show()
3f8e91170c37 Fixed an issue causing an exception on computers with a small screen or when the `Combined Sidebars` option is selected.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
381 sidebar.setCurrentWidget(widget)
3f8e91170c37 Fixed an issue causing an exception on computers with a small screen or when the `Combined Sidebars` option is selected.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
382
88
59323cbabb7e Added code to install the 'paho-mqtt' library as a plug-in dependency (eric > 21.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 86
diff changeset
383
59323cbabb7e Added code to install the 'paho-mqtt' library as a plug-in dependency (eric > 21.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 86
diff changeset
384 def installDependencies(pipInstall):
59323cbabb7e Added code to install the 'paho-mqtt' library as a plug-in dependency (eric > 21.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 86
diff changeset
385 """
59323cbabb7e Added code to install the 'paho-mqtt' library as a plug-in dependency (eric > 21.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 86
diff changeset
386 Function to install dependencies of this plug-in.
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
387
88
59323cbabb7e Added code to install the 'paho-mqtt' library as a plug-in dependency (eric > 21.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 86
diff changeset
388 @param pipInstall function to be called with a list of package names.
59323cbabb7e Added code to install the 'paho-mqtt' library as a plug-in dependency (eric > 21.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 86
diff changeset
389 @type function
59323cbabb7e Added code to install the 'paho-mqtt' library as a plug-in dependency (eric > 21.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 86
diff changeset
390 """
59323cbabb7e Added code to install the 'paho-mqtt' library as a plug-in dependency (eric > 21.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 86
diff changeset
391 try:
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
392 import paho.mqtt # __IGNORE_WARNING__
88
59323cbabb7e Added code to install the 'paho-mqtt' library as a plug-in dependency (eric > 21.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 86
diff changeset
393 except ImportError:
143
51bc5bcc672a Modified the plugin for 'paho-mqtt' >=2.0.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 141
diff changeset
394 pipInstall(["paho-mqtt>=2.0.0"])
88
59323cbabb7e Added code to install the 'paho-mqtt' library as a plug-in dependency (eric > 21.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 86
diff changeset
395
123
3d7e63ed4fd1 Performed some code refactoring and reformatted the source code with 'Black'
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 120
diff changeset
396
3
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
397 #
132
b4fde9ee3d83 - Changed the data shown on the status tab to use localized values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 131
diff changeset
398 # eflag: noqa = M801, U200

eric ide

mercurial