- Added context menu entries to show the directory path of an item in an external file manager.

Mon, 11 Dec 2023 11:01:10 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Mon, 11 Dec 2023 11:01:10 +0100
changeset 34
41070d80eb1f
parent 33
be6b54f4d50c
child 35
7d1bdb16ae8e

- Added context menu entries to show the directory path of an item in an external file manager.
- Added an entry to the background context menu to show the project directory in an external file manager.

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
PluginProtobuf.epj file | annotate | diff | comparison | revisions
changelog.md file | annotate | diff | comparison | revisions
--- a/ExtensionProtobuf/ProjectProtocolsBrowser.py	Mon Oct 30 09:01:59 2023 +0100
+++ b/ExtensionProtobuf/ProjectProtocolsBrowser.py	Mon Dec 11 11:01:10 2023 +0100
@@ -221,6 +221,11 @@
             self.tr("Add protocols directory..."), self.__addProtocolsDirectory
         )
         self.sourceMenu.addSeparator()
+        with contextlib.suppress(AttributeError):
+            # eric7 > 23.12
+            self.sourceMenu.addAction(
+                self.tr("Show in File Manager"), self._showInFileManager
+            )
         self.sourceMenu.addAction(
             self.tr("Copy Path to Clipboard"), self._copyToClipboard
         )
@@ -262,6 +267,12 @@
             self.tr("Add protocols directory..."), self.__addProtocolsDirectory
         )
         self.menu.addSeparator()
+        with contextlib.suppress(AttributeError):
+            # eric7 > 23.12
+            self.menu.addAction(
+                self.tr("Show in File Manager"), self._showInFileManager
+            )
+            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)
@@ -291,6 +302,12 @@
             lambda: self.project.addDirectory("PROTOCOLS"),
         )
         self.backMenu.addSeparator()
+        with contextlib.suppress(AttributeError):
+            # eric7 > 23.12
+            self.backMenu.addAction(
+                self.tr("Show in File Manager"), self._showProjectInFileManager
+            )
+            self.backMenu.addSeparator()
         self.backMenu.addAction(self.tr("Expand all directories"), self._expandAllDirs)
         self.backMenu.addAction(
             self.tr("Collapse all directories"), self._collapseAllDirs
@@ -355,6 +372,11 @@
             self.tr("Add protocols directory..."), self.__addProtocolsDirectory
         )
         self.dirMenu.addSeparator()
+        with contextlib.suppress(AttributeError):
+            # eric7 > 23.12
+            self.dirMenu.addAction(
+                self.tr("Show in File Manager"), self._showInFileManager
+            )
         self.dirMenu.addAction(self.tr("Copy Path to Clipboard"), self._copyToClipboard)
         self.dirMenu.addSeparator()
         self.dirMenu.addAction(self.tr("Expand all directories"), self._expandAllDirs)
@@ -646,7 +668,7 @@
             self.parent(),
             self.tr("Delete Protocols"),
             self.tr(
-                "Do you really want to delete these protocol files from" " the project?"
+                "Do you really want to delete these protocol files from the project?"
             ),
             files,
         )
@@ -748,7 +770,7 @@
             ui.showNotification(
                 icon,
                 self.tr("Protocol Compilation"),
-                self.tr("The compilation of the protocol file was" " successful."),
+                self.tr("The compilation of the protocol file was successful."),
             )
         else:
             if grpc:
Binary file ExtensionProtobuf/i18n/protobuf_de.qm has changed
--- a/ExtensionProtobuf/i18n/protobuf_de.ts	Mon Oct 30 09:01:59 2023 +0100
+++ b/ExtensionProtobuf/i18n/protobuf_de.ts	Mon Dec 11 11:01:10 2023 +0100
@@ -1,375 +1,383 @@
 <?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="81" />
