Fixed a few bugs and added a button to show the user password. eric7

Sat, 26 Jun 2021 15:27:44 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 26 Jun 2021 15:27:44 +0200
branch
eric7
changeset 95
d830314cca87
parent 94
95b0b60d87ed
child 96
06d1cba236eb

Fixed a few bugs and added a button to show the user password.

ChangeLog file | annotate | diff | comparison | revisions
MqttMonitor/Documentation/source/Plugin_Mqtt_Monitor.MqttMonitor.MqttConnectionProfilesDialog.html file | annotate | diff | comparison | revisions
MqttMonitor/MqttClient.py file | annotate | diff | comparison | revisions
MqttMonitor/MqttConnectionProfilesDialog.py file | annotate | diff | comparison | revisions
MqttMonitor/MqttConnectionProfilesDialog.ui file | annotate | diff | comparison | revisions
MqttMonitor/i18n/mqttmonitor_de.qm file | annotate | diff | comparison | revisions
MqttMonitor/i18n/mqttmonitor_de.ts file | annotate | diff | comparison | revisions
MqttMonitor/i18n/mqttmonitor_empty.ts file | annotate | diff | comparison | revisions
MqttMonitor/i18n/mqttmonitor_en.ts file | annotate | diff | comparison | revisions
MqttMonitor/i18n/mqttmonitor_es.ts file | annotate | diff | comparison | revisions
MqttMonitor/i18n/mqttmonitor_ru.ts file | annotate | diff | comparison | revisions
PluginMqttMonitor.py file | annotate | diff | comparison | revisions
PluginMqttMonitor.zip file | annotate | diff | comparison | revisions
--- a/ChangeLog	Mon Jun 14 19:14:23 2021 +0200
+++ b/ChangeLog	Sat Jun 26 15:27:44 2021 +0200
@@ -1,5 +1,9 @@
 ChangeLog
 ---------
+Version 1.0.1
+- bug fixes
+- added a button to show the user password
+
 Version 1.0.0:
 - first release of the eric7 variant
 
--- a/MqttMonitor/Documentation/source/Plugin_Mqtt_Monitor.MqttMonitor.MqttConnectionProfilesDialog.html	Mon Jun 14 19:14:23 2021 +0200
+++ b/MqttMonitor/Documentation/source/Plugin_Mqtt_Monitor.MqttMonitor.MqttConnectionProfilesDialog.html	Sat Jun 26 15:27:44 2021 +0200
@@ -157,6 +157,10 @@
 <td>Private slot to handle a change of the current profile.</td>
 </tr>
 <tr>
+<td><a href="#MqttConnectionProfilesDialog.on_showPasswordButton_toggled">on_showPasswordButton_toggled</a></td>
+<td>Private slot to show or hide the password.</td>
+</tr>
+<tr>
 <td><a href="#MqttConnectionProfilesDialog.on_tlsCertsFileButton_toggled">on_tlsCertsFileButton_toggled</a></td>
 <td>Private slot handling the selection of using a non-default certificates file.</td>
 </tr>
@@ -489,6 +493,20 @@
 previous current item
 </dd>
 </dl>
+<a NAME="MqttConnectionProfilesDialog.on_showPasswordButton_toggled" ID="MqttConnectionProfilesDialog.on_showPasswordButton_toggled"></a>
+<h4>MqttConnectionProfilesDialog.on_showPasswordButton_toggled</h4>
+<b>on_showPasswordButton_toggled</b>(<i>checked</i>)
+
+<p>
+        Private slot to show or hide the password.
+</p>
+<dl>
+
+<dt><i>checked</i> (bool)</dt>
+<dd>
+flag indicating the button state
+</dd>
+</dl>
 <a NAME="MqttConnectionProfilesDialog.on_tlsCertsFileButton_toggled" ID="MqttConnectionProfilesDialog.on_tlsCertsFileButton_toggled"></a>
 <h4>MqttConnectionProfilesDialog.on_tlsCertsFileButton_toggled</h4>
 <b>on_tlsCertsFileButton_toggled</b>(<i>checked</i>)
