Added a `Collapse all files` entry to the context menus. release-10.0.2

Sun, 11 Dec 2022 11:52:03 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 11 Dec 2022 11:52:03 +0100
changeset 8
24fdd6e43cd7
parent 7
617bfb5a95c8
child 9
eb218f60e411

Added a `Collapse all files` entry to the context menus.

ExtensionProtobuf/ProjectProtocolsBrowser.py file | annotate | diff | comparison | revisions
ExtensionProtobuf/i18n/protobuf_de.qm file | annotate | diff | comparison | revisions
ExtensionProtobuf/i18n/protobuf_de.ts file | annotate | diff | comparison | revisions
ExtensionProtobuf/i18n/protobuf_empty.ts file | annotate | diff | comparison | revisions
ExtensionProtobuf/i18n/protobuf_en.ts file | annotate | diff | comparison | revisions
ExtensionProtobuf/i18n/protobuf_es.ts file | annotate | diff | comparison | revisions
ExtensionProtobuf/i18n/protobuf_ru.ts file | annotate | diff | comparison | revisions
PluginExtensionProtobuf.py file | annotate | diff | comparison | revisions
PluginExtensionProtobuf.zip file | annotate | diff | comparison | revisions
changelog.md file | annotate | diff | comparison | revisions
--- a/ExtensionProtobuf/ProjectProtocolsBrowser.py	Wed Dec 07 13:26:35 2022 +0100
+++ b/ExtensionProtobuf/ProjectProtocolsBrowser.py	Sun Dec 11 11:52:03 2022 +0100
@@ -225,6 +225,7 @@
         self.sourceMenu.addAction(
             self.tr("Collapse all directories"), self._collapseAllDirs
         )