-      <source>Protocols (protobuf)</source>
-      <translation>Protokolle (protobuf)</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="81"/>
+        <source>Protocols (protobuf)</source>
+        <translation>Protokolle (protobuf)</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="84" />
-      <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="84"/>
+        <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="98" />
-      <source>Protobuf Files ({0})</source>
-      <translation>Protobuf Dateien ({0})</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="98"/>
+        <source>Protobuf Files ({0})</source>
+        <translation>Protobuf Dateien ({0})</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="100" />
-      <location filename="../ProjectProtocolsBrowser.py" line="99" />
-      <source>Protobuf Files</source>
-      <translation>Protobuf Dateien</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="100"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="99"/>
+        <source>Protobuf Files</source>
+        <translation>Protobuf Dateien</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="110" />
-      <source>Protocols (protobuf) Browser</source>
-      <translation>Protokollebrowser (protobuf)</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="110"/>
+        <source>Protocols (protobuf) Browser</source>
+        <translation>Protokollebrowser (protobuf)</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="242" />
-      <location filename="../ProjectProtocolsBrowser.py" line="190" />
-      <source>Compile protocol</source>
-      <translation>Protokoll übersetzen</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="247"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="190"/>
+        <source>Compile protocol</source>
+        <translation>Protokoll übersetzen</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="373" />
-      <location filename="../ProjectProtocolsBrowser.py" line="337" />
-      <location filename="../ProjectProtocolsBrowser.py" line="274" />
-      <location filename="../ProjectProtocolsBrowser.py" line="244" />
-      <location filename="../ProjectProtocolsBrowser.py" line="192" />
-      <source>Compile all protocols</source>
-      <translation>Alle Protokolle übersetzen</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="395"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="354"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="285"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="249"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="192"/>
+        <source>Compile all protocols</source>
+        <translation>Alle Protokolle übersetzen</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="248" />
-      <location filename="../ProjectProtocolsBrowser.py" line="196" />
-      <source>Compile protocol as gRPC</source>
-      <translation>Protokoll als gRPC übersetzen</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="253"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="196"/>
+        <source>Compile protocol as gRPC</source>
+        <translation>Protokoll als gRPC übersetzen</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="377" />
-      <location filename="../ProjectProtocolsBrowser.py" line="341" />
-      <location filename="../ProjectProtocolsBrowser.py" line="278" />
-      <location filename="../ProjectProtocolsBrowser.py" line="252" />
-      <location filename="../ProjectProtocolsBrowser.py" line="200" />
-      <source>Compile all protocols as gRPC</source>
-      <translation>Alle Protokolle als gRPC übersetzen</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="399"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="358"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="289"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="257"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="200"/>
+        <source>Compile all protocols as gRPC</source>
+        <translation>Alle Protokolle als gRPC übersetzen</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="317" />
-      <location filename="../ProjectProtocolsBrowser.py" line="256" />
-      <location filename="../ProjectProtocolsBrowser.py" line="204" />
-      <source>Open</source>
-      <translation>Öffnen</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="334"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="261"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="204"/>
+        <source>Open</source>
+        <translation>Öffnen</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="206" />
-      <source>Rename file</source>
-      <translation>Datei umbenennen</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="206"/>
+        <source>Rename file</source>
+        <translation>Datei umbenennen</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="344" />
-      <location filename="../ProjectProtocolsBrowser.py" line="319" />
-      <location filename="../ProjectProtocolsBrowser.py" line="209" />
-      <source>Remove from project</source>
-      <translation>Aus dem Projekt entfernen</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="361"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="336"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="209"/>
+        <source>Remove from project</source>
+        <translation>Aus dem Projekt entfernen</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="346" />
-      <location filename="../ProjectProtocolsBrowser.py" line="321" />
-      <location filename="../ProjectProtocolsBrowser.py" line="212" />
-      <source>Delete</source>
-      <translation>Löschen</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="363"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="338"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="212"/>
+        <source>Delete</source>
+        <translation>Löschen</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="350" />
-      <location filename="../ProjectProtocolsBrowser.py" line="283" />
-      <location filename="../ProjectProtocolsBrowser.py" line="258" />
-      <location filename="../ProjectProtocolsBrowser.py" line="216" />
-      <source>New protocol file...</source>
-      <translation>Neue Protokolldatei...</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="367"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="294"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="263"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="216"/>
+        <source>New protocol file...</source>
+        <translation>Neue Protokolldatei...</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="381" />
-      <location filename="../ProjectProtocolsBrowser.py" line="353" />
-      <location filename="../ProjectProtocolsBrowser.py" line="287" />
-      <location filename="../ProjectProtocolsBrowser.py" line="260" />
-      <location filename="../ProjectProtocolsBrowser.py" line="219" />
-      <source>Add protocols...</source>
-      <translation>Protokolle hinzufügen...</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="403"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="370"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="298"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="265"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="219"/>
+        <source>Add protocols...</source>
+        <translation>Protokolle hinzufügen...</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="384" />
-      <location filename="../ProjectProtocolsBrowser.py" line="355" />
-      <location filename="../ProjectProtocolsBrowser.py" line="290" />
-      <location filename="../ProjectProtocolsBrowser.py" line="262" />
-      <location filename="../ProjectProtocolsBrowser.py" line="221" />
-      <source>Add protocols directory...</source>
-      <translation>Protokolleverzeichnis hinzufügen...</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="406"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="372"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="301"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="267"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="221"/>
+        <source>Add protocols directory...</source>
+        <translation>Protokolleverzeichnis hinzufügen...</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="358" />
-      <location filename="../ProjectProtocolsBrowser.py" line="225" />
-      <source>Copy Path to Clipboard</source>
-      <translation>Pfad in die Zwischenablage kopieren</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="378"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="308"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="273"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="227"/>
+        <source>Show in File Manager</source>
+        <translation>In Dateimanager anzeigen</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="389" />
-      <location filename="../ProjectProtocolsBrowser.py" line="360" />
-      <location filename="../ProjectProtocolsBrowser.py" line="324" />
-      <location filename="../ProjectProtocolsBrowser.py" line="294" />
-      <location filename="../ProjectProtocolsBrowser.py" line="265" />
-      <location filename="../ProjectProtocolsBrowser.py" line="229" />
-      <source>Expand all directories</source>
-      <translation>Alle Verzeichnisse aufklappen</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="380"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="230"/>
+        <source>Copy Path to Clipboard</source>
+        <translation>Pfad in die Zwischenablage kopieren</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="392" />
-      <location filename="../ProjectProtocolsBrowser.py" line="362" />
-      <location filename="../ProjectProtocolsBrowser.py" line="326" />
-      <location filename="../ProjectProtocolsBrowser.py" line="296" />
-      <location filename="../ProjectProtocolsBrowser.py" line="266" />
-      <location filename="../ProjectProtocolsBrowser.py" line="232" />
-      <source>Collapse all directories</source>
-      <translation>Alle Verzeichnisse einklappen</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="411"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="382"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="341"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="311"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="276"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="234"/>
+        <source>Expand all directories</source>
+        <translation>Alle Verzeichnisse aufklappen</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="395" />
-      <location filename="../ProjectProtocolsBrowser.py" line="364" />
-      <location filename="../ProjectProtocolsBrowser.py" line="328" />
-      <location filename="../ProjectProtocolsBrowser.py" line="298" />
-      <location filename="../ProjectProtocolsBrowser.py" line="267" />
-      <location filename="../ProjectProtocolsBrowser.py" line="234" />
-      <source>Collapse all files</source>
-      <translation>Alle Dateien einklappen</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="414"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="384"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="343"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="313"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="277"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="237"/>
+        <source>Collapse all directories</source>
+        <translation>Alle Verzeichnisse einklappen</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="398" />
-      <location filename="../ProjectProtocolsBrowser.py" line="366" />
-      <location filename="../ProjectProtocolsBrowser.py" line="330" />
-      <location filename="../ProjectProtocolsBrowser.py" line="300" />
-      <location filename="../ProjectProtocolsBrowser.py" line="269" />
-      <location filename="../ProjectProtocolsBrowser.py" line="236" />
-      <source>Configure...</source>
-      <translation>Einstellungen...</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="417"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="386"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="345"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="315"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="278"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="239"/>
+        <source>Collapse all files</source>
+        <translation>Alle Dateien einklappen</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="400" />
-      <location filename="../ProjectProtocolsBrowser.py" line="368" />
-      <location filename="../ProjectProtocolsBrowser.py" line="332" />
-      <location filename="../ProjectProtocolsBrowser.py" line="302" />
-      <location filename="../ProjectProtocolsBrowser.py" line="270" />
-      <location filename="../ProjectProtocolsBrowser.py" line="238" />
-      <source>Configure Protobuf...</source>
-      <translation>Protobuf-Einstellungen...</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="420"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="388"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="347"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="317"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="280"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="241"/>
+        <source>Configure...</source>
+        <translation>Einstellungen...</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="309" />
-      <source>Compile protocols</source>
-      <translation>Protokolle übersetzen</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="422"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="390"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="349"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="319"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="281"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="243"/>
+        <source>Configure Protobuf...</source>
+        <translation>Protobuf-Einstellungen...</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="313" />
-      <source>Compile protocols as gRPC</source>
-      <translation>Protokolle als gRPC übersetzen</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="326"/>
+        <source>Compile protocols</source>
+        <translation>Protokolle übersetzen</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="586" />
-      <location filename="../ProjectProtocolsBrowser.py" line="571" />
-      <location filename="../ProjectProtocolsBrowser.py" line="555" />
-      <source>New protocol file</source>
-      <translation>Neue Protokolldatei</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="330"/>
+        <source>Compile protocols as gRPC</source>
+        <translation>Protokolle als gRPC übersetzen</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="556" />
-      <source>Enter the path of the new protocol file:</source>
-      <translation>Gib den Pfad für die neue Protokolldatei ein:</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="608"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="593"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="577"/>
+        <source>New protocol file</source>
+        <translation>Neue Protokolldatei</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="572" />
-      <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; already exists. The action will be aborted.&lt;/p&gt;</source>
-      <translation>&lt;p&gt;Die Datei &lt;b&gt;{0}&lt;/b&gt; existiert bereits. Die Aktion wird abgebrochen?&lt;/p&gt;</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="578"/>
+        <source>Enter the path of the new protocol file:</source>
+        <translation>Gib den Pfad für die neue Protokolldatei ein:</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="587" />
-      <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be created. Aborting...&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
-      <translation>&lt;p&gt;Die Datei &lt;b&gt;{0}&lt;/b&gt; konnte nicht erzeugt werden. Abbruch...&lt;/p&gt;&lt;p&gt;Ursache: {1}&lt;/p&gt;</translation>
-    </message>
-    <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="647" />
-      <source>Delete Protocols</source>
-      <translation>Protokolle löschen</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="594"/>
+        <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; already exists. The action will be aborted.&lt;/p&gt;</source>
+        <translation>&lt;p&gt;Die Datei &lt;b&gt;{0}&lt;/b&gt; existiert bereits. Die Aktion wird abgebrochen?&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="648" />
-      <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="609"/>
+        <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be created. Aborting...&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
+        <translation>&lt;p&gt;Die Datei &lt;b&gt;{0}&lt;/b&gt; konnte nicht erzeugt werden. Abbruch...&lt;/p&gt;&lt;p&gt;Ursache: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="764" />
-      <location filename="../ProjectProtocolsBrowser.py" line="750" />
-      <source>Protocol Compilation</source>
-      <translation>Protokollübersetzung</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="669"/>
+        <source>Delete Protocols</source>
+        <translation>Protokolle löschen</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="751" />
-      <source>The compilation of the protocol file was successful.</source>
-      <translation>Die Übersetzung der Protokolldatei war erfolgreich.</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="670"/>
+        <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="765" />
-      <source>The compilation of the protocol file failed.</source>
-      <translation>Die Übersetzung der Protokolldatei ist fehlgeschlagen.</translation>
-    </message>
-    <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="819" />
-      <source>Process Generation Error</source>
-      <translation>Fehler beim Prozessstart</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="786"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="772"/>
+        <source>Protocol Compilation</source>
+        <translation>Protokollübersetzung</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="820" />
-      <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="829" />
-      <source>Compiler Invalid</source>
-      <translation>Compiler ungültig</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="773"/>
+        <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="830" />
-      <source>The configured compiler is invalid.</source>
-      <translation>Der konfigurierte Compiler ist ungültig.</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="787"/>
+        <source>The compilation of the protocol file failed.</source>
+        <translation>Die Übersetzung der Protokolldatei ist fehlgeschlagen.</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="894" />
-      <location filename="../ProjectProtocolsBrowser.py" line="857" />
-      <source>Compiling Protocols...</source>
-      <translation>Protokolle übersetzen...</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="841"/>
+        <source>Process Generation Error</source>
+        <translation>Fehler beim Prozessstart</translation>
+    </message>
+    <message>
+        <location filename="../ProjectProtocolsBrowser.py" line="842"/>
+        <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="895" />
-      <location filename="../ProjectProtocolsBrowser.py" line="858" />
-      <source>Abort</source>
-      <translation>Abbruch</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="851"/>
+        <source>Compiler Invalid</source>
+        <translation>Compiler ungültig</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="898" />
-      <location filename="../ProjectProtocolsBrowser.py" line="861" />
-      <source>%v/%m Protocols</source>
-      <translation>%v/%m Protokolle</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="852"/>
+        <source>The configured compiler is invalid.</source>
+        <translation>Der konfigurierte Compiler ist ungültig.</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="903" />
-      <location filename="../ProjectProtocolsBrowser.py" line="866" />
-      <source>Protocols</source>
-      <translation>Protokolle</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="916"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="879"/>
+        <source>Compiling Protocols...</source>
+        <translation>Protokolle übersetzen...</translation>
     </message>
-  </context>
-  <context>
-    <name>ProtobufExtensionPlugin</name>
     <message>
-      <location filename="../../PluginExtensionProtobuf.py" line="75" />
-      <location filename="../../PluginExtensionProtobuf.py" line="57" />
-      <source>Protobuf Compiler</source>
-      <translation>Protobuf Compiler</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="917"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="880"/>
+        <source>Abort</source>
+        <translation>Abbruch</translation>
+    </message>
+    <message>
+        <location filename="../ProjectProtocolsBrowser.py" line="920"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="883"/>
+        <source>%v/%m Protocols</source>
+        <translation>%v/%m Protokolle</translation>
     </message>
     <message>
-      <location filename="../../PluginExtensionProtobuf.py" line="95" />
-      <location filename="../../PluginExtensionProtobuf.py" line="60" />
-      <source>Protobuf and gRPC Support plugin is not activated</source>
-      <translation>Das Protobuf und gRPC Plugin ist nicht aktiviert</translation>
+        <location filename="../ProjectProtocolsBrowser.py" line="925"/>
+        <location filename="../ProjectProtocolsBrowser.py" line="888"/>
+        <source>Protocols</source>
+        <translation>Protokolle</translation>
+    </message>
+</context>
+<context>
+    <name>ProtobufExtensionPlugin</name>
+    <message>
+        <location filename="../../PluginExtensionProtobuf.py" line="75"/>
+        <location filename="../../PluginExtensionProtobuf.py" line="57"/>
+        <source>Protobuf Compiler</source>
+        <translation>Protobuf Compiler</translation>
     </message>
     <message>
-      <location filename="../../PluginExtensionProtobuf.py" line="99" />
-      <location filename="../../PluginExtensionProtobuf.py" line="64" />
-      <source>(inactive)</source>
-      <translation>(inaktiv)</translation>
-    </message>
-    <message>
-      <location filename="../../PluginExtensionProtobuf.py" line="113" />
-      <location filename="../../PluginExtensionProtobuf.py" line="92" />
-      <source>gRPC Compiler</source>
-      <translation>gRPC Compiler</translation>
+        <location filename="../../PluginExtensionProtobuf.py" line="95"/>
+        <location filename="../../PluginExtensionProtobuf.py" line="60"/>
+        <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="138" />
-      <source>Protobuf and gRPC</source>
-      <translation>Protobuf und gRPC</translation>
+        <location filename="../../PluginExtensionProtobuf.py" line="99"/>
+        <location filename="../../PluginExtensionProtobuf.py" line="64"/>
+        <source>(inactive)</source>
+        <translation>(inaktiv)</translation>
     </message>
     <message>