--- a/MqttMonitor/MqttClient.py	Mon Jun 14 19:14:23 2021 +0200
+++ b/MqttMonitor/MqttClient.py	Sat Jun 26 15:27:44 2021 +0200
@@ -105,7 +105,7 @@
         # TODO: add properties to signal
         # TODO: MQTTv5: add support for MQTTv5 signature
         self.__mqttClient.on_connect = (
-            lambda client, userdata, flags, rc, properties:
+            lambda client, userdata, flags, rc, properties=None:
                 self.onConnect.emit(flags, rc))
         # TODO: MQTTv5: add support for MQTTv5 signature
         self.__mqttClient.on_disconnect = (
@@ -120,7 +120,7 @@
         # TODO: add properties to signal
         # TODO: MQTTv5: add support for MQTTv5 signature
         self.__mqttClient.on_subscribe = (
-            lambda client, userdata, mid, grantedQos, properties:
+            lambda client, userdata, mid, grantedQos, properties=None:
                 self.onSubscribe.emit(mid, grantedQos))
         # TODO: MQTTv5: add support for MQTTv5 signature
         self.__mqttClient.on_unsubscribe = (
--- a/MqttMonitor/MqttConnectionProfilesDialog.py	Mon Jun 14 19:14:23 2021 +0200
+++ b/MqttMonitor/MqttConnectionProfilesDialog.py	Sat Jun 26 15:27:44 2021 +0200
@@ -56,6 +56,7 @@
         self.plusButton.setIcon(UI.PixmapCache.getIcon("plus"))
         self.copyButton.setIcon(UI.PixmapCache.getIcon("editCopy"))
         self.minusButton.setIcon(UI.PixmapCache.getIcon("minus"))
+        self.showPasswordButton.setIcon(UI.PixmapCache.getIcon("showPassword"))
         
         self.tlsCertsFilePicker.setMode(EricPathPickerModes.OPEN_FILE_MODE)
         self.tlsCertsFilePicker.setFilters(
@@ -371,6 +372,7 @@
             self.tlsDefaultCertsButton.setChecked(True)
         self.__populatingProfile = False
         
+        self.showPasswordButton.setChecked(False)
         self.profileFrame.setEnabled(True)
         self.__updateApplyButton()
     
@@ -401,6 +403,7 @@
         self.tlsSelfSignedClientKeyFilePicker.setText("")
         self.__populatingProfile = False
         
+        self.showPasswordButton.setChecked(False)
         self.profileFrame.setEnabled(False)
         self.__updateApplyButton()
     
@@ -549,6 +552,20 @@
         """
         self.__updateApplyButton()
     
+    @pyqtSlot(bool)
+    def on_showPasswordButton_toggled(self, checked):
+        """
+        Private slot to show or hide the password.
+        
+        @param checked flag indicating the button state
+        @type bool
+        """
+        (
+            self.passwordEdit.setEchoMode(QLineEdit.EchoMode.Normal)
+            if checked else
+            self.passwordEdit.setEchoMode(QLineEdit.EchoMode.Password)
+        )
+    
     @pyqtSlot(str)
     def on_tlsCertsFilePicker_textChanged(self, path):
         """
--- a/MqttMonitor/MqttConnectionProfilesDialog.ui	Mon Jun 14 19:14:23 2021 +0200
+++ b/MqttMonitor/MqttConnectionProfilesDialog.ui	Sat Jun 26 15:27:44 2021 +0200
@@ -217,7 +217,7 @@
        <item>
         <widget class="QTabWidget" name="profileTabWidget">
          <property name="currentIndex">
-          <number>2</number>
+          <number>0</number>
          </property>
          <widget class="QWidget" name="generalTab">
           <attribute name="title">
@@ -353,7 +353,7 @@
              </property>
             </widget>
            </item>
-           <item row="0" column="1">
+           <item row="0" column="1" colspan="2">
             <widget class="QLineEdit" name="usernameEdit">
              <property name="toolTip">
               <string>Enter the user name</string>
@@ -383,6 +383,16 @@
              </property>
             </widget>
            </item>
+           <item row="1" column="2">
+            <widget class="QToolButton" name="showPasswordButton">
+             <property name="toolTip">
+              <string>Toggle to show the password</string>
+             </property>
+             <property name="checkable">
+              <bool>true</bool>
+             </property>
+            </widget>
+           </item>
            <item row="2" column="0">
             <spacer name="verticalSpacer_2">
              <property name="orientation">
@@ -737,6 +747,7 @@
   <tabstop>cleanSessionCheckBox</tabstop>
   <tabstop>usernameEdit</tabstop>
   <tabstop>passwordEdit</tabstop>
+  <tabstop>showPasswordButton</tabstop>
   <tabstop>willTopicEdit</tabstop>
   <tabstop>willMessageEdit</tabstop>
   <tabstop>willQosSpinBox</tabstop>
Binary file MqttMonitor/i18n/mqttmonitor_de.qm has changed
--- a/MqttMonitor/i18n/mqttmonitor_de.ts	Mon Jun 14 19:14:23 2021 +0200
+++ b/MqttMonitor/i18n/mqttmonitor_de.ts	Sat Jun 26 15:27:44 2021 +0200
@@ -211,107 +211,107 @@
   <context>
     <name>MqttConnectionProfilesDialog</name>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="70" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="66" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="62" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="71" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="67" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="63" />
       <source>Certificate Files (*.crt *.pem);;All Files (*)</source>
       <translation>Zertifikatdateien (*.crt *.pem);;Alle Dateien (*)</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="74" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="75" />
       <source>Key Files (*.key *.pem);;All Files (*)</source>
       <translation>Schlüsseldateien (*.key *.pem);;Alle Dateien (*)</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="708" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="672" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="143" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="725" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="689" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="144" />
       <source>Changed Connection Profile</source>
       <translation>Verbindungsprofil geändert</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="709" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="673" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="144" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="726" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="690" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="145" />
       <source>The current profile has unsaved changes. Shall these be saved?</source>
       <translation>Das aktuelle Profil hat ungesicherte Änderungen. Sollen diese gesichert werden?</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="171" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="164" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="172" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="165" />
       <source>New Connection Profile</source>
       <translation>Neues Verbindungsprofil</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="165" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="166" />
       <source>Enter name for the new Connection Profile:</source>
       <translation>Gib eine Bezeichnung für das neue Verbindungsprofil ein:</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="199" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="172" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="200" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="173" />
       <source>&lt;p&gt;A connection named &lt;b&gt;{0}&lt;/b&gt; exists already. Aborting...&lt;/p&gt;</source>
       <translation>&lt;p&gt;Eine Verbindung mit der Bezeichnung &lt;b&gt;{0}&lt;/b&gt; existiert bereits. Abbruch...&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="198" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="191" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="199" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="192" />
       <source>Copy Connection Profile</source>
       <translation>Verbindungsprofil kopieren</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="192" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="193" />
       <source>Enter name for the copied Connection Profile:</source>
       <translation>Gib eine Bezeichnung für das kopierte Verbindungsprofil ein:</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="222" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="223" />
       <source>Delete Connection Profile</source>
       <translation>Verbindungsprofil löschen</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="223" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="224" />
       <source>&lt;p&gt;Shall the Connection Profile &lt;b&gt;{0}&lt;/b&gt; really be deleted?&lt;/p&gt;</source>
       <translation>&lt;p&gt;Soll das Verbindungsprofil &lt;b&gt;{0}&lt;/b&gt; wirklich gelöscht werden?&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="493" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="496" />
       <source>Invalid Connection Parameters</source>
       <translation>Ungültige Verbindungsparameter</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="494" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="497" />
       <source>An empty Client ID requires a clean session.</source>
       <translation>Eine leere Client ID setzt eine neue Session voraus.</translation>
     </message>
     <message>
       <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="604" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="621" />
       <source>SSL/TLS Enabled</source>
       <translation>SSL/TLS aktiviert</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="605" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="622" />
       <source>Encrypted connection using SSL/TLS has been enabled. However, the broker port is still the default unencrypted port (port 1883). Shall this be changed?</source>
       <translation>Eine mit SSL/TLS verschlüsselte Verbindung wurde aktiviert. Jedoch ist der Brokerport noch auf den standardmäßigen, unverschlüsselten Port (Port 1883) eingestellt. Soll dies geändert werden?</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="618" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="635" />
       <source>SSL/TLS Disabled</source>
       <translation>SSL/TLS deaktiviert</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="619" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="636" />
       <source>Encrypted connection using SSL/TLS has been disabled. However, the broker port is still the default encrypted port (port 8883). Shall this be changed?</source>
       <translation>Eine mit SSL/TLS verschlüsselte Verbindung wurde deaktiviert. Jedoch ist der Brokerport noch auf den standardmäßigen, verschlüsselten Port (Port 8883) eingestellt. Soll dies geändert werden?</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="685" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="702" />
       <source>Changed Connection Profiles</source>
       <translation>Verbindungsprofile geändert</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="686" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="703" />
       <source>The list of connection profiles has unsaved changes.</source>
       <translation>Die Liste der Verbindungsprofile hat ungesicherte Änderungen.</translation>
     </message>
@@ -448,6 +448,11 @@
     </message>
     <message>
       <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Toggle to show the password</source>
+      <translation>Drücken, um das Kennwort anzuzeigen</translation>
+    </message>
+    <message>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
       <source>Last Will</source>
       <translation>Letzter Wille</translation>
     </message>
--- a/MqttMonitor/i18n/mqttmonitor_empty.ts	Mon Jun 14 19:14:23 2021 +0200
+++ b/MqttMonitor/i18n/mqttmonitor_empty.ts	Sat Jun 26 15:27:44 2021 +0200
@@ -211,107 +211,107 @@
   <context>
     <name>MqttConnectionProfilesDialog</name>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="70" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="66" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="62" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="71" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="67" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="63" />
       <source>Certificate Files (*.crt *.pem);;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="74" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="75" />
       <source>Key Files (*.key *.pem);;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="708" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="672" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="143" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="725" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="689" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="144" />
       <source>Changed Connection Profile</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="709" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="673" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="144" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="726" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="690" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="145" />
       <source>The current profile has unsaved changes. Shall these be saved?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="171" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="164" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="172" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="165" />
       <source>New Connection Profile</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="165" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="166" />
       <source>Enter name for the new Connection Profile:</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../MqttConnectionProfilesDialog.py" line="200" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="173" />
+      <source>&lt;p&gt;A connection named &lt;b&gt;{0}&lt;/b&gt; exists already. Aborting...&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../MqttConnectionProfilesDialog.py" line="199" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="172" />
-      <source>&lt;p&gt;A connection named &lt;b&gt;{0}&lt;/b&gt; exists already. Aborting...&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="198" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="191" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="192" />
       <source>Copy Connection Profile</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="192" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="193" />
       <source>Enter name for the copied Connection Profile:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="222" />
-      <source>Delete Connection Profile</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MqttConnectionProfilesDialog.py" line="223" />
+      <source>Delete Connection Profile</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MqttConnectionProfilesDialog.py" line="224" />
       <source>&lt;p&gt;Shall the Connection Profile &lt;b&gt;{0}&lt;/b&gt; really be deleted?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="493" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="496" />
       <source>Invalid Connection Parameters</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="494" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="497" />
       <source>An empty Client ID requires a clean session.</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="604" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="621" />
       <source>SSL/TLS Enabled</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="605" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="622" />
       <source>Encrypted connection using SSL/TLS has been enabled. However, the broker port is still the default unencrypted port (port 1883). Shall this be changed?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="618" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="635" />
       <source>SSL/TLS Disabled</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="619" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="636" />
       <source>Encrypted connection using SSL/TLS has been disabled. However, the broker port is still the default encrypted port (port 8883). Shall this be changed?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="685" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="702" />
       <source>Changed Connection Profiles</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="686" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="703" />
       <source>The list of connection profiles has unsaved changes.</source>
       <translation type="unfinished" />
     </message>
@@ -448,6 +448,11 @@
     </message>
     <message>
       <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Toggle to show the password</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
       <source>Last Will</source>
       <translation type="unfinished" />
     </message>
--- a/MqttMonitor/i18n/mqttmonitor_en.ts	Mon Jun 14 19:14:23 2021 +0200
+++ b/MqttMonitor/i18n/mqttmonitor_en.ts	Sat Jun 26 15:27:44 2021 +0200
@@ -211,107 +211,107 @@
   <context>
     <name>MqttConnectionProfilesDialog</name>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="70" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="66" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="62" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="71" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="67" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="63" />
       <source>Certificate Files (*.crt *.pem);;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="74" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="75" />
       <source>Key Files (*.key *.pem);;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="708" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="672" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="143" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="725" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="689" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="144" />
       <source>Changed Connection Profile</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="709" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="673" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="144" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="726" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="690" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="145" />
       <source>The current profile has unsaved changes. Shall these be saved?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="171" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="164" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="172" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="165" />
       <source>New Connection Profile</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="165" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="166" />
       <source>Enter name for the new Connection Profile:</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../MqttConnectionProfilesDialog.py" line="200" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="173" />
+      <source>&lt;p&gt;A connection named &lt;b&gt;{0}&lt;/b&gt; exists already. Aborting...&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../MqttConnectionProfilesDialog.py" line="199" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="172" />
-      <source>&lt;p&gt;A connection named &lt;b&gt;{0}&lt;/b&gt; exists already. Aborting...&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="198" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="191" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="192" />
       <source>Copy Connection Profile</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="192" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="193" />
       <source>Enter name for the copied Connection Profile:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="222" />
-      <source>Delete Connection Profile</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MqttConnectionProfilesDialog.py" line="223" />
+      <source>Delete Connection Profile</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MqttConnectionProfilesDialog.py" line="224" />
       <source>&lt;p&gt;Shall the Connection Profile &lt;b&gt;{0}&lt;/b&gt; really be deleted?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="493" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="496" />
       <source>Invalid Connection Parameters</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="494" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="497" />
       <source>An empty Client ID requires a clean session.</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="604" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="621" />
       <source>SSL/TLS Enabled</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="605" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="622" />
       <source>Encrypted connection using SSL/TLS has been enabled. However, the broker port is still the default unencrypted port (port 1883). Shall this be changed?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="618" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="635" />
       <source>SSL/TLS Disabled</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="619" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="636" />
       <source>Encrypted connection using SSL/TLS has been disabled. However, the broker port is still the default encrypted port (port 8883). Shall this be changed?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="685" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="702" />
       <source>Changed Connection Profiles</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="686" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="703" />
       <source>The list of connection profiles has unsaved changes.</source>
       <translation type="unfinished" />
     </message>
@@ -448,6 +448,11 @@
     </message>
     <message>
       <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Toggle to show the password</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
       <source>Last Will</source>
       <translation type="unfinished" />
     </message>
--- a/MqttMonitor/i18n/mqttmonitor_es.ts	Mon Jun 14 19:14:23 2021 +0200
+++ b/MqttMonitor/i18n/mqttmonitor_es.ts	Sat Jun 26 15:27:44 2021 +0200
@@ -211,107 +211,107 @@
   <context>
     <name>MqttConnectionProfilesDialog</name>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="70" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="66" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="62" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="71" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="67" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="63" />
       <source>Certificate Files (*.crt *.pem);;All Files (*)</source>
       <translation>Archivos de Certificado (*.crt *.pem);;Todos los Archivos (*)</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="74" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="75" />
       <source>Key Files (*.key *.pem);;All Files (*)</source>
       <translation>Archivos de Clave (*.key *.pem);;Todos los Archivos (*)</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="708" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="672" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="143" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="725" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="689" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="144" />
       <source>Changed Connection Profile</source>
       <translation>Perfil de Conexión Cambiado</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="709" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="673" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="144" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="726" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="690" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="145" />
       <source>The current profile has unsaved changes. Shall these be saved?</source>
       <translation>El perfil actual tiene cambios sin guardar. ¿Desea guardarlos?</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="171" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="164" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="172" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="165" />
       <source>New Connection Profile</source>
       <translation>Nuevo Perfil de Conexión</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="165" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="166" />
       <source>Enter name for the new Connection Profile:</source>
       <translation>ntroducir nombre para el nuevo Perfil de Conexión:</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="199" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="172" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="200" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="173" />
       <source>&lt;p&gt;A connection named &lt;b&gt;{0}&lt;/b&gt; exists already. Aborting...&lt;/p&gt;</source>
       <translation>&lt;p&gt;Una conexión llamada &lt;b&gt;{0}&lt;/b&gt; ya existe. Abortando...&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="198" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="191" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="199" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="192" />
       <source>Copy Connection Profile</source>
       <translation>Copiar Perfil de Conexión</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="192" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="193" />
       <source>Enter name for the copied Connection Profile:</source>
       <translation>Introducir nombre para el Perfil de Conexión copiado:</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="222" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="223" />
       <source>Delete Connection Profile</source>
       <translation>Borrar Perfil de Conexión</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="223" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="224" />
       <source>&lt;p&gt;Shall the Connection Profile &lt;b&gt;{0}&lt;/b&gt; really be deleted?&lt;/p&gt;</source>
       <translation>&lt;p&gt;¿Realmente desea eliminar el Perfil de Conexión &lt;b&gt;{0}&lt;/b&gt;?&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="493" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="496" />
       <source>Invalid Connection Parameters</source>
       <translation>Parámetros de Conexión No Válidos</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="494" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="497" />
       <source>An empty Client ID requires a clean session.</source>
       <translation>Un ID de Cliente vacío requiere una sesión limpia.</translation>
     </message>
     <message>
       <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="604" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="621" />
       <source>SSL/TLS Enabled</source>
       <translation>SSL/TLS Habilitado</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="605" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="622" />
       <source>Encrypted connection using SSL/TLS has been enabled. However, the broker port is still the default unencrypted port (port 1883). Shall this be changed?</source>
       <translation>Se ha habilitado conexión encriptada utilizando SSL/TLS. Sin embargo, el puerto del broker sigue siendo el puerto por defecto no encriptado (puerto 1883). ¿Desea cambiarlo?</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="618" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="635" />
       <source>SSL/TLS Disabled</source>
       <translation>SSL/TLS Deshabilitado</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="619" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="636" />
       <source>Encrypted connection using SSL/TLS has been disabled. However, the broker port is still the default encrypted port (port 8883). Shall this be changed?</source>
       <translation>Se ha deshabilitado conexión encriptada utilizando SSL/TLS. Sin embargo, el puerto del broker sigue siendo el puerto por defecto no encriptado (puerto 1883). ¿Desea cambiarlo?</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="685" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="702" />
       <source>Changed Connection Profiles</source>
       <translation>Perfiles de Conexión Cambiados</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="686" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="703" />
       <source>The list of connection profiles has unsaved changes.</source>
       <translation>La lista de perfiles de conexión tienen cambios sin guardar.</translation>
     </message>
@@ -448,6 +448,11 @@
     </message>
     <message>
       <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Toggle to show the password</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
       <source>Last Will</source>
       <translation>Last Will</translation>
     </message>
--- a/MqttMonitor/i18n/mqttmonitor_ru.ts	Mon Jun 14 19:14:23 2021 +0200
+++ b/MqttMonitor/i18n/mqttmonitor_ru.ts	Sat Jun 26 15:27:44 2021 +0200
@@ -211,107 +211,107 @@
   <context>
     <name>MqttConnectionProfilesDialog</name>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="70" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="66" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="62" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="71" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="67" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="63" />
       <source>Certificate Files (*.crt *.pem);;All Files (*)</source>
       <translation>Файлы сертификатов (*.crt *.pem);;Все файлы (*)</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="74" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="75" />
       <source>Key Files (*.key *.pem);;All Files (*)</source>
       <translation>Файлы ключей (*.key *.pem);;Все файлы (*)</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="708" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="672" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="143" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="725" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="689" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="144" />
       <source>Changed Connection Profile</source>
       <translation>Измененный профиль соединения</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="709" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="673" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="144" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="726" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="690" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="145" />
       <source>The current profile has unsaved changes. Shall these be saved?</source>
       <translation>В текущем профиле есть несохраненные изменения. Должны ли они быть сохранены?</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="171" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="164" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="172" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="165" />
       <source>New Connection Profile</source>
       <translation>Новый профиль соединения</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="165" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="166" />
       <source>Enter name for the new Connection Profile:</source>
       <translation>Введите имя нового профиля соединения:</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="199" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="172" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="200" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="173" />
       <source>&lt;p&gt;A connection named &lt;b&gt;{0}&lt;/b&gt; exists already. Aborting...&lt;/p&gt;</source>
       <translation>&lt;p&gt;Уже существует соединение с именем &lt;b&gt;{0}&lt;/b&gt;. Прерывание... &lt;/ p&gt;</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="198" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="191" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="199" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="192" />
       <source>Copy Connection Profile</source>
       <translation>Копировать профиль соединения</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="192" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="193" />
       <source>Enter name for the copied Connection Profile:</source>
       <translation>Введите имя для скопированного профиля соединения:</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="222" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="223" />
       <source>Delete Connection Profile</source>
       <translation>Удалить профиль соединения</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="223" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="224" />
       <source>&lt;p&gt;Shall the Connection Profile &lt;b&gt;{0}&lt;/b&gt; really be deleted?&lt;/p&gt;</source>
       <translation>&lt;p&gt;Действительно удалить профиль соединения &lt;b&gt;{0}&lt;/b&gt;?&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="493" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="496" />
       <source>Invalid Connection Parameters</source>
       <translation>Недопустимые параметры соединения</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="494" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="497" />
       <source>An empty Client ID requires a clean session.</source>
       <translation>При незаданном ID клиента требуется чистый сеанс.</translation>
     </message>
     <message>
       <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
-      <location filename="../MqttConnectionProfilesDialog.py" line="604" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="621" />
       <source>SSL/TLS Enabled</source>
       <translation>Разрешить SSL/TLS</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="605" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="622" />
       <source>Encrypted connection using SSL/TLS has been enabled. However, the broker port is still the default unencrypted port (port 1883). Shall this be changed?</source>
       <translation>Разрешено соединение с использованием шифрования SSL/TLS. Однако по-прежнему задействован порт брокера без шифрования, по умолчанию порт 1883. Изменить?</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="618" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="635" />
       <source>SSL/TLS Disabled</source>
       <translation>SSL/TLS запрещено</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="619" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="636" />
       <source>Encrypted connection using SSL/TLS has been disabled. However, the broker port is still the default encrypted port (port 8883). Shall this be changed?</source>
       <translation>Соединение с использованием шифрования SSL/TLS запрещено. Однако по-прежнему задействован порт брокера с шифрованием, по умолчанию порт 8883. Изменить?</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="685" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="702" />
       <source>Changed Connection Profiles</source>
       <translation>Измененные профили соединений</translation>
     </message>
     <message>
-      <location filename="../MqttConnectionProfilesDialog.py" line="686" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="703" />
       <source>The list of connection profiles has unsaved changes.</source>
       <translation>В списке профилей соединений имеются несохраненные изменения.</translation>
     </message>
@@ -448,6 +448,11 @@
     </message>
     <message>
       <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Toggle to show the password</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
       <source>Last Will</source>
       <translation>Последнее желание</translation>
     </message>
--- a/PluginMqttMonitor.py	Mon Jun 14 19:14:23 2021 +0200
+++ b/PluginMqttMonitor.py	Sat Jun 26 15:27:44 2021 +0200
@@ -24,7 +24,7 @@
 author = "Detlev Offenbach <detlev@die-offenbachs.de>"
 autoactivate = True
 deactivateable = True
-version = "1.0.0"
+version = "1.0.1"
 className = "MqttMonitorPlugin"
 packageName = "MqttMonitor"
 shortDescription = "Plug-in implementing a tool to connect to a MQTT broker"
Binary file PluginMqttMonitor.zip has changed

eric ide

mercurial