10 import collections |
10 import collections |
11 import contextlib |
11 import contextlib |
12 import copy |
12 import copy |
13 import os |
13 import os |
14 |
14 |
15 from PyQt6.QtCore import pyqtSlot, Qt, QTimer, QFileInfo, QPoint |
15 from PyQt6.QtCore import QFileInfo, QPoint, Qt, QTimer, pyqtSlot |
16 from PyQt6.QtGui import QFont, QTextCursor, QBrush, QColor |
16 from PyQt6.QtGui import QBrush, QColor, QFont, QTextCursor |
17 from PyQt6.QtWidgets import QWidget, QDialog, QMenu |
17 from PyQt6.QtWidgets import QDialog, QMenu, QWidget |
18 |
18 |
19 from eric7 import Utilities |
19 from eric7 import Utilities |
20 |
20 |
21 try: |
21 try: |
22 from eric7.EricGui import EricPixmapCache |
22 from eric7.EricGui import EricPixmapCache |
23 except ImportError: |
23 except ImportError: |
24 from UI import PixmapCache as EricPixmapCache |
24 from UI import PixmapCache as EricPixmapCache |
25 from eric7.EricWidgets import EricMessageBox, EricFileDialog |
25 |
|
26 from eric7.EricWidgets import EricFileDialog, EricMessageBox |
26 from eric7.EricWidgets.EricApplication import ericApp |
27 from eric7.EricWidgets.EricApplication import ericApp |
27 from eric7.EricWidgets.EricPathPicker import EricPathPickerModes |
28 from eric7.EricWidgets.EricPathPicker import EricPathPickerModes |
28 |
29 |
29 from .Ui_MqttMonitorWidget import Ui_MqttMonitorWidget |
30 try: |
|
31 from eric7.SystemUtilities.FileSystemUtilities import toNativeSeparators |
|
32 except ImportError: |
|
33 # imports for eric < 23.1 |
|
34 from eric7.Utilities import toNativeSeparators |
30 |
35 |
31 from .MqttClient import ( |
36 from .MqttClient import ( |
32 MqttClient, |
37 MqttClient, |
33 mqttConnackMessage, |
38 mqttConnackMessage, |
34 mqttErrorMessage, |
39 mqttErrorMessage, |
35 mqttLogLevelString, |
40 mqttLogLevelString, |
36 ) |
41 ) |
|
42 from .MqttProtocols import MqttProtocols |
37 from .MqttReasonCodes import mqttReasonCode |
43 from .MqttReasonCodes import mqttReasonCode |
38 from .MqttProtocols import MqttProtocols |
44 from .Ui_MqttMonitorWidget import Ui_MqttMonitorWidget |
39 |
45 |
40 |
46 |
41 class MqttMonitorWidget(QWidget, Ui_MqttMonitorWidget): |
47 class MqttMonitorWidget(QWidget, Ui_MqttMonitorWidget): |
42 """ |
48 """ |
43 Class implementing the MQTT Monitor widget. |
49 Class implementing the MQTT Monitor widget. |
959 icon=EricMessageBox.Warning, |
965 icon=EricMessageBox.Warning, |
960 ) |
966 ) |
961 if not res: |
967 if not res: |
962 return |
968 return |
963 |
969 |
964 fn = Utilities.toNativeSeparators(fn) |
970 fn = toNativeSeparators(fn) |
965 try: |
971 try: |
966 with open(fn, "w") as f: |
972 with open(fn, "w") as f: |
967 f.write(self.messagesEdit.toPlainText()) |
973 f.write(self.messagesEdit.toPlainText()) |
968 except EnvironmentError as err: |
974 except EnvironmentError as err: |
969 EricMessageBox.critical( |
975 EricMessageBox.critical( |
1020 icon=EricMessageBox.Warning, |
1026 icon=EricMessageBox.Warning, |
1021 ) |
1027 ) |
1022 if not res: |
1028 if not res: |
1023 return |
1029 return |
1024 |
1030 |
1025 fn = Utilities.toNativeSeparators(fn) |
1031 fn = toNativeSeparators(fn) |
1026 try: |
1032 try: |
1027 with open(fn, "w") as f: |
1033 with open(fn, "w") as f: |
1028 f.write(self.logEdit.toPlainText()) |
1034 f.write(self.logEdit.toPlainText()) |
1029 except EnvironmentError as err: |
1035 except EnvironmentError as err: |
1030 EricMessageBox.critical( |
1036 EricMessageBox.critical( |