-      <location filename="../../PluginExtensionProtobuf.py" line="228" />
-      <source>Protocol Buffer (protobuf)</source>
-      <translation>Protokoll-Puffer (protobuf)</translation>
+        <location filename="../../PluginExtensionProtobuf.py" line="113"/>
+        <location filename="../../PluginExtensionProtobuf.py" line="92"/>
+        <source>gRPC Compiler</source>
+        <translation>gRPC Compiler</translation>
     </message>
     <message>
-      <location filename="../../PluginExtensionProtobuf.py" line="232" />
-      <location filename="../../PluginExtensionProtobuf.py" line="231" />
-      <source>Protocol Buffer Files (*.proto)</source>
-      <translation>Protokoll-Puffer Dateien (*.proto)</translation>
+        <location filename="../../PluginExtensionProtobuf.py" line="138"/>
+        <source>Protobuf and gRPC</source>
+        <translation>Protobuf und gRPC</translation>
+    </message>
+    <message>
+        <location filename="../../PluginExtensionProtobuf.py" line="228"/>
+        <source>Protocol Buffer (protobuf)</source>
+        <translation>Protokoll-Puffer (protobuf)</translation>
     </message>
     <message>
-      <location filename="../../PluginExtensionProtobuf.py" line="249" />
-      <source>Protobuf and gRPC Extension</source>
-      <translation>Protobuf und gRPC Erweiterung</translation>
+        <location filename="../../PluginExtensionProtobuf.py" line="232"/>
+        <location filename="../../PluginExtensionProtobuf.py" line="231"/>
+        <source>Protocol Buffer Files (*.proto)</source>
+        <translation>Protokoll-Puffer Dateien (*.proto)</translation>
+    </message>
+    <message>
+        <location filename="../../PluginExtensionProtobuf.py" line="249"/>
+        <source>Protobuf and gRPC Extension</source>
+        <translation>Protobuf und gRPC Erweiterung</translation>
     </message>
     <message>
-      <location filename="../../PluginExtensionProtobuf.py" line="255" />
-      <location filename="../../PluginExtensionProtobuf.py" line="250" />
-      <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="255"/>
+        <location filename="../../PluginExtensionProtobuf.py" line="250"/>
+        <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	Mon Oct 30 09:01:59 2023 +0100
+++ b/ExtensionProtobuf/i18n/protobuf_empty.ts	Mon Dec 11 11:01:10 2023 +0100
@@ -30,38 +30,38 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="242" />
+      <location filename="../ProjectProtocolsBrowser.py" line="247" />
       <location filename="../ProjectProtocolsBrowser.py" line="190" />
       <source>Compile protocol</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="373" />
-      <location filename="../ProjectProtocolsBrowser.py" line="337" />
-      <location filename="../ProjectProtocolsBrowser.py" line="274" />
-      <location filename="../ProjectProtocolsBrowser.py" line="244" />
+      <location filename="../ProjectProtocolsBrowser.py" line="395" />
+      <location filename="../ProjectProtocolsBrowser.py" line="354" />
+      <location filename="../ProjectProtocolsBrowser.py" line="285" />
+      <location filename="../ProjectProtocolsBrowser.py" line="249" />
       <location filename="../ProjectProtocolsBrowser.py" line="192" />
       <source>Compile all protocols</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="248" />
+      <location filename="../ProjectProtocolsBrowser.py" line="253" />
       <location filename="../ProjectProtocolsBrowser.py" line="196" />
       <source>Compile protocol as gRPC</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="377" />
-      <location filename="../ProjectProtocolsBrowser.py" line="341" />
-      <location filename="../ProjectProtocolsBrowser.py" line="278" />
-      <location filename="../ProjectProtocolsBrowser.py" line="252" />
+      <location filename="../ProjectProtocolsBrowser.py" line="399" />
+      <location filename="../ProjectProtocolsBrowser.py" line="358" />
+      <location filename="../ProjectProtocolsBrowser.py" line="289" />
+      <location filename="../ProjectProtocolsBrowser.py" line="257" />
       <location filename="../ProjectProtocolsBrowser.py" line="200" />
       <source>Compile all protocols as gRPC</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="317" />
-      <location filename="../ProjectProtocolsBrowser.py" line="256" />
+      <location filename="../ProjectProtocolsBrowser.py" line="334" />
+      <location filename="../ProjectProtocolsBrowser.py" line="261" />
       <location filename="../ProjectProtocolsBrowser.py" line="204" />
       <source>Open</source>
       <translation type="unfinished" />
@@ -72,200 +72,208 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="344" />
-      <location filename="../ProjectProtocolsBrowser.py" line="319" />
+      <location filename="../ProjectProtocolsBrowser.py" line="361" />
+      <location filename="../ProjectProtocolsBrowser.py" line="336" />
       <location filename="../ProjectProtocolsBrowser.py" line="209" />
       <source>Remove from project</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="346" />
-      <location filename="../ProjectProtocolsBrowser.py" line="321" />
+      <location filename="../ProjectProtocolsBrowser.py" line="363" />
+      <location filename="../ProjectProtocolsBrowser.py" line="338" />
       <location filename="../ProjectProtocolsBrowser.py" line="212" />
       <source>Delete</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="350" />
-      <location filename="../ProjectProtocolsBrowser.py" line="283" />
-      <location filename="../ProjectProtocolsBrowser.py" line="258" />
+      <location filename="../ProjectProtocolsBrowser.py" line="367" />
+      <location filename="../ProjectProtocolsBrowser.py" line="294" />
+      <location filename="../ProjectProtocolsBrowser.py" line="263" />
       <location filename="../ProjectProtocolsBrowser.py" line="216" />
       <source>New protocol file...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="381" />
-      <location filename="../ProjectProtocolsBrowser.py" line="353" />
-      <location filename="../ProjectProtocolsBrowser.py" line="287" />
-      <location filename="../ProjectProtocolsBrowser.py" line="260" />
+      <location filename="../ProjectProtocolsBrowser.py" line="403" />
+      <location filename="../ProjectProtocolsBrowser.py" line="370" />
+      <location filename="../ProjectProtocolsBrowser.py" line="298" />
+      <location filename="../ProjectProtocolsBrowser.py" line="265" />
       <location filename="../ProjectProtocolsBrowser.py" line="219" />
       <source>Add protocols...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="384" />
-      <location filename="../ProjectProtocolsBrowser.py" line="355" />
-      <location filename="../ProjectProtocolsBrowser.py" line="290" />
-      <location filename="../ProjectProtocolsBrowser.py" line="262" />
+      <location filename="../ProjectProtocolsBrowser.py" line="406" />
+      <location filename="../ProjectProtocolsBrowser.py" line="372" />
+      <location filename="../ProjectProtocolsBrowser.py" line="301" />
+      <location filename="../ProjectProtocolsBrowser.py" line="267" />
       <location filename="../ProjectProtocolsBrowser.py" line="221" />
       <source>Add protocols directory...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="358" />
-      <location filename="../ProjectProtocolsBrowser.py" line="225" />
+      <location filename="../ProjectProtocolsBrowser.py" line="378" />
+      <location filename="../ProjectProtocolsBrowser.py" line="308" />
+      <location filename="../ProjectProtocolsBrowser.py" line="273" />
+      <location filename="../ProjectProtocolsBrowser.py" line="227" />
+      <source>Show in File Manager</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../ProjectProtocolsBrowser.py" line="380" />
+      <location filename="../ProjectProtocolsBrowser.py" line="230" />
       <source>Copy Path to Clipboard</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="389" />
-      <location filename="../ProjectProtocolsBrowser.py" line="360" />
-      <location filename="../ProjectProtocolsBrowser.py" line="324" />
-      <location filename="../ProjectProtocolsBrowser.py" line="294" />
-      <location filename="../ProjectProtocolsBrowser.py" line="265" />
-      <location filename="../ProjectProtocolsBrowser.py" line="229" />
+      <location filename="../ProjectProtocolsBrowser.py" line="411" />
+      <location filename="../ProjectProtocolsBrowser.py" line="382" />
+      <location filename="../ProjectProtocolsBrowser.py" line="341" />
+      <location filename="../ProjectProtocolsBrowser.py" line="311" />
+      <location filename="../ProjectProtocolsBrowser.py" line="276" />
+      <location filename="../ProjectProtocolsBrowser.py" line="234" />
       <source>Expand all directories</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="392" />
-      <location filename="../ProjectProtocolsBrowser.py" line="362" />
-      <location filename="../ProjectProtocolsBrowser.py" line="326" />
-      <location filename="../ProjectProtocolsBrowser.py" line="296" />
-      <location filename="../ProjectProtocolsBrowser.py" line="266" />
-      <location filename="../ProjectProtocolsBrowser.py" line="232" />
+      <location filename="../ProjectProtocolsBrowser.py" line="414" />
+      <location filename="../ProjectProtocolsBrowser.py" line="384" />
+      <location filename="../ProjectProtocolsBrowser.py" line="343" />
+      <location filename="../ProjectProtocolsBrowser.py" line="313" />
+      <location filename="../ProjectProtocolsBrowser.py" line="277" />
+      <location filename="../ProjectProtocolsBrowser.py" line="237" />
       <source>Collapse all directories</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="395" />
-      <location filename="../ProjectProtocolsBrowser.py" line="364" />
-      <location filename="../ProjectProtocolsBrowser.py" line="328" />
-      <location filename="../ProjectProtocolsBrowser.py" line="298" />
-      <location filename="../ProjectProtocolsBrowser.py" line="267" />
-      <location filename="../ProjectProtocolsBrowser.py" line="234" />
+      <location filename="../ProjectProtocolsBrowser.py" line="417" />
+      <location filename="../ProjectProtocolsBrowser.py" line="386" />
+      <location filename="../ProjectProtocolsBrowser.py" line="345" />
+      <location filename="../ProjectProtocolsBrowser.py" line="315" />
+      <location filename="../ProjectProtocolsBrowser.py" line="278" />
+      <location filename="../ProjectProtocolsBrowser.py" line="239" />
       <source>Collapse all files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="398" />