+        self.sourceMenu.addAction(self.tr("Collapse all files"), self._collapseAllFiles)
         self.sourceMenu.addSeparator()
         self.sourceMenu.addAction(self.tr("Configure..."), self._configure)
         self.sourceMenu.addAction(
@@ -255,6 +256,7 @@
         self.menu.addSeparator()
         self.menu.addAction(self.tr("Expand all directories"), self._expandAllDirs)
         self.menu.addAction(self.tr("Collapse all directories"), self._collapseAllDirs)
+        self.menu.addAction(self.tr("Collapse all files"), self._collapseAllFiles)
         self.menu.addSeparator()
         self.menu.addAction(self.tr("Configure..."), self._configure)
         self.menu.addAction(self.tr("Configure Protobuf..."), self.__configureProtobuf)
@@ -281,6 +283,7 @@
         self.backMenu.addAction(
             self.tr("Collapse all directories"), self._collapseAllDirs
         )
+        self.backMenu.addAction(self.tr("Collapse all files"), self._collapseAllFiles)
         self.backMenu.addSeparator()
         self.backMenu.addAction(self.tr("Configure..."), self._configure)
         self.backMenu.addAction(
@@ -310,6 +313,7 @@
         self.multiMenu.addAction(
             self.tr("Collapse all directories"), self._collapseAllDirs
         )
+        self.multiMenu.addAction(self.tr("Collapse all files"), self._collapseAllFiles)
         self.multiMenu.addSeparator()
         self.multiMenu.addAction(self.tr("Configure..."), self._configure)
         self.multiMenu.addAction(
@@ -341,6 +345,7 @@
         self.dirMenu.addAction(
             self.tr("Collapse all directories"), self._collapseAllDirs
         )
+        self.dirMenu.addAction(self.tr("Collapse all files"), self._collapseAllFiles)
         self.dirMenu.addSeparator()
         self.dirMenu.addAction(self.tr("Configure..."), self._configure)
         self.dirMenu.addAction(
@@ -370,6 +375,9 @@
         self.dirMultiMenu.addAction(
             self.tr("Collapse all directories"), self._collapseAllDirs
         )
+        self.dirMultiMenu.addAction(
+            self.tr("Collapse all files"), self._collapseAllFiles
+        )
         self.dirMultiMenu.addSeparator()
         self.dirMultiMenu.addAction(self.tr("Configure..."), self._configure)
         self.dirMultiMenu.addAction(
Binary file ExtensionProtobuf/i18n/protobuf_de.qm has changed
--- a/ExtensionProtobuf/i18n/protobuf_de.ts	Wed Dec 07 13:26:35 2022 +0100
+++ b/ExtensionProtobuf/i18n/protobuf_de.ts	Sun Dec 11 11:52:03 2022 +0100
@@ -1,324 +1,334 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
 <TS version="2.1" language="de_DE">
-  <context>
+<context>
     <name>ProjectProtocolsBrowser</name>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="79" />
-      <source>Protocols (protobuf)</source>
-      <translation>Protokolle (protobuf)</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="79"/>
+        <source>Protocols (protobuf)</source>
+        <translation>Protokolle (protobuf)</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="82" />
-      <source>&lt;b&gt;Project Protocols Browser&lt;/b&gt;&lt;p&gt;This allows to easily see all protocols (protobuf files) contained in the current project. Several actions can be executed via the context menu.&lt;/p&gt;</source>
-      <translation>&lt;b&gt;Projektprotokollebrowser&lt;/b&gt;&lt;p&gt;Dies bietet eine Übersicht aller im Projekt enthaltenen Protokolle (protobuf Dateien) an. Verschieden Aktionen können über das Kontextmenü ausgeführt werden.&lt;/p&gt;</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="82"/>
+        <source>&lt;b&gt;Project Protocols Browser&lt;/b&gt;&lt;p&gt;This allows to easily see all protocols (protobuf files) contained in the current project. Several actions can be executed via the context menu.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Projektprotokollebrowser&lt;/b&gt;&lt;p&gt;Dies bietet eine Übersicht aller im Projekt enthaltenen Protokolle (protobuf Dateien) an. Verschieden Aktionen können über das Kontextmenü ausgeführt werden.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="96" />
-      <source>Protobuf Files ({0})</source>
-      <translation>Protobuf Dateien ({0})</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="96"/>
+        <source>Protobuf Files ({0})</source>
+        <translation>Protobuf Dateien ({0})</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="98" />
-      <location filename="../ProjectProtocolsBrowser.py" line="97" />
-      <source>Protobuf Files</source>
-      <translation>Protobuf Dateien</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="98"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="97"/>
+        <source>Protobuf Files</source>
+        <translation>Protobuf Dateien</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="108" />
-      <source>Protocols (protobuf) Browser</source>
-      <translation>Protokollebrowser (protobuf)</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="108"/>
+        <source>Protocols (protobuf) Browser</source>
+        <translation>Protokollebrowser (protobuf)</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="235" />
-      <location filename="../ProjectProtocolsBrowser.py" line="188" />
-      <source>Compile protocol</source>
-      <translation>Protokoll übersetzen</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="236"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="188"/>
+        <source>Compile protocol</source>
+        <translation>Protokoll übersetzen</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="352" />
-      <location filename="../ProjectProtocolsBrowser.py" line="321" />
-      <location filename="../ProjectProtocolsBrowser.py" line="264" />
-      <location filename="../ProjectProtocolsBrowser.py" line="237" />
-      <location filename="../ProjectProtocolsBrowser.py" line="190" />
-      <source>Compile all protocols</source>
-      <translation>Alle Protokolle übersetzen</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="357"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="325"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="266"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="238"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="190"/>
+        <source>Compile all protocols</source>
+        <translation>Alle Protokolle übersetzen</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="241" />
-      <location filename="../ProjectProtocolsBrowser.py" line="194" />
-      <source>Compile protocol as gRPC</source>
-      <translation>Protokoll als gRPC übersetzen</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="242"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="194"/>
+        <source>Compile protocol as gRPC</source>
+        <translation>Protokoll als gRPC übersetzen</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="356" />
-      <location filename="../ProjectProtocolsBrowser.py" line="325" />
-      <location filename="../ProjectProtocolsBrowser.py" line="268" />
-      <location filename="../ProjectProtocolsBrowser.py" line="245" />
-      <location filename="../ProjectProtocolsBrowser.py" line="198" />
-      <source>Compile all protocols as gRPC</source>
-      <translation>Alle Protokolle als gRPC übersetzen</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="361"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="329"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="270"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="246"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="198"/>
+        <source>Compile all protocols as gRPC</source>
+        <translation>Alle Protokolle als gRPC übersetzen</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="302" />
-      <location filename="../ProjectProtocolsBrowser.py" line="249" />
-      <location filename="../ProjectProtocolsBrowser.py" line="202" />
-      <source>Open</source>
-      <translation>Öffnen</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="305"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="250"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="202"/>
+        <source>Open</source>
+        <translation>Öffnen</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="204" />
-      <source>Rename file</source>
-      <translation>Datei umbenennen</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="204"/>
+        <source>Rename file</source>
+        <translation>Datei umbenennen</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="328" />
-      <location filename="../ProjectProtocolsBrowser.py" line="304" />
-      <location filename="../ProjectProtocolsBrowser.py" line="207" />
-      <source>Remove from project</source>
-      <translation>Aus dem Projekt entfernen</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="332"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="307"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="207"/>
+        <source>Remove from project</source>
+        <translation>Aus dem Projekt entfernen</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="330" />
-      <location filename="../ProjectProtocolsBrowser.py" line="306" />
-      <location filename="../ProjectProtocolsBrowser.py" line="210" />
-      <source>Delete</source>
-      <translation>Löschen</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="334"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="309"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="210"/>
+        <source>Delete</source>
+        <translation>Löschen</translation>
+    </message>
+    <message>
+        <location filename="../ProjectProtocolsBrowser.py" line="365"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="337"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="275"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="252"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="213"/>
+        <source>Add protocols...</source>
+        <translation>Protokolle hinzufügen...</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="360" />
-      <location filename="../ProjectProtocolsBrowser.py" line="333" />
-      <location filename="../ProjectProtocolsBrowser.py" line="273" />
-      <location filename="../ProjectProtocolsBrowser.py" line="251" />
-      <location filename="../ProjectProtocolsBrowser.py" line="213" />
-      <source>Add protocols...</source>
-      <translation>Protokolle hinzufügen...</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="368"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="339"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="278"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="254"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="215"/>
+        <source>Add protocols directory...</source>
+        <translation>Protokolleverzeichnis hinzufügen...</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="363" />
-      <location filename="../ProjectProtocolsBrowser.py" line="335" />
-      <location filename="../ProjectProtocolsBrowser.py" line="276" />
-      <location filename="../ProjectProtocolsBrowser.py" line="253" />
-      <location filename="../ProjectProtocolsBrowser.py" line="215" />
-      <source>Add protocols directory...</source>
-      <translation>Protokolleverzeichnis hinzufügen...</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="342"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="219"/>
+        <source>Copy Path to Clipboard</source>
+        <translation>Pfad in die Zwischenablage kopieren</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="338" />
-      <location filename="../ProjectProtocolsBrowser.py" line="219" />
-      <source>Copy Path to Clipboard</source>
-      <translation>Pfad in die Zwischenablage kopieren</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="373"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="344"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="312"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="282"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="257"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="223"/>
+        <source>Expand all directories</source>
+        <translation>Alle Verzeichnisse aufklappen</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="368" />
-      <location filename="../ProjectProtocolsBrowser.py" line="340" />
-      <location filename="../ProjectProtocolsBrowser.py" line="309" />
-      <location filename="../ProjectProtocolsBrowser.py" line="280" />
-      <location filename="../ProjectProtocolsBrowser.py" line="256" />
-      <location filename="../ProjectProtocolsBrowser.py" line="223" />
-      <source>Expand all directories</source>
-      <translation>Alle Verzeichnisse aufklappen</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="376"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="346"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="314"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="284"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="258"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="226"/>
+        <source>Collapse all directories</source>
+        <translation>Alle Verzeichnisse einklappen</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="371" />
-      <location filename="../ProjectProtocolsBrowser.py" line="342" />
-      <location filename="../ProjectProtocolsBrowser.py" line="311" />
-      <location filename="../ProjectProtocolsBrowser.py" line="282" />
-      <location filename="../ProjectProtocolsBrowser.py" line="257" />
-      <location filename="../ProjectProtocolsBrowser.py" line="226" />
-      <source>Collapse all directories</source>
-      <translation>Alle Verzeichnisse einklappen</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="379"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="348"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="316"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="286"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="259"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="228"/>
+        <source>Collapse all files</source>
+        <translation>Alle Dateien einklappen</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="374" />
-      <location filename="../ProjectProtocolsBrowser.py" line="345" />
-      <location filename="../ProjectProtocolsBrowser.py" line="314" />
-      <location filename="../ProjectProtocolsBrowser.py" line="285" />
-      <location filename="../ProjectProtocolsBrowser.py" line="259" />
-      <location filename="../ProjectProtocolsBrowser.py" line="229" />
-      <source>Configure...</source>
-      <translation>Einstellungen...</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="382"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="350"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="318"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="288"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="261"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="230"/>
+        <source>Configure...</source>
+        <translation>Einstellungen...</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="376" />
-      <location filename="../ProjectProtocolsBrowser.py" line="347" />
-      <location filename="../ProjectProtocolsBrowser.py" line="316" />
-      <location filename="../ProjectProtocolsBrowser.py" line="287" />
-      <location filename="../ProjectProtocolsBrowser.py" line="260" />
-      <location filename="../ProjectProtocolsBrowser.py" line="231" />
-      <source>Configure Protobuf...</source>
-      <translation>Protobuf-Einstellungen...</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="384"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="352"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="320"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="290"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="262"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="232"/>
+        <source>Configure Protobuf...</source>
+        <translation>Protobuf-Einstellungen...</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="294" />
-      <source>Compile protocols</source>
-      <translation>Protokolle übersetzen</translation>
-    </message>
-    <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="298" />
-      <source>Compile protocols as gRPC</source>
-      <translation>Protokolle als gRPC übersetzen</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="297"/>
+        <source>Compile protocols</source>
+        <translation>Protokolle übersetzen</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="563" />
-      <source>Delete Protocols</source>
-      <translation>Protokolle löschen</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="301"/>
+        <source>Compile protocols as gRPC</source>
+        <translation>Protokolle als gRPC übersetzen</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="564" />
-      <source>Do you really want to delete these protocol files from the project?</source>
-      <translation>Wollen Sie wirklich diese Protokolldateien aus dem Projekt löschen?</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="571"/>
+        <source>Delete Protocols</source>
+        <translation>Protokolle löschen</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="680" />
-      <location filename="../ProjectProtocolsBrowser.py" line="666" />
-      <source>Protocol Compilation</source>
-      <translation>Protokollübersetzung</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="572"/>
+        <source>Do you really want to delete these protocol files from the project?</source>
+        <translation>Wollen Sie wirklich diese Protokolldateien aus dem Projekt löschen?</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="667" />
-      <source>The compilation of the protocol file was successful.</source>
-      <translation>Die Übersetzung der Protokolldatei war erfolgreich.</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="688"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="674"/>
+        <source>Protocol Compilation</source>
+        <translation>Protokollübersetzung</translation>
+    </message>
+    <message>
+        <location filename="../ProjectProtocolsBrowser.py" line="675"/>
+        <source>The compilation of the protocol file was successful.</source>
+        <translation>Die Übersetzung der Protokolldatei war erfolgreich.</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="681" />
-      <source>The compilation of the protocol file failed.</source>
-      <translation>Die Übersetzung der Protokolldatei ist fehlgeschlagen.</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="689"/>
+        <source>The compilation of the protocol file failed.</source>
+        <translation>Die Übersetzung der Protokolldatei ist fehlgeschlagen.</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="735" />
-      <source>Process Generation Error</source>
-      <translation>Fehler beim Prozessstart</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="743"/>
+        <source>Process Generation Error</source>
+        <translation>Fehler beim Prozessstart</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="736" />
-      <source>&lt;p&gt;Could not start {0}.&lt;br&gt;Ensure that it is in the search path.&lt;/p&gt;</source>
-      <translation>&lt;p&gt;{0} konnte nicht gestartet werden.&lt;br&gt;Stellen Sie sicher, dass es über den Suchpfad verfügbar ist.&lt;/p&gt;</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="744"/>
+        <source>&lt;p&gt;Could not start {0}.&lt;br&gt;Ensure that it is in the search path.&lt;/p&gt;</source>
+        <translation>&lt;p&gt;{0} konnte nicht gestartet werden.&lt;br&gt;Stellen Sie sicher, dass es über den Suchpfad verfügbar ist.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="745" />
-      <source>Compiler Invalid</source>
-      <translation>Compiler ungültig</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="753"/>
+        <source>Compiler Invalid</source>
+        <translation>Compiler ungültig</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="746" />
-      <source>The configured compiler is invalid.</source>
-      <translation>Der konfigurierte Compiler ist ungültig.</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="754"/>
+        <source>The configured compiler is invalid.</source>
+        <translation>Der konfigurierte Compiler ist ungültig.</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="810" />
-      <location filename="../ProjectProtocolsBrowser.py" line="773" />
-      <source>Compiling Protocols...</source>
-      <translation>Protokolle übersetzen...</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="818"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="781"/>
+        <source>Compiling Protocols...</source>
+        <translation>Protokolle übersetzen...</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="811" />
-      <location filename="../ProjectProtocolsBrowser.py" line="774" />
-      <source>Abort</source>
-      <translation>Abbruch</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="819"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="782"/>
+        <source>Abort</source>
+        <translation>Abbruch</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="814" />
-      <location filename="../ProjectProtocolsBrowser.py" line="777" />
-      <source>%v/%m Protocols</source>
-      <translation>%v/%m Protokolle</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="822"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="785"/>
+        <source>%v/%m Protocols</source>
+        <translation>%v/%m Protokolle</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="819" />
-      <location filename="../ProjectProtocolsBrowser.py" line="782" />
-      <source>Protocols</source>
-      <translation>Protokolle</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="827"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="790"/>
+        <source>Protocols</source>
+        <translation>Protokolle</translation>
     </message>
-  </context>
-  <context>
+</context>
+<context>
     <name>ProtobufExtensionPlugin</name>
     <message>
-      <location filename="../../PluginExtensionProtobuf.py" line="73" />
-      <location filename="../../PluginExtensionProtobuf.py" line="55" />
-      <source>Protobuf Compiler</source>
-      <translation>Protobuf Compiler</translation>
+        <location filename="../../PluginExtensionProtobuf.py" line="73"/>
+        <location filename="../../PluginExtensionProtobuf.py" line="55"/>
+        <source>Protobuf Compiler</source>
+        <translation>Protobuf Compiler</translation>
     </message>
     <message>
-      <location filename="../../PluginExtensionProtobuf.py" line="93" />
-      <location filename="../../PluginExtensionProtobuf.py" line="58" />
-      <source>Protobuf and gRPC Support plugin is not activated</source>
-      <translation>Das Protobuf und gRPC Plugin ist nicht aktiviert</translation>
+        <location filename="../../PluginExtensionProtobuf.py" line="93"/>
+        <location filename="../../PluginExtensionProtobuf.py" line="58"/>
+        <source>Protobuf and gRPC Support plugin is not activated</source>
+        <translation>Das Protobuf und gRPC Plugin ist nicht aktiviert</translation>
     </message>
     <message>
-      <location filename="../../PluginExtensionProtobuf.py" line="97" />
-      <location filename="../../PluginExtensionProtobuf.py" line="62" />
-      <source>(inactive)</source>
-      <translation>(inaktiv)</translation>
+        <location filename="../../PluginExtensionProtobuf.py" line="97"/>
+        <location filename="../../PluginExtensionProtobuf.py" line="62"/>
+        <source>(inactive)</source>
+        <translation>(inaktiv)</translation>
     </message>
     <message>
-      <location filename="../../PluginExtensionProtobuf.py" line="111" />
-      <location filename="../../PluginExtensionProtobuf.py" line="90" />
-      <source>gRPC Compiler</source>
-      <translation>gRPC Compiler</translation>
+        <location filename="../../PluginExtensionProtobuf.py" line="111"/>
+        <location filename="../../PluginExtensionProtobuf.py" line="90"/>
+        <source>gRPC Compiler</source>
+        <translation>gRPC Compiler</translation>
     </message>
     <message>
-      <location filename="../../PluginExtensionProtobuf.py" line="136" />
-      <source>Protobuf and gRPC</source>
-      <translation>Protobuf und gRPC</translation>
+        <location filename="../../PluginExtensionProtobuf.py" line="136"/>
+        <source>Protobuf and gRPC</source>
+        <translation>Protobuf und gRPC</translation>
     </message>
     <message>
-      <location filename="../../PluginExtensionProtobuf.py" line="222" />
-      <source>Protobuf and gRPC Extension</source>
-      <translation>Protobuf und gRPC Erweiterung</translation>
+        <location filename="../../PluginExtensionProtobuf.py" line="225"/>
+        <source>Protobuf and gRPC Extension</source>
+        <translation>Protobuf und gRPC Erweiterung</translation>
     </message>
     <message>
-      <location filename="../../PluginExtensionProtobuf.py" line="228" />
-      <location filename="../../PluginExtensionProtobuf.py" line="223" />
-      <source>The Protobuf and gRPC extension cannot be activated because it requires eric7 23.1 or newer.</source>
-      <translation>Die Protobuf und gRPC Erweiterung kann nicht aktiviert werden, da sie eric7 23.1 oder neuer benötigt.</translation>
+        <location filename="../../PluginExtensionProtobuf.py" line="231"/>
+        <location filename="../../PluginExtensionProtobuf.py" line="226"/>
+        <source>The Protobuf and gRPC extension cannot be activated because it requires eric7 23.1 or newer.</source>
+        <translation>Die Protobuf und gRPC Erweiterung kann nicht aktiviert werden, da sie eric7 23.1 oder neuer benötigt.</translation>
     </message>
-  </context>
-  <context>
+</context>
+<context>
     <name>ProtobufPage</name>
     <message>
-      <location filename="../ConfigurationPage/ProtobufPage.ui" line="0" />
-      <source>&lt;b&gt;Configure Protobuf support&lt;/b&gt;</source>
-      <translation>&lt;b&gt;Protobuf-Unterstützung einstellen&lt;/b&gt;</translation>
+        <location filename="../ConfigurationPage/ProtobufPage.ui" line="0"/>
+        <source>&lt;b&gt;Configure Protobuf support&lt;/b&gt;</source>
+        <translation>&lt;b&gt;Protobuf-Unterstützung einstellen&lt;/b&gt;</translation>
     </message>
     <message>
-      <location filename="../ConfigurationPage/ProtobufPage.ui" line="0" />
-      <source>Protobuf Compiler</source>
-      <translation>Protobuf Compiler</translation>
+        <location filename="../ConfigurationPage/ProtobufPage.ui" line="0"/>
+        <source>Protobuf Compiler</source>
+        <translation>Protobuf Compiler</translation>
     </message>
     <message>
-      <location filename="../ConfigurationPage/ProtobufPage.ui" line="0" />
-      <source>Enter the path to the protobuf compiler.</source>
-      <translation>Gib den Pfad zum protobuf-Compiler ein.</translation>
+        <location filename="../ConfigurationPage/ProtobufPage.ui" line="0"/>
+        <source>Enter the path to the protobuf compiler.</source>
+        <translation>Gib den Pfad zum protobuf-Compiler ein.</translation>
     </message>
     <message>
-      <location filename="../ConfigurationPage/ProtobufPage.ui" line="0" />
-      <source>&lt;b&gt;Note:&lt;/b&gt; Leave this entry empty to use the default value (protoc or protoc.exe).</source>
-      <translation>&lt;b&gt;Hinweis:&lt;/b&gt; Lasse diesen Eintrag leer, um den Standardwert (protoc bzw. protoc.exe) zu verwenden.</translation>
+        <location filename="../ConfigurationPage/ProtobufPage.ui" line="0"/>
+        <source>&lt;b&gt;Note:&lt;/b&gt; Leave this entry empty to use the default value (protoc or protoc.exe).</source>
+        <translation>&lt;b&gt;Hinweis:&lt;/b&gt; Lasse diesen Eintrag leer, um den Standardwert (protoc bzw. protoc.exe) zu verwenden.</translation>
     </message>
     <message>
-      <location filename="../ConfigurationPage/ProtobufPage.ui" line="0" />
-      <source>gRPC Compiler</source>
-      <translation>gRPC Compiler</translation>
+        <location filename="../ConfigurationPage/ProtobufPage.ui" line="0"/>
+        <source>gRPC Compiler</source>
+        <translation>gRPC Compiler</translation>
     </message>
     <message>
-      <location filename="../ConfigurationPage/ProtobufPage.ui" line="0" />
-      <source>Select the virtual environment containing the gRPC compiler.</source>
-      <translation>Wähle die Virtuelle Unmgebung, die den gRPC Compiler enthält, aus.</translation>
+        <location filename="../ConfigurationPage/ProtobufPage.ui" line="0"/>
+        <source>Select the virtual environment containing the gRPC compiler.</source>
+        <translation>Wähle die Virtuelle Unmgebung, die den gRPC Compiler enthält, aus.</translation>
     </message>
     <message>
-      <location filename="../ConfigurationPage/ProtobufPage.ui" line="0" />
-      <source>Press to refresh the list of vitual environments.</source>
-      <translation>Drücken, um die Liste der Virtuellen Umgebungen zu aktualisieren.</translation>
+        <location filename="../ConfigurationPage/ProtobufPage.ui" line="0"/>
+        <source>Press to refresh the list of vitual environments.</source>
+        <translation>Drücken, um die Liste der Virtuellen Umgebungen zu aktualisieren.</translation>
     </message>
     <message>
-      <location filename="../ConfigurationPage/ProtobufPage.ui" line="0" />
-      <source>&lt;b&gt;Note:&lt;/b&gt; Leave this entry empty to use the virtual environment used by the eric IDE.</source>
-      <translation>&lt;b&gt;Hinweis:&lt;/b&gt; Diesen Eintrag leer lassen, um die von der eric IDE genutzte Virtuelle Umgebung zu verwenden.</translation>
+        <location filename="../ConfigurationPage/ProtobufPage.ui" line="0"/>
+        <source>&lt;b&gt;Note:&lt;/b&gt; Leave this entry empty to use the virtual environment used by the eric IDE.</source>
+        <translation>&lt;b&gt;Hinweis:&lt;/b&gt; Diesen Eintrag leer lassen, um die von der eric IDE genutzte Virtuelle Umgebung zu verwenden.</translation>
     </message>
     <message>
-      <location filename="../ConfigurationPage/ProtobufPage.py" line="42" />
-      <source>Press to select the Protobuf compiler via a file selection dialog.</source>
-      <translation>Den Protobuf-Compiler mittels eines Dateiauswahldialoges wählen.</translation>
+        <location filename="../ConfigurationPage/ProtobufPage.py" line="42"/>
+        <source>Press to select the Protobuf compiler via a file selection dialog.</source>
+        <translation>Den Protobuf-Compiler mittels eines Dateiauswahldialoges wählen.</translation>
     </message>
-  </context>
+</context>
 </TS>
--- a/ExtensionProtobuf/i18n/protobuf_empty.ts	Wed Dec 07 13:26:35 2022 +0100
+++ b/ExtensionProtobuf/i18n/protobuf_empty.ts	Sun Dec 11 11:52:03 2022 +0100
@@ -30,38 +30,38 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="235" />
+      <location filename="../ProjectProtocolsBrowser.py" line="236" />
       <location filename="../ProjectProtocolsBrowser.py" line="188" />
       <source>Compile protocol</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="352" />
-      <location filename="../ProjectProtocolsBrowser.py" line="321" />
-      <location filename="../ProjectProtocolsBrowser.py" line="264" />
-      <location filename="../ProjectProtocolsBrowser.py" line="237" />
+      <location filename="../ProjectProtocolsBrowser.py" line="357" />
+      <location filename="../ProjectProtocolsBrowser.py" line="325" />
+      <location filename="../ProjectProtocolsBrowser.py" line="266" />
+      <location filename="../ProjectProtocolsBrowser.py" line="238" />
       <location filename="../ProjectProtocolsBrowser.py" line="190" />
       <source>Compile all protocols</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="241" />
+      <location filename="../ProjectProtocolsBrowser.py" line="242" />
       <location filename="../ProjectProtocolsBrowser.py" line="194" />
       <source>Compile protocol as gRPC</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="356" />
-      <location filename="../ProjectProtocolsBrowser.py" line="325" />
-      <location filename="../ProjectProtocolsBrowser.py" line="268" />
-      <location filename="../ProjectProtocolsBrowser.py" line="245" />
+      <location filename="../ProjectProtocolsBrowser.py" line="361" />
+      <location filename="../ProjectProtocolsBrowser.py" line="329" />
+      <location filename="../ProjectProtocolsBrowser.py" line="270" />
+      <location filename="../ProjectProtocolsBrowser.py" line="246" />
       <location filename="../ProjectProtocolsBrowser.py" line="198" />
       <source>Compile all protocols as gRPC</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="302" />
-      <location filename="../ProjectProtocolsBrowser.py" line="249" />
+      <location filename="../ProjectProtocolsBrowser.py" line="305" />
+      <location filename="../ProjectProtocolsBrowser.py" line="250" />
       <location filename="../ProjectProtocolsBrowser.py" line="202" />
       <source>Open</source>
       <translation type="unfinished" />
@@ -72,160 +72,170 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="328" />
-      <location filename="../ProjectProtocolsBrowser.py" line="304" />
+      <location filename="../ProjectProtocolsBrowser.py" line="332" />
+      <location filename="../ProjectProtocolsBrowser.py" line="307" />
       <location filename="../ProjectProtocolsBrowser.py" line="207" />
       <source>Remove from project</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="330" />
-      <location filename="../ProjectProtocolsBrowser.py" line="306" />
+      <location filename="../ProjectProtocolsBrowser.py" line="334" />
+      <location filename="../ProjectProtocolsBrowser.py" line="309" />
       <location filename="../ProjectProtocolsBrowser.py" line="210" />
       <source>Delete</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="360" />
-      <location filename="../ProjectProtocolsBrowser.py" line="333" />
-      <location filename="../ProjectProtocolsBrowser.py" line="273" />
-      <location filename="../ProjectProtocolsBrowser.py" line="251" />
+      <location filename="../ProjectProtocolsBrowser.py" line="365" />
+      <location filename="../ProjectProtocolsBrowser.py" line="337" />
+      <location filename="../ProjectProtocolsBrowser.py" line="275" />
+      <location filename="../ProjectProtocolsBrowser.py" line="252" />
       <location filename="../ProjectProtocolsBrowser.py" line="213" />
       <source>Add protocols...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="363" />
-      <location filename="../ProjectProtocolsBrowser.py" line="335" />
-      <location filename="../ProjectProtocolsBrowser.py" line="276" />
-      <location filename="../ProjectProtocolsBrowser.py" line="253" />
+      <location filename="../ProjectProtocolsBrowser.py" line="368" />
+      <location filename="../ProjectProtocolsBrowser.py" line="339" />
+      <location filename="../ProjectProtocolsBrowser.py" line="278" />
+      <location filename="../ProjectProtocolsBrowser.py" line="254" />
       <location filename="../ProjectProtocolsBrowser.py" line="215" />
       <source>Add protocols directory...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="338" />
+      <location filename="../ProjectProtocolsBrowser.py" line="342" />
       <location filename="../ProjectProtocolsBrowser.py" line="219" />
       <source>Copy Path to Clipboard</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="368" />
-      <location filename="../ProjectProtocolsBrowser.py" line="340" />
-      <location filename="../ProjectProtocolsBrowser.py" line="309" />
-      <location filename="../ProjectProtocolsBrowser.py" line="280" />
-      <location filename="../ProjectProtocolsBrowser.py" line="256" />
+      <location filename="../ProjectProtocolsBrowser.py" line="373" />
+      <location filename="../ProjectProtocolsBrowser.py" line="344" />
+      <location filename="../ProjectProtocolsBrowser.py" line="312" />
+      <location filename="../ProjectProtocolsBrowser.py" line="282" />
+      <location filename="../ProjectProtocolsBrowser.py" line="257" />
       <location filename="../ProjectProtocolsBrowser.py" line="223" />
       <source>Expand all directories</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="371" />
-      <location filename="../ProjectProtocolsBrowser.py" line="342" />
-      <location filename="../ProjectProtocolsBrowser.py" line="311" />
-      <location filename="../ProjectProtocolsBrowser.py" line="282" />
-      <location filename="../ProjectProtocolsBrowser.py" line="257" />
+      <location filename="../ProjectProtocolsBrowser.py" line="376" />
+      <location filename="../ProjectProtocolsBrowser.py" line="346" />
+      <location filename="../ProjectProtocolsBrowser.py" line="314" />
+      <location filename="../ProjectProtocolsBrowser.py" line="284" />
+      <location filename="../ProjectProtocolsBrowser.py" line="258" />
       <location filename="../ProjectProtocolsBrowser.py" line="226" />
       <source>Collapse all directories</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="374" />
-      <location filename="../ProjectProtocolsBrowser.py" line="345" />
-      <location filename="../ProjectProtocolsBrowser.py" line="314" />
-      <location filename="../ProjectProtocolsBrowser.py" line="285" />
+      <location filename="../ProjectProtocolsBrowser.py" line="379" />
+      <location filename="../ProjectProtocolsBrowser.py" line="348" />
+      <location filename="../ProjectProtocolsBrowser.py" line="316" />
+      <location filename="../ProjectProtocolsBrowser.py" line="286" />
       <location filename="../ProjectProtocolsBrowser.py" line="259" />
-      <location filename="../ProjectProtocolsBrowser.py" line="229" />
+      <location filename="../ProjectProtocolsBrowser.py" line="228" />
+      <source>Collapse all files</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../ProjectProtocolsBrowser.py" line="382" />
+      <location filename="../ProjectProtocolsBrowser.py" line="350" />
+      <location filename="../ProjectProtocolsBrowser.py" line="318" />
+      <location filename="../ProjectProtocolsBrowser.py" line="288" />
+      <location filename="../ProjectProtocolsBrowser.py" line="261" />
+      <location filename="../ProjectProtocolsBrowser.py" line="230" />
       <source>Configure...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="376" />
-      <location filename="../ProjectProtocolsBrowser.py" line="347" />
-      <location filename="../ProjectProtocolsBrowser.py" line="316" />
-      <location filename="../ProjectProtocolsBrowser.py" line="287" />
-      <location filename="../ProjectProtocolsBrowser.py" line="260" />
-      <location filename="../ProjectProtocolsBrowser.py" line="231" />
+      <location filename="../ProjectProtocolsBrowser.py" line="384" />
+      <location filename="../ProjectProtocolsBrowser.py" line="352" />
+      <location filename="../ProjectProtocolsBrowser.py" line="320" />
+      <location filename="../ProjectProtocolsBrowser.py" line="290" />
+      <location filename="../ProjectProtocolsBrowser.py" line="262" />
+      <location filename="../ProjectProtocolsBrowser.py" line="232" />
       <source>Configure Protobuf...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="294" />
+      <location filename="../ProjectProtocolsBrowser.py" line="297" />
       <source>Compile protocols</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="298" />
+      <location filename="../ProjectProtocolsBrowser.py" line="301" />
       <source>Compile protocols as gRPC</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="563" />
+      <location filename="../ProjectProtocolsBrowser.py" line="571" />
       <source>Delete Protocols</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="564" />
+      <location filename="../ProjectProtocolsBrowser.py" line="572" />
       <source>Do you really want to delete these protocol files from the project?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="680" />
-      <location filename="../ProjectProtocolsBrowser.py" line="666" />
+      <location filename="../ProjectProtocolsBrowser.py" line="688" />
+      <location filename="../ProjectProtocolsBrowser.py" line="674" />
       <source>Protocol Compilation</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="667" />
+      <location filename="../ProjectProtocolsBrowser.py" line="675" />
       <source>The compilation of the protocol file was successful.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="681" />
+      <location filename="../ProjectProtocolsBrowser.py" line="689" />
       <source>The compilation of the protocol file failed.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="735" />
+      <location filename="../ProjectProtocolsBrowser.py" line="743" />
       <source>Process Generation Error</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="736" />
+      <location filename="../ProjectProtocolsBrowser.py" line="744" />
       <source>&lt;p&gt;Could not start {0}.&lt;br&gt;Ensure that it is in the search path.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="745" />
+      <location filename="../ProjectProtocolsBrowser.py" line="753" />
       <source>Compiler Invalid</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="746" />
+      <location filename="../ProjectProtocolsBrowser.py" line="754" />
       <source>The configured compiler is invalid.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="810" />
-      <location filename="../ProjectProtocolsBrowser.py" line="773" />
+      <location filename="../ProjectProtocolsBrowser.py" line="818" />
+      <location filename="../ProjectProtocolsBrowser.py" line="781" />
       <source>Compiling Protocols...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="811" />
-      <location filename="../ProjectProtocolsBrowser.py" line="774" />
-      <source>Abort</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="814" />
-      <location filename="../ProjectProtocolsBrowser.py" line="777" />
-      <source>%v/%m Protocols</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../ProjectProtocolsBrowser.py" line="819" />
       <location filename="../ProjectProtocolsBrowser.py" line="782" />
+      <source>Abort</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../ProjectProtocolsBrowser.py" line="822" />
+      <location filename="../ProjectProtocolsBrowser.py" line="785" />
+      <source>%v/%m Protocols</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../ProjectProtocolsBrowser.py" line="827" />
+      <location filename="../ProjectProtocolsBrowser.py" line="790" />
       <source>Protocols</source>
       <translation type="unfinished" />
     </message>
@@ -262,13 +272,13 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../../PluginExtensionProtobuf.py" line="222" />
+      <location filename="../../PluginExtensionProtobuf.py" line="225" />
       <source>Protobuf and gRPC Extension</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../../PluginExtensionProtobuf.py" line="228" />
-      <location filename="../../PluginExtensionProtobuf.py" line="223" />
+      <location filename="../../PluginExtensionProtobuf.py" line="231" />
+      <location filename="../../PluginExtensionProtobuf.py" line="226" />
       <source>The Protobuf and gRPC extension cannot be activated because it requires eric7 23.1 or newer.</source>
       <translation type="unfinished" />
     </message>
--- a/ExtensionProtobuf/i18n/protobuf_en.ts	Wed Dec 07 13:26:35 2022 +0100
+++ b/ExtensionProtobuf/i18n/protobuf_en.ts	Sun Dec 11 11:52:03 2022 +0100
@@ -30,38 +30,38 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="235" />
+      <location filename="../ProjectProtocolsBrowser.py" line="236" />
       <location filename="../ProjectProtocolsBrowser.py" line="188" />
       <source>Compile protocol</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="352" />
-      <location filename="../ProjectProtocolsBrowser.py" line="321" />
-      <location filename="../ProjectProtocolsBrowser.py" line="264" />
-      <location filename="../ProjectProtocolsBrowser.py" line="237" />
+      <location filename="../ProjectProtocolsBrowser.py" line="357" />
+      <location filename="../ProjectProtocolsBrowser.py" line="325" />
+      <location filename="../ProjectProtocolsBrowser.py" line="266" />
+      <location filename="../ProjectProtocolsBrowser.py" line="238" />
       <location filename="../ProjectProtocolsBrowser.py" line="190" />
       <source>Compile all protocols</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="241" />
+      <location filename="../ProjectProtocolsBrowser.py" line="242" />
       <location filename="../ProjectProtocolsBrowser.py" line="194" />
       <source>Compile protocol as gRPC</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="356" />
-      <location filename="../ProjectProtocolsBrowser.py" line="325" />
-      <location filename="../ProjectProtocolsBrowser.py" line="268" />
-      <location filename="../ProjectProtocolsBrowser.py" line="245" />
+      <location filename="../ProjectProtocolsBrowser.py" line="361" />
+      <location filename="../ProjectProtocolsBrowser.py" line="329" />
+      <location filename="../ProjectProtocolsBrowser.py" line="270" />
+      <location filename="../ProjectProtocolsBrowser.py" line="246" />
       <location filename="../ProjectProtocolsBrowser.py" line="198" />
       <source>Compile all protocols as gRPC</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="302" />
-      <location filename="../ProjectProtocolsBrowser.py" line="249" />
+      <location filename="../ProjectProtocolsBrowser.py" line="305" />
+      <location filename="../ProjectProtocolsBrowser.py" line="250" />
       <location filename="../ProjectProtocolsBrowser.py" line="202" />
       <source>Open</source>
       <translation type="unfinished" />
@@ -72,160 +72,170 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="328" />
-      <location filename="../ProjectProtocolsBrowser.py" line="304" />
+      <location filename="../ProjectProtocolsBrowser.py" line="332" />
+      <location filename="../ProjectProtocolsBrowser.py" line="307" />
       <location filename="../ProjectProtocolsBrowser.py" line="207" />
       <source>Remove from project</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="330" />
-      <location filename="../ProjectProtocolsBrowser.py" line="306" />
+      <location filename="../ProjectProtocolsBrowser.py" line="334" />
+      <location filename="../ProjectProtocolsBrowser.py" line="309" />
       <location filename="../ProjectProtocolsBrowser.py" line="210" />
       <source>Delete</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="360" />
-      <location filename="../ProjectProtocolsBrowser.py" line="333" />
-      <location filename="../ProjectProtocolsBrowser.py" line="273" />
-      <location filename="../ProjectProtocolsBrowser.py" line="251" />
+      <location filename="../ProjectProtocolsBrowser.py" line="365" />
+      <location filename="../ProjectProtocolsBrowser.py" line="337" />
+      <location filename="../ProjectProtocolsBrowser.py" line="275" />
+      <location filename="../ProjectProtocolsBrowser.py" line="252" />
       <location filename="../ProjectProtocolsBrowser.py" line="213" />
       <source>Add protocols...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="363" />
-      <location filename="../ProjectProtocolsBrowser.py" line="335" />
-      <location filename="../ProjectProtocolsBrowser.py" line="276" />
-      <location filename="../ProjectProtocolsBrowser.py" line="253" />
+      <location filename="../ProjectProtocolsBrowser.py" line="368" />
+      <location filename="../ProjectProtocolsBrowser.py" line="339" />
+      <location filename="../ProjectProtocolsBrowser.py" line="278" />
+      <location filename="../ProjectProtocolsBrowser.py" line="254" />
       <location filename="../ProjectProtocolsBrowser.py" line="215" />
       <source>Add protocols directory...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="338" />
+      <location filename="../ProjectProtocolsBrowser.py" line="342" />
       <location filename="../ProjectProtocolsBrowser.py" line="219" />
       <source>Copy Path to Clipboard</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="368" />
-      <location filename="../ProjectProtocolsBrowser.py" line="340" />
-      <location filename="../ProjectProtocolsBrowser.py" line="309" />
-      <location filename="../ProjectProtocolsBrowser.py" line="280" />
-      <location filename="../ProjectProtocolsBrowser.py" line="256" />
+      <location filename="../ProjectProtocolsBrowser.py" line="373" />
+      <location filename="../ProjectProtocolsBrowser.py" line="344" />
+      <location filename="../ProjectProtocolsBrowser.py" line="312" />
+      <location filename="../ProjectProtocolsBrowser.py" line="282" />
+      <location filename="../ProjectProtocolsBrowser.py" line="257" />
       <location filename="../ProjectProtocolsBrowser.py" line="223" />
       <source>Expand all directories</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="371" />
-      <location filename="../ProjectProtocolsBrowser.py" line="342" />
-      <location filename="../ProjectProtocolsBrowser.py" line="311" />
-      <location filename="../ProjectProtocolsBrowser.py" line="282" />
-      <location filename="../ProjectProtocolsBrowser.py" line="257" />
+      <location filename="../ProjectProtocolsBrowser.py" line="376" />
+      <location filename="../ProjectProtocolsBrowser.py" line="346" />
+      <location filename="../ProjectProtocolsBrowser.py" line="314" />
+      <location filename="../ProjectProtocolsBrowser.py" line="284" />
+      <location filename="../ProjectProtocolsBrowser.py" line="258" />
       <location filename="../ProjectProtocolsBrowser.py" line="226" />
       <source>Collapse all directories</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="374" />
-      <location filename="../ProjectProtocolsBrowser.py" line="345" />
-      <location filename="../ProjectProtocolsBrowser.py" line="314" />
-      <location filename="../ProjectProtocolsBrowser.py" line="285" />
+      <location filename="../ProjectProtocolsBrowser.py" line="379" />
+      <location filename="../ProjectProtocolsBrowser.py" line="348" />
+      <location filename="../ProjectProtocolsBrowser.py" line="316" />
+      <location filename="../ProjectProtocolsBrowser.py" line="286" />
       <location filename="../ProjectProtocolsBrowser.py" line="259" />
-      <location filename="../ProjectProtocolsBrowser.py" line="229" />
+      <location filename="../ProjectProtocolsBrowser.py" line="228" />
+      <source>Collapse all files</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../ProjectProtocolsBrowser.py" line="382" />
+      <location filename="../ProjectProtocolsBrowser.py" line="350" />
+      <location filename="../ProjectProtocolsBrowser.py" line="318" />
+      <location filename="../ProjectProtocolsBrowser.py" line="288" />
+      <location filename="../ProjectProtocolsBrowser.py" line="261" />
+      <location filename="../ProjectProtocolsBrowser.py" line="230" />
       <source>Configure...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="376" />
-      <location filename="../ProjectProtocolsBrowser.py" line="347" />
-      <location filename="../ProjectProtocolsBrowser.py" line="316" />
-      <location filename="../ProjectProtocolsBrowser.py" line="287" />
-      <location filename="../ProjectProtocolsBrowser.py" line="260" />
-      <location filename="../ProjectProtocolsBrowser.py" line="231" />
+      <location filename="../ProjectProtocolsBrowser.py" line="384" />
+      <location filename="../ProjectProtocolsBrowser.py" line="352" />
+      <location filename="../ProjectProtocolsBrowser.py" line="320" />
+      <location filename="../ProjectProtocolsBrowser.py" line="290" />
+      <location filename="../ProjectProtocolsBrowser.py" line="262" />
+      <location filename="../ProjectProtocolsBrowser.py" line="232" />
       <source>Configure Protobuf...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="294" />
+      <location filename="../ProjectProtocolsBrowser.py" line="297" />
       <source>Compile protocols</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="298" />
+      <location filename="../ProjectProtocolsBrowser.py" line="301" />
       <source>Compile protocols as gRPC</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="563" />
+      <location filename="../ProjectProtocolsBrowser.py" line="571" />
       <source>Delete Protocols</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="564" />
+      <location filename="../ProjectProtocolsBrowser.py" line="572" />
       <source>Do you really want to delete these protocol files from the project?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="680" />
-      <location filename="../ProjectProtocolsBrowser.py" line="666" />
+      <location filename="../ProjectProtocolsBrowser.py" line="688" />
+      <location filename="../ProjectProtocolsBrowser.py" line="674" />
       <source>Protocol Compilation</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="667" />
+      <location filename="../ProjectProtocolsBrowser.py" line="675" />
       <source>The compilation of the protocol file was successful.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="681" />
+      <location filename="../ProjectProtocolsBrowser.py" line="689" />
       <source>The compilation of the protocol file failed.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="735" />
+      <location filename="../ProjectProtocolsBrowser.py" line="743" />
       <source>Process Generation Error</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="736" />
+      <location filename="../ProjectProtocolsBrowser.py" line="744" />
       <source>&lt;p&gt;Could not start {0}.&lt;br&gt;Ensure that it is in the search path.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="745" />
+      <location filename="../ProjectProtocolsBrowser.py" line="753" />
       <source>Compiler Invalid</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="746" />
+      <location filename="../ProjectProtocolsBrowser.py" line="754" />
       <source>The configured compiler is invalid.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="810" />
-      <location filename="../ProjectProtocolsBrowser.py" line="773" />
+      <location filename="../ProjectProtocolsBrowser.py" line="818" />
+      <location filename="../ProjectProtocolsBrowser.py" line="781" />
       <source>Compiling Protocols...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="811" />
-      <location filename="../ProjectProtocolsBrowser.py" line="774" />
-      <source>Abort</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="814" />
-      <location filename="../ProjectProtocolsBrowser.py" line="777" />
-      <source>%v/%m Protocols</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../ProjectProtocolsBrowser.py" line="819" />
       <location filename="../ProjectProtocolsBrowser.py" line="782" />
+      <source>Abort</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../ProjectProtocolsBrowser.py" line="822" />
+      <location filename="../ProjectProtocolsBrowser.py" line="785" />
+      <source>%v/%m Protocols</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../ProjectProtocolsBrowser.py" line="827" />
+      <location filename="../ProjectProtocolsBrowser.py" line="790" />
       <source>Protocols</source>
       <translation type="unfinished" />
     </message>
@@ -262,13 +272,13 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../../PluginExtensionProtobuf.py" line="222" />
+      <location filename="../../PluginExtensionProtobuf.py" line="225" />
       <source>Protobuf and gRPC Extension</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../../PluginExtensionProtobuf.py" line="228" />
-      <location filename="../../PluginExtensionProtobuf.py" line="223" />
+      <location filename="../../PluginExtensionProtobuf.py" line="231" />
+      <location filename="../../PluginExtensionProtobuf.py" line="226" />
       <source>The Protobuf and gRPC extension cannot be activated because it requires eric7 23.1 or newer.</source>
       <translation type="unfinished" />
     </message>
--- a/ExtensionProtobuf/i18n/protobuf_es.ts	Wed Dec 07 13:26:35 2022 +0100
+++ b/ExtensionProtobuf/i18n/protobuf_es.ts	Sun Dec 11 11:52:03 2022 +0100
@@ -46217,38 +46217,38 @@
       <translation>Navegador de Protocolos (protobuf)</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="235" />
+      <location filename="../ProjectProtocolsBrowser.py" line="236" />
       <location filename="../ProjectProtocolsBrowser.py" line="188" />
       <source>Compile protocol</source>
       <translation>Compilar protocolo</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="352" />
-      <location filename="../ProjectProtocolsBrowser.py" line="321" />
-      <location filename="../ProjectProtocolsBrowser.py" line="264" />
-      <location filename="../ProjectProtocolsBrowser.py" line="237" />
+      <location filename="../ProjectProtocolsBrowser.py" line="357" />
+      <location filename="../ProjectProtocolsBrowser.py" line="325" />
+      <location filename="../ProjectProtocolsBrowser.py" line="266" />
+      <location filename="../ProjectProtocolsBrowser.py" line="238" />
       <location filename="../ProjectProtocolsBrowser.py" line="190" />
       <source>Compile all protocols</source>
       <translation>Compilar todos los protocolos</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="241" />
+      <location filename="../ProjectProtocolsBrowser.py" line="242" />
       <location filename="../ProjectProtocolsBrowser.py" line="194" />
       <source>Compile protocol as gRPC</source>
       <translation>Compilar protocolo como gRPC</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="356" />
-      <location filename="../ProjectProtocolsBrowser.py" line="325" />
-      <location filename="../ProjectProtocolsBrowser.py" line="268" />
-      <location filename="../ProjectProtocolsBrowser.py" line="245" />
+      <location filename="../ProjectProtocolsBrowser.py" line="361" />
+      <location filename="../ProjectProtocolsBrowser.py" line="329" />
+      <location filename="../ProjectProtocolsBrowser.py" line="270" />
+      <location filename="../ProjectProtocolsBrowser.py" line="246" />
       <location filename="../ProjectProtocolsBrowser.py" line="198" />
       <source>Compile all protocols as gRPC</source>
       <translation>Compilar todos los protocolos como gRPC</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="302" />
-      <location filename="../ProjectProtocolsBrowser.py" line="249" />
+      <location filename="../ProjectProtocolsBrowser.py" line="305" />
+      <location filename="../ProjectProtocolsBrowser.py" line="250" />
       <location filename="../ProjectProtocolsBrowser.py" line="202" />
       <source>Open</source>
       <translation>Abrir</translation>
@@ -46259,160 +46259,170 @@
       <translation>Renombrar archivo</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="328" />
-      <location filename="../ProjectProtocolsBrowser.py" line="304" />
+      <location filename="../ProjectProtocolsBrowser.py" line="332" />
+      <location filename="../ProjectProtocolsBrowser.py" line="307" />
       <location filename="../ProjectProtocolsBrowser.py" line="207" />
       <source>Remove from project</source>
       <translation>Quitar del proyecto</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="330" />
-      <location filename="../ProjectProtocolsBrowser.py" line="306" />
+      <location filename="../ProjectProtocolsBrowser.py" line="334" />
+      <location filename="../ProjectProtocolsBrowser.py" line="309" />
       <location filename="../ProjectProtocolsBrowser.py" line="210" />
       <source>Delete</source>
       <translation>Borrar</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="360" />
-      <location filename="../ProjectProtocolsBrowser.py" line="333" />
-      <location filename="../ProjectProtocolsBrowser.py" line="273" />
-      <location filename="../ProjectProtocolsBrowser.py" line="251" />
+      <location filename="../ProjectProtocolsBrowser.py" line="365" />
+      <location filename="../ProjectProtocolsBrowser.py" line="337" />
+      <location filename="../ProjectProtocolsBrowser.py" line="275" />
+      <location filename="../ProjectProtocolsBrowser.py" line="252" />
       <location filename="../ProjectProtocolsBrowser.py" line="213" />
       <source>Add protocols...</source>
       <translation>Añadir protocolos...</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="363" />
-      <location filename="../ProjectProtocolsBrowser.py" line="335" />
-      <location filename="../ProjectProtocolsBrowser.py" line="276" />
-      <location filename="../ProjectProtocolsBrowser.py" line="253" />
+      <location filename="../ProjectProtocolsBrowser.py" line="368" />
+      <location filename="../ProjectProtocolsBrowser.py" line="339" />
+      <location filename="../ProjectProtocolsBrowser.py" line="278" />
+      <location filename="../ProjectProtocolsBrowser.py" line="254" />
       <location filename="../ProjectProtocolsBrowser.py" line="215" />
       <source>Add protocols directory...</source>
       <translation>Añadir directorio de protocolos...</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="338" />
+      <location filename="../ProjectProtocolsBrowser.py" line="342" />
       <location filename="../ProjectProtocolsBrowser.py" line="219" />
       <source>Copy Path to Clipboard</source>
       <translation>Copiar Ruta al Portapapeles</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="368" />
-      <location filename="../ProjectProtocolsBrowser.py" line="340" />
-      <location filename="../ProjectProtocolsBrowser.py" line="309" />
-      <location filename="../ProjectProtocolsBrowser.py" line="280" />
-      <location filename="../ProjectProtocolsBrowser.py" line="256" />
+      <location filename="../ProjectProtocolsBrowser.py" line="373" />
+      <location filename="../ProjectProtocolsBrowser.py" line="344" />
+      <location filename="../ProjectProtocolsBrowser.py" line="312" />
+      <location filename="../ProjectProtocolsBrowser.py" line="282" />
+      <location filename="../ProjectProtocolsBrowser.py" line="257" />
       <location filename="../ProjectProtocolsBrowser.py" line="223" />
       <source>Expand all directories</source>
       <translation>Expandir todos los directorios</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="371" />
-      <location filename="../ProjectProtocolsBrowser.py" line="342" />
-      <location filename="../ProjectProtocolsBrowser.py" line="311" />
-      <location filename="../ProjectProtocolsBrowser.py" line="282" />
-      <location filename="../ProjectProtocolsBrowser.py" line="257" />
-      <location filename="../ProjectProtocolsBrowser.py" line="226" />
-      <source>Collapse all directories</source>
-      <translation>Contraer todos los directorios</translation>
-    </message>
-    <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="374" />
-      <location filename="../ProjectProtocolsBrowser.py" line="345" />
-      <location filename="../ProjectProtocolsBrowser.py" line="314" />
-      <location filename="../ProjectProtocolsBrowser.py" line="285" />
-      <location filename="../ProjectProtocolsBrowser.py" line="259" />
-      <location filename="../ProjectProtocolsBrowser.py" line="229" />
-      <source>Configure...</source>
-      <translation>Configurar...</translation>
-    </message>
-    <message>
       <location filename="../ProjectProtocolsBrowser.py" line="376" />
-      <location filename="../ProjectProtocolsBrowser.py" line="347" />
+      <location filename="../ProjectProtocolsBrowser.py" line="346" />
+      <location filename="../ProjectProtocolsBrowser.py" line="314" />
+      <location filename="../ProjectProtocolsBrowser.py" line="284" />
+      <location filename="../ProjectProtocolsBrowser.py" line="258" />
+      <location filename="../ProjectProtocolsBrowser.py" line="226" />
+      <source>Collapse all directories</source>
+      <translation>Contraer todos los directorios</translation>
+    </message>
+    <message>
+      <location filename="../ProjectProtocolsBrowser.py" line="379" />
+      <location filename="../ProjectProtocolsBrowser.py" line="348" />
       <location filename="../ProjectProtocolsBrowser.py" line="316" />
-      <location filename="../ProjectProtocolsBrowser.py" line="287" />
-      <location filename="../ProjectProtocolsBrowser.py" line="260" />
-      <location filename="../ProjectProtocolsBrowser.py" line="231" />
+      <location filename="../ProjectProtocolsBrowser.py" line="286" />
+      <location filename="../ProjectProtocolsBrowser.py" line="259" />
+      <location filename="../ProjectProtocolsBrowser.py" line="228" />
+      <source>Collapse all files</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../ProjectProtocolsBrowser.py" line="382" />
+      <location filename="../ProjectProtocolsBrowser.py" line="350" />
+      <location filename="../ProjectProtocolsBrowser.py" line="318" />
+      <location filename="../ProjectProtocolsBrowser.py" line="288" />
+      <location filename="../ProjectProtocolsBrowser.py" line="261" />
+      <location filename="../ProjectProtocolsBrowser.py" line="230" />
+      <source>Configure...</source>
+      <translation>Configurar...</translation>
+    </message>
+    <message>
+      <location filename="../ProjectProtocolsBrowser.py" line="384" />
+      <location filename="../ProjectProtocolsBrowser.py" line="352" />
+      <location filename="../ProjectProtocolsBrowser.py" line="320" />
+      <location filename="../ProjectProtocolsBrowser.py" line="290" />
+      <location filename="../ProjectProtocolsBrowser.py" line="262" />
+      <location filename="../ProjectProtocolsBrowser.py" line="232" />
       <source>Configure Protobuf...</source>
       <translation>Configurar Protobuf...</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="294" />
+      <location filename="../ProjectProtocolsBrowser.py" line="297" />
       <source>Compile protocols</source>
       <translation>Compilar protocolos</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="298" />
+      <location filename="../ProjectProtocolsBrowser.py" line="301" />
       <source>Compile protocols as gRPC</source>
       <translation>Compilar protocolos como gRPC</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="563" />
+      <location filename="../ProjectProtocolsBrowser.py" line="571" />
       <source>Delete Protocols</source>
       <translation>Borrar Protocolos</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="564" />
+      <location filename="../ProjectProtocolsBrowser.py" line="572" />
       <source>Do you really want to delete these protocol files from the project?</source>
       <translation>¿Realmente quiere borrar estos archivos de protocolo del proyecto?</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="680" />
-      <location filename="../ProjectProtocolsBrowser.py" line="666" />
+      <location filename="../ProjectProtocolsBrowser.py" line="688" />
+      <location filename="../ProjectProtocolsBrowser.py" line="674" />
       <source>Protocol Compilation</source>
       <translation>Compilación de Protocolo</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="667" />
+      <location filename="../ProjectProtocolsBrowser.py" line="675" />
       <source>The compilation of the protocol file was successful.</source>
       <translation>Se ha compilado satisfactoriamente el archivo de protocolo.</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="681" />
+      <location filename="../ProjectProtocolsBrowser.py" line="689" />
       <source>The compilation of the protocol file failed.</source>
       <translation>La compilación del archivo de protocolo ha fallado.</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="735" />
+      <location filename="../ProjectProtocolsBrowser.py" line="743" />
       <source>Process Generation Error</source>
       <translation>Error de Generación de Proceso</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="736" />
+      <location filename="../ProjectProtocolsBrowser.py" line="744" />
       <source>&lt;p&gt;Could not start {0}.&lt;br&gt;Ensure that it is in the search path.&lt;/p&gt;</source>
       <translation>&lt;p&gt;No se ha podido ejecutar {0}.&lt;br&gt;Verifique que está en la ruta de búsqueda (search path).&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="745" />
+      <location filename="../ProjectProtocolsBrowser.py" line="753" />
       <source>Compiler Invalid</source>
       <translation>Compilador No Válido</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="746" />
+      <location filename="../ProjectProtocolsBrowser.py" line="754" />
       <source>The configured compiler is invalid.</source>
       <translation>El compilador configurado no es válido.</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="810" />
-      <location filename="../ProjectProtocolsBrowser.py" line="773" />
+      <location filename="../ProjectProtocolsBrowser.py" line="818" />
+      <location filename="../ProjectProtocolsBrowser.py" line="781" />
       <source>Compiling Protocols...</source>
       <translation>Compilando Protocolos...</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="811" />
-      <location filename="../ProjectProtocolsBrowser.py" line="774" />
-      <source>Abort</source>
-      <translation>Abortar</translation>
-    </message>
-    <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="814" />
-      <location filename="../ProjectProtocolsBrowser.py" line="777" />
-      <source>%v/%m Protocols</source>
-      <translation>%v/%m Protocolos</translation>
-    </message>
-    <message>
       <location filename="../ProjectProtocolsBrowser.py" line="819" />
       <location filename="../ProjectProtocolsBrowser.py" line="782" />
+      <source>Abort</source>
+      <translation>Abortar</translation>
+    </message>
+    <message>
+      <location filename="../ProjectProtocolsBrowser.py" line="822" />
+      <location filename="../ProjectProtocolsBrowser.py" line="785" />
+      <source>%v/%m Protocols</source>
+      <translation>%v/%m Protocolos</translation>
+    </message>
+    <message>
+      <location filename="../ProjectProtocolsBrowser.py" line="827" />
+      <location filename="../ProjectProtocolsBrowser.py" line="790" />
       <source>Protocols</source>
       <translation>Protocolos</translation>
     </message>
@@ -47353,13 +47363,13 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../../PluginExtensionProtobuf.py" line="222" />
+      <location filename="../../PluginExtensionProtobuf.py" line="225" />
       <source>Protobuf and gRPC Extension</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../../PluginExtensionProtobuf.py" line="228" />
-      <location filename="../../PluginExtensionProtobuf.py" line="223" />
+      <location filename="../../PluginExtensionProtobuf.py" line="231" />
+      <location filename="../../PluginExtensionProtobuf.py" line="226" />
       <source>The Protobuf and gRPC extension cannot be activated because it requires eric7 23.1 or newer.</source>
       <translation type="unfinished" />
     </message>
--- a/ExtensionProtobuf/i18n/protobuf_ru.ts	Wed Dec 07 13:26:35 2022 +0100
+++ b/ExtensionProtobuf/i18n/protobuf_ru.ts	Sun Dec 11 11:52:03 2022 +0100
@@ -30,38 +30,38 @@
       <translation>Браузер протоколов (protobuf)</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="235" />
+      <location filename="../ProjectProtocolsBrowser.py" line="236" />
       <location filename="../ProjectProtocolsBrowser.py" line="188" />
       <source>Compile protocol</source>
       <translation>Компилировать протокол</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="352" />
-      <location filename="../ProjectProtocolsBrowser.py" line="321" />
-      <location filename="../ProjectProtocolsBrowser.py" line="264" />
-      <location filename="../ProjectProtocolsBrowser.py" line="237" />
+      <location filename="../ProjectProtocolsBrowser.py" line="357" />
+      <location filename="../ProjectProtocolsBrowser.py" line="325" />
+      <location filename="../ProjectProtocolsBrowser.py" line="266" />
+      <location filename="../ProjectProtocolsBrowser.py" line="238" />
       <location filename="../ProjectProtocolsBrowser.py" line="190" />
       <source>Compile all protocols</source>
       <translation>Компилировать все протоколы</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="241" />
+      <location filename="../ProjectProtocolsBrowser.py" line="242" />
       <location filename="../ProjectProtocolsBrowser.py" line="194" />
       <source>Compile protocol as gRPC</source>
       <translation>Компилировать протокол в виде gRPC</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="356" />
-      <location filename="../ProjectProtocolsBrowser.py" line="325" />
-      <location filename="../ProjectProtocolsBrowser.py" line="268" />
-      <location filename="../ProjectProtocolsBrowser.py" line="245" />
+      <location filename="../ProjectProtocolsBrowser.py" line="361" />
+      <location filename="../ProjectProtocolsBrowser.py" line="329" />
+      <location filename="../ProjectProtocolsBrowser.py" line="270" />
+      <location filename="../ProjectProtocolsBrowser.py" line="246" />
       <location filename="../ProjectProtocolsBrowser.py" line="198" />
       <source>Compile all protocols as gRPC</source>
       <translation>Компилировать все протоколы в виде gRPC</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="302" />
-      <location filename="../ProjectProtocolsBrowser.py" line="249" />
+      <location filename="../ProjectProtocolsBrowser.py" line="305" />
+      <location filename="../ProjectProtocolsBrowser.py" line="250" />
       <location filename="../ProjectProtocolsBrowser.py" line="202" />
       <source>Open</source>
       <translation>Открыть</translation>
@@ -72,160 +72,170 @@
       <translation>Переименовать файл</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="328" />
-      <location filename="../ProjectProtocolsBrowser.py" line="304" />
+      <location filename="../ProjectProtocolsBrowser.py" line="332" />
+      <location filename="../ProjectProtocolsBrowser.py" line="307" />
       <location filename="../ProjectProtocolsBrowser.py" line="207" />
       <source>Remove from project</source>
       <translation>Удалить из проекта</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="330" />
-      <location filename="../ProjectProtocolsBrowser.py" line="306" />
+      <location filename="../ProjectProtocolsBrowser.py" line="334" />
+      <location filename="../ProjectProtocolsBrowser.py" line="309" />
       <location filename="../ProjectProtocolsBrowser.py" line="210" />
       <source>Delete</source>
       <translation>Удалить</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="360" />
-      <location filename="../ProjectProtocolsBrowser.py" line="333" />
-      <location filename="../ProjectProtocolsBrowser.py" line="273" />
-      <location filename="../ProjectProtocolsBrowser.py" line="251" />
+      <location filename="../ProjectProtocolsBrowser.py" line="365" />
+      <location filename="../ProjectProtocolsBrowser.py" line="337" />
+      <location filename="../ProjectProtocolsBrowser.py" line="275" />
+      <location filename="../ProjectProtocolsBrowser.py" line="252" />
       <location filename="../ProjectProtocolsBrowser.py" line="213" />
       <source>Add protocols...</source>
       <translation>Добавить протоколы...</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="363" />
-      <location filename="../ProjectProtocolsBrowser.py" line="335" />
-      <location filename="../ProjectProtocolsBrowser.py" line="276" />
-      <location filename="../ProjectProtocolsBrowser.py" line="253" />
+      <location filename="../ProjectProtocolsBrowser.py" line="368" />
+      <location filename="../ProjectProtocolsBrowser.py" line="339" />
+      <location filename="../ProjectProtocolsBrowser.py" line="278" />
+      <location filename="../ProjectProtocolsBrowser.py" line="254" />
       <location filename="../ProjectProtocolsBrowser.py" line="215" />
       <source>Add protocols directory...</source>
       <translation>Добавить директорию протоколов...</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="338" />
+      <location filename="../ProjectProtocolsBrowser.py" line="342" />
       <location filename="../ProjectProtocolsBrowser.py" line="219" />
       <source>Copy Path to Clipboard</source>
       <translation>Копировать маршрут в буфер обмена</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="368" />
-      <location filename="../ProjectProtocolsBrowser.py" line="340" />
-      <location filename="../ProjectProtocolsBrowser.py" line="309" />
-      <location filename="../ProjectProtocolsBrowser.py" line="280" />
-      <location filename="../ProjectProtocolsBrowser.py" line="256" />
+      <location filename="../ProjectProtocolsBrowser.py" line="373" />
+      <location filename="../ProjectProtocolsBrowser.py" line="344" />
+      <location filename="../ProjectProtocolsBrowser.py" line="312" />
+      <location filename="../ProjectProtocolsBrowser.py" line="282" />
+      <location filename="../ProjectProtocolsBrowser.py" line="257" />
       <location filename="../ProjectProtocolsBrowser.py" line="223" />
       <source>Expand all directories</source>
       <translation>Открыть все директории</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="371" />
-      <location filename="../ProjectProtocolsBrowser.py" line="342" />
-      <location filename="../ProjectProtocolsBrowser.py" line="311" />
-      <location filename="../ProjectProtocolsBrowser.py" line="282" />
-      <location filename="../ProjectProtocolsBrowser.py" line="257" />
+      <location filename="../ProjectProtocolsBrowser.py" line="376" />
+      <location filename="../ProjectProtocolsBrowser.py" line="346" />
+      <location filename="../ProjectProtocolsBrowser.py" line="314" />
+      <location filename="../ProjectProtocolsBrowser.py" line="284" />
+      <location filename="../ProjectProtocolsBrowser.py" line="258" />
       <location filename="../ProjectProtocolsBrowser.py" line="226" />
       <source>Collapse all directories</source>
       <translation>Свернуть все директории</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="374" />
-      <location filename="../ProjectProtocolsBrowser.py" line="345" />
-      <location filename="../ProjectProtocolsBrowser.py" line="314" />
-      <location filename="../ProjectProtocolsBrowser.py" line="285" />
+      <location filename="../ProjectProtocolsBrowser.py" line="379" />
+      <location filename="../ProjectProtocolsBrowser.py" line="348" />
+      <location filename="../ProjectProtocolsBrowser.py" line="316" />
+      <location filename="../ProjectProtocolsBrowser.py" line="286" />
       <location filename="../ProjectProtocolsBrowser.py" line="259" />
-      <location filename="../ProjectProtocolsBrowser.py" line="229" />
+      <location filename="../ProjectProtocolsBrowser.py" line="228" />
+      <source>Collapse all files</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../ProjectProtocolsBrowser.py" line="382" />
+      <location filename="../ProjectProtocolsBrowser.py" line="350" />
+      <location filename="../ProjectProtocolsBrowser.py" line="318" />
+      <location filename="../ProjectProtocolsBrowser.py" line="288" />
+      <location filename="../ProjectProtocolsBrowser.py" line="261" />
+      <location filename="../ProjectProtocolsBrowser.py" line="230" />
       <source>Configure...</source>
       <translation>Настроить...</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="376" />
-      <location filename="../ProjectProtocolsBrowser.py" line="347" />
-      <location filename="../ProjectProtocolsBrowser.py" line="316" />
-      <location filename="../ProjectProtocolsBrowser.py" line="287" />
-      <location filename="../ProjectProtocolsBrowser.py" line="260" />
-      <location filename="../ProjectProtocolsBrowser.py" line="231" />
+      <location filename="../ProjectProtocolsBrowser.py" line="384" />
+      <location filename="../ProjectProtocolsBrowser.py" line="352" />
+      <location filename="../ProjectProtocolsBrowser.py" line="320" />
+      <location filename="../ProjectProtocolsBrowser.py" line="290" />
+      <location filename="../ProjectProtocolsBrowser.py" line="262" />
+      <location filename="../ProjectProtocolsBrowser.py" line="232" />
       <source>Configure Protobuf...</source>
       <translation>Настройка Protobuf...</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="294" />
+      <location filename="../ProjectProtocolsBrowser.py" line="297" />
       <source>Compile protocols</source>
       <translation>Компилировать протоколы</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="298" />
+      <location filename="../ProjectProtocolsBrowser.py" line="301" />
       <source>Compile protocols as gRPC</source>
       <translation>Компилировать протоколы в виде gRPC</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="563" />
+      <location filename="../ProjectProtocolsBrowser.py" line="571" />
       <source>Delete Protocols</source>
       <translation>Удалить протоколы</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="564" />
+      <location filename="../ProjectProtocolsBrowser.py" line="572" />
       <source>Do you really want to delete these protocol files from the project?</source>
       <translation>Вы действительно хотите удалить эти файлы протоколов из проекта?</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="680" />
-      <location filename="../ProjectProtocolsBrowser.py" line="666" />
+      <location filename="../ProjectProtocolsBrowser.py" line="688" />
+      <location filename="../ProjectProtocolsBrowser.py" line="674" />
       <source>Protocol Compilation</source>
       <translation>Компиляция протокола</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="667" />
+      <location filename="../ProjectProtocolsBrowser.py" line="675" />
       <source>The compilation of the protocol file was successful.</source>
       <translation>Компиляция файла протокола выполнена успешно.</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="681" />
+      <location filename="../ProjectProtocolsBrowser.py" line="689" />
       <source>The compilation of the protocol file failed.</source>
       <translation>Сбой компиляции файла протокола.</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="735" />
+      <location filename="../ProjectProtocolsBrowser.py" line="743" />
       <source>Process Generation Error</source>
       <translation>Ошибка при запуске процесса</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="736" />
+      <location filename="../ProjectProtocolsBrowser.py" line="744" />
       <source>&lt;p&gt;Could not start {0}.&lt;br&gt;Ensure that it is in the search path.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Невозможно запустить {0}.&lt;br&gt;Убедитесь, что он находится в путях поиска.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="745" />
+      <location filename="../ProjectProtocolsBrowser.py" line="753" />
       <source>Compiler Invalid</source>
       <translation>Недопустимый компилятор</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="746" />
+      <location filename="../ProjectProtocolsBrowser.py" line="754" />
       <source>The configured compiler is invalid.</source>
       <translation>Недопустимая конфигурация компилятора.</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="810" />
-      <location filename="../ProjectProtocolsBrowser.py" line="773" />
+      <location filename="../ProjectProtocolsBrowser.py" line="818" />
+      <location filename="../ProjectProtocolsBrowser.py" line="781" />
       <source>Compiling Protocols...</source>
       <translation>Компиляция протоколов...</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="811" />
-      <location filename="../ProjectProtocolsBrowser.py" line="774" />
+      <location filename="../ProjectProtocolsBrowser.py" line="819" />
+      <location filename="../ProjectProtocolsBrowser.py" line="782" />
       <source>Abort</source>
       <translation>Прервать</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="814" />
-      <location filename="../ProjectProtocolsBrowser.py" line="777" />
+      <location filename="../ProjectProtocolsBrowser.py" line="822" />
+      <location filename="../ProjectProtocolsBrowser.py" line="785" />
       <source>%v/%m Protocols</source>
       <translation>%v из %m протокола(ов)</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="819" />
-      <location filename="../ProjectProtocolsBrowser.py" line="782" />
+      <location filename="../ProjectProtocolsBrowser.py" line="827" />
+      <location filename="../ProjectProtocolsBrowser.py" line="790" />
       <source>Protocols</source>
       <translation>Протоколы</translation>
     </message>
--- a/PluginExtensionProtobuf.py	Wed Dec 07 13:26:35 2022 +0100
+++ b/PluginExtensionProtobuf.py	Sun Dec 11 11:52:03 2022 +0100
@@ -21,7 +21,7 @@
 author = "Detlev Offenbach <detlev@die-offenbachs.de>"
 autoactivate = True
 deactivateable = True
-version = "10.0.1"
+version = "10.0.2"
 className = "ProtobufExtensionPlugin"
 packageName = "ExtensionProtobuf"
 shortDescription = "Support for the development of Protobuf and gRPC projects"
Binary file PluginExtensionProtobuf.zip has changed
--- a/changelog.md	Wed Dec 07 13:26:35 2022 +0100
+++ b/changelog.md	Sun Dec 11 11:52:03 2022 +0100
@@ -1,6 +1,10 @@
 ChangeLog
 ---------
 
+__Version 10.0.2__
+
+- added a `Collapse all files` entry to the context menus
+
 __Version 10.0.1__
 
 - bug fixes

eric ide

mercurial