MqttMonitor/Ui_MqttConnectionOptionsDialog.py

branch
eric7
changeset 148
187406bcc8ae
diff -r 8d34da4deb33 -r 187406bcc8ae MqttMonitor/Ui_MqttConnectionOptionsDialog.py
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MqttMonitor/Ui_MqttConnectionOptionsDialog.py	Thu Aug 01 11:30:50 2024 +0200
@@ -0,0 +1,270 @@
+# Form implementation generated from reading ui file 'MqttMonitor/MqttConnectionOptionsDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.1
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_MqttConnectionOptionsDialog(object):
+    def setupUi(self, MqttConnectionOptionsDialog):
+        MqttConnectionOptionsDialog.setObjectName("MqttConnectionOptionsDialog")
+        MqttConnectionOptionsDialog.resize(450, 350)
+        MqttConnectionOptionsDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(MqttConnectionOptionsDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.optionsWidget = QtWidgets.QTabWidget(parent=MqttConnectionOptionsDialog)
+        self.optionsWidget.setObjectName("optionsWidget")
+        self.generalTab = QtWidgets.QWidget()
+        self.generalTab.setObjectName("generalTab")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.generalTab)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label = QtWidgets.QLabel(parent=self.generalTab)
+        self.label.setObjectName("label")
+        self.horizontalLayout.addWidget(self.label)
+        self.clientIdEdit = QtWidgets.QLineEdit(parent=self.generalTab)
+        self.clientIdEdit.setClearButtonEnabled(True)
+        self.clientIdEdit.setObjectName("clientIdEdit")
+        self.horizontalLayout.addWidget(self.clientIdEdit)
+        self.generateIdButton = QtWidgets.QPushButton(parent=self.generalTab)
+        self.generateIdButton.setObjectName("generateIdButton")
+        self.horizontalLayout.addWidget(self.generateIdButton)
+        self.verticalLayout_2.addLayout(self.horizontalLayout)
+        self.groupBox_5 = QtWidgets.QGroupBox(parent=self.generalTab)
+        self.groupBox_5.setObjectName("groupBox_5")
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.groupBox_5)
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.mqttv31Button = QtWidgets.QRadioButton(parent=self.groupBox_5)
+        self.mqttv31Button.setObjectName("mqttv31Button")
+        self.horizontalLayout_3.addWidget(self.mqttv31Button)
+        self.mqttv311Button = QtWidgets.QRadioButton(parent=self.groupBox_5)
+        self.mqttv311Button.setChecked(True)
+        self.mqttv311Button.setObjectName("mqttv311Button")
+        self.horizontalLayout_3.addWidget(self.mqttv311Button)
+        self.mqttv5Button = QtWidgets.QRadioButton(parent=self.groupBox_5)
+        self.mqttv5Button.setObjectName("mqttv5Button")
+        self.horizontalLayout_3.addWidget(self.mqttv5Button)
+        self.verticalLayout_2.addWidget(self.groupBox_5)
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.label_6 = QtWidgets.QLabel(parent=self.generalTab)
+        self.label_6.setObjectName("label_6")
+        self.gridLayout.addWidget(self.label_6, 0, 0, 1, 1)
+        self.connectionTimeoutSpinBox = QtWidgets.QSpinBox(parent=self.generalTab)
+        self.connectionTimeoutSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.connectionTimeoutSpinBox.setMaximum(300)
+        self.connectionTimeoutSpinBox.setSingleStep(5)
+        self.connectionTimeoutSpinBox.setProperty("value", 15)
+        self.connectionTimeoutSpinBox.setObjectName("connectionTimeoutSpinBox")
+        self.gridLayout.addWidget(self.connectionTimeoutSpinBox, 0, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(148, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem, 0, 2, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=self.generalTab)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.keepaliveSpinBox = QtWidgets.QSpinBox(parent=self.generalTab)
+        self.keepaliveSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.keepaliveSpinBox.setMaximum(300)
+        self.keepaliveSpinBox.setSingleStep(5)
+        self.keepaliveSpinBox.setProperty("value", 60)
+        self.keepaliveSpinBox.setObjectName("keepaliveSpinBox")
+        self.gridLayout.addWidget(self.keepaliveSpinBox, 1, 1, 1, 1)
+        spacerItem1 = QtWidgets.QSpacerItem(148, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem1, 1, 2, 1, 1)
+        self.verticalLayout_2.addLayout(self.gridLayout)
+        self.cleanSessionCheckBox = QtWidgets.QCheckBox(parent=self.generalTab)
+        self.cleanSessionCheckBox.setObjectName("cleanSessionCheckBox")
+        self.verticalLayout_2.addWidget(self.cleanSessionCheckBox)
+        spacerItem2 = QtWidgets.QSpacerItem(20, 92, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem2)
+        self.optionsWidget.addTab(self.generalTab, "")
+        self.credentialsTab = QtWidgets.QWidget()
+        self.credentialsTab.setObjectName("credentialsTab")
+        self.gridLayout_5 = QtWidgets.QGridLayout(self.credentialsTab)
+        self.gridLayout_5.setObjectName("gridLayout_5")
+        self.label_3 = QtWidgets.QLabel(parent=self.credentialsTab)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout_5.addWidget(self.label_3, 0, 0, 1, 1)
+        self.usernameEdit = QtWidgets.QLineEdit(parent=self.credentialsTab)
+        self.usernameEdit.setClearButtonEnabled(True)
+        self.usernameEdit.setObjectName("usernameEdit")
+        self.gridLayout_5.addWidget(self.usernameEdit, 0, 1, 1, 1)
+        self.label_4 = QtWidgets.QLabel(parent=self.credentialsTab)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout_5.addWidget(self.label_4, 1, 0, 1, 1)
+        self.passwordEdit = QtWidgets.QLineEdit(parent=self.credentialsTab)
+        self.passwordEdit.setEchoMode(QtWidgets.QLineEdit.EchoMode.Password)
+        self.passwordEdit.setClearButtonEnabled(True)
+        self.passwordEdit.setObjectName("passwordEdit")
+        self.gridLayout_5.addWidget(self.passwordEdit, 1, 1, 1, 1)
+        spacerItem3 = QtWidgets.QSpacerItem(20, 204, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.gridLayout_5.addItem(spacerItem3, 2, 1, 1, 1)
+        self.optionsWidget.addTab(self.credentialsTab, "")
+        self.lastWillTab = QtWidgets.QWidget()
+        self.lastWillTab.setObjectName("lastWillTab")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.lastWillTab)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.willTopicEdit = QtWidgets.QLineEdit(parent=self.lastWillTab)
+        self.willTopicEdit.setClearButtonEnabled(True)
+        self.willTopicEdit.setObjectName("willTopicEdit")
+        self.gridLayout_2.addWidget(self.willTopicEdit, 0, 0, 1, 1)
+        self.label_5 = QtWidgets.QLabel(parent=self.lastWillTab)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout_2.addWidget(self.label_5, 0, 1, 1, 1)
+        self.willQosSpinBox = QtWidgets.QSpinBox(parent=self.lastWillTab)
+        self.willQosSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.willQosSpinBox.setMaximum(2)
+        self.willQosSpinBox.setObjectName("willQosSpinBox")
+        self.gridLayout_2.addWidget(self.willQosSpinBox, 0, 2, 1, 1)
+        self.willRetainCheckBox = QtWidgets.QCheckBox(parent=self.lastWillTab)
+        self.willRetainCheckBox.setObjectName("willRetainCheckBox")
+        self.gridLayout_2.addWidget(self.willRetainCheckBox, 0, 3, 1, 1)
+        self.willPropertiesButton = QtWidgets.QToolButton(parent=self.lastWillTab)
+        self.willPropertiesButton.setText("")
+        self.willPropertiesButton.setObjectName("willPropertiesButton")
+        self.gridLayout_2.addWidget(self.willPropertiesButton, 0, 4, 1, 1)
+        self.willMessageEdit = QtWidgets.QPlainTextEdit(parent=self.lastWillTab)
+        self.willMessageEdit.setMaximumSize(QtCore.QSize(16777215, 300))
+        self.willMessageEdit.setObjectName("willMessageEdit")
+        self.gridLayout_2.addWidget(self.willMessageEdit, 1, 0, 1, 5)
+        self.optionsWidget.addTab(self.lastWillTab, "")
+        self.tlsTab = QtWidgets.QWidget()
+        self.tlsTab.setObjectName("tlsTab")
+        self.gridLayout_3 = QtWidgets.QGridLayout(self.tlsTab)
+        self.gridLayout_3.setObjectName("gridLayout_3")
+        self.tlsEnableCheckBox = QtWidgets.QCheckBox(parent=self.tlsTab)
+        self.tlsEnableCheckBox.setObjectName("tlsEnableCheckBox")
+        self.gridLayout_3.addWidget(self.tlsEnableCheckBox, 0, 0, 1, 2)
+        self.label_8 = QtWidgets.QLabel(parent=self.tlsTab)
+        self.label_8.setObjectName("label_8")
+        self.gridLayout_3.addWidget(self.label_8, 1, 0, 1, 1)
+        self.tlsCertsFilePicker = EricPathPicker(parent=self.tlsTab)
+        self.tlsCertsFilePicker.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.tlsCertsFilePicker.sizePolicy().hasHeightForWidth())
+        self.tlsCertsFilePicker.setSizePolicy(sizePolicy)
+        self.tlsCertsFilePicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.tlsCertsFilePicker.setObjectName("tlsCertsFilePicker")
+        self.gridLayout_3.addWidget(self.tlsCertsFilePicker, 1, 1, 1, 1)
+        spacerItem4 = QtWidgets.QSpacerItem(20, 214, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.gridLayout_3.addItem(spacerItem4, 2, 0, 1, 2)
+        self.optionsWidget.addTab(self.tlsTab, "")
+        self.propertiesTab = QtWidgets.QWidget()
+        self.propertiesTab.setObjectName("propertiesTab")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.propertiesTab)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.connectPropertiesButton = QtWidgets.QRadioButton(parent=self.propertiesTab)
+        self.connectPropertiesButton.setChecked(True)
+        self.connectPropertiesButton.setObjectName("connectPropertiesButton")
+        self.horizontalLayout_2.addWidget(self.connectPropertiesButton)
+        self.disconnectPropertiesButton = QtWidgets.QRadioButton(parent=self.propertiesTab)
+        self.disconnectPropertiesButton.setObjectName("disconnectPropertiesButton")
+        self.horizontalLayout_2.addWidget(self.disconnectPropertiesButton)
+        self.verticalLayout_3.addLayout(self.horizontalLayout_2)
+        self.propertiesWidget = MqttUserPropertiesEditor(parent=self.propertiesTab)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.propertiesWidget.sizePolicy().hasHeightForWidth())
+        self.propertiesWidget.setSizePolicy(sizePolicy)
+        self.propertiesWidget.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.propertiesWidget.setObjectName("propertiesWidget")
+        self.verticalLayout_3.addWidget(self.propertiesWidget)
+        self.samePropertiesCheckBox = QtWidgets.QCheckBox(parent=self.propertiesTab)
+        self.samePropertiesCheckBox.setObjectName("samePropertiesCheckBox")
+        self.verticalLayout_3.addWidget(self.samePropertiesCheckBox)
+        self.optionsWidget.addTab(self.propertiesTab, "")
+        self.verticalLayout.addWidget(self.optionsWidget)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=MqttConnectionOptionsDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok|QtWidgets.QDialogButtonBox.StandardButton.RestoreDefaults)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(MqttConnectionOptionsDialog)
+        self.optionsWidget.setCurrentIndex(0)
+        self.buttonBox.accepted.connect(MqttConnectionOptionsDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(MqttConnectionOptionsDialog.reject) # type: ignore
+        self.tlsEnableCheckBox.toggled['bool'].connect(self.tlsCertsFilePicker.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(MqttConnectionOptionsDialog)
+        MqttConnectionOptionsDialog.setTabOrder(self.optionsWidget, self.clientIdEdit)
+        MqttConnectionOptionsDialog.setTabOrder(self.clientIdEdit, self.generateIdButton)
+        MqttConnectionOptionsDialog.setTabOrder(self.generateIdButton, self.mqttv31Button)
+        MqttConnectionOptionsDialog.setTabOrder(self.mqttv31Button, self.mqttv311Button)
+        MqttConnectionOptionsDialog.setTabOrder(self.mqttv311Button, self.mqttv5Button)
+        MqttConnectionOptionsDialog.setTabOrder(self.mqttv5Button, self.connectionTimeoutSpinBox)
+        MqttConnectionOptionsDialog.setTabOrder(self.connectionTimeoutSpinBox, self.keepaliveSpinBox)
+        MqttConnectionOptionsDialog.setTabOrder(self.keepaliveSpinBox, self.cleanSessionCheckBox)
+        MqttConnectionOptionsDialog.setTabOrder(self.cleanSessionCheckBox, self.usernameEdit)
+        MqttConnectionOptionsDialog.setTabOrder(self.usernameEdit, self.passwordEdit)
+        MqttConnectionOptionsDialog.setTabOrder(self.passwordEdit, self.willTopicEdit)
+        MqttConnectionOptionsDialog.setTabOrder(self.willTopicEdit, self.willMessageEdit)
+        MqttConnectionOptionsDialog.setTabOrder(self.willMessageEdit, self.willQosSpinBox)
+        MqttConnectionOptionsDialog.setTabOrder(self.willQosSpinBox, self.willRetainCheckBox)
+        MqttConnectionOptionsDialog.setTabOrder(self.willRetainCheckBox, self.willPropertiesButton)
+        MqttConnectionOptionsDialog.setTabOrder(self.willPropertiesButton, self.tlsEnableCheckBox)
+        MqttConnectionOptionsDialog.setTabOrder(self.tlsEnableCheckBox, self.tlsCertsFilePicker)
+        MqttConnectionOptionsDialog.setTabOrder(self.tlsCertsFilePicker, self.connectPropertiesButton)
+        MqttConnectionOptionsDialog.setTabOrder(self.connectPropertiesButton, self.disconnectPropertiesButton)
+        MqttConnectionOptionsDialog.setTabOrder(self.disconnectPropertiesButton, self.propertiesWidget)
+        MqttConnectionOptionsDialog.setTabOrder(self.propertiesWidget, self.samePropertiesCheckBox)
+
+    def retranslateUi(self, MqttConnectionOptionsDialog):
+        _translate = QtCore.QCoreApplication.translate
+        MqttConnectionOptionsDialog.setWindowTitle(_translate("MqttConnectionOptionsDialog", "MQTT Connection Options"))
+        self.label.setText(_translate("MqttConnectionOptionsDialog", "Client ID:"))
+        self.clientIdEdit.setToolTip(_translate("MqttConnectionOptionsDialog", "Enter the ID string for this client"))
+        self.generateIdButton.setToolTip(_translate("MqttConnectionOptionsDialog", "Press to generate a client ID"))
+        self.generateIdButton.setText(_translate("MqttConnectionOptionsDialog", "Generate"))
+        self.groupBox_5.setTitle(_translate("MqttConnectionOptionsDialog", "MQTT Protocol"))
+        self.mqttv31Button.setToolTip(_translate("MqttConnectionOptionsDialog", "Select to use the MQTT 3.1 protocol"))
+        self.mqttv31Button.setText(_translate("MqttConnectionOptionsDialog", "v 3.1"))
+        self.mqttv311Button.setToolTip(_translate("MqttConnectionOptionsDialog", "Select to use the MQTT 3.1.1 protocol"))
+        self.mqttv311Button.setText(_translate("MqttConnectionOptionsDialog", "v 3.1.1"))
+        self.mqttv5Button.setToolTip(_translate("MqttConnectionOptionsDialog", "Select to use the MQTT 5.0 protocol"))
+        self.mqttv5Button.setText(_translate("MqttConnectionOptionsDialog", "v 5.0"))
+        self.label_6.setText(_translate("MqttConnectionOptionsDialog", "Connection Timeout:"))
+        self.connectionTimeoutSpinBox.setToolTip(_translate("MqttConnectionOptionsDialog", "Enter the connection timeout in seconds"))
+        self.connectionTimeoutSpinBox.setSuffix(_translate("MqttConnectionOptionsDialog", " s"))
+        self.label_2.setText(_translate("MqttConnectionOptionsDialog", "Keep Alive Interval:"))
+        self.keepaliveSpinBox.setToolTip(_translate("MqttConnectionOptionsDialog", "Enter the keep alive interval in seconds"))
+        self.keepaliveSpinBox.setSuffix(_translate("MqttConnectionOptionsDialog", " s"))
+        self.cleanSessionCheckBox.setToolTip(_translate("MqttConnectionOptionsDialog", "Select to start with a clean session"))
+        self.cleanSessionCheckBox.setText(_translate("MqttConnectionOptionsDialog", "Clean Session"))
+        self.optionsWidget.setTabText(self.optionsWidget.indexOf(self.generalTab), _translate("MqttConnectionOptionsDialog", "General"))
+        self.label_3.setText(_translate("MqttConnectionOptionsDialog", "User Name:"))
+        self.usernameEdit.setToolTip(_translate("MqttConnectionOptionsDialog", "Enter the user name"))
+        self.label_4.setText(_translate("MqttConnectionOptionsDialog", "Password:"))
+        self.passwordEdit.setToolTip(_translate("MqttConnectionOptionsDialog", "Enter the password"))
+        self.optionsWidget.setTabText(self.optionsWidget.indexOf(self.credentialsTab), _translate("MqttConnectionOptionsDialog", "User Credentials"))
+        self.willTopicEdit.setToolTip(_translate("MqttConnectionOptionsDialog", "Enter the topic of the last will"))
+        self.label_5.setText(_translate("MqttConnectionOptionsDialog", "QoS:"))
+        self.willQosSpinBox.setToolTip(_translate("MqttConnectionOptionsDialog", "Enter the desired QoS value"))
+        self.willRetainCheckBox.setToolTip(_translate("MqttConnectionOptionsDialog", "Select to retain the last will message"))
+        self.willRetainCheckBox.setText(_translate("MqttConnectionOptionsDialog", "Retain"))
+        self.willPropertiesButton.setToolTip(_translate("MqttConnectionOptionsDialog", "Press to edit the user properties"))
+        self.willMessageEdit.setToolTip(_translate("MqttConnectionOptionsDialog", "Enter the last will message to be sent"))
+        self.optionsWidget.setTabText(self.optionsWidget.indexOf(self.lastWillTab), _translate("MqttConnectionOptionsDialog", "Last Will"))
+        self.tlsEnableCheckBox.setToolTip(_translate("MqttConnectionOptionsDialog", "Select to enable SSL/TLS connections"))
+        self.tlsEnableCheckBox.setText(_translate("MqttConnectionOptionsDialog", "SSL/TLS Enabled"))
+        self.label_8.setText(_translate("MqttConnectionOptionsDialog", "CA File:"))
+        self.tlsCertsFilePicker.setToolTip(_translate("MqttConnectionOptionsDialog", "Enter the full path to the CA certificate file; leave empty to use platform default"))
+        self.optionsWidget.setTabText(self.optionsWidget.indexOf(self.tlsTab), _translate("MqttConnectionOptionsDialog", "SSL/TLS"))
+        self.connectPropertiesButton.setToolTip(_translate("MqttConnectionOptionsDialog", "Select to edit the CONNECT user properties"))
+        self.connectPropertiesButton.setText(_translate("MqttConnectionOptionsDialog", "CONNECT"))
+        self.disconnectPropertiesButton.setToolTip(_translate("MqttConnectionOptionsDialog", "Select to edit the DISCONNECT user properties"))
+        self.disconnectPropertiesButton.setText(_translate("MqttConnectionOptionsDialog", "DISCONNECT"))
+        self.samePropertiesCheckBox.setToolTip(_translate("MqttConnectionOptionsDialog", "Select to use the CONNECT user properties when disconnecting"))
+        self.samePropertiesCheckBox.setText(_translate("MqttConnectionOptionsDialog", "Use CONNECT properties for DISCONNECT"))
+        self.optionsWidget.setTabText(self.optionsWidget.indexOf(self.propertiesTab), _translate("MqttConnectionOptionsDialog", "User Properties"))
+from MqttMonitor.MqttUserPropertiesEditor import MqttUserPropertiesEditor
+from eric7.EricWidgets.EricPathPicker import EricPathPicker

eric ide

mercurial