-      <location filename="../ProjectProtocolsBrowser.py" line="366" />
-      <location filename="../ProjectProtocolsBrowser.py" line="330" />
-      <location filename="../ProjectProtocolsBrowser.py" line="300" />
-      <location filename="../ProjectProtocolsBrowser.py" line="269" />
-      <location filename="../ProjectProtocolsBrowser.py" line="236" />
+      <location filename="../ProjectProtocolsBrowser.py" line="420" />
+      <location filename="../ProjectProtocolsBrowser.py" line="388" />
+      <location filename="../ProjectProtocolsBrowser.py" line="347" />
+      <location filename="../ProjectProtocolsBrowser.py" line="317" />
+      <location filename="../ProjectProtocolsBrowser.py" line="280" />
+      <location filename="../ProjectProtocolsBrowser.py" line="241" />
       <source>Configure...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="400" />
-      <location filename="../ProjectProtocolsBrowser.py" line="368" />
-      <location filename="../ProjectProtocolsBrowser.py" line="332" />
-      <location filename="../ProjectProtocolsBrowser.py" line="302" />
-      <location filename="../ProjectProtocolsBrowser.py" line="270" />
-      <location filename="../ProjectProtocolsBrowser.py" line="238" />
+      <location filename="../ProjectProtocolsBrowser.py" line="422" />
+      <location filename="../ProjectProtocolsBrowser.py" line="390" />
+      <location filename="../ProjectProtocolsBrowser.py" line="349" />
+      <location filename="../ProjectProtocolsBrowser.py" line="319" />
+      <location filename="../ProjectProtocolsBrowser.py" line="281" />
+      <location filename="../ProjectProtocolsBrowser.py" line="243" />
       <source>Configure Protobuf...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="309" />
+      <location filename="../ProjectProtocolsBrowser.py" line="326" />
       <source>Compile protocols</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="313" />
+      <location filename="../ProjectProtocolsBrowser.py" line="330" />
       <source>Compile protocols as gRPC</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="586" />
-      <location filename="../ProjectProtocolsBrowser.py" line="571" />
-      <location filename="../ProjectProtocolsBrowser.py" line="555" />
+      <location filename="../ProjectProtocolsBrowser.py" line="608" />
+      <location filename="../ProjectProtocolsBrowser.py" line="593" />
+      <location filename="../ProjectProtocolsBrowser.py" line="577" />
       <source>New protocol file</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="556" />
+      <location filename="../ProjectProtocolsBrowser.py" line="578" />
       <source>Enter the path of the new protocol file:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="572" />
+      <location filename="../ProjectProtocolsBrowser.py" line="594" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; already exists. The action will be aborted.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="587" />
+      <location filename="../ProjectProtocolsBrowser.py" line="609" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be created. Aborting...&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="647" />
+      <location filename="../ProjectProtocolsBrowser.py" line="669" />
       <source>Delete Protocols</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="648" />
+      <location filename="../ProjectProtocolsBrowser.py" line="670" />
       <source>Do you really want to delete these protocol files from the project?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="764" />
-      <location filename="../ProjectProtocolsBrowser.py" line="750" />
+      <location filename="../ProjectProtocolsBrowser.py" line="786" />
+      <location filename="../ProjectProtocolsBrowser.py" line="772" />
       <source>Protocol Compilation</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="751" />
+      <location filename="../ProjectProtocolsBrowser.py" line="773" />
       <source>The compilation of the protocol file was successful.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="765" />
+      <location filename="../ProjectProtocolsBrowser.py" line="787" />
       <source>The compilation of the protocol file failed.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="819" />
+      <location filename="../ProjectProtocolsBrowser.py" line="841" />
       <source>Process Generation Error</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="820" />
+      <location filename="../ProjectProtocolsBrowser.py" line="842" />
       <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="829" />
+      <location filename="../ProjectProtocolsBrowser.py" line="851" />
       <source>Compiler Invalid</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="830" />
+      <location filename="../ProjectProtocolsBrowser.py" line="852" />
       <source>The configured compiler is invalid.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="894" />
-      <location filename="../ProjectProtocolsBrowser.py" line="857" />
+      <location filename="../ProjectProtocolsBrowser.py" line="916" />
+      <location filename="../ProjectProtocolsBrowser.py" line="879" />
       <source>Compiling Protocols...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="895" />
-      <location filename="../ProjectProtocolsBrowser.py" line="858" />
+      <location filename="../ProjectProtocolsBrowser.py" line="917" />
+      <location filename="../ProjectProtocolsBrowser.py" line="880" />
       <source>Abort</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="898" />
-      <location filename="../ProjectProtocolsBrowser.py" line="861" />
+      <location filename="../ProjectProtocolsBrowser.py" line="920" />
+      <location filename="../ProjectProtocolsBrowser.py" line="883" />
       <source>%v/%m Protocols</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="903" />
-      <location filename="../ProjectProtocolsBrowser.py" line="866" />
+      <location filename="../ProjectProtocolsBrowser.py" line="925" />
+      <location filename="../ProjectProtocolsBrowser.py" line="888" />
       <source>Protocols</source>
       <translation type="unfinished" />
     </message>
--- a/ExtensionProtobuf/i18n/protobuf_en.ts	Mon Oct 30 09:01:59 2023 +0100
+++ b/ExtensionProtobuf/i18n/protobuf_en.ts	Mon Dec 11 11:01:10 2023 +0100
@@ -30,38 +30,38 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="242" />
+      <location filename="../ProjectProtocolsBrowser.py" line="247" />
       <location filename="../ProjectProtocolsBrowser.py" line="190" />
       <source>Compile protocol</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="373" />
-      <location filename="../ProjectProtocolsBrowser.py" line="337" />
-      <location filename="../ProjectProtocolsBrowser.py" line="274" />
-      <location filename="../ProjectProtocolsBrowser.py" line="244" />
+      <location filename="../ProjectProtocolsBrowser.py" line="395" />
+      <location filename="../ProjectProtocolsBrowser.py" line="354" />
+      <location filename="../ProjectProtocolsBrowser.py" line="285" />
+      <location filename="../ProjectProtocolsBrowser.py" line="249" />
       <location filename="../ProjectProtocolsBrowser.py" line="192" />
       <source>Compile all protocols</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="248" />
+      <location filename="../ProjectProtocolsBrowser.py" line="253" />
       <location filename="../ProjectProtocolsBrowser.py" line="196" />
       <source>Compile protocol as gRPC</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="377" />
-      <location filename="../ProjectProtocolsBrowser.py" line="341" />
-      <location filename="../ProjectProtocolsBrowser.py" line="278" />
-      <location filename="../ProjectProtocolsBrowser.py" line="252" />
+      <location filename="../ProjectProtocolsBrowser.py" line="399" />
+      <location filename="../ProjectProtocolsBrowser.py" line="358" />
+      <location filename="../ProjectProtocolsBrowser.py" line="289" />
+      <location filename="../ProjectProtocolsBrowser.py" line="257" />
       <location filename="../ProjectProtocolsBrowser.py" line="200" />
       <source>Compile all protocols as gRPC</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="317" />
-      <location filename="../ProjectProtocolsBrowser.py" line="256" />
+      <location filename="../ProjectProtocolsBrowser.py" line="334" />
+      <location filename="../ProjectProtocolsBrowser.py" line="261" />
       <location filename="../ProjectProtocolsBrowser.py" line="204" />
       <source>Open</source>
       <translation type="unfinished" />
@@ -72,200 +72,208 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="344" />
-      <location filename="../ProjectProtocolsBrowser.py" line="319" />
+      <location filename="../ProjectProtocolsBrowser.py" line="361" />
+      <location filename="../ProjectProtocolsBrowser.py" line="336" />
       <location filename="../ProjectProtocolsBrowser.py" line="209" />
       <source>Remove from project</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="346" />
-      <location filename="../ProjectProtocolsBrowser.py" line="321" />
+      <location filename="../ProjectProtocolsBrowser.py" line="363" />
+      <location filename="../ProjectProtocolsBrowser.py" line="338" />
       <location filename="../ProjectProtocolsBrowser.py" line="212" />
       <source>Delete</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="350" />
-      <location filename="../ProjectProtocolsBrowser.py" line="283" />
-      <location filename="../ProjectProtocolsBrowser.py" line="258" />
+      <location filename="../ProjectProtocolsBrowser.py" line="367" />
+      <location filename="../ProjectProtocolsBrowser.py" line="294" />
+      <location filename="../ProjectProtocolsBrowser.py" line="263" />
       <location filename="../ProjectProtocolsBrowser.py" line="216" />
       <source>New protocol file...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="381" />
-      <location filename="../ProjectProtocolsBrowser.py" line="353" />
-      <location filename="../ProjectProtocolsBrowser.py" line="287" />
-      <location filename="../ProjectProtocolsBrowser.py" line="260" />
+      <location filename="../ProjectProtocolsBrowser.py" line="403" />
+      <location filename="../ProjectProtocolsBrowser.py" line="370" />
+      <location filename="../ProjectProtocolsBrowser.py" line="298" />
+      <location filename="../ProjectProtocolsBrowser.py" line="265" />
       <location filename="../ProjectProtocolsBrowser.py" line="219" />
       <source>Add protocols...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="384" />
-      <location filename="../ProjectProtocolsBrowser.py" line="355" />
-      <location filename="../ProjectProtocolsBrowser.py" line="290" />
-      <location filename="../ProjectProtocolsBrowser.py" line="262" />
+      <location filename="../ProjectProtocolsBrowser.py" line="406" />
+      <location filename="../ProjectProtocolsBrowser.py" line="372" />
+      <location filename="../ProjectProtocolsBrowser.py" line="301" />
+      <location filename="../ProjectProtocolsBrowser.py" line="267" />
       <location filename="../ProjectProtocolsBrowser.py" line="221" />
       <source>Add protocols directory...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="358" />
-      <location filename="../ProjectProtocolsBrowser.py" line="225" />
+      <location filename="../ProjectProtocolsBrowser.py" line="378" />
+      <location filename="../ProjectProtocolsBrowser.py" line="308" />
+      <location filename="../ProjectProtocolsBrowser.py" line="273" />
+      <location filename="../ProjectProtocolsBrowser.py" line="227" />
+      <source>Show in File Manager</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../ProjectProtocolsBrowser.py" line="380" />
+      <location filename="../ProjectProtocolsBrowser.py" line="230" />
       <source>Copy Path to Clipboard</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="389" />
-      <location filename="../ProjectProtocolsBrowser.py" line="360" />
-      <location filename="../ProjectProtocolsBrowser.py" line="324" />
-      <location filename="../ProjectProtocolsBrowser.py" line="294" />
-      <location filename="../ProjectProtocolsBrowser.py" line="265" />
-      <location filename="../ProjectProtocolsBrowser.py" line="229" />
+      <location filename="../ProjectProtocolsBrowser.py" line="411" />
+      <location filename="../ProjectProtocolsBrowser.py" line="382" />
+      <location filename="../ProjectProtocolsBrowser.py" line="341" />
+      <location filename="../ProjectProtocolsBrowser.py" line="311" />
+      <location filename="../ProjectProtocolsBrowser.py" line="276" />
+      <location filename="../ProjectProtocolsBrowser.py" line="234" />
       <source>Expand all directories</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="392" />
-      <location filename="../ProjectProtocolsBrowser.py" line="362" />
-      <location filename="../ProjectProtocolsBrowser.py" line="326" />
-      <location filename="../ProjectProtocolsBrowser.py" line="296" />
-      <location filename="../ProjectProtocolsBrowser.py" line="266" />
-      <location filename="../ProjectProtocolsBrowser.py" line="232" />
+      <location filename="../ProjectProtocolsBrowser.py" line="414" />
+      <location filename="../ProjectProtocolsBrowser.py" line="384" />
+      <location filename="../ProjectProtocolsBrowser.py" line="343" />
+      <location filename="../ProjectProtocolsBrowser.py" line="313" />
+      <location filename="../ProjectProtocolsBrowser.py" line="277" />
+      <location filename="../ProjectProtocolsBrowser.py" line="237" />
       <source>Collapse all directories</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="395" />
-      <location filename="../ProjectProtocolsBrowser.py" line="364" />
-      <location filename="../ProjectProtocolsBrowser.py" line="328" />
-      <location filename="../ProjectProtocolsBrowser.py" line="298" />
-      <location filename="../ProjectProtocolsBrowser.py" line="267" />
-      <location filename="../ProjectProtocolsBrowser.py" line="234" />
+      <location filename="../ProjectProtocolsBrowser.py" line="417" />
+      <location filename="../ProjectProtocolsBrowser.py" line="386" />
+      <location filename="../ProjectProtocolsBrowser.py" line="345" />
+      <location filename="../ProjectProtocolsBrowser.py" line="315" />
+      <location filename="../ProjectProtocolsBrowser.py" line="278" />
+      <location filename="../ProjectProtocolsBrowser.py" line="239" />
       <source>Collapse all files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="398" />
-      <location filename="../ProjectProtocolsBrowser.py" line="366" />
-      <location filename="../ProjectProtocolsBrowser.py" line="330" />
-      <location filename="../ProjectProtocolsBrowser.py" line="300" />
-      <location filename="../ProjectProtocolsBrowser.py" line="269" />
-      <location filename="../ProjectProtocolsBrowser.py" line="236" />
+      <location filename="../ProjectProtocolsBrowser.py" line="420" />
+      <location filename="../ProjectProtocolsBrowser.py" line="388" />
+      <location filename="../ProjectProtocolsBrowser.py" line="347" />
+      <location filename="../ProjectProtocolsBrowser.py" line="317" />
+      <location filename="../ProjectProtocolsBrowser.py" line="280" />
+      <location filename="../ProjectProtocolsBrowser.py" line="241" />
       <source>Configure...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="400" />
-      <location filename="../ProjectProtocolsBrowser.py" line="368" />
-      <location filename="../ProjectProtocolsBrowser.py" line="332" />
-      <location filename="../ProjectProtocolsBrowser.py" line="302" />
-      <location filename="../ProjectProtocolsBrowser.py" line="270" />
-      <location filename="../ProjectProtocolsBrowser.py" line="238" />
+      <location filename="../ProjectProtocolsBrowser.py" line="422" />
+      <location filename="../ProjectProtocolsBrowser.py" line="390" />
+      <location filename="../ProjectProtocolsBrowser.py" line="349" />
+      <location filename="../ProjectProtocolsBrowser.py" line="319" />
+      <location filename="../ProjectProtocolsBrowser.py" line="281" />
+      <location filename="../ProjectProtocolsBrowser.py" line="243" />
       <source>Configure Protobuf...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="309" />
+      <location filename="../ProjectProtocolsBrowser.py" line="326" />
       <source>Compile protocols</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="313" />
+      <location filename="../ProjectProtocolsBrowser.py" line="330" />
       <source>Compile protocols as gRPC</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="586" />
-      <location filename="../ProjectProtocolsBrowser.py" line="571" />
-      <location filename="../ProjectProtocolsBrowser.py" line="555" />
+      <location filename="../ProjectProtocolsBrowser.py" line="608" />
+      <location filename="../ProjectProtocolsBrowser.py" line="593" />
+      <location filename="../ProjectProtocolsBrowser.py" line="577" />
       <source>New protocol file</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="556" />
+      <location filename="../ProjectProtocolsBrowser.py" line="578" />
       <source>Enter the path of the new protocol file:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="572" />
+      <location filename="../ProjectProtocolsBrowser.py" line="594" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; already exists. The action will be aborted.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="587" />
+      <location filename="../ProjectProtocolsBrowser.py" line="609" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be created. Aborting...&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="647" />
+      <location filename="../ProjectProtocolsBrowser.py" line="669" />
       <source>Delete Protocols</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="648" />
+      <location filename="../ProjectProtocolsBrowser.py" line="670" />
       <source>Do you really want to delete these protocol files from the project?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="764" />
-      <location filename="../ProjectProtocolsBrowser.py" line="750" />
+      <location filename="../ProjectProtocolsBrowser.py" line="786" />
+      <location filename="../ProjectProtocolsBrowser.py" line="772" />
       <source>Protocol Compilation</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="751" />
+      <location filename="../ProjectProtocolsBrowser.py" line="773" />
       <source>The compilation of the protocol file was successful.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="765" />
+      <location filename="../ProjectProtocolsBrowser.py" line="787" />
       <source>The compilation of the protocol file failed.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="819" />
+      <location filename="../ProjectProtocolsBrowser.py" line="841" />
       <source>Process Generation Error</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="820" />
+      <location filename="../ProjectProtocolsBrowser.py" line="842" />
       <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="829" />
+      <location filename="../ProjectProtocolsBrowser.py" line="851" />
       <source>Compiler Invalid</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="830" />
+      <location filename="../ProjectProtocolsBrowser.py" line="852" />
       <source>The configured compiler is invalid.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="894" />
-      <location filename="../ProjectProtocolsBrowser.py" line="857" />
+      <location filename="../ProjectProtocolsBrowser.py" line="916" />
+      <location filename="../ProjectProtocolsBrowser.py" line="879" />
       <source>Compiling Protocols...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="895" />
-      <location filename="../ProjectProtocolsBrowser.py" line="858" />
+      <location filename="../ProjectProtocolsBrowser.py" line="917" />
+      <location filename="../ProjectProtocolsBrowser.py" line="880" />
       <source>Abort</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="898" />
-      <location filename="../ProjectProtocolsBrowser.py" line="861" />
+      <location filename="../ProjectProtocolsBrowser.py" line="920" />
+      <location filename="../ProjectProtocolsBrowser.py" line="883" />
       <source>%v/%m Protocols</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="903" />
-      <location filename="../ProjectProtocolsBrowser.py" line="866" />
+      <location filename="../ProjectProtocolsBrowser.py" line="925" />
+      <location filename="../ProjectProtocolsBrowser.py" line="888" />
       <source>Protocols</source>
       <translation type="unfinished" />
     </message>
--- a/ExtensionProtobuf/i18n/protobuf_es.ts	Mon Oct 30 09:01:59 2023 +0100
+++ b/ExtensionProtobuf/i18n/protobuf_es.ts	Mon Dec 11 11:01:10 2023 +0100
@@ -30,38 +30,38 @@
       <translation>Navegador de Protocolos (protobuf)</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="242" />
+      <location filename="../ProjectProtocolsBrowser.py" line="247" />
       <location filename="../ProjectProtocolsBrowser.py" line="190" />
       <source>Compile protocol</source>
       <translation>Compilar protocolo</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="373" />
-      <location filename="../ProjectProtocolsBrowser.py" line="337" />
-      <location filename="../ProjectProtocolsBrowser.py" line="274" />
-      <location filename="../ProjectProtocolsBrowser.py" line="244" />
+      <location filename="../ProjectProtocolsBrowser.py" line="395" />
+      <location filename="../ProjectProtocolsBrowser.py" line="354" />
+      <location filename="../ProjectProtocolsBrowser.py" line="285" />
+      <location filename="../ProjectProtocolsBrowser.py" line="249" />
       <location filename="../ProjectProtocolsBrowser.py" line="192" />
       <source>Compile all protocols</source>
       <translation>Compilar todos los protocolos</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="248" />
+      <location filename="../ProjectProtocolsBrowser.py" line="253" />
       <location filename="../ProjectProtocolsBrowser.py" line="196" />
       <source>Compile protocol as gRPC</source>
       <translation>Compilar protocolo como gRPC</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="377" />
-      <location filename="../ProjectProtocolsBrowser.py" line="341" />
-      <location filename="../ProjectProtocolsBrowser.py" line="278" />
-      <location filename="../ProjectProtocolsBrowser.py" line="252" />
+      <location filename="../ProjectProtocolsBrowser.py" line="399" />
+      <location filename="../ProjectProtocolsBrowser.py" line="358" />
+      <location filename="../ProjectProtocolsBrowser.py" line="289" />
+      <location filename="../ProjectProtocolsBrowser.py" line="257" />
       <location filename="../ProjectProtocolsBrowser.py" line="200" />
       <source>Compile all protocols as gRPC</source>
       <translation>Compilar todos los protocolos como gRPC</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="317" />
-      <location filename="../ProjectProtocolsBrowser.py" line="256" />
+      <location filename="../ProjectProtocolsBrowser.py" line="334" />
+      <location filename="../ProjectProtocolsBrowser.py" line="261" />
       <location filename="../ProjectProtocolsBrowser.py" line="204" />
       <source>Open</source>
       <translation>Abrir</translation>
@@ -72,200 +72,208 @@
       <translation>Renombrar archivo</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="344" />
-      <location filename="../ProjectProtocolsBrowser.py" line="319" />
+      <location filename="../ProjectProtocolsBrowser.py" line="361" />
+      <location filename="../ProjectProtocolsBrowser.py" line="336" />
       <location filename="../ProjectProtocolsBrowser.py" line="209" />
       <source>Remove from project</source>
       <translation>Quitar del proyecto</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="346" />
-      <location filename="../ProjectProtocolsBrowser.py" line="321" />
+      <location filename="../ProjectProtocolsBrowser.py" line="363" />
+      <location filename="../ProjectProtocolsBrowser.py" line="338" />
       <location filename="../ProjectProtocolsBrowser.py" line="212" />
       <source>Delete</source>
       <translation>Borrar</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="350" />
-      <location filename="../ProjectProtocolsBrowser.py" line="283" />
-      <location filename="../ProjectProtocolsBrowser.py" line="258" />
+      <location filename="../ProjectProtocolsBrowser.py" line="367" />
+      <location filename="../ProjectProtocolsBrowser.py" line="294" />
+      <location filename="../ProjectProtocolsBrowser.py" line="263" />
       <location filename="../ProjectProtocolsBrowser.py" line="216" />
       <source>New protocol file...</source>
       <translation>Nuevo archivo de protocolo...</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="381" />
-      <location filename="../ProjectProtocolsBrowser.py" line="353" />
-      <location filename="../ProjectProtocolsBrowser.py" line="287" />
-      <location filename="../ProjectProtocolsBrowser.py" line="260" />
+      <location filename="../ProjectProtocolsBrowser.py" line="403" />
+      <location filename="../ProjectProtocolsBrowser.py" line="370" />
+      <location filename="../ProjectProtocolsBrowser.py" line="298" />
+      <location filename="../ProjectProtocolsBrowser.py" line="265" />
       <location filename="../ProjectProtocolsBrowser.py" line="219" />
       <source>Add protocols...</source>
       <translation>Añadir protocolos...</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="384" />
-      <location filename="../ProjectProtocolsBrowser.py" line="355" />
-      <location filename="../ProjectProtocolsBrowser.py" line="290" />
-      <location filename="../ProjectProtocolsBrowser.py" line="262" />
+      <location filename="../ProjectProtocolsBrowser.py" line="406" />
+      <location filename="../ProjectProtocolsBrowser.py" line="372" />
+      <location filename="../ProjectProtocolsBrowser.py" line="301" />
+      <location filename="../ProjectProtocolsBrowser.py" line="267" />
       <location filename="../ProjectProtocolsBrowser.py" line="221" />
       <source>Add protocols directory...</source>
       <translation>Añadir directorio de protocolos...</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="358" />
-      <location filename="../ProjectProtocolsBrowser.py" line="225" />
+      <location filename="../ProjectProtocolsBrowser.py" line="378" />
+      <location filename="../ProjectProtocolsBrowser.py" line="308" />
+      <location filename="../ProjectProtocolsBrowser.py" line="273" />
+      <location filename="../ProjectProtocolsBrowser.py" line="227" />
+      <source>Show in File Manager</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../ProjectProtocolsBrowser.py" line="380" />
+      <location filename="../ProjectProtocolsBrowser.py" line="230" />
       <source>Copy Path to Clipboard</source>
       <translation>Copiar Ruta al Portapapeles</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="389" />
-      <location filename="../ProjectProtocolsBrowser.py" line="360" />
-      <location filename="../ProjectProtocolsBrowser.py" line="324" />
-      <location filename="../ProjectProtocolsBrowser.py" line="294" />
-      <location filename="../ProjectProtocolsBrowser.py" line="265" />
-      <location filename="../ProjectProtocolsBrowser.py" line="229" />
+      <location filename="../ProjectProtocolsBrowser.py" line="411" />
+      <location filename="../ProjectProtocolsBrowser.py" line="382" />
+      <location filename="../ProjectProtocolsBrowser.py" line="341" />
+      <location filename="../ProjectProtocolsBrowser.py" line="311" />
+      <location filename="../ProjectProtocolsBrowser.py" line="276" />
+      <location filename="../ProjectProtocolsBrowser.py" line="234" />
       <source>Expand all directories</source>
       <translation>Expandir todos los directorios</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="392" />
-      <location filename="../ProjectProtocolsBrowser.py" line="362" />
-      <location filename="../ProjectProtocolsBrowser.py" line="326" />
-      <location filename="../ProjectProtocolsBrowser.py" line="296" />
-      <location filename="../ProjectProtocolsBrowser.py" line="266" />
-      <location filename="../ProjectProtocolsBrowser.py" line="232" />
+      <location filename="../ProjectProtocolsBrowser.py" line="414" />
+      <location filename="../ProjectProtocolsBrowser.py" line="384" />
+      <location filename="../ProjectProtocolsBrowser.py" line="343" />
+      <location filename="../ProjectProtocolsBrowser.py" line="313" />
+      <location filename="../ProjectProtocolsBrowser.py" line="277" />
+      <location filename="../ProjectProtocolsBrowser.py" line="237" />
       <source>Collapse all directories</source>
       <translation>Contraer todos los directorios</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="395" />
-      <location filename="../ProjectProtocolsBrowser.py" line="364" />
-      <location filename="../ProjectProtocolsBrowser.py" line="328" />
-      <location filename="../ProjectProtocolsBrowser.py" line="298" />
-      <location filename="../ProjectProtocolsBrowser.py" line="267" />
-      <location filename="../ProjectProtocolsBrowser.py" line="234" />
+      <location filename="../ProjectProtocolsBrowser.py" line="417" />
+      <location filename="../ProjectProtocolsBrowser.py" line="386" />
+      <location filename="../ProjectProtocolsBrowser.py" line="345" />
+      <location filename="../ProjectProtocolsBrowser.py" line="315" />
+      <location filename="../ProjectProtocolsBrowser.py" line="278" />
+      <location filename="../ProjectProtocolsBrowser.py" line="239" />
       <source>Collapse all files</source>
       <translation>Colapsar todos los archivos</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="398" />
-      <location filename="../ProjectProtocolsBrowser.py" line="366" />
-      <location filename="../ProjectProtocolsBrowser.py" line="330" />
-      <location filename="../ProjectProtocolsBrowser.py" line="300" />
-      <location filename="../ProjectProtocolsBrowser.py" line="269" />
-      <location filename="../ProjectProtocolsBrowser.py" line="236" />
+      <location filename="../ProjectProtocolsBrowser.py" line="420" />
+      <location filename="../ProjectProtocolsBrowser.py" line="388" />
+      <location filename="../ProjectProtocolsBrowser.py" line="347" />
+      <location filename="../ProjectProtocolsBrowser.py" line="317" />
+      <location filename="../ProjectProtocolsBrowser.py" line="280" />
+      <location filename="../ProjectProtocolsBrowser.py" line="241" />
       <source>Configure...</source>
       <translation>Configurar...</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="400" />
-      <location filename="../ProjectProtocolsBrowser.py" line="368" />
-      <location filename="../ProjectProtocolsBrowser.py" line="332" />
-      <location filename="../ProjectProtocolsBrowser.py" line="302" />
-      <location filename="../ProjectProtocolsBrowser.py" line="270" />
-      <location filename="../ProjectProtocolsBrowser.py" line="238" />
+      <location filename="../ProjectProtocolsBrowser.py" line="422" />
+      <location filename="../ProjectProtocolsBrowser.py" line="390" />
+      <location filename="../ProjectProtocolsBrowser.py" line="349" />
+      <location filename="../ProjectProtocolsBrowser.py" line="319" />
+      <location filename="../ProjectProtocolsBrowser.py" line="281" />
+      <location filename="../ProjectProtocolsBrowser.py" line="243" />
       <source>Configure Protobuf...</source>
       <translation>Configurar Protobuf...</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="309" />
+      <location filename="../ProjectProtocolsBrowser.py" line="326" />
       <source>Compile protocols</source>
       <translation>Compilar protocolos</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="313" />
+      <location filename="../ProjectProtocolsBrowser.py" line="330" />
       <source>Compile protocols as gRPC</source>
       <translation>Compilar protocolos como gRPC</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="586" />
-      <location filename="../ProjectProtocolsBrowser.py" line="571" />
-      <location filename="../ProjectProtocolsBrowser.py" line="555" />
+      <location filename="../ProjectProtocolsBrowser.py" line="608" />
+      <location filename="../ProjectProtocolsBrowser.py" line="593" />
+      <location filename="../ProjectProtocolsBrowser.py" line="577" />
       <source>New protocol file</source>
       <translation>Nuevo archivo de protocolo</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="556" />
+      <location filename="../ProjectProtocolsBrowser.py" line="578" />
       <source>Enter the path of the new protocol file:</source>
       <translation>Intruducir la ruta del nuevo archivo de protocolo:</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="572" />
+      <location filename="../ProjectProtocolsBrowser.py" line="594" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; already exists. The action will be aborted.&lt;/p&gt;</source>
       <translation>&lt;p&gt;El archivo &lt;b&gt;{0}&lt;/b&gt; ya existe. La acción se abortará.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="587" />
+      <location filename="../ProjectProtocolsBrowser.py" line="609" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be created. Aborting...&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;El archivo &lt;b&gt;{0}&lt;/b&gt; no se ha podido crear. Abortando...&lt;/p&gt;&lt;p&gt;Razón: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="647" />
+      <location filename="../ProjectProtocolsBrowser.py" line="669" />
       <source>Delete Protocols</source>
       <translation>Borrar Protocolos</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="648" />
+      <location filename="../ProjectProtocolsBrowser.py" line="670" />
       <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="764" />
-      <location filename="../ProjectProtocolsBrowser.py" line="750" />
+      <location filename="../ProjectProtocolsBrowser.py" line="786" />
+      <location filename="../ProjectProtocolsBrowser.py" line="772" />
       <source>Protocol Compilation</source>
       <translation>Compilación de Protocolo</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="751" />
+      <location filename="../ProjectProtocolsBrowser.py" line="773" />
       <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="765" />
+      <location filename="../ProjectProtocolsBrowser.py" line="787" />
       <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="819" />
+      <location filename="../ProjectProtocolsBrowser.py" line="841" />
       <source>Process Generation Error</source>
       <translation>Error de Generación de Proceso</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="820" />
+      <location filename="../ProjectProtocolsBrowser.py" line="842" />
       <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="829" />
+      <location filename="../ProjectProtocolsBrowser.py" line="851" />
       <source>Compiler Invalid</source>
       <translation>Compilador No Válido</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="830" />
+      <location filename="../ProjectProtocolsBrowser.py" line="852" />
       <source>The configured compiler is invalid.</source>
       <translation>El compilador configurado no es válido.</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="894" />
-      <location filename="../ProjectProtocolsBrowser.py" line="857" />
+      <location filename="../ProjectProtocolsBrowser.py" line="916" />
+      <location filename="../ProjectProtocolsBrowser.py" line="879" />
       <source>Compiling Protocols...</source>
       <translation>Compilando Protocolos...</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="895" />
-      <location filename="../ProjectProtocolsBrowser.py" line="858" />
+      <location filename="../ProjectProtocolsBrowser.py" line="917" />
+      <location filename="../ProjectProtocolsBrowser.py" line="880" />
       <source>Abort</source>
       <translation>Abortar</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="898" />
-      <location filename="../ProjectProtocolsBrowser.py" line="861" />
+      <location filename="../ProjectProtocolsBrowser.py" line="920" />
+      <location filename="../ProjectProtocolsBrowser.py" line="883" />
       <source>%v/%m Protocols</source>
       <translation>%v/%m Protocolos</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="903" />
-      <location filename="../ProjectProtocolsBrowser.py" line="866" />
+      <location filename="../ProjectProtocolsBrowser.py" line="925" />
+      <location filename="../ProjectProtocolsBrowser.py" line="888" />
       <source>Protocols</source>
       <translation>Protocolos</translation>
     </message>
--- a/ExtensionProtobuf/i18n/protobuf_ru.ts	Mon Oct 30 09:01:59 2023 +0100
+++ b/ExtensionProtobuf/i18n/protobuf_ru.ts	Mon Dec 11 11:01:10 2023 +0100
@@ -30,38 +30,38 @@
       <translation>Браузер протоколов (protobuf)</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="242" />
+      <location filename="../ProjectProtocolsBrowser.py" line="247" />
       <location filename="../ProjectProtocolsBrowser.py" line="190" />
       <source>Compile protocol</source>
       <translation>Компилировать протокол</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="373" />
-      <location filename="../ProjectProtocolsBrowser.py" line="337" />
-      <location filename="../ProjectProtocolsBrowser.py" line="274" />
-      <location filename="../ProjectProtocolsBrowser.py" line="244" />
+      <location filename="../ProjectProtocolsBrowser.py" line="395" />
+      <location filename="../ProjectProtocolsBrowser.py" line="354" />
+      <location filename="../ProjectProtocolsBrowser.py" line="285" />
+      <location filename="../ProjectProtocolsBrowser.py" line="249" />
       <location filename="../ProjectProtocolsBrowser.py" line="192" />
       <source>Compile all protocols</source>
       <translation>Компилировать все протоколы</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="248" />
+      <location filename="../ProjectProtocolsBrowser.py" line="253" />
       <location filename="../ProjectProtocolsBrowser.py" line="196" />
       <source>Compile protocol as gRPC</source>
       <translation>Компилировать протокол в виде gRPC</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="377" />
-      <location filename="../ProjectProtocolsBrowser.py" line="341" />
-      <location filename="../ProjectProtocolsBrowser.py" line="278" />
-      <location filename="../ProjectProtocolsBrowser.py" line="252" />
+      <location filename="../ProjectProtocolsBrowser.py" line="399" />
+      <location filename="../ProjectProtocolsBrowser.py" line="358" />
+      <location filename="../ProjectProtocolsBrowser.py" line="289" />
+      <location filename="../ProjectProtocolsBrowser.py" line="257" />
       <location filename="../ProjectProtocolsBrowser.py" line="200" />
       <source>Compile all protocols as gRPC</source>
       <translation>Компилировать все протоколы в виде gRPC</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="317" />
-      <location filename="../ProjectProtocolsBrowser.py" line="256" />
+      <location filename="../ProjectProtocolsBrowser.py" line="334" />
+      <location filename="../ProjectProtocolsBrowser.py" line="261" />
       <location filename="../ProjectProtocolsBrowser.py" line="204" />
       <source>Open</source>
       <translation>Открыть</translation>
@@ -72,200 +72,208 @@
       <translation>Переименовать файл</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="344" />
-      <location filename="../ProjectProtocolsBrowser.py" line="319" />
+      <location filename="../ProjectProtocolsBrowser.py" line="361" />
+      <location filename="../ProjectProtocolsBrowser.py" line="336" />
       <location filename="../ProjectProtocolsBrowser.py" line="209" />
       <source>Remove from project</source>
       <translation>Удалить из проекта</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="346" />
-      <location filename="../ProjectProtocolsBrowser.py" line="321" />
+      <location filename="../ProjectProtocolsBrowser.py" line="363" />
+      <location filename="../ProjectProtocolsBrowser.py" line="338" />
       <location filename="../ProjectProtocolsBrowser.py" line="212" />
       <source>Delete</source>
       <translation>Удалить</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="350" />
-      <location filename="../ProjectProtocolsBrowser.py" line="283" />
-      <location filename="../ProjectProtocolsBrowser.py" line="258" />
+      <location filename="../ProjectProtocolsBrowser.py" line="367" />
+      <location filename="../ProjectProtocolsBrowser.py" line="294" />
+      <location filename="../ProjectProtocolsBrowser.py" line="263" />
       <location filename="../ProjectProtocolsBrowser.py" line="216" />
       <source>New protocol file...</source>
       <translation>Новый файл протокола...</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="381" />
-      <location filename="../ProjectProtocolsBrowser.py" line="353" />
-      <location filename="../ProjectProtocolsBrowser.py" line="287" />
-      <location filename="../ProjectProtocolsBrowser.py" line="260" />
+      <location filename="../ProjectProtocolsBrowser.py" line="403" />
+      <location filename="../ProjectProtocolsBrowser.py" line="370" />
+      <location filename="../ProjectProtocolsBrowser.py" line="298" />
+      <location filename="../ProjectProtocolsBrowser.py" line="265" />
       <location filename="../ProjectProtocolsBrowser.py" line="219" />
       <source>Add protocols...</source>
       <translation>Добавить протоколы...</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="384" />
-      <location filename="../ProjectProtocolsBrowser.py" line="355" />
-      <location filename="../ProjectProtocolsBrowser.py" line="290" />
-      <location filename="../ProjectProtocolsBrowser.py" line="262" />
+      <location filename="../ProjectProtocolsBrowser.py" line="406" />
+      <location filename="../ProjectProtocolsBrowser.py" line="372" />
+      <location filename="../ProjectProtocolsBrowser.py" line="301" />
+      <location filename="../ProjectProtocolsBrowser.py" line="267" />
       <location filename="../ProjectProtocolsBrowser.py" line="221" />
       <source>Add protocols directory...</source>
       <translation>Добавить директорию протоколов...</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="358" />
-      <location filename="../ProjectProtocolsBrowser.py" line="225" />
+      <location filename="../ProjectProtocolsBrowser.py" line="378" />
+      <location filename="../ProjectProtocolsBrowser.py" line="308" />
+      <location filename="../ProjectProtocolsBrowser.py" line="273" />
+      <location filename="../ProjectProtocolsBrowser.py" line="227" />
+      <source>Show in File Manager</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../ProjectProtocolsBrowser.py" line="380" />
+      <location filename="../ProjectProtocolsBrowser.py" line="230" />
       <source>Copy Path to Clipboard</source>
       <translation>Копировать маршрут в буфер обмена</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="389" />
-      <location filename="../ProjectProtocolsBrowser.py" line="360" />
-      <location filename="../ProjectProtocolsBrowser.py" line="324" />
-      <location filename="../ProjectProtocolsBrowser.py" line="294" />
-      <location filename="../ProjectProtocolsBrowser.py" line="265" />
-      <location filename="../ProjectProtocolsBrowser.py" line="229" />
+      <location filename="../ProjectProtocolsBrowser.py" line="411" />
+      <location filename="../ProjectProtocolsBrowser.py" line="382" />
+      <location filename="../ProjectProtocolsBrowser.py" line="341" />
+      <location filename="../ProjectProtocolsBrowser.py" line="311" />
+      <location filename="../ProjectProtocolsBrowser.py" line="276" />
+      <location filename="../ProjectProtocolsBrowser.py" line="234" />
       <source>Expand all directories</source>
       <translation>Открыть все директории</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="392" />
-      <location filename="../ProjectProtocolsBrowser.py" line="362" />
-      <location filename="../ProjectProtocolsBrowser.py" line="326" />
-      <location filename="../ProjectProtocolsBrowser.py" line="296" />
-      <location filename="../ProjectProtocolsBrowser.py" line="266" />
-      <location filename="../ProjectProtocolsBrowser.py" line="232" />
+      <location filename="../ProjectProtocolsBrowser.py" line="414" />
+      <location filename="../ProjectProtocolsBrowser.py" line="384" />
+      <location filename="../ProjectProtocolsBrowser.py" line="343" />
+      <location filename="../ProjectProtocolsBrowser.py" line="313" />
+      <location filename="../ProjectProtocolsBrowser.py" line="277" />
+      <location filename="../ProjectProtocolsBrowser.py" line="237" />
       <source>Collapse all directories</source>
       <translation>Свернуть все директории</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="395" />
-      <location filename="../ProjectProtocolsBrowser.py" line="364" />
-      <location filename="../ProjectProtocolsBrowser.py" line="328" />
-      <location filename="../ProjectProtocolsBrowser.py" line="298" />
-      <location filename="../ProjectProtocolsBrowser.py" line="267" />
-      <location filename="../ProjectProtocolsBrowser.py" line="234" />
+      <location filename="../ProjectProtocolsBrowser.py" line="417" />
+      <location filename="../ProjectProtocolsBrowser.py" line="386" />
+      <location filename="../ProjectProtocolsBrowser.py" line="345" />
+      <location filename="../ProjectProtocolsBrowser.py" line="315" />
+      <location filename="../ProjectProtocolsBrowser.py" line="278" />
+      <location filename="../ProjectProtocolsBrowser.py" line="239" />
       <source>Collapse all files</source>
       <translation>Свернуть все файлы</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="398" />
-      <location filename="../ProjectProtocolsBrowser.py" line="366" />
-      <location filename="../ProjectProtocolsBrowser.py" line="330" />
-      <location filename="../ProjectProtocolsBrowser.py" line="300" />
-      <location filename="../ProjectProtocolsBrowser.py" line="269" />
-      <location filename="../ProjectProtocolsBrowser.py" line="236" />
+      <location filename="../ProjectProtocolsBrowser.py" line="420" />
+      <location filename="../ProjectProtocolsBrowser.py" line="388" />
+      <location filename="../ProjectProtocolsBrowser.py" line="347" />
+      <location filename="../ProjectProtocolsBrowser.py" line="317" />
+      <location filename="../ProjectProtocolsBrowser.py" line="280" />
+      <location filename="../ProjectProtocolsBrowser.py" line="241" />
       <source>Configure...</source>
       <translation>Настроить...</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="400" />
-      <location filename="../ProjectProtocolsBrowser.py" line="368" />
-      <location filename="../ProjectProtocolsBrowser.py" line="332" />
-      <location filename="../ProjectProtocolsBrowser.py" line="302" />
-      <location filename="../ProjectProtocolsBrowser.py" line="270" />
-      <location filename="../ProjectProtocolsBrowser.py" line="238" />
+      <location filename="../ProjectProtocolsBrowser.py" line="422" />
+      <location filename="../ProjectProtocolsBrowser.py" line="390" />
+      <location filename="../ProjectProtocolsBrowser.py" line="349" />
+      <location filename="../ProjectProtocolsBrowser.py" line="319" />
+      <location filename="../ProjectProtocolsBrowser.py" line="281" />
+      <location filename="../ProjectProtocolsBrowser.py" line="243" />
       <source>Configure Protobuf...</source>
       <translation>Конфигурация Protobuf...</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="309" />
+      <location filename="../ProjectProtocolsBrowser.py" line="326" />
       <source>Compile protocols</source>
       <translation>Компилировать протоколы</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="313" />
+      <location filename="../ProjectProtocolsBrowser.py" line="330" />
       <source>Compile protocols as gRPC</source>
       <translation>Компилировать протоколы в виде gRPC</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="586" />
-      <location filename="../ProjectProtocolsBrowser.py" line="571" />
-      <location filename="../ProjectProtocolsBrowser.py" line="555" />
+      <location filename="../ProjectProtocolsBrowser.py" line="608" />
+      <location filename="../ProjectProtocolsBrowser.py" line="593" />
+      <location filename="../ProjectProtocolsBrowser.py" line="577" />
       <source>New protocol file</source>
       <translation>Новый файл протокола</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="556" />
+      <location filename="../ProjectProtocolsBrowser.py" line="578" />
       <source>Enter the path of the new protocol file:</source>
       <translation>Введите путь к новому файлу протокола:</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="572" />
+      <location filename="../ProjectProtocolsBrowser.py" line="594" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; already exists. The action will be aborted.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Файл &lt;b&gt;{0}&lt;/b&gt; уже существует. Действие будет прервано.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="587" />
+      <location filename="../ProjectProtocolsBrowser.py" line="609" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be created. Aborting...&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation>Не удалось создать &lt;p&gt;файл &lt;b&gt;{0}.&lt;/b&gt; Отмена...&lt;/p&gt;&lt;p&gt;Причина: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="647" />
+      <location filename="../ProjectProtocolsBrowser.py" line="669" />
       <source>Delete Protocols</source>
       <translation>Удалить протоколы</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="648" />
+      <location filename="../ProjectProtocolsBrowser.py" line="670" />
       <source>Do you really want to delete these protocol files from the project?</source>
       <translation>Вы действительно хотите удалить эти файлы протоколов из проекта?</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="764" />
-      <location filename="../ProjectProtocolsBrowser.py" line="750" />
+      <location filename="../ProjectProtocolsBrowser.py" line="786" />
+      <location filename="../ProjectProtocolsBrowser.py" line="772" />
       <source>Protocol Compilation</source>
       <translation>Компиляция протокола</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="751" />
+      <location filename="../ProjectProtocolsBrowser.py" line="773" />
       <source>The compilation of the protocol file was successful.</source>
       <translation>Компиляция файла протокола выполнена успешно.</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="765" />
+      <location filename="../ProjectProtocolsBrowser.py" line="787" />
       <source>The compilation of the protocol file failed.</source>
       <translation>Сбой компиляции файла протокола.</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="819" />
+      <location filename="../ProjectProtocolsBrowser.py" line="841" />
       <source>Process Generation Error</source>
       <translation>Ошибка при запуске процесса</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="820" />
+      <location filename="../ProjectProtocolsBrowser.py" line="842" />
       <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="829" />
+      <location filename="../ProjectProtocolsBrowser.py" line="851" />
       <source>Compiler Invalid</source>
       <translation>Недопустимый компилятор</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="830" />
+      <location filename="../ProjectProtocolsBrowser.py" line="852" />
       <source>The configured compiler is invalid.</source>
       <translation>Недопустимая конфигурация компилятора.</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="894" />
-      <location filename="../ProjectProtocolsBrowser.py" line="857" />
+      <location filename="../ProjectProtocolsBrowser.py" line="916" />
+      <location filename="../ProjectProtocolsBrowser.py" line="879" />
       <source>Compiling Protocols...</source>
       <translation>Компиляция протоколов...</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="895" />
-      <location filename="../ProjectProtocolsBrowser.py" line="858" />
+      <location filename="../ProjectProtocolsBrowser.py" line="917" />
+      <location filename="../ProjectProtocolsBrowser.py" line="880" />
       <source>Abort</source>
       <translation>Прервать</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="898" />
-      <location filename="../ProjectProtocolsBrowser.py" line="861" />
+      <location filename="../ProjectProtocolsBrowser.py" line="920" />
+      <location filename="../ProjectProtocolsBrowser.py" line="883" />
       <source>%v/%m Protocols</source>
       <translation>%v из %m протокола(ов)</translation>
     </message>
     <message>
-      <location filename="../ProjectProtocolsBrowser.py" line="903" />
-      <location filename="../ProjectProtocolsBrowser.py" line="866" />
+      <location filename="../ProjectProtocolsBrowser.py" line="925" />
+      <location filename="../ProjectProtocolsBrowser.py" line="888" />
       <source>Protocols</source>
       <translation>Протоколы</translation>
     </message>
--- a/PluginExtensionProtobuf.py	Mon Oct 30 09:01:59 2023 +0100
+++ b/PluginExtensionProtobuf.py	Mon Dec 11 11:01:10 2023 +0100
@@ -23,7 +23,7 @@
 author = "Detlev Offenbach <detlev@die-offenbachs.de>"
 autoactivate = True
 deactivateable = True
-version = "10.1.7"
+version = "10.1.8"
 className = "ProtobufExtensionPlugin"
 packageName = "ExtensionProtobuf"
 shortDescription = "Support for the development of Protobuf and gRPC projects"
--- a/PluginProtobuf.epj	Mon Oct 30 09:01:59 2023 +0100
+++ b/PluginProtobuf.epj	Mon Dec 11 11:01:10 2023 +0100
@@ -66,9 +66,9 @@
         "CopyrightAuthor": "",
         "CopyrightMinFileSize": 0,
         "DocstringType": "eric_black",
-        "EnabledCheckerCategories": "C, D, E, I, M, NO, N, Y, U, W",
+        "EnabledCheckerCategories": "C, D, E, I, L, M, NO, N, Y, U, W",
         "ExcludeFiles": "*/ThirdParty/*, */coverage/*, */Ui_*.py, */Examples/*, */pycodestyle.py,*/pyflakes/checker.py,*/mccabe.py,*/eradicate.py,*/ast_unparse.py,*/piplicenses.py,*/pipdeptree.py",
-        "ExcludeMessages": "C101,E203,E265,E266,E305,E402,M201,M301,M302,M303,M304,M305,M306,M307,M308,M311,M312,M313,M314,M315,M321,M701,M702,M811,M834,N802,N803,N807,N808,N821,W293,W503,Y119,Y401,Y402",
+        "ExcludeMessages": "C101,E203,E265,E266,E305,E402,M201,M301,M302,M303,M304,M305,M306,M307,M308,M311,M312,M313,M314,M315,M321,M701,M702,M811,M834,M852,N802,N803,N807,N808,N821,W293,W503,Y119,Y401,Y402",
         "FixCodes": "",
         "FixIssues": false,
         "FutureChecker": "",
--- a/changelog.md	Mon Oct 30 09:01:59 2023 +0100
+++ b/changelog.md	Mon Dec 11 11:01:10 2023 +0100
@@ -1,7 +1,15 @@
 ChangeLog
 ---------
 
-__Version 10.1.7__
+__Version 10.1.8__
+
+- bug fixes
+- Added context menu entries to show the directory path of an item in an external
+  file manager.
+- Added an entry to the background context menu to show the project directory in
+  an external file manager.
+
+  __Version 10.1.7__
 
 - bug fixes
 - Added the context menu action "New protocol file..." to give a more concise way

eric ide

mercurial