Merged with branch 'eric7'. eric7-maintenance release-22.03

Fri, 04 Mar 2022 18:06:25 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Fri, 04 Mar 2022 18:06:25 +0100
branch
eric7-maintenance
changeset 8967
3f77fa22d9d2
parent 8942
7dde4fcc909b (current diff)
parent 8966
c6f67dbc6ee7 (diff)
child 8968
76a32b7b17b2

Merged with branch 'eric7'.

eric7/i18n/eric7_es.ts file | annotate | diff | comparison | revisions
eric7/i18n/eric7_ru.qm file | annotate | diff | comparison | revisions
eric7/i18n/eric7_ru.ts file | annotate | diff | comparison | revisions
--- a/docs/changelog	Tue Feb 08 14:16:12 2022 +0100
+++ b/docs/changelog	Fri Mar 04 18:06:25 2022 +0100
@@ -1,5 +1,15 @@
 Change Log
 ----------
+Version 22.3:
+- bug fixes
+- General
+  -- performance improvements
+  -- added a '__main__.py' script to allow starting eric7 with
+     'python3 -m eric7'
+- MicroPython
+  -- enhanced support for ESP32 devices
+  -- updated the list of known UF2 capable boards
+
 Version 22.2:
 - bug fixes
 - General
--- a/eric7.epj	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7.epj	Fri Mar 04 18:06:25 2022 +0100
@@ -2312,7 +2312,8 @@
       "eric7/HelpViewer/HelpBookmarksWidget.py",
       "eric7/HelpViewer/HelpBookmarkPropertiesDialog.py",
       "eric7/HelpViewer/HelpBookmarksImportDialog.py",
-      "eric7/MicroPython/BoardDataDialog.py"
+      "eric7/MicroPython/BoardDataDialog.py",
+      "eric7/__main__.py"
     ],
     "SPELLEXCLUDES": "Dictionaries/excludes.dic",
     "SPELLLANGUAGE": "en_US",
@@ -2390,4 +2391,4 @@
     "VCSOTHERDATA": {},
     "VERSION": "7.x"
   }
-}
\ No newline at end of file
+}
--- a/eric7/APIs/Python3/eric7.api	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/APIs/Python3/eric7.api	Fri Mar 04 18:06:25 2022 +0100
@@ -198,11 +198,13 @@
 eric7.DataViews.PyProfileDialog.PyProfileDialog.on_buttonBox_clicked?4(button)
 eric7.DataViews.PyProfileDialog.PyProfileDialog.start?4(pfn, fn=None)
 eric7.DataViews.PyProfileDialog.PyProfileDialog?1(parent=None)
+eric7.DebugClients.Python.AsyncFile.AsyncFile.BUFSIZE?7
+eric7.DebugClients.Python.AsyncFile.AsyncFile.CMD_BUFSIZE?7
+eric7.DebugClients.Python.AsyncFile.AsyncFile.MAX_TRIES?7
 eric7.DebugClients.Python.AsyncFile.AsyncFile.close?4(closeit=False)
 eric7.DebugClients.Python.AsyncFile.AsyncFile.fileno?4()
 eric7.DebugClients.Python.AsyncFile.AsyncFile.flush?4()
 eric7.DebugClients.Python.AsyncFile.AsyncFile.isatty?4()
-eric7.DebugClients.Python.AsyncFile.AsyncFile.maxtries?7
 eric7.DebugClients.Python.AsyncFile.AsyncFile.pendingWrite?4()
 eric7.DebugClients.Python.AsyncFile.AsyncFile.read?4(size=-1)
 eric7.DebugClients.Python.AsyncFile.AsyncFile.readCommand?4()
@@ -320,7 +322,7 @@
 eric7.DebugClients.Python.DebugClientBase.DebugClientBase.writeReady?4(stream)
 eric7.DebugClients.Python.DebugClientBase.DebugClientBase?1()
 eric7.DebugClients.Python.DebugClientBase.DebugClientClose?4(fd)
-eric7.DebugClients.Python.DebugClientBase.DebugClientInput?4(prompt="")
+eric7.DebugClients.Python.DebugClientBase.DebugClientInput?4(prompt="", echo=True)
 eric7.DebugClients.Python.DebugClientBase.DebugClientInstance?7
 eric7.DebugClients.Python.DebugClientBase.DebugClientSetRecursionLimit?4(limit)
 eric7.DebugClients.Python.DebugClientCapabilities.HasAll?7
@@ -473,7 +475,7 @@
 eric7.DebugClients.Python.eric7dbgstub.startDebugger?4(enableTrace=True, exceptions=True, tracePython=False, redirect=True)
 eric7.DebugClients.Python.getpass.default_getpass?7
 eric7.DebugClients.Python.getpass.fallback_getpass?7
-eric7.DebugClients.Python.getpass.getpass?4(prompt='Password: ')
+eric7.DebugClients.Python.getpass.getpass?4(prompt='Password: ', stream=None)
 eric7.DebugClients.Python.getpass.getuser?4()
 eric7.DebugClients.Python.getpass.unix_getpass?7
 eric7.DebugClients.Python.getpass.win_getpass?7
@@ -773,8 +775,8 @@
 eric7.Debugger.DebuggerInterfaceNone.DebuggerInterfaceNone.remoteWatchpointIgnore?4(debuggerId, cond, count)
 eric7.Debugger.DebuggerInterfaceNone.DebuggerInterfaceNone.setCallTraceEnabled?4(debuggerId, on)
 eric7.Debugger.DebuggerInterfaceNone.DebuggerInterfaceNone.shutdown?4()
-eric7.Debugger.DebuggerInterfaceNone.DebuggerInterfaceNone.startRemote?4(port, runInConsole, venvName, originalPathString, workingDir=None)
-eric7.Debugger.DebuggerInterfaceNone.DebuggerInterfaceNone.startRemoteForProject?4(port, runInConsole, venvName, originalPathString, workingDir=None)
+eric7.Debugger.DebuggerInterfaceNone.DebuggerInterfaceNone.startRemote?4(port, runInConsole, venvName, originalPathString, workingDir=None, configOverride=None)
+eric7.Debugger.DebuggerInterfaceNone.DebuggerInterfaceNone.startRemoteForProject?4(port, runInConsole, venvName, originalPathString, workingDir=None, configOverride=None)
 eric7.Debugger.DebuggerInterfaceNone.DebuggerInterfaceNone?1(debugServer, passive)
 eric7.Debugger.DebuggerInterfaceNone.createDebuggerInterfaceNone?4(debugServer, passive)
 eric7.Debugger.DebuggerInterfaceNone.getRegistryData?4()
@@ -2492,6 +2494,7 @@
 eric7.MicroPython.EspBackupRestoreFirmwareDialog.EspBackupRestoreFirmwareDialog.getData?4()
 eric7.MicroPython.EspBackupRestoreFirmwareDialog.EspBackupRestoreFirmwareDialog.on_espComboBox_currentTextChanged?4(chip)
 eric7.MicroPython.EspBackupRestoreFirmwareDialog.EspBackupRestoreFirmwareDialog.on_firmwarePicker_textChanged?4(firmware)
+eric7.MicroPython.EspBackupRestoreFirmwareDialog.EspBackupRestoreFirmwareDialog.on_sizeComboBox_currentTextChanged?4(size)
 eric7.MicroPython.EspBackupRestoreFirmwareDialog.EspBackupRestoreFirmwareDialog?1(backupMode=True, parent=None)
 eric7.MicroPython.EspDevices.EspDevice.addDeviceMenuEntries?4(menu)
 eric7.MicroPython.EspDevices.EspDevice.canRunScript?4()
@@ -2510,6 +2513,7 @@
 eric7.MicroPython.EspFirmwareSelectionDialog.EspFirmwareSelectionDialog.FlashAddresses?7
 eric7.MicroPython.EspFirmwareSelectionDialog.EspFirmwareSelectionDialog.FlashModes?7
 eric7.MicroPython.EspFirmwareSelectionDialog.EspFirmwareSelectionDialog.getData?4()
+eric7.MicroPython.EspFirmwareSelectionDialog.EspFirmwareSelectionDialog.on_addressEdit_textChanged?4(address)
 eric7.MicroPython.EspFirmwareSelectionDialog.EspFirmwareSelectionDialog.on_espComboBox_currentTextChanged?4(chip)
 eric7.MicroPython.EspFirmwareSelectionDialog.EspFirmwareSelectionDialog.on_firmwarePicker_textChanged?4(firmware)
 eric7.MicroPython.EspFirmwareSelectionDialog.EspFirmwareSelectionDialog?1(addon=False, parent=None)
@@ -2626,12 +2630,13 @@
 eric7.MicroPython.MicroPythonFileManagerWidget.MicroPythonFileManagerWidget.start?4()
 eric7.MicroPython.MicroPythonFileManagerWidget.MicroPythonFileManagerWidget.stop?4()
 eric7.MicroPython.MicroPythonFileManagerWidget.MicroPythonFileManagerWidget?1(commandsInterface, deviceWithLocalAccess, parent=None)
+eric7.MicroPython.MicroPythonFileSystemUtilities.MPY_EPOCH?7
 eric7.MicroPython.MicroPythonFileSystemUtilities.decoratedName?4(name, mode, isDir=False)
 eric7.MicroPython.MicroPythonFileSystemUtilities.fstat?4(filename)
 eric7.MicroPython.MicroPythonFileSystemUtilities.isVisible?4(name, showHidden)
 eric7.MicroPython.MicroPythonFileSystemUtilities.listdirStat?4(dirname, showHidden=False)
 eric7.MicroPython.MicroPythonFileSystemUtilities.mode2string?4(mode)
-eric7.MicroPython.MicroPythonFileSystemUtilities.mtime2string?4(mtime)
+eric7.MicroPython.MicroPythonFileSystemUtilities.mtime2string?4(mtime, adjustEpoch=False)
 eric7.MicroPython.MicroPythonGraphWidget.MicroPythonGraphWidget.dataFlood?7
 eric7.MicroPython.MicroPythonGraphWidget.MicroPythonGraphWidget.hasData?4()
 eric7.MicroPython.MicroPythonGraphWidget.MicroPythonGraphWidget.isDirty?4()
--- a/eric7/DataViews/PyCoverageDialog.py	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/DataViews/PyCoverageDialog.py	Fri Mar 04 18:06:25 2022 +0100
@@ -7,8 +7,9 @@
 Module implementing a Python code coverage dialog.
 """
 
+import contextlib
 import os
-import contextlib
+import time
 
 from PyQt6.QtCore import pyqtSlot, Qt
 from PyQt6.QtWidgets import (
@@ -194,6 +195,7 @@
             self.resultList.setSortingEnabled(False)
             
             # now go through all the files
+            now = time.monotonic()
             for progress, file in enumerate(files, start=1):
                 if self.cancelled:
                     return
@@ -215,7 +217,9 @@
                     total_exceptions += 1
                 
                 self.checkProgress.setValue(progress)
-                QApplication.processEvents()
+                if time.monotonic() - now > 0.01:
+                    QApplication.processEvents()
+                    now = time.monotonic()
         finally:
             # reenable updates of the list
             self.resultList.setSortingEnabled(True)
--- a/eric7/DataViews/PyProfileDialog.py	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/DataViews/PyProfileDialog.py	Fri Mar 04 18:06:25 2022 +0100
@@ -9,6 +9,7 @@
 
 import os
 import pickle       # secok
+import time
 
 from PyQt6.QtCore import Qt
 from PyQt6.QtWidgets import (
@@ -173,6 +174,7 @@
             self.resultList.setSortingEnabled(False)
             
             # now go through all the files
+            now = time.monotonic()
             for progress, (func, (cc, nc, tt, ct, _callers)) in enumerate(
                 list(self.stats.items()), start=1
             ):
@@ -212,7 +214,9 @@
                                             func[1], func[2])
                     
                 self.checkProgress.setValue(progress)
-                QApplication.processEvents()
+                if time.monotonic() - now > 0.01:
+                    QApplication.processEvents()
+                    now = time.monotonic()
         finally:
             # reenable updates of the list
             self.resultList.setSortingEnabled(True)
--- a/eric7/DebugClients/Python/AsyncFile.py	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/DebugClients/Python/AsyncFile.py	Fri Mar 04 18:06:25 2022 +0100
@@ -36,7 +36,10 @@
     """
     Class wrapping a socket object with a file interface.
     """
-    maxtries = 10
+    MAX_TRIES = 10
+    
+    BUFSIZE = 2 ** 14           # 16 kBytes
+    CMD_BUFSIZE = 2 ** 12       # 4 kBytes
     
     def __init__(self, sock, mode, name):
         """
@@ -117,7 +120,7 @@
                 self.nWriteErrors = 0
             except OSError:
                 self.nWriteErrors += 1
-                if self.nWriteErrors > self.maxtries:
+                if self.nWriteErrors > AsyncFile.MAX_TRIES:
                     self.wpending = []    # delete all output
         self.writeLock.release()
 
@@ -163,7 +166,7 @@
         self.__checkMode('r')
 
         if size < 0:
-            size = 20000
+            size = AsyncFile.BUFSIZE
 
         return self.sock.recv(size).decode('utf8', 'backslashreplace')
 
@@ -195,9 +198,10 @@
         length = int(length)
         data = b''
         while len(data) < length:
-            newByte = self.sock.recv(1)
-            data += newByte
-            if newByte == b'\n':
+            remaining = length - len(data)
+            newBytes = self.sock.recv(min(remaining, AsyncFile.CMD_BUFSIZE))
+            data += newBytes
+            if newBytes[-1] == b'\n':
                 break
         
         # step 2: convert the data
@@ -218,7 +222,7 @@
         self.__checkMode('r')
 
         if size < 0:
-            size = 20000
+            size = AsyncFile.BUFSIZE
 
         # The integration of the debugger client event loop and the connection
         # to the debugger relies on the two lines of the debugger command being
--- a/eric7/DebugClients/Python/DebugBase.py	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/DebugClients/Python/DebugBase.py	Fri Mar 04 18:06:25 2022 +0100
@@ -85,7 +85,7 @@
         self.id = -1
         self.name = ''
         
-        self.tracePythonLibs(0)
+        self.tracePythonLibs(False)
         
         # Special handling of a recursion error
         self.skipFrames = 0
--- a/eric7/DebugClients/Python/DebugClientBase.py	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/DebugClients/Python/DebugClientBase.py	Fri Mar 04 18:06:25 2022 +0100
@@ -7,21 +7,20 @@
 Module implementing a debug client base class.
 """
 
-import sys
-import socket
-import select
+import atexit
+import codecs
 import codeop
-import codecs
-import traceback
-import os
+import contextlib
+import fnmatch
 import json
+import os
 import re
-import atexit
+import select
 import signal
-import time
+import socket
+import sys
+import traceback
 import types
-import fnmatch
-import contextlib
 
 import DebugClientCapabilities
 import DebugVariables
@@ -40,7 +39,7 @@
 ###############################################################################
 
 
-def DebugClientInput(prompt=""):
+def DebugClientInput(prompt="", echo=True):
     """
     Replacement for the standard input() builtin.
     
@@ -48,13 +47,15 @@
     
     @param prompt prompt to be shown
     @type str
+    @param echo flag indicating echoing of the input
+    @type bool
     @return result of the input() call
     @rtype str
     """
     if DebugClientInstance is None or not DebugClientInstance.redirect:
         return DebugClientOrigInput(prompt)
     else:
-        return DebugClientInstance.input(prompt)
+        return DebugClientInstance.input(prompt, echo=echo)
 
 # Use our own input().
 try:
@@ -226,9 +227,12 @@
         """
         Public method to implement input() using the event loop.
         
-        @param prompt the prompt to be shown (string)
-        @param echo Flag indicating echoing of the input (boolean)
+        @param prompt prompt to be shown
+        @type str
+        @param echo flag indicating echoing of the input
+        @type bool
         @return the entered string
+        @rtype str
         """
         self.sendJsonCommand("RequestRaw", {
             "prompt": prompt,
@@ -1216,7 +1220,7 @@
         while not self.eventExit:
             wrdy = []
 
-            if self.writestream.nWriteErrors > self.writestream.maxtries:
+            if self.writestream.nWriteErrors > self.writestream.MAX_TRIES:
                 break
             
             if AsyncPendingWrite(self.writestream):
@@ -1959,6 +1963,8 @@
         if progargs:
             if not progargs[0].startswith("-"):
                 name = os.path.basename(progargs[0])
+            elif progargs[0] == "--multiprocessing-fork":
+                name = "debug_client_mp-fork"
             else:
                 name = "debug_client_code"
         else:
@@ -2047,17 +2053,18 @@
             host, version = host.split("@@")
         except ValueError:
             version = 'v4'
-        family = socket.AF_INET if version == 'v4' else socket.AF_INET6
         
-        retryCount = 0
-        while retryCount < 10:
-            try:
-                addrinfo = socket.getaddrinfo(
-                    host, None, family, socket.SOCK_STREAM)
-                return addrinfo[0][4][0]
-            except Exception:
-                retryCount += 1
-                time.sleep(3)
+        family = (
+            0
+            if version.startswith("i") else
+            (socket.AF_INET if version == 'v4' else socket.AF_INET6)
+        )
+        
+        with contextlib.suppress(OSError):
+            addrinfo = socket.getaddrinfo(
+                host, None, family, socket.SOCK_STREAM)
+            return addrinfo[0][4][0]
+        
         return None
     
     def main(self):
--- a/eric7/DebugClients/Python/getpass.py	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/DebugClients/Python/getpass.py	Fri Mar 04 18:06:25 2022 +0100
@@ -26,7 +26,7 @@
     @return username
     @rtype str
     """
-    # this is copied from the oroginal getpass.py
+    # this is copied from the original getpass.py
     
     import os
 
@@ -40,17 +40,19 @@
     return pwd.getpwuid(os.getuid())[0]
 
 
-def getpass(prompt='Password: '):
+def getpass(prompt='Password: ', stream=None):
     """
     Function to prompt for a password, with echo turned off.
     
     @param prompt Prompt to be shown to the user
     @type str
+    @param stream input stream to read from (ignored)
+    @type file
     @return Password entered by the user
     @rtype str
     """
     return input(prompt, False)     # secok
-    
+
 
 unix_getpass = getpass
 win_getpass = getpass
--- a/eric7/Debugger/DebuggerInterfaceNone.py	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/Debugger/DebuggerInterfaceNone.py	Fri Mar 04 18:06:25 2022 +0100
@@ -39,7 +39,7 @@
         self.clientCapabilities = ClientDefaultCapabilities
         
     def startRemote(self, port, runInConsole, venvName, originalPathString,
-                    workingDir=None):
+                    workingDir=None, configOverride=None):
         """
         Public method to start a remote Python interpreter.
         
@@ -54,6 +54,9 @@
         @type str
         @param workingDir directory to start the debugger client in
         @type str
+        @param configOverride dictionary containing the global config override
+            data
+        @type dict
         @return client process object, a flag to indicate a network connection
             and the name of the interpreter in case of a local execution
         @rtype tuple of (QProcess, bool, str)
@@ -61,7 +64,8 @@
         return None, True, ""
 
     def startRemoteForProject(self, port, runInConsole, venvName,
-                              originalPathString, workingDir=None):
+                              originalPathString, workingDir=None,
+                              configOverride=None):
         """
         Public method to start a remote Python interpreter for a project.
         
@@ -76,6 +80,9 @@
         @type str
         @param workingDir directory to start the debugger client in
         @type str
+        @param configOverride dictionary containing the global config override
+            data
+        @type dict
         @return client process object, a flag to indicate a network connection
             and the name of the interpreter in case of a local execution
         @rtype tuple of (QProcess, bool, str)
--- a/eric7/Debugger/DebuggerInterfacePython.py	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/Debugger/DebuggerInterfacePython.py	Fri Mar 04 18:06:25 2022 +0100
@@ -138,7 +138,7 @@
         @return the process object
         @rtype QProcess or None
         """
-        proc = QProcess()
+        proc = QProcess(self)
         if environment is not None:
             env = QProcessEnvironment()
             for key, value in list(environment.items()):
@@ -574,6 +574,7 @@
                 self.__autoContinue and
                 not self.__isStepCommand
             ):
+                self.__autoContinued.append(debuggerId)
                 QTimer.singleShot(
                     0, lambda: self.remoteContinue(debuggerId))
     
Binary file eric7/Documentation/Help/source.qch has changed
--- a/eric7/Documentation/Help/source.qhp	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/Documentation/Help/source.qhp	Fri Mar 04 18:06:25 2022 +0100
@@ -1403,6 +1403,7 @@
             <section title="eric7.WebBrowser.WebBrowserWindow" ref="eric7.WebBrowser.WebBrowserWindow.html" />
             <section title="eric7.WebBrowser.WebInspector" ref="eric7.WebBrowser.WebInspector.html" />
           </section>
+          <section title="eric7.__main__" ref="eric7.__main__.html" />
           <section title="eric7.eric7" ref="eric7.eric7.html" />
           <section title="eric7.eric7_api" ref="eric7.eric7_api.html" />
           <section title="eric7.eric7_browser" ref="eric7.eric7_browser.html" />
@@ -5801,6 +5802,7 @@
       <keyword name="EspBackupRestoreFirmwareDialog.getData" id="EspBackupRestoreFirmwareDialog.getData" ref="eric7.MicroPython.EspBackupRestoreFirmwareDialog.html#EspBackupRestoreFirmwareDialog.getData" />
       <keyword name="EspBackupRestoreFirmwareDialog.on_espComboBox_currentTextChanged" id="EspBackupRestoreFirmwareDialog.on_espComboBox_currentTextChanged" ref="eric7.MicroPython.EspBackupRestoreFirmwareDialog.html#EspBackupRestoreFirmwareDialog.on_espComboBox_currentTextChanged" />
       <keyword name="EspBackupRestoreFirmwareDialog.on_firmwarePicker_textChanged" id="EspBackupRestoreFirmwareDialog.on_firmwarePicker_textChanged" ref="eric7.MicroPython.EspBackupRestoreFirmwareDialog.html#EspBackupRestoreFirmwareDialog.on_firmwarePicker_textChanged" />
+      <keyword name="EspBackupRestoreFirmwareDialog.on_sizeComboBox_currentTextChanged" id="EspBackupRestoreFirmwareDialog.on_sizeComboBox_currentTextChanged" ref="eric7.MicroPython.EspBackupRestoreFirmwareDialog.html#EspBackupRestoreFirmwareDialog.on_sizeComboBox_currentTextChanged" />
       <keyword name="EspDevice" id="EspDevice" ref="eric7.MicroPython.EspDevices.html#EspDevice" />
       <keyword name="EspDevice (Constructor)" id="EspDevice (Constructor)" ref="eric7.MicroPython.EspDevices.html#EspDevice.__init__" />
       <keyword name="EspDevice.__backupFlash" id="EspDevice.__backupFlash" ref="eric7.MicroPython.EspDevices.html#EspDevice.__backupFlash" />
@@ -5831,6 +5833,7 @@
       <keyword name="EspFirmwareSelectionDialog (Module)" id="EspFirmwareSelectionDialog (Module)" ref="eric7.MicroPython.EspFirmwareSelectionDialog.html" />
       <keyword name="EspFirmwareSelectionDialog.__updateOkButton" id="EspFirmwareSelectionDialog.__updateOkButton" ref="eric7.MicroPython.EspFirmwareSelectionDialog.html#EspFirmwareSelectionDialog.__updateOkButton" />
       <keyword name="EspFirmwareSelectionDialog.getData" id="EspFirmwareSelectionDialog.getData" ref="eric7.MicroPython.EspFirmwareSelectionDialog.html#EspFirmwareSelectionDialog.getData" />
+      <keyword name="EspFirmwareSelectionDialog.on_addressEdit_textChanged" id="EspFirmwareSelectionDialog.on_addressEdit_textChanged" ref="eric7.MicroPython.EspFirmwareSelectionDialog.html#EspFirmwareSelectionDialog.on_addressEdit_textChanged" />
       <keyword name="EspFirmwareSelectionDialog.on_espComboBox_currentTextChanged" id="EspFirmwareSelectionDialog.on_espComboBox_currentTextChanged" ref="eric7.MicroPython.EspFirmwareSelectionDialog.html#EspFirmwareSelectionDialog.on_espComboBox_currentTextChanged" />
       <keyword name="EspFirmwareSelectionDialog.on_firmwarePicker_textChanged" id="EspFirmwareSelectionDialog.on_firmwarePicker_textChanged" ref="eric7.MicroPython.EspFirmwareSelectionDialog.html#EspFirmwareSelectionDialog.on_firmwarePicker_textChanged" />
       <keyword name="ExceptionLogger" id="ExceptionLogger" ref="eric7.Debugger.ExceptionLogger.html#ExceptionLogger" />
@@ -18026,6 +18029,7 @@
       <keyword name="__initializeCondaInterface" id="__initializeCondaInterface" ref="eric7.CondaInterface.__init__.html#__initializeCondaInterface" />
       <keyword name="__jsSyntaxCheck" id="__jsSyntaxCheck" ref="eric7.Plugins.CheckerPlugins.SyntaxChecker.jsCheckSyntax.html#__jsSyntaxCheck" />
       <keyword name="__jsonSyntaxCheck" id="__jsonSyntaxCheck" ref="eric7.Plugins.CheckerPlugins.SyntaxChecker.jsonCheckSyntax.html#__jsonSyntaxCheck" />
+      <keyword name="__main__ (Module)" id="__main__ (Module)" ref="eric7.__main__.html" />
       <keyword name="__mapType" id="__mapType" ref="eric7.Project.UicLoadUi5.html#__mapType" />
       <keyword name="__mapType" id="__mapType" ref="eric7.Project.UicLoadUi6.html#__mapType" />
       <keyword name="__messageBox" id="__messageBox" ref="eric7.EricWidgets.EricMessageBox.html#__messageBox" />
@@ -20230,6 +20234,7 @@
       <file>eric7.WebBrowser.ZoomManager.ZoomManager.html</file>
       <file>eric7.WebBrowser.ZoomManager.ZoomValuesDialog.html</file>
       <file>eric7.WebBrowser.ZoomManager.ZoomValuesModel.html</file>
+      <file>eric7.__main__.html</file>
       <file>eric7.eric7.html</file>
       <file>eric7.eric7_api.html</file>
       <file>eric7.eric7_browser.html</file>
--- a/eric7/Documentation/Source/eric7.DebugClients.Python.AsyncFile.html	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/Documentation/Source/eric7.DebugClients.Python.AsyncFile.html	Fri Mar 04 18:06:25 2022 +0100
@@ -48,7 +48,7 @@
 <h3>Class Attributes</h3>
 
 <table>
-<tr><td>maxtries</td></tr>
+<tr><td>BUFSIZE</td></tr><tr><td>CMD_BUFSIZE</td></tr><tr><td>MAX_TRIES</td></tr>
 </table>
 <h3>Class Methods</h3>
 
--- a/eric7/Documentation/Source/eric7.DebugClients.Python.DebugClientBase.html	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/Documentation/Source/eric7.DebugClients.Python.DebugClientBase.html	Fri Mar 04 18:06:25 2022 +0100
@@ -784,13 +784,13 @@
 </p>
 <dl>
 
-<dt><i>prompt</i></dt>
+<dt><i>prompt</i> (str)</dt>
 <dd>
-the prompt to be shown (string)
+prompt to be shown
 </dd>
-<dt><i>echo</i></dt>
+<dt><i>echo</i> (bool)</dt>
 <dd>
-Flag indicating echoing of the input (boolean)
+flag indicating echoing of the input
 </dd>
 </dl>
 <dl>
@@ -799,6 +799,12 @@
 the entered string
 </dd>
 </dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+str
+</dd>
+</dl>
 <a NAME="DebugClientBase.main" ID="DebugClientBase.main"></a>
 <h4>DebugClientBase.main</h4>
 <b>main</b>(<i></i>)
@@ -1275,7 +1281,7 @@
 <hr />
 <a NAME="DebugClientInput" ID="DebugClientInput"></a>
 <h2>DebugClientInput</h2>
-<b>DebugClientInput</b>(<i>prompt=""</i>)
+<b>DebugClientInput</b>(<i>prompt="", echo=True</i>)
 
 <p>
     Replacement for the standard input() builtin.
@@ -1289,6 +1295,10 @@
 <dd>
 prompt to be shown
 </dd>
+<dt><i>echo</i> (bool)</dt>
+<dd>
+flag indicating echoing of the input
+</dd>
 </dl>
 <dl>
 <dt>Return:</dt>
--- a/eric7/Documentation/Source/eric7.DebugClients.Python.getpass.html	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/Documentation/Source/eric7.DebugClients.Python.getpass.html	Fri Mar 04 18:06:25 2022 +0100
@@ -46,7 +46,7 @@
 <hr />
 <a NAME="getpass" ID="getpass"></a>
 <h2>getpass</h2>
-<b>getpass</b>(<i>prompt='Password: '</i>)
+<b>getpass</b>(<i>prompt='Password: ', stream=None</i>)
 
 <p>
     Function to prompt for a password, with echo turned off.
@@ -57,6 +57,10 @@
 <dd>
 Prompt to be shown to the user
 </dd>
+<dt><i>stream</i> (file)</dt>
+<dd>
+input stream to read from (ignored)
+</dd>
 </dl>
 <dl>
 <dt>Return:</dt>
--- a/eric7/Documentation/Source/eric7.Debugger.DebuggerInterfaceNone.html	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/Documentation/Source/eric7.Debugger.DebuggerInterfaceNone.html	Fri Mar 04 18:06:25 2022 +0100
@@ -1132,7 +1132,7 @@
 </p>
 <a NAME="DebuggerInterfaceNone.startRemote" ID="DebuggerInterfaceNone.startRemote"></a>
 <h4>DebuggerInterfaceNone.startRemote</h4>
-<b>startRemote</b>(<i>port, runInConsole, venvName, originalPathString, workingDir=None</i>)
+<b>startRemote</b>(<i>port, runInConsole, venvName, originalPathString, workingDir=None, configOverride=None</i>)
 
 <p>
         Public method to start a remote Python interpreter.
@@ -1160,6 +1160,11 @@
 <dd>
 directory to start the debugger client in
 </dd>
+<dt><i>configOverride</i> (dict)</dt>
+<dd>
+dictionary containing the global config override
+            data
+</dd>
 </dl>
 <dl>
 <dt>Return:</dt>
@@ -1176,7 +1181,7 @@
 </dl>
 <a NAME="DebuggerInterfaceNone.startRemoteForProject" ID="DebuggerInterfaceNone.startRemoteForProject"></a>
 <h4>DebuggerInterfaceNone.startRemoteForProject</h4>
-<b>startRemoteForProject</b>(<i>port, runInConsole, venvName, originalPathString, workingDir=None</i>)
+<b>startRemoteForProject</b>(<i>port, runInConsole, venvName, originalPathString, workingDir=None, configOverride=None</i>)
 
 <p>
         Public method to start a remote Python interpreter for a project.
@@ -1204,6 +1209,11 @@
 <dd>
 directory to start the debugger client in
 </dd>
+<dt><i>configOverride</i> (dict)</dt>
+<dd>
+dictionary containing the global config override
+            data
+</dd>
 </dl>
 <dl>
 <dt>Return:</dt>
--- a/eric7/Documentation/Source/eric7.MicroPython.EspBackupRestoreFirmwareDialog.html	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/Documentation/Source/eric7.MicroPython.EspBackupRestoreFirmwareDialog.html	Fri Mar 04 18:06:25 2022 +0100
@@ -76,6 +76,10 @@
 <td><a href="#EspBackupRestoreFirmwareDialog.on_firmwarePicker_textChanged">on_firmwarePicker_textChanged</a></td>
 <td>Private slot handling a change of the firmware path.</td>
 </tr>
+<tr>
+<td><a href="#EspBackupRestoreFirmwareDialog.on_sizeComboBox_currentTextChanged">on_sizeComboBox_currentTextChanged</a></td>
+<td>Private slot handling a change of the selected firmware size.</td>
+</tr>
 </table>
 <h3>Static Methods</h3>
 
@@ -120,13 +124,14 @@
 <dt>Return:</dt>
 <dd>
 tuple containing the selected chip type, the firmware size,
-            the flash mode and the path of the firmware file
+            the baud rate or flashing, the flash mode and the path of the
+            firmware file
 </dd>
 </dl>
 <dl>
 <dt>Return Type:</dt>
 <dd>
-tuple of (str, str, str, str)
+tuple of (str, str, str, str, str)
 </dd>
 </dl>
 <a NAME="EspBackupRestoreFirmwareDialog.on_espComboBox_currentTextChanged" ID="EspBackupRestoreFirmwareDialog.on_espComboBox_currentTextChanged"></a>
@@ -157,6 +162,20 @@
 path to the firmware
 </dd>
 </dl>
+<a NAME="EspBackupRestoreFirmwareDialog.on_sizeComboBox_currentTextChanged" ID="EspBackupRestoreFirmwareDialog.on_sizeComboBox_currentTextChanged"></a>
+<h4>EspBackupRestoreFirmwareDialog.on_sizeComboBox_currentTextChanged</h4>
+<b>on_sizeComboBox_currentTextChanged</b>(<i>size</i>)
+
+<p>
+        Private slot handling a change of the selected firmware size.
+</p>
+<dl>
+
+<dt><i>size</i> (str)</dt>
+<dd>
+selected size text
+</dd>
+</dl>
 <div align="right"><a href="#top">Up</a></div>
 <hr />
 </body></html>
\ No newline at end of file
--- a/eric7/Documentation/Source/eric7.MicroPython.EspFirmwareSelectionDialog.html	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/Documentation/Source/eric7.MicroPython.EspFirmwareSelectionDialog.html	Fri Mar 04 18:06:25 2022 +0100
@@ -69,6 +69,10 @@
 <td>Public method to get the entered data.</td>
 </tr>
 <tr>
+<td><a href="#EspFirmwareSelectionDialog.on_addressEdit_textChanged">on_addressEdit_textChanged</a></td>
+<td>Private slot handling a change of the address.</td>
+</tr>
+<tr>
 <td><a href="#EspFirmwareSelectionDialog.on_espComboBox_currentTextChanged">on_espComboBox_currentTextChanged</a></td>
 <td>Private slot to handle the selection of a chip type.</td>
 </tr>
@@ -129,6 +133,20 @@
 tuple of (str, str, str, str, str)
 </dd>
 </dl>
+<a NAME="EspFirmwareSelectionDialog.on_addressEdit_textChanged" ID="EspFirmwareSelectionDialog.on_addressEdit_textChanged"></a>
+<h4>EspFirmwareSelectionDialog.on_addressEdit_textChanged</h4>
+<b>on_addressEdit_textChanged</b>(<i>address</i>)
+
+<p>
+        Private slot handling a change of the address.
+</p>
+<dl>
+
+<dt><i>address</i> (str)</dt>
+<dd>
+entered address
+</dd>
+</dl>
 <a NAME="EspFirmwareSelectionDialog.on_espComboBox_currentTextChanged" ID="EspFirmwareSelectionDialog.on_espComboBox_currentTextChanged"></a>
 <h4>EspFirmwareSelectionDialog.on_espComboBox_currentTextChanged</h4>
 <b>on_espComboBox_currentTextChanged</b>(<i>chip</i>)
--- a/eric7/Documentation/Source/eric7.MicroPython.MicroPythonFileSystemUtilities.html	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/Documentation/Source/eric7.MicroPython.MicroPythonFileSystemUtilities.html	Fri Mar 04 18:06:25 2022 +0100
@@ -14,7 +14,7 @@
 <h3>Global Attributes</h3>
 
 <table>
-<tr><td>None</td></tr>
+<tr><td>MPY_EPOCH</td></tr>
 </table>
 <h3>Classes</h3>
 
@@ -216,7 +216,7 @@
 <hr />
 <a NAME="mtime2string" ID="mtime2string"></a>
 <h2>mtime2string</h2>
-<b>mtime2string</b>(<i>mtime</i>)
+<b>mtime2string</b>(<i>mtime, adjustEpoch=False</i>)
 
 <p>
     Function to convert a time value to a string representation.
@@ -227,6 +227,11 @@
 <dd>
 time value
 </dd>
+<dt><i>adjustEpoch</i> (bool (optional))</dt>
+<dd>
+flag indicating to adjust the time for the difference
+        of the MPy epoch (defaults to False)
+</dd>
 </dl>
 <dl>
 <dt>Return:</dt>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric7/Documentation/Source/eric7.__main__.html	Fri Mar 04 18:06:25 2022 +0100
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html><head>
+<title>eric7.__main__</title>
+<meta charset="UTF-8">
+<link rel="stylesheet" href="styles.css">
+</head>
+<body>
+<a NAME="top" ID="top"></a>
+<h1>eric7.__main__</h1>
+
+<p>
+Main script to enable starting eric7 with 'python -m eric7'.
+</p>
+<h3>Global Attributes</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Classes</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Functions</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<hr />
+</body></html>
\ No newline at end of file
--- a/eric7/Documentation/Source/index-eric7.html	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/Documentation/Source/index-eric7.html	Fri Mar 04 18:06:25 2022 +0100
@@ -192,6 +192,10 @@
 <table>
 
 <tr>
+<td><a href="eric7.__main__.html">__main__</a></td>
+<td>Main script to enable starting eric7 with 'python -m eric7'.</td>
+</tr>
+<tr>
 <td><a href="eric7.eric7.html">eric7</a></td>
 <td>eric Python IDE.</td>
 </tr>
--- a/eric7/DocumentationTools/QtHelpGenerator.py	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/DocumentationTools/QtHelpGenerator.py	Fri Mar 04 18:06:25 2022 +0100
@@ -276,7 +276,7 @@
         shutil.copy(
             os.path.join(self.outputDir, HelpProjectFile), self.htmlDir)
         os.chdir(self.htmlDir)
-        subprocess.call([           # secok
+        subprocess.run([            # secok
             qhelpgeneratorExe,
             HelpProjectFile, "-o", os.path.join(self.outputDir, HelpHelpFile)])
         os.remove(HelpProjectFile)
@@ -286,7 +286,7 @@
             sys.stdout.flush()
             sys.stderr.flush()
             os.chdir(self.outputDir)
-            subprocess.call([       # secok
+            subprocess.run([        # secok
                 qhelpgeneratorExe,
                 HelpCollectionProjectFile, "-o", HelpCollectionFile])
         
--- a/eric7/EricNetwork/EricJsonServer.py	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/EricNetwork/EricJsonServer.py	Fri Mar 04 18:06:25 2022 +0100
@@ -274,6 +274,7 @@
                     # check if client exited prematurely
                     QCoreApplication.processEvents(
                         QEventLoop.ProcessEventsFlag.ExcludeUserInputEvents)
+                    QThread.msleep(100)
                     if proc.state() == QProcess.ProcessState.NotRunning:
                         exitCode = proc.exitCode()
                         proc = None
--- a/eric7/Globals/__init__.py	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/Globals/__init__.py	Fri Mar 04 18:06:25 2022 +0100
@@ -101,6 +101,9 @@
     
     currDesktop = os.environ.get("KDE_FULL_SESSION", "")
     if currDesktop:
+        if currDesktop == "true":
+            return "KDE"
+        
         return currDesktop
     
     currDesktop = os.environ.get("DESKTOP_SESSION", "")
--- a/eric7/Graphics/ApplicationDiagramBuilder.py	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/Graphics/ApplicationDiagramBuilder.py	Fri Mar 04 18:06:25 2022 +0100
@@ -7,8 +7,9 @@
 Module implementing a dialog showing an imports diagram of the application.
 """
 
+import glob
 import os
-import glob
+import time
 
 from PyQt6.QtWidgets import QApplication, QInputDialog
 
@@ -76,9 +77,12 @@
             progress.show()
             QApplication.processEvents()
             
+            now = time.monotonic()
             for prog, module in enumerate(modules):
                 progress.setValue(prog)
-                QApplication.processEvents()
+                if time.monotonic() - now > 0.01:
+                    QApplication.processEvents()
+                    now = time.monotonic()
                 if module.endswith("__init__.py"):
                     continue
                 try:
--- a/eric7/Graphics/ImportsDiagramBuilder.py	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/Graphics/ImportsDiagramBuilder.py	Fri Mar 04 18:06:25 2022 +0100
@@ -9,6 +9,7 @@
 
 import glob
 import os
+import time
 
 from PyQt6.QtWidgets import QApplication, QGraphicsTextItem
 
@@ -108,9 +109,13 @@
         try:
             progress.show()
             QApplication.processEvents()
+            
+            now = time.monotonic()
             for prog, module in enumerate(modules):
                 progress.setValue(prog)
-                QApplication.processEvents()
+                if time.monotonic() - now > 0.01:
+                    QApplication.processEvents()
+                    now = time.monotonic()
                 try:
                     mod = Utilities.ModuleParser.readModule(
                         module, extensions=extensions, caching=False)
--- a/eric7/Graphics/PackageDiagramBuilder.py	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/Graphics/PackageDiagramBuilder.py	Fri Mar 04 18:06:25 2022 +0100
@@ -8,7 +8,8 @@
 """
 
 import glob
-import os.path
+import os
+import time
 from itertools import zip_longest
 
 from PyQt6.QtWidgets import QApplication, QGraphicsTextItem
@@ -110,9 +111,12 @@
             progress.show()
             QApplication.processEvents()
             
+            now = time.monotonic()
             for prog, module in enumerate(modules):
                 progress.setValue(prog)
-                QApplication.processEvents()
+                if time.monotonic() - now > 0.01:
+                    QApplication.processEvents()
+                    now = time.monotonic()
                 try:
                     mod = Utilities.ModuleParser.readModule(
                         module, extensions=extensions, caching=False)
@@ -174,6 +178,7 @@
             progress.show()
             QApplication.processEvents()
             
+            now = time.monotonic()
             for subpackage in subpackagesList:
                 packageName = os.path.basename(subpackage)
                 subpackagesDict[packageName] = []
@@ -183,7 +188,9 @@
                         Utilities.normjoinpath(subpackage, ext)))
                 for prog, module in enumerate(modules):
                     progress.setValue(prog)
-                    QApplication.processEvents()
+                    if time.monotonic() - now > 0.01:
+                        QApplication.processEvents()
+                        now = time.monotonic()
                     try:
                         mod = Utilities.ModuleParser.readModule(
                             module, extensions=extensions, caching=False)
--- a/eric7/JediInterface/AssistantJedi.py	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/JediInterface/AssistantJedi.py	Fri Mar 04 18:06:25 2022 +0100
@@ -153,7 +153,8 @@
         menu = editor.getMenu("Main")
         if menu is not None and editor in self.__menuActions:
             for act in self.__menuActions[editor]:
-                menu.removeAction(act)
+                with contextlib.suppress(RuntimeError):
+                    menu.removeAction(act)
             del self.__menuActions[editor]
     
     def __connectMouseClickHandler(self, editor):
--- a/eric7/JediInterface/JediServer.py	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/JediInterface/JediServer.py	Fri Mar 04 18:06:25 2022 +0100
@@ -11,7 +11,7 @@
 import os
 import uuid
 
-from PyQt6.QtCore import pyqtSlot, QCoreApplication, QTimer
+from PyQt6.QtCore import pyqtSlot, QCoreApplication, QTimer, QThread
 from PyQt6.QtWidgets import QInputDialog, QLineEdit, QDialog
 
 from EricWidgets.EricApplication import ericApp
@@ -264,6 +264,7 @@
         timer.start(5000)           # 5s timeout
         while self.__calltips is None and timer.isActive():
             QCoreApplication.processEvents()
+            QThread.msleep(100)
         
         return [] if self.__calltips is None else self.__calltips
     
--- a/eric7/MicroPython/EspBackupRestoreFirmwareDialog.py	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/MicroPython/EspBackupRestoreFirmwareDialog.py	Fri Mar 04 18:06:25 2022 +0100
@@ -36,6 +36,7 @@
     )
     
     FlashModes = [
+        ("", ""),
         ("Quad I/O", "qio"),
         ("Quad Output", "qout"),
         ("Dual I/O", "dio"),
@@ -100,12 +101,18 @@
         for text, chip in self.Chips:
             self.espComboBox.addItem(text, chip)
         
+        self.baudRateComboBox.addItems([
+            "74.880", "115.200", "230.400", "460.800", "921.600", "1.500.000"])
+        self.baudRateComboBox.setCurrentIndex(3)
+        
         self.firmwarePicker.setFilters(
             self.tr("Firmware Files (*.img);;All Files (*)"))
         if self.__isBackupMode:
             self.firmwarePicker.setMode(
                 EricPathPickerModes.SAVE_FILE_ENSURE_EXTENSION_MODE)
+            self.sizeInfoLabel.clear()
             self.modeComboBox.setEnabled(False)
+            self.modeInfoLabel.setEnabled(False)
             self.setWindowTitle(self.tr("Backup Firmware"))
         else:
             self.firmwarePicker.setMode(EricPathPickerModes.OPEN_FILE_MODE)
@@ -151,6 +158,16 @@
         self.__updateOkButton()
     
     @pyqtSlot(str)
+    def on_sizeComboBox_currentTextChanged(self, size):
+        """
+        Private slot handling a change of the selected firmware size.
+        
+        @param size selected size text
+        @type str
+        """
+        self.__updateOkButton()
+    
+    @pyqtSlot(str)
     def on_firmwarePicker_textChanged(self, firmware):
         """
         Private slot handling a change of the firmware path.
@@ -165,12 +182,20 @@
         Public method to get the entered data.
         
         @return tuple containing the selected chip type, the firmware size,
-            the flash mode and the path of the firmware file
-        @rtype tuple of (str, str, str, str)
+            the baud rate or flashing, the flash mode and the path of the
+            firmware file
+        @rtype tuple of (str, str, str, str, str)
         """
+        flashSize = (
+            self.sizeComboBox.currentData()
+            if self.__isBackupMode else
+            self.sizeComboBox.currentText().replace(" ", "")
+        )
+        
         return (
             self.espComboBox.currentData(),
-            self.sizeComboBox.currentData(),
+            flashSize,
+            self.baudRateComboBox.currentText().replace(".", ""),
             self.modeComboBox.currentData(),
             self.firmwarePicker.text(),
         )
--- a/eric7/MicroPython/EspBackupRestoreFirmwareDialog.ui	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/MicroPython/EspBackupRestoreFirmwareDialog.ui	Fri Mar 04 18:06:25 2022 +0100
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>500</width>
-    <height>166</height>
+    <height>198</height>
    </rect>
   </property>
   <property name="sizeGripEnabled">
@@ -40,7 +40,7 @@
        </property>
        <property name="sizeHint" stdset="0">
         <size>
-         <width>268</width>
+         <width>298</width>
          <height>20</height>
         </size>
        </property>
@@ -60,31 +60,77 @@
        </property>
       </widget>
      </item>
+     <item row="1" column="2">
+      <widget class="QLabel" name="sizeInfoLabel">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="text">
+        <string>Leave empty to auto detect. size.</string>
+       </property>
+       <property name="wordWrap">
+        <bool>true</bool>
+       </property>
+      </widget>
+     </item>
      <item row="2" column="0">
+      <widget class="QLabel" name="label_6">
+       <property name="text">
+        <string>Baud Rate:</string>
+       </property>
+      </widget>
+     </item>
+     <item row="2" column="1">
+      <widget class="QComboBox" name="baudRateComboBox">
+       <property name="toolTip">
+        <string>Select the baud rate to be used for flashing (default: 115.200 bps)</string>
+       </property>
+      </widget>
+     </item>
+     <item row="3" column="0">
       <widget class="QLabel" name="label_3">
        <property name="toolTip">
         <string/>
        </property>
        <property name="text">
-        <string>Flashmode:</string>
+        <string>Flash Mode:</string>
        </property>
       </widget>
      </item>
-     <item row="2" column="1">
+     <item row="3" column="1">
       <widget class="QComboBox" name="modeComboBox">
        <property name="toolTip">
         <string>Select the flash mode</string>
        </property>
       </widget>
      </item>
-     <item row="3" column="0">
+     <item row="3" column="2">
+      <widget class="QLabel" name="modeInfoLabel">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="text">
+        <string>Leave empty to use the default mode.</string>
+       </property>
+       <property name="wordWrap">
+        <bool>true</bool>
+       </property>
+      </widget>
+     </item>
+     <item row="4" column="0">
       <widget class="QLabel" name="label_4">
        <property name="text">
         <string>Firmware:</string>
        </property>
       </widget>
      </item>
-     <item row="3" column="1" colspan="2">
+     <item row="4" column="1" colspan="2">
       <widget class="EricPathPicker" name="firmwarePicker" native="true">
        <property name="sizePolicy">
         <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
@@ -122,6 +168,13 @@
    <container>1</container>
   </customwidget>
  </customwidgets>
+ <tabstops>
+  <tabstop>espComboBox</tabstop>
+  <tabstop>sizeComboBox</tabstop>
+  <tabstop>baudRateComboBox</tabstop>
+  <tabstop>modeComboBox</tabstop>
+  <tabstop>firmwarePicker</tabstop>
+ </tabstops>
  <resources/>
  <connections>
   <connection>
--- a/eric7/MicroPython/EspDevices.py	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/MicroPython/EspDevices.py	Fri Mar 04 18:06:25 2022 +0100
@@ -271,12 +271,13 @@
         )
         dlg = EspBackupRestoreFirmwareDialog(backupMode=True)
         if dlg.exec() == QDialog.DialogCode.Accepted:
-            chip, flashSize, flashMode, firmware = dlg.getData()
+            chip, flashSize, baudRate, flashMode, firmware = dlg.getData()
             flashArgs = [
                 "-u",
                 "-m", "esptool",
                 "--chip", chip,
                 "--port", self.microPython.getCurrentPort(),
+                "--baud", baudRate,
                 "read_flash",
                 "0x0", flashSize,
                 firmware,
@@ -298,15 +299,19 @@
         )
         dlg = EspBackupRestoreFirmwareDialog(backupMode=False)
         if dlg.exec() == QDialog.DialogCode.Accepted:
-            chip, flashSize, flashMode, firmware = dlg.getData()
+            chip, flashSize, baudRate, flashMode, firmware = dlg.getData()
             flashArgs = [
                 "-u",
                 "-m", "esptool",
                 "--chip", chip,
                 "--port", self.microPython.getCurrentPort(),
+                "--baud", baudRate,
                 "write_flash",
-                "--flash_mode", flashMode,
             ]
+            if flashMode:
+                flashArgs.extend([
+                    "--flash_mode", flashMode,
+                ])
             if bool(flashSize):
                 flashArgs.extend([
                     "--flash_size", flashSize,
--- a/eric7/MicroPython/EspFirmwareSelectionDialog.py	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/MicroPython/EspFirmwareSelectionDialog.py	Fri Mar 04 18:06:25 2022 +0100
@@ -46,7 +46,7 @@
         "esp32": "0x1000",
         "esp32c3": "0x0000",
         "esp32s2": "0x1000",
-        "esp32s3": "0x1000",
+        "esp32s3": "0x0000",
     }
     
     def __init__(self, addon=False, parent=None):
@@ -72,14 +72,14 @@
         
         self.baudRateComboBox.addItems([
             "74.880", "115.200", "230.400", "460.800", "921.600", "1.500.000"])
-        self.baudRateComboBox.setCurrentIndex(1)
+        self.baudRateComboBox.setCurrentIndex(3)
         
         for text, mode in self.FlashModes:
             self.modeComboBox.addItem(text, mode)
         
         if addon:
             self.__validator = QRegularExpressionValidator(
-                QRegularExpression(r"[0-9a-fA-F]{0,4}")
+                QRegularExpression(r"[0-9a-fA-F]{0,7}")
             )
             self.addressEdit.setValidator(self.__validator)
         else:
@@ -121,6 +121,16 @@
         """
         self.__updateOkButton()
     
+    @pyqtSlot(str)
+    def on_addressEdit_textChanged(self, address):
+        """
+        Private slot handling a change of the address.
+        
+        @param address entered address
+        @type str
+        """
+        self.__updateOkButton()
+    
     def getData(self):
         """
         Public method to get the entered data.
--- a/eric7/MicroPython/EspFirmwareSelectionDialog.ui	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/MicroPython/EspFirmwareSelectionDialog.ui	Fri Mar 04 18:06:25 2022 +0100
@@ -136,7 +136,7 @@
         <string>Enter the flash addres in the hexadecimal form</string>
        </property>
        <property name="maxLength">
-        <number>4</number>
+        <number>7</number>
        </property>
        <property name="clearButtonEnabled">
         <bool>true</bool>
--- a/eric7/MicroPython/MicroPythonFileManager.py	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/MicroPython/MicroPythonFileManager.py	Fri Mar 04 18:06:25 2022 +0100
@@ -90,7 +90,7 @@
             result = [(decoratedName(name, mode),
                        mode2string(mode),
                        str(size),
-                       mtime2string(mtime)) for
+                       mtime2string(mtime, adjustEpoch=True)) for
                       name, (mode, size, mtime) in filesList]
             self.longListFiles.emit(tuple(result))
         except Exception as exc:
--- a/eric7/MicroPython/MicroPythonFileSystemUtilities.py	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/MicroPython/MicroPythonFileSystemUtilities.py	Fri Mar 04 18:06:25 2022 +0100
@@ -11,16 +11,24 @@
 import stat
 import os
 
+MPY_EPOCH = time.mktime((2000, 1, 1, 0, 0, 0, 0, 1, -1))
+# MPy epoch is 2000-01-01 0:0:0 UTC
 
-def mtime2string(mtime):
+
+def mtime2string(mtime, adjustEpoch=False):
     """
     Function to convert a time value to a string representation.
     
     @param mtime time value
     @type int
+    @param adjustEpoch flag indicating to adjust the time for the difference
+        of the MPy epoch (defaults to False)
+    @type bool (optional)
     @return string representation of the given time
     @rtype str
     """
+    if adjustEpoch:
+        mtime += MPY_EPOCH
     return time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(mtime))
 
 
--- a/eric7/MicroPython/MicroPythonWidget.py	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/MicroPython/MicroPythonWidget.py	Fri Mar 04 18:06:25 2022 +0100
@@ -789,7 +789,8 @@
                   data[index + 1] == 91):
                 # VT100 cursor command detected: <Esc>[
                 index += 2      # move index to after the [
-                match = self.__vt100Re.search(data[index:].decode("utf-8"))
+                match = self.__vt100Re.search(
+                    data[index:].decode("utf-8", errors="replace"))
                 if match:
                     # move to last position in control sequence
                     # ++ will be done at end of loop
--- a/eric7/MicroPython/UF2FlashDialog.py	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/MicroPython/UF2FlashDialog.py	Fri Mar 04 18:06:25 2022 +0100
@@ -92,6 +92,9 @@
             (0x1B4F, 0x0022): [
                 "SFMM852BOOT",    # MicroMod nRF52840
             ],
+            (0x1B4F, 0x002C): [
+                "THNG+32BOOT",    # Thing Plus - STM32
+            ],
             (0x1B4F, 0x0D22): [
                 "SPARKFUN",       # SAMD21 Mini Breakout
             ],
@@ -389,6 +392,9 @@
             (0x239A, 0x0117): [
                 "CAMERABOOT",     # Camera
             ],
+            (0x239A, 0x0119): [
+                "QTPYS3BOOT",     # QT Py ESP32-S3
+            ],
             (0x239A, 0x800B): [
                 "ATMZBOOT",       # ATMegaZero ESP32-S2
             ],
@@ -441,12 +447,24 @@
             (0x303A, 0x80C7): [
                 "S2PICOBOOT",     # S2 Pico
             ],
+            (0x303A, 0x80D2): [
+                "TINYS3BOOT",     # TinyS3
+            ],
+            (0x303A, 0x80D5): [
+                "PROS3BOOT",      # ProS3
+            ],
+            (0x303A, 0x80D8): [
+                "UFTHRS3BOOT",    # FeatherS3
+            ],
             (0x303A, 0x80DA): [
                 "HEXKYBOOT",      # HexKy-S2
             ],
             (0x3171, 0x0100): [
                 "CMDBOOT",        # COMMANDER
             ],
+            (0x80E7, 0x8111): [
+                "IOTS2BOOT",      # HiiBot IoTs2
+            ],
             (0xCAFE, 0xFFFF): [
                 "F303BOOT",       # STM32F303 Discovery
             ],
--- a/eric7/MultiProject/MultiProject.py	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/MultiProject/MultiProject.py	Fri Mar 04 18:06:25 2022 +0100
@@ -14,7 +14,7 @@
 from PyQt6.QtCore import (
     pyqtSignal, pyqtSlot, QFileInfo, QFile, QIODevice, QObject, QUuid
 )
-from PyQt6.QtWidgets import QMenu, QApplication, QDialog, QToolBar
+from PyQt6.QtWidgets import QMenu, QDialog, QToolBar
 
 from Globals import recentNameMultiProject
 
@@ -547,8 +547,6 @@
             if fn == "":
                 fn = None
         
-        QApplication.processEvents()
-        
         if fn is not None:
             self.closeMultiProject()
             ok = self.__readMultiProject(fn)
--- a/eric7/PipInterface/Pip.py	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/PipInterface/Pip.py	Fri Mar 04 18:06:25 2022 +0100
@@ -12,7 +12,9 @@
 import json
 import contextlib
 
-from PyQt6.QtCore import pyqtSlot, QObject, QProcess, QUrl, QCoreApplication
+from PyQt6.QtCore import (
+    pyqtSlot, QObject, QProcess, QUrl, QCoreApplication, QThread
+)
 from PyQt6.QtWidgets import QDialog, QInputDialog, QLineEdit
 from PyQt6.QtNetwork import (
     QNetworkAccessManager, QNetworkRequest, QNetworkReply
@@ -689,6 +691,7 @@
             reply = self.__networkManager.get(request)
             while not reply.isFinished():
                 QCoreApplication.processEvents()
+                QThread.msleep(100)
             
             reply.deleteLater()
             if reply.error() == QNetworkReply.NetworkError.NoError:
--- a/eric7/PluginManager/PluginInstallDialog.py	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/PluginManager/PluginInstallDialog.py	Fri Mar 04 18:06:25 2022 +0100
@@ -7,14 +7,15 @@
 Module implementing the Plugin installation dialog.
 """
 
+import compileall
+import contextlib
+import glob
 import os
+import shutil
 import sys
-import shutil
+import time
+import urllib.parse
 import zipfile
-import compileall
-import glob
-import contextlib
-import urllib.parse
 
 from PyQt6.QtCore import pyqtSlot, Qt, QDir, QFileInfo
 from PyQt6.QtWidgets import (
@@ -440,9 +441,13 @@
                 tot = len(namelist)
                 self.progress.setMaximum(tot)
                 QApplication.processEvents()
+                
+                now = time.monotonic()
                 for prog, name in enumerate(namelist):
                     self.progress.setValue(prog)
-                    QApplication.processEvents()
+                    if time.monotonic() - now > 0.01:
+                        QApplication.processEvents()
+                        now = time.monotonic()
                     if (
                         name == pluginFileName or
                         name.startswith("{0}/".format(packageName)) or
--- a/eric7/Plugins/AboutPlugin/AboutDialog.ui	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/Plugins/AboutPlugin/AboutDialog.ui	Fri Mar 04 18:06:25 2022 +0100
@@ -6,8 +6,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>580</width>
-    <height>450</height>
+    <width>650</width>
+    <height>550</height>
    </rect>
   </property>
   <property name="windowTitle">
@@ -35,7 +35,6 @@
         <font>
          <family>Sans Serif</family>
          <pointsize>11</pointsize>
-         <weight>75</weight>
          <italic>false</italic>
          <bold>true</bold>
          <underline>false</underline>
--- a/eric7/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py	Fri Mar 04 18:06:25 2022 +0100
@@ -974,7 +974,9 @@
         argumentsList = []
         for progress, filename in enumerate(self.files, start=1):
             self.checkProgress.setValue(progress)
-            QApplication.processEvents()
+            if time.monotonic() - self.__timenow > 0.01:
+                QApplication.processEvents()
+                self.__timenow = time.monotonic()
             
             try:
                 source, encoding = Utilities.readEncodedFile(
@@ -1007,9 +1009,7 @@
         # reset the progress bar to the checked files
         self.checkProgress.setValue(self.progress)
         self.checkProgressLabel.setPath(self.tr("Transferring data..."))
-        if time.monotonic() - self.__timenow > 0.01:
-            QApplication.processEvents()
-            self.__timenow = time.monotonic()
+        QApplication.processEvents()
         
         self.__finished = False
         self.styleCheckService.styleBatchCheck(argumentsList)
--- a/eric7/Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckerDialog.py	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckerDialog.py	Fri Mar 04 18:06:25 2022 +0100
@@ -7,8 +7,9 @@
 Module implementing a simple Python syntax checker.
 """
 
+import fnmatch
 import os
-import fnmatch
+import time
 
 from PyQt6.QtCore import pyqtSlot, Qt, QTimer
 from PyQt6.QtWidgets import (
@@ -62,6 +63,7 @@
         self.__batch = False
         self.__finished = True
         self.__errorItem = None
+        self.__timenow = time.monotonic()
         
         self.__fileList = []
         self.__project = None
@@ -219,6 +221,7 @@
                 # now go through all the files
                 self.progress = 0
                 self.files.sort()
+                self.__timenow = time.monotonic()
                 if codestring or len(self.files) == 1:
                     self.__batch = False
                     self.check(codestring)
@@ -285,7 +288,9 @@
         argumentsList = []
         for progress, filename in enumerate(self.files, start=1):
             self.checkProgress.setValue(progress)
-            QApplication.processEvents()
+            if time.monotonic() - self.__timenow > 0.01:
+                QApplication.processEvents()
+                self.__timenow = time.monotonic()
             
             try:
                 source = Utilities.readEncodedFile(filename)[0]
@@ -381,7 +386,9 @@
         self.progress += 1
         self.checkProgress.setValue(self.progress)
         self.checkProgressLabel.setPath(fn)
-        QApplication.processEvents()
+        if time.monotonic() - self.__timenow > 0.01:
+            QApplication.processEvents()
+            self.__timenow = time.monotonic()
         self.__resort()
 
         if not self.__batch:
--- a/eric7/Preferences/ConfigurationDialog.py	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/Preferences/ConfigurationDialog.py	Fri Mar 04 18:06:25 2022 +0100
@@ -10,6 +10,7 @@
 import contextlib
 import enum
 import os
+import time
 import types
 
 from PyQt6.QtCore import pyqtSignal, pyqtSlot, Qt, QMetaObject, QRect
@@ -918,11 +919,14 @@
         Public method called to store the selected values into the preferences
         storage.
         """
+        now = time.monotonic()
         for pageData in self.configItems.values():
             if pageData[-1]:
                 pageData[-1].save()
                 # page was loaded (and possibly modified)
-                QApplication.processEvents()    # ensure HMI is responsive
+                if time.monotonic() - now > 0.01:
+                    QApplication.processEvents()    # ensure HMI is responsive
+                    now = time.monotonic()
         
     def on_buttonBox_clicked(self, button):
         """
--- a/eric7/Project/Project.py	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/Project/Project.py	Fri Mar 04 18:06:25 2022 +0100
@@ -22,7 +22,7 @@
 )
 from PyQt6.QtGui import QKeySequence, QAction
 from PyQt6.QtWidgets import (
-    QLineEdit, QToolBar, QDialog, QInputDialog, QApplication, QMenu
+    QLineEdit, QToolBar, QDialog, QInputDialog, QMenu
 )
 from PyQt6.Qsci import QsciScintilla
 
@@ -2932,8 +2932,6 @@
                 Utilities.getHomeDir(),
                 self.tr("Project Files (*.epj);;XML Project Files (*.e4p)"))
         
-        QApplication.processEvents()
-        
         if fn and self.closeProject():
             with EricOverrideCursor():
                 ok = self.__readProject(fn)
--- a/eric7/Project/ProjectFormsBrowser.py	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/Project/ProjectFormsBrowser.py	Fri Mar 04 18:06:25 2022 +0100
@@ -933,8 +933,7 @@
                 proc = self.__compileUI(fn, True, progress)
                 if proc is not None:
                     while proc.state() == QProcess.ProcessState.Running:
-                        QApplication.processEvents()
-                        QThread.msleep(300)
+                        QThread.msleep(100)
                         QApplication.processEvents()
                 else:
                     break
@@ -968,8 +967,7 @@
                 proc = self.__compileUI(fn, True, progress)
                 if proc is not None:
                     while proc.state() == QProcess.ProcessState.Running:
-                        QApplication.processEvents()
-                        QThread.msleep(300)
+                        QThread.msleep(100)
                         QApplication.processEvents()
                 else:
                     break
--- a/eric7/Project/ProjectInterfacesBrowser.py	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/Project/ProjectInterfacesBrowser.py	Fri Mar 04 18:06:25 2022 +0100
@@ -623,8 +623,7 @@
                 proc = self.__compileIDL(fn, True, progress)
                 if proc is not None:
                     while proc.state() == QProcess.ProcessState.Running:
-                        QApplication.processEvents()
-                        QThread.msleep(300)
+                        QThread.msleep(100)
                         QApplication.processEvents()
                 else:
                     break
@@ -655,8 +654,7 @@
                 proc = self.__compileIDL(fn, True, progress)
                 if proc is not None:
                     while proc.state() == QProcess.ProcessState.Running:
-                        QApplication.processEvents()
-                        QThread.msleep(300)
+                        QThread.msleep(100)
                         QApplication.processEvents()
                 else:
                     break
--- a/eric7/Project/ProjectProtocolsBrowser.py	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/Project/ProjectProtocolsBrowser.py	Fri Mar 04 18:06:25 2022 +0100
@@ -668,8 +668,7 @@
                 proc = self.__compileProto(fn, True, progress, grpc=grpc)
                 if proc is not None:
                     while proc.state() == QProcess.ProcessState.Running:
-                        QApplication.processEvents()
-                        QThread.msleep(300)
+                        QThread.msleep(100)
                         QApplication.processEvents()
                 else:
                     break
@@ -703,8 +702,7 @@
                 proc = self.__compileProto(fn, True, progress, grpc=grpc)
                 if proc is not None:
                     while proc.state() == QProcess.ProcessState.Running:
-                        QApplication.processEvents()
-                        QThread.msleep(300)
+                        QThread.msleep(100)
                         QApplication.processEvents()
                 else:
                     break
--- a/eric7/Project/ProjectResourcesBrowser.py	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/Project/ProjectResourcesBrowser.py	Fri Mar 04 18:06:25 2022 +0100
@@ -751,8 +751,7 @@
                 proc = self.__compileQRC(fn, True, progress)
                 if proc is not None:
                     while proc.state() == QProcess.ProcessState.Running:
-                        QApplication.processEvents()
-                        QThread.msleep(300)
+                        QThread.msleep(100)
                         QApplication.processEvents()
                 else:
                     break
@@ -786,8 +785,7 @@
                     proc = self.__compileQRC(fn, True, progress)
                     if proc is not None:
                         while proc.state() == QProcess.ProcessState.Running:
-                            QApplication.processEvents()
-                            QThread.msleep(300)
+                            QThread.msleep(100)
                             QApplication.processEvents()
                     else:
                         break
@@ -886,8 +884,7 @@
                     proc = self.__compileQRC(fn, True, progress)
                     if proc is not None:
                         while proc.state() == QProcess.ProcessState.Running:
-                            QApplication.processEvents()
-                            QThread.msleep(300)
+                            QThread.msleep(100)
                             QApplication.processEvents()
                     else:
                         break
--- a/eric7/Tasks/TaskViewer.py	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/Tasks/TaskViewer.py	Fri Mar 04 18:06:25 2022 +0100
@@ -14,6 +14,7 @@
 import os
 import fnmatch
 import threading
+import time
 
 from PyQt6.QtCore import pyqtSignal, Qt, QThread
 from PyQt6.QtWidgets import (
@@ -774,11 +775,15 @@
             progress.setWindowTitle(self.tr("Tasks"))
             
             ppath = self.project.getProjectPath()
+            
+            now = time.monotonic()
             for count, file in enumerate(files):
                 progress.setLabelText(
                     self.tr("Extracting project tasks...\n{0}").format(file))
                 progress.setValue(count)
-                QApplication.processEvents()
+                if time.monotonic() - now > 0.01:
+                    QApplication.processEvents()
+                    now = time.monotonic()
                 if progress.wasCanceled():
                     break
                 
--- a/eric7/UI/FindFileWidget.py	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/UI/FindFileWidget.py	Fri Mar 04 18:06:25 2022 +0100
@@ -526,7 +526,6 @@
         
         self.findList.clear()
         QApplication.processEvents()
-        QApplication.processEvents()
         self.findProgress.setMaximum(len(files))
         
         # retrieve the values
--- a/eric7/UI/UserInterface.py	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/UI/UserInterface.py	Fri Mar 04 18:06:25 2022 +0100
@@ -4028,12 +4028,18 @@
         versionText = self.tr(
             """<h2>Version Numbers</h2>"""
             """<table>""")
+        
+        # Python version
         versionText += (
             """<tr><td><b>Python</b></td><td>{0}, {1}</td></tr>"""
         ).format(sys.version.split()[0], sizeStr)
+        
+        # Qt version
         versionText += (
             """<tr><td><b>Qt</b></td><td>{0}</td></tr>"""
         ).format(qVersion())
+        
+        # PyQt versions
         versionText += (
             """<tr><td><b>PyQt6</b></td><td>{0}</td></tr>"""
         ).format(PYQT_VERSION_STR)
@@ -4053,14 +4059,31 @@
         versionText += (
             """<tr><td><b>sip</b></td><td>{0}</td></tr>"""
         ).format(sip_version_str)
+        
+        # webengine (chromium) version
         with contextlib.suppress(ImportError):
             from WebBrowser.Tools import WebBrowserTools
             chromeVersion = WebBrowserTools.getWebEngineVersions()[0]
             versionText += (
                 """<tr><td><b>WebEngine</b></td><td>{0}</td></tr>"""
             ).format(chromeVersion)
+        
+        # eric7 version
         versionText += ("""<tr><td><b>{0}</b></td><td>{1}</td></tr>"""
                         ).format(Program, Version)
+        
+        # desktop and session type
+        desktop = Globals.desktopName()
+        session = Globals.sessionType()
+        if desktop or session:
+            versionText += "<tr><td></td><td></td></tr>"
+            if desktop:
+                versionText += ("<tr><td><b>{0}</b></td><td>{1}</td></tr>"
+                                ).format(self.tr("Desktop"), desktop)
+            if session:
+                versionText += ("<tr><td><b>{0}</b></td><td>{1}</td></tr>"
+                                ).format(self.tr("Session Type"), session)
+        
         versionText += self.tr("""</table>""")
         
         EricMessageBox.about(self, Program, versionText)
--- a/eric7/Utilities/BackgroundService.py	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/Utilities/BackgroundService.py	Fri Mar 04 18:06:25 2022 +0100
@@ -8,14 +8,14 @@
 Python interpreter dependent functions.
 """
 
+import contextlib
 import json
 import os
 import struct
 import sys
 from zlib import adler32
-import contextlib
 
-from PyQt6.QtCore import QProcess, pyqtSignal, QTimer
+from PyQt6.QtCore import QProcess, pyqtSignal, QTimer, QThread
 from PyQt6.QtWidgets import QApplication
 from PyQt6.QtNetwork import QTcpServer, QHostAddress
 
@@ -297,6 +297,7 @@
         # Don't kill a process if it's still working
         if not forceKill:
             while self.isWorking is not None:
+                QThread.msleep(100)
                 QApplication.processEvents()
         
         conn = self.connections.pop(language, None)
--- a/eric7/Utilities/__init__.py	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/Utilities/__init__.py	Fri Mar 04 18:06:25 2022 +0100
@@ -7,17 +7,18 @@
 Package implementing various functions/classes needed everywhere within eric.
 """
 
-import os
-import sys
 import codecs
-import re
+import contextlib
+import ctypes
 import fnmatch
+import functools
+import getpass
 import glob
-import getpass
-import ctypes
+import os
+import re
+import shlex
 import subprocess           # secok
-import shlex
-import contextlib
+import sys
 
 
 def __showwarning(message, category, filename, lineno, file=None, line=""):
@@ -52,9 +53,10 @@
 # import these methods into the Utilities namespace
 from Globals import (  # __IGNORE_WARNING__
     isWindowsPlatform, isLinuxPlatform, isMacPlatform, desktopName,
-    getConfigDir, setConfigDir, getPythonLibraryDirectory,
+    sessionType, getConfigDir, setConfigDir, getPythonLibraryDirectory,
     getPyQt6ModulesDirectory, getQtBinariesPath, getPyQtToolsPath,
-    qVersionTuple)
+    qVersionTuple
+)
 
 from EricWidgets.EricApplication import ericApp
 
@@ -1275,11 +1277,11 @@
         # we are on a Linux or macOS platform
         for mountCommand in ["mount", "/sbin/mount", "/usr/sbin/mount"]:
             with contextlib.suppress(FileNotFoundError):
-                mountOutput = (
-                    subprocess.check_output(mountCommand).splitlines()  # secok
-                )
+                mountOutput = subprocess.run(               # secok
+                    mountCommand, check=True, capture_output=True, text=True
+                ).stdout.splitlines()
                 mountedVolumes = [
-                    x.decode("utf-8").split(" type")[0].split(maxsplit=2)[2]
+                    x.split(" type")[0].split(maxsplit=2)[2]
                     for x in mountOutput
                 ]
                 if findAll:
@@ -1811,6 +1813,7 @@
         return toolname
 
 
+@functools.lru_cache()
 def checkPyside(variant=2):
     """
     Module function to check the presence of PySide2/PySide6.
@@ -1894,6 +1897,10 @@
     if desktop:
         info.append("")
         info.append("Desktop: {0}".format(desktop))
+    session = sessionType()
+    if session:
+        info.append("")
+        info.append("Session Type: {0}".format(session))
     
     return linesep.join(info)
 
--- a/eric7/VCS/VersionControl.py	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/VCS/VersionControl.py	Fri Mar 04 18:06:25 2022 +0100
@@ -781,7 +781,6 @@
             return False
         else:
             while proc.state() == QProcess.ProcessState.Running:
-                QApplication.processEvents()
                 QThread.msleep(300)
                 QApplication.processEvents()
             return (
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric7/__main__.py	Fri Mar 04 18:06:25 2022 +0100
@@ -0,0 +1,11 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2022 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+"""
+Main script to enable starting eric7 with 'python -m eric7'.
+"""
+
+from . import eric7
+eric7.main()
--- a/eric7/i18n/eric7_cs.ts	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/i18n/eric7_cs.ts	Fri Mar 04 18:06:25 2022 +0100
@@ -1285,59 +1285,59 @@
   <context>
     <name>ApplicationDiagramBuilder</name>
     <message>
-      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="48" />
+      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="49" />
       <source>Application Diagram {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="72" />
-      <source>Parsing modules...</source>
-      <translation type="unfinished">Parsování modulů...</translation>
-    </message>
-    <message>
       <location filename="../Graphics/ApplicationDiagramBuilder.py" line="73" />
+      <source>Parsing modules...</source>
+      <translation type="unfinished">Parsování modulů...</translation>
+    </message>
+    <message>
+      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="74" />
       <source>%v/%m Modules</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="137" />
-      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="128" />
-      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="74" />
+      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="141" />
+      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="132" />
+      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="75" />
       <source>Application Diagram</source>
       <translation type="unfinished">Diagram aplikace</translation>
     </message>
     <message>
-      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="129" />
+      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="133" />
       <source>Select the application directory:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="138" />
+      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="142" />
       <source>No application package could be detected. Aborting...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="252" />
+      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="256" />
       <source>&lt;&lt;Application&gt;&gt;</source>
       <translation type="unfinished">&lt;&lt;Aplikace&gt;&gt;</translation>
     </message>
     <message>
-      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="254" />
+      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="258" />
       <source>&lt;&lt;Others&gt;&gt;</source>
       <translation type="unfinished">&lt;&lt;Ostatní&gt;&gt;</translation>
     </message>
     <message>
-      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="414" />
+      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="418" />
       <source>Load Diagram</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="415" />
+      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="419" />
       <source>&lt;p&gt;The diagram belongs to the project &lt;b&gt;{0}&lt;/b&gt;. Shall this project be opened?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="456" />
+      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="460" />
       <source>&lt;p&gt;The diagram belongs to project &lt;b&gt;{0}&lt;/b&gt;. Please open it and try again.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -1613,27 +1613,27 @@
   <context>
     <name>AssistantJedi</name>
     <message>
-      <location filename="../JediInterface/AssistantJedi.py" line="224" />
+      <location filename="../JediInterface/AssistantJedi.py" line="225" />
       <source>Refactoring</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../JediInterface/AssistantJedi.py" line="226" />
+      <location filename="../JediInterface/AssistantJedi.py" line="227" />
       <source>Rename Variable</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../JediInterface/AssistantJedi.py" line="229" />
+      <location filename="../JediInterface/AssistantJedi.py" line="230" />
       <source>Extract Variable</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../JediInterface/AssistantJedi.py" line="232" />
+      <location filename="../JediInterface/AssistantJedi.py" line="233" />
       <source>Inline Variable</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../JediInterface/AssistantJedi.py" line="236" />
+      <location filename="../JediInterface/AssistantJedi.py" line="237" />
       <source>Extract Function</source>
       <translation type="unfinished" />
     </message>
@@ -1719,17 +1719,17 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Utilities/BackgroundService.py" line="461" />
+      <location filename="../Utilities/BackgroundService.py" line="462" />
       <source>Eric's background client disconnected because of an unknown reason.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Utilities/BackgroundService.py" line="469" />
-      <source>Background client disconnected.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Utilities/BackgroundService.py" line="470" />
+      <source>Background client disconnected.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Utilities/BackgroundService.py" line="471" />
       <source>The background client for &lt;b&gt;{0}&lt;/b&gt; disconnected because of an unknown reason.&lt;br&gt;Should it be restarted?</source>
       <translation type="unfinished" />
     </message>
@@ -3927,7 +3927,7 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1009" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1011" />
       <source>Transferring data...</source>
       <translation type="unfinished" />
     </message>
@@ -5119,7 +5119,7 @@
   <context>
     <name>CodingError</name>
     <message>
-      <location filename="../Utilities/__init__.py" line="131" />
+      <location filename="../Utilities/__init__.py" line="133" />
       <source>The coding '{0}' is wrong for the given text.</source>
       <translation>Nesprávné kódování '{0}' pro daný text.</translation>
     </message>
@@ -6269,376 +6269,376 @@
   <context>
     <name>ConfigurationWidget</name>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="143" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="144" />
       <source>Application</source>
       <translation>Aplikace</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="146" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="147" />
       <source>Conda</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="149" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="150" />
       <source>Cooperation</source>
       <translation>Spolupráce</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="152" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="153" />
       <source>CORBA</source>
       <translation>CORBA</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="155" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="156" />
       <source>Diff</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="158" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="159" />
       <source>Email</source>
       <translation>Email</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="161" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="162" />
       <source>Graphics</source>
       <translation>Grafika</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="520" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="164" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="521" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="165" />
       <source>Hex Editor</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="534" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="514" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="455" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="393" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="167" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="535" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="515" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="456" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="394" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="168" />
       <source>Icons</source>
       <translation>Ikony</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="170" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="171" />
       <source>IRC</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="173" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="174" />
       <source>Log-Viewer</source>
       <translation type="unfinished">Prohlížeč logu</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="176" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="177" />
       <source>MicroPython</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="179" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="180" />
       <source>Mimetypes</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="461" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="182" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="462" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="183" />
       <source>Network</source>
       <translation>Síť</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="185" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="186" />
       <source>Notifications</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="189" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="190" />
       <source>Python Package Management</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="192" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="193" />
       <source>Plugin Manager</source>
       <translation>Plugin Manažer</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="464" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="399" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="196" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="465" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="400" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="197" />
       <source>Printer</source>
       <translation>Tiskárna</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="199" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="200" />
       <source>Protobuf</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="202" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="203" />
       <source>Python</source>
       <translation>Python</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="205" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="206" />
       <source>Qt</source>
       <translation>Qt</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="467" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="208" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="468" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="209" />
       <source>Security</source>
       <translation type="unfinished">Bezpečnost</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="211" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="212" />
       <source>Shell</source>
       <translation>Shell</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="214" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="215" />
       <source>Tasks</source>
       <translation>Úlohy</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="217" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="218" />
       <source>Templates</source>
       <translation>Šablony</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="501" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="220" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="502" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="221" />
       <source>Tray Starter</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="223" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="224" />
       <source>Version Control Systems</source>
       <translation>Version Control Systems</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="228" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="229" />
       <source>Debugger</source>
       <translation>Debugger</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="406" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="247" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="231" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="407" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="248" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="232" />
       <source>General</source>
       <translation>Hlavní</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="234" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="235" />
       <source>Python3</source>
       <translation />
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="403" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="238" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="404" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="239" />
       <source>Editor</source>
       <translation>Editor</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="241" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="242" />
       <source>APIs</source>
       <translation>APIs</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="244" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="245" />
       <source>Documentation Viewer</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="409" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="250" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="410" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="251" />
       <source>Filehandling</source>
       <translation>Manažer souborů</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="413" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="254" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="414" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="255" />
       <source>Searching</source>
       <translation>Vyhledávání</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="487" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="416" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="375" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="257" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="488" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="417" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="376" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="258" />
       <source>Spell checking</source>
       <translation>Kontrola pravopisu</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="420" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="261" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="421" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="262" />
       <source>Style</source>
       <translation>Styl</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="264" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="265" />
       <source>Code Checkers</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="423" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="267" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="424" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="268" />
       <source>Typing</source>
       <translation>Psaní</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="270" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="271" />
       <source>Exporters</source>
       <translation>Exportery</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="274" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="275" />
       <source>Autocompletion</source>
       <translation>Autodoplňování</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="290" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="278" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="291" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="279" />
       <source>QScintilla</source>
       <translation>QScintilla</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="320" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="293" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="282" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="321" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="294" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="283" />
       <source>Jedi</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="287" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="288" />
       <source>Calltips</source>
       <translation>Rychlé tipy</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="427" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="297" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="428" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="298" />
       <source>Highlighters</source>
       <translation>Zvýrazňovače</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="431" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="301" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="432" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="302" />
       <source>Filetype Associations</source>
       <translation>Asociace typů souborů</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="435" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="305" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="436" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="306" />
       <source>Styles</source>
       <translation>Styly</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="439" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="309" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="440" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="310" />
       <source>Keywords</source>
       <translation>Klíčová slova</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="442" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="312" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="443" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="313" />
       <source>Properties</source>
       <translation>Nastavení</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="316" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="317" />
       <source>Mouse Click Handlers</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="325" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="326" />
       <source>Help</source>
       <translation>Nápověda</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="471" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="328" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="472" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="329" />
       <source>Help Documentation</source>
       <translation>Dokumenty nápovědy</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="332" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="333" />
       <source>Help Viewers</source>
       <translation>Prohlížeče nápovědy</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="343" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="337" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="344" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="338" />
       <source>Project</source>
       <translation>Projekt</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="340" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="341" />
       <source>Project Viewer</source>
       <translation>Prohlížeč projektu</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="346" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="347" />
       <source>Multiproject</source>
       <translation>Multiprojekt</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="537" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="517" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="458" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="396" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="354" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="351" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="538" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="518" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="459" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="397" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="355" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="352" />
       <source>Interface</source>
       <translation>Interface</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="357" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="358" />
       <source>Viewmanager</source>
       <translation>Viewmanager</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="363" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="364" />
       <source>Web Browser</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="476" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="366" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="477" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="367" />
       <source>Appearance</source>
       <translation>Vzhled</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="479" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="369" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="480" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="370" />
       <source>eric Web Browser</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="483" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="372" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="484" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="373" />
       <source>VirusTotal Interface</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="615" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="616" />
       <source>Enter search text...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="689" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="690" />
       <source>Preferences</source>
       <translation>Předvolby</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="696" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="697" />
       <source>Please select an entry of the list 
 to display the configuration page.</source>
       <translation>Pro zobrazení strany s konfigurací vyberte položku ze seznamu.</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="771" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="772" />
       <source>Configuration Page Error</source>
       <translation>Chyba na straně konfigurace</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="772" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="773" />
       <source>&lt;p&gt;The configuration page &lt;b&gt;{0}&lt;/b&gt; could not be loaded.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Konfigurační stranu &lt;b&gt;{0}&lt;/b&gt; nelze načíst.&lt;/p&gt;</translation>
     </message>
@@ -8776,12 +8776,12 @@
       <translation type="unfinished">&lt;p&gt;Debugovací backend nelze spustit.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Debugger/DebuggerInterfacePython.py" line="1349" />
+      <location filename="../Debugger/DebuggerInterfacePython.py" line="1350" />
       <source>Debug Protocol Error</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/DebuggerInterfacePython.py" line="1350" />
+      <location filename="../Debugger/DebuggerInterfacePython.py" line="1351" />
       <source>&lt;p&gt;The response received from the debugger backend could not be decoded. Please report this issue with the received data to the eric bugs email address.&lt;/p&gt;&lt;p&gt;Error: {0}&lt;/p&gt;&lt;p&gt;Data:&lt;br/&gt;{1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -19640,17 +19640,17 @@
   <context>
     <name>EspBackupRestoreFirmwareDialog</name>
     <message>
-      <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="104" />
+      <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="109" />
       <source>Firmware Files (*.img);;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="109" />
+      <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="116" />
       <source>Backup Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="114" />
+      <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="121" />
       <source>Restore Firmware</source>
       <translation type="unfinished" />
     </message>
@@ -19676,7 +19676,22 @@
     </message>
     <message>
       <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="0" />
-      <source>Flashmode:</source>
+      <source>Leave empty to auto detect. size.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="0" />
+      <source>Baud Rate:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="0" />
+      <source>Select the baud rate to be used for flashing (default: 115.200 bps)</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="0" />
+      <source>Flash Mode:</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -19686,6 +19701,11 @@
     </message>
     <message>
       <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="0" />
+      <source>Leave empty to use the default mode.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="0" />
       <source>Firmware:</source>
       <translation type="unfinished" />
     </message>
@@ -19726,31 +19746,31 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/EspDevices.py" line="285" />
+      <location filename="../MicroPython/EspDevices.py" line="286" />
       <location filename="../MicroPython/EspDevices.py" line="140" />
       <source>Backup Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/EspDevices.py" line="319" />
+      <location filename="../MicroPython/EspDevices.py" line="324" />
       <location filename="../MicroPython/EspDevices.py" line="143" />
       <source>Restore Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/EspDevices.py" line="337" />
+      <location filename="../MicroPython/EspDevices.py" line="342" />
       <location filename="../MicroPython/EspDevices.py" line="147" />
       <source>Show Chip ID</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/EspDevices.py" line="354" />
+      <location filename="../MicroPython/EspDevices.py" line="359" />
       <location filename="../MicroPython/EspDevices.py" line="150" />
       <source>Show Flash ID</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/EspDevices.py" line="371" />
+      <location filename="../MicroPython/EspDevices.py" line="376" />
       <location filename="../MicroPython/EspDevices.py" line="153" />
       <source>Show MAC Address</source>
       <translation type="unfinished" />
@@ -19776,29 +19796,29 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/EspDevices.py" line="318" />
+      <location filename="../MicroPython/EspDevices.py" line="323" />
       <location filename="../MicroPython/EspDevices.py" line="257" />
       <location filename="../MicroPython/EspDevices.py" line="222" />
       <source>'esptool write_flash' Output</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/EspDevices.py" line="284" />
+      <location filename="../MicroPython/EspDevices.py" line="285" />
       <source>'esptool read_flash' Output</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/EspDevices.py" line="336" />
+      <location filename="../MicroPython/EspDevices.py" line="341" />
       <source>'esptool chip_id' Output</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/EspDevices.py" line="353" />
+      <location filename="../MicroPython/EspDevices.py" line="358" />
       <source>'esptool flash_id' Output</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/EspDevices.py" line="370" />
+      <location filename="../MicroPython/EspDevices.py" line="375" />
       <source>'esptool read_mac' Output</source>
       <translation type="unfinished" />
     </message>
@@ -21235,64 +21255,64 @@
   <context>
     <name>FindFileWidget</name>
     <message>
-      <location filename="../UI/FindFileWidget.py" line="548" />
+      <location filename="../UI/FindFileWidget.py" line="547" />
       <source>Invalid search expression</source>
       <translation type="unfinished">Neplatný výraz hledání</translation>
     </message>
     <message>
-      <location filename="../UI/FindFileWidget.py" line="549" />
+      <location filename="../UI/FindFileWidget.py" line="548" />
       <source>&lt;p&gt;The search expression is not valid.&lt;/p&gt;&lt;p&gt;Error: {0}&lt;/p&gt;</source>
       <translation type="unfinished">&lt;p&gt;Výraz hledná není platný. &lt;/p&gt;&lt;p&gt;Chyba: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/FindFileWidget.py" line="658" />
+      <location filename="../UI/FindFileWidget.py" line="657" />
       <source>{0} / {1}</source>
       <comment>occurrences / files</comment>
       <translation type="unfinished" />
     </message>
     <message numerus="yes">
-      <location filename="../UI/FindFileWidget.py" line="660" />
+      <location filename="../UI/FindFileWidget.py" line="659" />
       <source>%n occurrence(s)</source>
       <translation type="unfinished">
         <numerusform />
       </translation>
     </message>
     <message numerus="yes">
-      <location filename="../UI/FindFileWidget.py" line="661" />
+      <location filename="../UI/FindFileWidget.py" line="660" />
       <source>%n file(s)</source>
       <translation type="unfinished">
         <numerusform />
       </translation>
     </message>
     <message>
-      <location filename="../UI/FindFileWidget.py" line="851" />
-      <location filename="../UI/FindFileWidget.py" line="826" />
-      <location filename="../UI/FindFileWidget.py" line="812" />
+      <location filename="../UI/FindFileWidget.py" line="850" />
+      <location filename="../UI/FindFileWidget.py" line="825" />
+      <location filename="../UI/FindFileWidget.py" line="811" />
       <source>Replace in Files</source>
       <translation type="unfinished">Nahradit v souborech</translation>
     </message>
     <message>
-      <location filename="../UI/FindFileWidget.py" line="813" />
+      <location filename="../UI/FindFileWidget.py" line="812" />
       <source>&lt;p&gt;Could not read the file &lt;b&gt;{0}&lt;/b&gt;. Skipping it.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished">&lt;p&gt;Nelze číst ze souboru  &lt;b&gt;{0}&lt;/b&gt;. Přeskočeno.&lt;/p&gt;&lt;p&gt;Důvod: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/FindFileWidget.py" line="827" />
+      <location filename="../UI/FindFileWidget.py" line="826" />
       <source>&lt;p&gt;The current and the original hash of the file &lt;b&gt;{0}&lt;/b&gt; are different. Skipping it.&lt;/p&gt;&lt;p&gt;Hash 1: {1}&lt;/p&gt;&lt;p&gt;Hash 2: {2}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/FindFileWidget.py" line="852" />
+      <location filename="../UI/FindFileWidget.py" line="851" />
       <source>&lt;p&gt;Could not save the file &lt;b&gt;{0}&lt;/b&gt;. Skipping it.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished">&lt;p&gt;Nelze uložit do souboru  &lt;b&gt;{0}&lt;/b&gt;. Přeskočeno.&lt;/p&gt;&lt;p&gt;Důvod: {1}&lt;/p&gt;</translation>
     </message>
     <message>
+      <location filename="../UI/FindFileWidget.py" line="876" />
+      <source>Open</source>
+      <translation type="unfinished">Otevřít</translation>
+    </message>
+    <message>
       <location filename="../UI/FindFileWidget.py" line="877" />
-      <source>Open</source>
-      <translation type="unfinished">Otevřít</translation>
-    </message>
-    <message>
-      <location filename="../UI/FindFileWidget.py" line="878" />
       <source>Copy Path to Clipboard</source>
       <translation type="unfinished">Kopírovat cestu do schránky</translation>
     </message>
@@ -28923,27 +28943,27 @@
   <context>
     <name>Globals</name>
     <message>
-      <location filename="../Globals/__init__.py" line="448" />
+      <location filename="../Globals/__init__.py" line="451" />
       <source>{0:4.2f} Bytes</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Globals/__init__.py" line="452" />
+      <location filename="../Globals/__init__.py" line="455" />
       <source>{0:4.2f} KiB</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Globals/__init__.py" line="456" />
+      <location filename="../Globals/__init__.py" line="459" />
       <source>{0:4.2f} MiB</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Globals/__init__.py" line="460" />
+      <location filename="../Globals/__init__.py" line="463" />
       <source>{0:4.2f} GiB</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Globals/__init__.py" line="464" />
+      <location filename="../Globals/__init__.py" line="467" />
       <source>{0:4.2f} TiB</source>
       <translation type="unfinished" />
     </message>
@@ -43773,37 +43793,37 @@
   <context>
     <name>ImportsDiagramBuilder</name>
     <message>
-      <location filename="../Graphics/ImportsDiagramBuilder.py" line="76" />
+      <location filename="../Graphics/ImportsDiagramBuilder.py" line="77" />
       <source>Imports Diagramm {0}: {1}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Graphics/ImportsDiagramBuilder.py" line="79" />
+      <location filename="../Graphics/ImportsDiagramBuilder.py" line="80" />
       <source>Imports Diagramm: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Graphics/ImportsDiagramBuilder.py" line="105" />
-      <source>Parsing modules...</source>
-      <translation type="unfinished">Parsování modulů...</translation>
-    </message>
-    <message>
       <location filename="../Graphics/ImportsDiagramBuilder.py" line="106" />
-      <source>%v/%m Modules</source>
-      <translation type="unfinished" />
+      <source>Parsing modules...</source>
+      <translation type="unfinished">Parsování modulů...</translation>
     </message>
     <message>
       <location filename="../Graphics/ImportsDiagramBuilder.py" line="107" />
+      <source>%v/%m Modules</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Graphics/ImportsDiagramBuilder.py" line="108" />
       <source>Imports Diagramm</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Graphics/ImportsDiagramBuilder.py" line="137" />
+      <location filename="../Graphics/ImportsDiagramBuilder.py" line="142" />
       <source>The directory &lt;b&gt;'{0}'&lt;/b&gt; is not a Python package.</source>
       <translation type="unfinished">Adresář &lt;b&gt;'{0}'&lt;/b&gt; není Python balíček.</translation>
     </message>
     <message>
-      <location filename="../Graphics/ImportsDiagramBuilder.py" line="400" />
+      <location filename="../Graphics/ImportsDiagramBuilder.py" line="405" />
       <source>&lt;p&gt;The diagram belongs to project &lt;b&gt;{0}&lt;/b&gt;. Please open it and try again.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -46840,83 +46860,83 @@
   <context>
     <name>JediServer</name>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="299" />
+      <location filename="../JediInterface/JediServer.py" line="300" />
       <source>Language &lt;b&gt;{0}&lt;/b&gt; is not supported.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="335" />
+      <location filename="../JediInterface/JediServer.py" line="336" />
       <source>Present in &lt;i&gt;{0}&lt;/i&gt; module</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="339" />
+      <location filename="../JediInterface/JediServer.py" line="340" />
       <source>No documentation available.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="394" />
+      <location filename="../JediInterface/JediServer.py" line="395" />
       <source>Jedi: No definition found</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="484" />
+      <location filename="../JediInterface/JediServer.py" line="485" />
       <source>Jedi: No mouse hover help found</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="648" />
-      <location filename="../JediInterface/JediServer.py" line="506" />
+      <location filename="../JediInterface/JediServer.py" line="649" />
+      <location filename="../JediInterface/JediServer.py" line="507" />
       <source>Rename Variable</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="507" />
+      <location filename="../JediInterface/JediServer.py" line="508" />
       <source>Enter the new name for the variable:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="543" />
-      <source>Extract Variable</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../JediInterface/JediServer.py" line="544" />
+      <source>Extract Variable</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../JediInterface/JediServer.py" line="545" />
       <source>Enter the name for the new variable:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="612" />
-      <source>Extract Function</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../JediInterface/JediServer.py" line="613" />
+      <source>Extract Function</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../JediInterface/JediServer.py" line="614" />
       <source>Enter the name for the function:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="656" />
-      <source>Refactoring</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../JediInterface/JediServer.py" line="657" />
+      <source>Refactoring</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../JediInterface/JediServer.py" line="658" />
       <source>&lt;p&gt;The refactoring could not be performed.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="705" />
-      <source>Apply Refactoring</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../JediInterface/JediServer.py" line="706" />
+      <source>Apply Refactoring</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../JediInterface/JediServer.py" line="707" />
       <source>&lt;p&gt;The refactoring could not be applied.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="734" />
+      <location filename="../JediInterface/JediServer.py" line="735" />
       <source>The data received from the Jedi server could not be decoded. Please report this issue with the received data to the eric bugs email address.
 Error: {0}
 Data:
@@ -46925,7 +46945,7 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="743" />
+      <location filename="../JediInterface/JediServer.py" line="744" />
       <source>An exception happened in the Jedi client. Please report it to the eric bugs email address.
 Exception: {0}
 Value: {1}
@@ -46934,25 +46954,25 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="777" />
+      <location filename="../JediInterface/JediServer.py" line="778" />
       <source>The jedi and/or parso library is not installed.
 </source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="781" />
+      <location filename="../JediInterface/JediServer.py" line="782" />
       <source>'{0}' is not supported because the configured interpreter could not be started.
 </source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="786" />
+      <location filename="../JediInterface/JediServer.py" line="787" />
       <source>'{0}' is not supported because no suitable interpreter is configured.
 </source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="900" />
+      <location filename="../JediInterface/JediServer.py" line="901" />
       <source>Jedi</source>
       <translation type="unfinished" />
     </message>
@@ -50838,290 +50858,290 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1067" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1068" />
       <source>Serial Device Connect</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1068" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1069" />
       <source>&lt;p&gt;Cannot connect to device at serial port &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1112" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1103" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1095" />
-      <source>Run Script</source>
-      <translation type="unfinished">Spustit skript</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1096" />
-      <source>There is no editor open. Abort...</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1104" />
-      <source>The current editor does not contain a script. Abort...</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/MicroPythonWidget.py" line="1113" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1104" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1096" />
+      <source>Run Script</source>
+      <translation type="unfinished">Spustit skript</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1097" />
+      <source>There is no editor open. Abort...</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1105" />
+      <source>The current editor does not contain a script. Abort...</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1114" />
       <source>&lt;p&gt;Cannot run script.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1136" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1137" />
       <source>Open Python File</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1138" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1139" />
       <source>Python3 Files (*.py);;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1181" />
-      <source>Start Chart</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/MicroPythonWidget.py" line="1182" />
+      <source>Start Chart</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1183" />
       <source>&lt;p&gt;The Chart cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1194" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1195" />
       <source>µPy Chart</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1210" />
-      <source>Unsaved Chart Data</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/MicroPythonWidget.py" line="1211" />
+      <source>Unsaved Chart Data</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1212" />
       <source>The chart contains unsaved data.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1261" />
-      <source>Start File Manager</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/MicroPythonWidget.py" line="1262" />
+      <source>Start File Manager</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1263" />
       <source>&lt;p&gt;The File Manager cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1279" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1280" />
       <source>µPy Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1315" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1316" />
       <source>Downloads</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1331" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1332" />
       <source>Show Version</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1334" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1335" />
       <source>Show Implementation</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1337" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1338" />
       <source>Show Board Data</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1480" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1342" />
-      <source>Synchronize Time</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1345" />
-      <source>Show Device Time</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1348" />
-      <source>Show Local Time</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1351" />
-      <source>Show Time</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1699" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1357" />
-      <source>Compile Python File</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1721" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1714" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1360" />
-      <source>Compile Current Editor</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1370" />
-      <source>Download Firmware</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1377" />
-      <source>Show Documentation</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1381" />
-      <source>Flash UF2 Device</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1384" />
-      <source>Manage Unknown Devices</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1386" />
-      <source>Ignored Serial Devices</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1389" />
-      <source>Configure</source>
-      <translation type="unfinished">Konfigurovat</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1399" />
-      <source>&lt;h3&gt;Device Version Information&lt;/h3&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1408" />
-      <source>No version information available.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1412" />
-      <source>Device Version Information</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1433" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1429" />
-      <source>unknown</source>
-      <translation type="unfinished">neznámý</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1440" />
-      <source>Device Implementation Information</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1441" />
-      <source>&lt;h3&gt;Device Implementation Information&lt;/h3&gt;&lt;p&gt;This device contains &lt;b&gt;{0} {1}&lt;/b&gt;.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/MicroPythonWidget.py" line="1481" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1343" />
+      <source>Synchronize Time</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1346" />
+      <source>Show Device Time</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1349" />
+      <source>Show Local Time</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1352" />
+      <source>Show Time</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1700" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1358" />
+      <source>Compile Python File</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1722" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1715" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1361" />
+      <source>Compile Current Editor</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1371" />
+      <source>Download Firmware</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1378" />
+      <source>Show Documentation</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1382" />
+      <source>Flash UF2 Device</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1385" />
+      <source>Manage Unknown Devices</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1387" />
+      <source>Ignored Serial Devices</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1390" />
+      <source>Configure</source>
+      <translation type="unfinished">Konfigurovat</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1400" />
+      <source>&lt;h3&gt;Device Version Information&lt;/h3&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1409" />
+      <source>No version information available.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1413" />
+      <source>Device Version Information</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1434" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1430" />
+      <source>unknown</source>
+      <translation type="unfinished">neznámý</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1441" />
+      <source>Device Implementation Information</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1442" />
+      <source>&lt;h3&gt;Device Implementation Information&lt;/h3&gt;&lt;p&gt;This device contains &lt;b&gt;{0} {1}&lt;/b&gt;.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1482" />
       <source>&lt;p&gt;The time of the connected device was synchronized with the local time.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1501" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1502" />
       <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1509" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1510" />
       <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1528" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1529" />
       <source>Device Date and Time</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1541" />
-      <source>Local Date and Time</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/MicroPythonWidget.py" line="1542" />
+      <source>Local Date and Time</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1543" />
       <source>&lt;h3&gt;Local Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1584" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1567" />
-      <source>Date and Time</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1568" />
-      <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td align='center'&gt;{0}&lt;/td&gt;&lt;td align='center'&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td align='center'&gt;{1}&lt;/td&gt;&lt;td align='center'&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/MicroPythonWidget.py" line="1585" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1568" />
+      <source>Date and Time</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1569" />
+      <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td align='center'&gt;{0}&lt;/td&gt;&lt;td align='center'&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td align='center'&gt;{1}&lt;/td&gt;&lt;td align='center'&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1586" />
       <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align='center'&gt;{0} {1}&lt;/td&gt;&lt;td align='center'&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1609" />
-      <source>Error handling device</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/MicroPythonWidget.py" line="1610" />
+      <source>Error handling device</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1611" />
       <source>&lt;p&gt;There was an error communicating with the connected device.&lt;/p&gt;&lt;p&gt;Method: {0}&lt;/p&gt;&lt;p&gt;Message: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1650" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1651" />
       <source>The MicroPython cross compiler &lt;b&gt;mpy-cross&lt;/b&gt; cannot be found. Ensure it is in the search path or configure it on the MicroPython configuration page.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1673" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1674" />
       <source>Python Files (*.py);;All Files (*)</source>
       <translation type="unfinished">Python soubory (*.py);;Všechny soubory (*)</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1682" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1683" />
       <source>The Python file &lt;b&gt;{0}&lt;/b&gt; does not exist. Aborting...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1689" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1690" />
       <source>'mpy-cross' Output</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1715" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1716" />
       <source>The current editor does not contain a Python file. Aborting...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1808" />
-      <source>Add Unknown Devices</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/MicroPythonWidget.py" line="1809" />
+      <source>Add Unknown Devices</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1810" />
       <source>Select the devices to be added:</source>
       <translation type="unfinished" />
     </message>
@@ -52688,194 +52708,194 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MultiProject/MultiProject.py" line="608" />
-      <location filename="../MultiProject/MultiProject.py" line="597" />
+      <location filename="../MultiProject/MultiProject.py" line="606" />
+      <location filename="../MultiProject/MultiProject.py" line="595" />
       <source>Multi Project Files (*.emj)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MultiProject/MultiProject.py" line="606" />
+      <location filename="../MultiProject/MultiProject.py" line="604" />
       <source>Save Multiproject</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MultiProject/MultiProject.py" line="621" />
+      <location filename="../MultiProject/MultiProject.py" line="619" />
       <source>Save File</source>
       <translation>Uložit soubor</translation>
     </message>
     <message>
-      <location filename="../MultiProject/MultiProject.py" line="622" />
+      <location filename="../MultiProject/MultiProject.py" line="620" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
       <translation type="unfinished">&lt;p&gt;Soubor &lt;b&gt;{0}&lt;/b&gt; již existuje.&lt;/p&gt;&lt;p&gt;Má se přepsat?&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MultiProject/MultiProject.py" line="646" />
+      <location filename="../MultiProject/MultiProject.py" line="644" />
       <source>Close Multiproject</source>
       <translation>Zavřít multiprojekt</translation>
     </message>
     <message>
-      <location filename="../MultiProject/MultiProject.py" line="647" />
+      <location filename="../MultiProject/MultiProject.py" line="645" />
       <source>The current multiproject has unsaved changes.</source>
       <translation>Aktuální multiprojekt obsahuje neuložené změny.</translation>
     </message>
     <message>
+      <location filename="../MultiProject/MultiProject.py" line="697" />
+      <source>New multiproject</source>
+      <translation>Nový multiprojekt</translation>
+    </message>
+    <message>
       <location filename="../MultiProject/MultiProject.py" line="699" />
-      <source>New multiproject</source>
-      <translation>Nový multiprojekt</translation>
+      <source>&amp;New...</source>
+      <translation>&amp;Nový...</translation>
     </message>
     <message>
       <location filename="../MultiProject/MultiProject.py" line="701" />
-      <source>&amp;New...</source>
-      <translation>&amp;Nový...</translation>
-    </message>
-    <message>
-      <location filename="../MultiProject/MultiProject.py" line="703" />
       <source>Generate a new multiproject</source>
       <translation>Vygenerovat nový multiprojekt</translation>
     </message>
     <message>
-      <location filename="../MultiProject/MultiProject.py" line="704" />
+      <location filename="../MultiProject/MultiProject.py" line="702" />
       <source>&lt;b&gt;New...&lt;/b&gt;&lt;p&gt;This opens a dialog for entering the info for a new multiproject.&lt;/p&gt;</source>
       <translation>&lt;b&gt;Nový...&lt;/b&gt;&lt;p&gt;Otevře se dialogové okno pro zadání informací o novém multiprojektu.&lt;/p&gt;</translation>
     </message>
     <message>
+      <location filename="../MultiProject/MultiProject.py" line="711" />
+      <source>Open multiproject</source>
+      <translation>Otevřít multiprojekt</translation>
+    </message>
+    <message>
       <location filename="../MultiProject/MultiProject.py" line="713" />
-      <source>Open multiproject</source>
-      <translation>Otevřít multiprojekt</translation>
+      <source>&amp;Open...</source>
+      <translation>&amp;Otevřít...</translation>
     </message>
     <message>
       <location filename="../MultiProject/MultiProject.py" line="715" />
-      <source>&amp;Open...</source>
-      <translation>&amp;Otevřít...</translation>
-    </message>
-    <message>
-      <location filename="../MultiProject/MultiProject.py" line="717" />
       <source>Open an existing multiproject</source>
       <translation>Otevřít existující multiprojekt</translation>
     </message>
     <message>
-      <location filename="../MultiProject/MultiProject.py" line="718" />
+      <location filename="../MultiProject/MultiProject.py" line="716" />
       <source>&lt;b&gt;Open...&lt;/b&gt;&lt;p&gt;This opens an existing multiproject.&lt;/p&gt;</source>
       <translation>&lt;b&gt;Otevřít....&lt;/b&gt;&lt;p&gt;Otevře existující multiprojekt.&lt;/p&gt;</translation>
     </message>
     <message>
+      <location filename="../MultiProject/MultiProject.py" line="724" />
+      <source>Close multiproject</source>
+      <translation>Zavřít multiprojekt</translation>
+    </message>
+    <message>
       <location filename="../MultiProject/MultiProject.py" line="726" />
-      <source>Close multiproject</source>
-      <translation>Zavřít multiprojekt</translation>
-    </message>
-    <message>
-      <location filename="../MultiProject/MultiProject.py" line="728" />
       <source>&amp;Close</source>
       <translation>&amp;Zavřít</translation>
     </message>
     <message>
+      <location filename="../MultiProject/MultiProject.py" line="727" />
+      <source>Close the current multiproject</source>
+      <translation>Uzavře aktuální multiprojekt</translation>
+    </message>
+    <message>
       <location filename="../MultiProject/MultiProject.py" line="729" />
-      <source>Close the current multiproject</source>
-      <translation>Uzavře aktuální multiprojekt</translation>
-    </message>
-    <message>
-      <location filename="../MultiProject/MultiProject.py" line="731" />
       <source>&lt;b&gt;Close&lt;/b&gt;&lt;p&gt;This closes the current multiproject.&lt;/p&gt;</source>
       <translation>&lt;b&gt;Zavřít&lt;/b&gt;&lt;p&gt;Aktuální multiprojekt se uzavře.&lt;/p&gt;</translation>
     </message>
     <message>
+      <location filename="../MultiProject/MultiProject.py" line="737" />
+      <source>Save multiproject</source>
+      <translation>Uložit multiprojekt</translation>
+    </message>
+    <message>
       <location filename="../MultiProject/MultiProject.py" line="739" />
-      <source>Save multiproject</source>
-      <translation>Uložit multiprojekt</translation>
+      <source>&amp;Save</source>
+      <translation>&amp;Uložit</translation>
+    </message>
+    <message>
+      <location filename="../MultiProject/MultiProject.py" line="740" />
+      <source>Save the current multiproject</source>
+      <translation>Uložit aktuální multiprojekt</translation>
     </message>
     <message>
       <location filename="../MultiProject/MultiProject.py" line="741" />
-      <source>&amp;Save</source>
-      <translation>&amp;Uložit</translation>
-    </message>
-    <message>
-      <location filename="../MultiProject/MultiProject.py" line="742" />
-      <source>Save the current multiproject</source>
-      <translation>Uložit aktuální multiprojekt</translation>
-    </message>
-    <message>
-      <location filename="../MultiProject/MultiProject.py" line="743" />
       <source>&lt;b&gt;Save&lt;/b&gt;&lt;p&gt;This saves the current multiproject.&lt;/p&gt;</source>
       <translation>&lt;b&gt;Uložit&lt;/b&gt;&lt;p&gt;Aktuální multiprojekt se uloží.&lt;/p&gt;</translation>
     </message>
     <message>
+      <location filename="../MultiProject/MultiProject.py" line="749" />
+      <source>Save multiproject as</source>
+      <translation>Uložit multiprojekt jako</translation>
+    </message>
+    <message>
       <location filename="../MultiProject/MultiProject.py" line="751" />
-      <source>Save multiproject as</source>
-      <translation>Uložit multiprojekt jako</translation>
+      <source>Save &amp;as...</source>
+      <translation>Uložit j&amp;ako...</translation>
     </message>
     <message>
       <location filename="../MultiProject/MultiProject.py" line="753" />
-      <source>Save &amp;as...</source>
-      <translation>Uložit j&amp;ako...</translation>
+      <source>Save the current multiproject to a new file</source>
+      <translation>Uloží aktuální multiprojekt do nového souboru</translation>
     </message>
     <message>
       <location filename="../MultiProject/MultiProject.py" line="755" />
-      <source>Save the current multiproject to a new file</source>
-      <translation>Uloží aktuální multiprojekt do nového souboru</translation>
-    </message>
-    <message>
-      <location filename="../MultiProject/MultiProject.py" line="757" />
       <source>&lt;b&gt;Save as&lt;/b&gt;&lt;p&gt;This saves the current multiproject to a new file.&lt;/p&gt;</source>
       <translation>&lt;b&gt;Uložit jako&lt;/b&gt;&lt;p&gt;Uloží aktuální mulktiprojekt do nového souboru.&lt;/p&gt;</translation>
     </message>
     <message>
+      <location filename="../MultiProject/MultiProject.py" line="763" />
+      <source>Add project to multiproject</source>
+      <translation>Přidat projekt do multiprojektu</translation>
+    </message>
+    <message>
       <location filename="../MultiProject/MultiProject.py" line="765" />
-      <source>Add project to multiproject</source>
-      <translation>Přidat projekt do multiprojektu</translation>
+      <source>Add &amp;project...</source>
+      <translation>Přidat &amp;projekt...</translation>
     </message>
     <message>
       <location filename="../MultiProject/MultiProject.py" line="767" />
-      <source>Add &amp;project...</source>
-      <translation>Přidat &amp;projekt...</translation>
+      <source>Add a project to the current multiproject</source>
+      <translation>Projekt se přidá do aktuálního multiprojektu</translation>
     </message>
     <message>
       <location filename="../MultiProject/MultiProject.py" line="769" />
-      <source>Add a project to the current multiproject</source>
-      <translation>Projekt se přidá do aktuálního multiprojektu</translation>
-    </message>
-    <message>
-      <location filename="../MultiProject/MultiProject.py" line="771" />
       <source>&lt;b&gt;Add project...&lt;/b&gt;&lt;p&gt;This opens a dialog for adding a project to the current multiproject.&lt;/p&gt;</source>
       <translation>&lt;b&gt;Přidat projekt...&lt;/b&gt;&lt;p&gt;Otevře dialog pro přidání projektu do aktuálního multiprojektu.&lt;/p&gt;</translation>
     </message>
     <message>
+      <location filename="../MultiProject/MultiProject.py" line="778" />
+      <source>Multiproject properties</source>
+      <translation>Nastavení multiprojektu</translation>
+    </message>
+    <message>
       <location filename="../MultiProject/MultiProject.py" line="780" />
-      <source>Multiproject properties</source>
-      <translation>Nastavení multiprojektu</translation>
+      <source>&amp;Properties...</source>
+      <translation>&amp;Natavení...</translation>
     </message>
     <message>
       <location filename="../MultiProject/MultiProject.py" line="782" />
-      <source>&amp;Properties...</source>
-      <translation>&amp;Natavení...</translation>
+      <source>Show the multiproject properties</source>
+      <translation>Zobrazit nastavení projektu</translation>
     </message>
     <message>
       <location filename="../MultiProject/MultiProject.py" line="784" />
-      <source>Show the multiproject properties</source>
-      <translation>Zobrazit nastavení projektu</translation>
-    </message>
-    <message>
-      <location filename="../MultiProject/MultiProject.py" line="786" />
       <source>&lt;b&gt;Properties...&lt;/b&gt;&lt;p&gt;This shows a dialog to edit the multiproject properties.&lt;/p&gt;</source>
       <translation>&lt;b&gt;Nastavení...&lt;/b&gt;&lt;p&gt;Zobrazí dialog s editací nastavení multiprojektu.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MultiProject/MultiProject.py" line="806" />
+      <location filename="../MultiProject/MultiProject.py" line="804" />
       <source>&amp;Multiproject</source>
       <translation>&amp;Multiprojekt</translation>
     </message>
     <message>
-      <location filename="../MultiProject/MultiProject.py" line="807" />
+      <location filename="../MultiProject/MultiProject.py" line="805" />
       <source>Open &amp;Recent Multiprojects</source>
       <translation>Otevřít poslední multip&amp;rojekty</translation>
     </message>
     <message>
-      <location filename="../MultiProject/MultiProject.py" line="848" />
-      <location filename="../MultiProject/MultiProject.py" line="845" />
+      <location filename="../MultiProject/MultiProject.py" line="846" />
+      <location filename="../MultiProject/MultiProject.py" line="843" />
       <source>Multiproject</source>
       <translation />
     </message>
     <message>
-      <location filename="../MultiProject/MultiProject.py" line="902" />
+      <location filename="../MultiProject/MultiProject.py" line="900" />
       <source>&amp;Clear</source>
       <translation>&amp;Vyčistit</translation>
     </message>
@@ -54191,50 +54211,50 @@
   <context>
     <name>PackageDiagramBuilder</name>
     <message>
-      <location filename="../Graphics/PackageDiagramBuilder.py" line="61" />
+      <location filename="../Graphics/PackageDiagramBuilder.py" line="62" />
       <source>Package Diagram {0}: {1}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Graphics/PackageDiagramBuilder.py" line="64" />
+      <location filename="../Graphics/PackageDiagramBuilder.py" line="65" />
       <source>Package Diagram: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Graphics/PackageDiagramBuilder.py" line="170" />
-      <location filename="../Graphics/PackageDiagramBuilder.py" line="106" />
+      <location filename="../Graphics/PackageDiagramBuilder.py" line="174" />
+      <location filename="../Graphics/PackageDiagramBuilder.py" line="107" />
       <source>Parsing modules...</source>
       <translation type="unfinished">Parsování modulů...</translation>
     </message>
     <message>
-      <location filename="../Graphics/PackageDiagramBuilder.py" line="171" />
-      <location filename="../Graphics/PackageDiagramBuilder.py" line="107" />
+      <location filename="../Graphics/PackageDiagramBuilder.py" line="175" />
+      <location filename="../Graphics/PackageDiagramBuilder.py" line="108" />
       <source>%v/%m Modules</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Graphics/PackageDiagramBuilder.py" line="172" />
-      <location filename="../Graphics/PackageDiagramBuilder.py" line="108" />
+      <location filename="../Graphics/PackageDiagramBuilder.py" line="176" />
+      <location filename="../Graphics/PackageDiagramBuilder.py" line="109" />
       <source>Package Diagram</source>
       <translation type="unfinished">Diagram balíčku</translation>
     </message>
     <message>
-      <location filename="../Graphics/PackageDiagramBuilder.py" line="220" />
+      <location filename="../Graphics/PackageDiagramBuilder.py" line="227" />
       <source>The directory &lt;b&gt;'{0}'&lt;/b&gt; is not a package.</source>
       <translation type="unfinished">Adresář &lt;b&gt;'{0}'&lt;/b&gt; není balíček.</translation>
     </message>
     <message>
-      <location filename="../Graphics/PackageDiagramBuilder.py" line="231" />
+      <location filename="../Graphics/PackageDiagramBuilder.py" line="238" />
       <source>The package &lt;b&gt;'{0}'&lt;/b&gt; does not contain any modules or subpackages.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Graphics/PackageDiagramBuilder.py" line="248" />
+      <location filename="../Graphics/PackageDiagramBuilder.py" line="255" />
       <source>The package &lt;b&gt;'{0}'&lt;/b&gt; does not contain any classes or subpackages.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Graphics/PackageDiagramBuilder.py" line="545" />
+      <location filename="../Graphics/PackageDiagramBuilder.py" line="552" />
       <source>&lt;p&gt;The diagram belongs to project &lt;b&gt;{0}&lt;/b&gt;. Please open it and try again.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -54780,119 +54800,119 @@
   <context>
     <name>Pip</name>
     <message>
-      <location filename="../PipInterface/Pip.py" line="107" />
+      <location filename="../PipInterface/Pip.py" line="109" />
       <source>python exited with an error ({0}).</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="114" />
+      <location filename="../PipInterface/Pip.py" line="116" />
       <source>python did not finish within 30 seconds.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="117" />
+      <location filename="../PipInterface/Pip.py" line="119" />
       <source>python could not be started.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="177" />
+      <location filename="../PipInterface/Pip.py" line="179" />
       <source>&lt;project&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="206" />
+      <location filename="../PipInterface/Pip.py" line="208" />
       <source>Interpreter for Virtual Environment</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="207" />
+      <location filename="../PipInterface/Pip.py" line="209" />
       <source>No interpreter configured for the selected virtual environment.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="242" />
+      <location filename="../PipInterface/Pip.py" line="244" />
       <source>Install PIP</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="284" />
+      <location filename="../PipInterface/Pip.py" line="286" />
       <source>Repair PIP</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="357" />
-      <location filename="../PipInterface/Pip.py" line="309" />
+      <location filename="../PipInterface/Pip.py" line="359" />
+      <location filename="../PipInterface/Pip.py" line="311" />
       <source>Upgrade Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="310" />
+      <location filename="../PipInterface/Pip.py" line="312" />
       <source>You are trying to upgrade PyQt packages. This might not work for the current instance of Python ({0}). Do you want to continue?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="397" />
+      <location filename="../PipInterface/Pip.py" line="399" />
       <source>Install Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="426" />
+      <location filename="../PipInterface/Pip.py" line="428" />
       <source>Install Packages from Requirements</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="489" />
-      <location filename="../PipInterface/Pip.py" line="458" />
-      <location filename="../PipInterface/Pip.py" line="449" />
+      <location filename="../PipInterface/Pip.py" line="491" />
+      <location filename="../PipInterface/Pip.py" line="460" />
+      <location filename="../PipInterface/Pip.py" line="451" />
       <source>Uninstall Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="490" />
-      <location filename="../PipInterface/Pip.py" line="450" />
+      <location filename="../PipInterface/Pip.py" line="492" />
+      <location filename="../PipInterface/Pip.py" line="452" />
       <source>Do you really want to uninstall these packages?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="501" />
+      <location filename="../PipInterface/Pip.py" line="503" />
       <source>Uninstall Packages from Requirements</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="718" />
+      <location filename="../PipInterface/Pip.py" line="721" />
       <source>Cache Info</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="743" />
-      <location filename="../PipInterface/Pip.py" line="735" />
+      <location filename="../PipInterface/Pip.py" line="746" />
+      <location filename="../PipInterface/Pip.py" line="738" />
       <source>List Cached Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="736" />
+      <location filename="../PipInterface/Pip.py" line="739" />
       <source>Enter a file pattern (empty for all):</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="767" />
-      <location filename="../PipInterface/Pip.py" line="761" />
+      <location filename="../PipInterface/Pip.py" line="770" />
+      <location filename="../PipInterface/Pip.py" line="764" />
       <source>Remove Cached Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="762" />
+      <location filename="../PipInterface/Pip.py" line="765" />
       <source>Enter a file pattern:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="790" />
-      <location filename="../PipInterface/Pip.py" line="785" />
+      <location filename="../PipInterface/Pip.py" line="793" />
+      <location filename="../PipInterface/Pip.py" line="788" />
       <source>Purge Cache</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="786" />
+      <location filename="../PipInterface/Pip.py" line="789" />
       <source>Do you really want to purge the pip cache? All files need to be downloaded again.</source>
       <translation type="unfinished" />
     </message>
@@ -56079,32 +56099,32 @@
   <context>
     <name>PluginInstallWidget</name>
     <message>
-      <location filename="../PluginManager/PluginInstallDialog.py" line="62" />
+      <location filename="../PluginManager/PluginInstallDialog.py" line="63" />
       <source>&lt; Back</source>
       <translation>&lt; Zpět</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginInstallDialog.py" line="64" />
+      <location filename="../PluginManager/PluginInstallDialog.py" line="65" />
       <source>Next &gt;</source>
       <translation>Další &gt;</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginInstallDialog.py" line="66" />
+      <location filename="../PluginManager/PluginInstallDialog.py" line="67" />
       <source>Install</source>
       <translation>Instalovat</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginInstallDialog.py" line="76" />
+      <location filename="../PluginManager/PluginInstallDialog.py" line="77" />
       <source>User plugins directory</source>
       <translation>Uživatelský adresář s pluginy</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginInstallDialog.py" line="82" />
+      <location filename="../PluginManager/PluginInstallDialog.py" line="83" />
       <source>Global plugins directory</source>
       <translation>Globální adresář s pluginy</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginInstallDialog.py" line="145" />
+      <location filename="../PluginManager/PluginInstallDialog.py" line="146" />
       <source>Plugin ZIP-Archives:
 {0}
 
@@ -56113,78 +56133,78 @@
       <translation>Plugin ZIP-Archivy:{0}Umístění:{1} ({2})</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginInstallDialog.py" line="164" />
+      <location filename="../PluginManager/PluginInstallDialog.py" line="165" />
       <source>Select plugin ZIP-archives</source>
       <translation>Vybrat plugin ZIP-archivy</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginInstallDialog.py" line="166" />
+      <location filename="../PluginManager/PluginInstallDialog.py" line="167" />
       <source>Plugin archive (*.zip)</source>
       <translation>Plugin archiv (*.zip)</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginInstallDialog.py" line="232" />
+      <location filename="../PluginManager/PluginInstallDialog.py" line="233" />
       <source>Installing {0} ...</source>
       <translation>Instalovat {0}...</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginInstallDialog.py" line="236" />
+      <location filename="../PluginManager/PluginInstallDialog.py" line="237" />
       <source>  ok</source>
       <translation>  ok</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginInstallDialog.py" line="243" />
+      <location filename="../PluginManager/PluginInstallDialog.py" line="244" />
       <source>The plugins were installed successfully.</source>
       <translation>Pluginy byly úspěšně instalovány.</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginInstallDialog.py" line="246" />
+      <location filename="../PluginManager/PluginInstallDialog.py" line="247" />
       <source>Some plugins could not be installed.</source>
       <translation>Některé pluginy nebyly instalovány.</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginInstallDialog.py" line="276" />
+      <location filename="../PluginManager/PluginInstallDialog.py" line="277" />
       <source>&lt;p&gt;The archive file &lt;b&gt;{0}&lt;/b&gt; does not exist. Aborting...&lt;/p&gt;</source>
       <translation>&lt;p&gt;Soubor archívu &lt;b&gt;{0}&lt;/b&gt; neexistuje. Zrušeno...&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginInstallDialog.py" line="317" />
-      <location filename="../PluginManager/PluginInstallDialog.py" line="286" />
+      <location filename="../PluginManager/PluginInstallDialog.py" line="318" />
+      <location filename="../PluginManager/PluginInstallDialog.py" line="287" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; is not a valid plugin ZIP-archive. Aborting...&lt;/p&gt;</source>
       <translation>&lt;p&gt;Soubor &lt;b&gt;{0}&lt;/b&gt; není platný ZIP archiv plugin. Zrušeno...&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginInstallDialog.py" line="296" />
+      <location filename="../PluginManager/PluginInstallDialog.py" line="297" />
       <source>&lt;p&gt;The destination directory &lt;b&gt;{0}&lt;/b&gt; is not writeable. Aborting...&lt;/p&gt;</source>
       <translation>&lt;p&gt;Do cílového adresáře &lt;b&gt;{0}&lt;/b&gt; nelze zapisovat. Zrušeno...&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginInstallDialog.py" line="364" />
+      <location filename="../PluginManager/PluginInstallDialog.py" line="365" />
       <source>&lt;p&gt;The plugin module &lt;b&gt;{0}&lt;/b&gt; does not contain a 'packageName' attribute. Aborting...&lt;/p&gt;</source>
       <translation>&lt;p&gt;Plugin modul &lt;b&gt;{0}&lt;/b&gt; neobsahuje atribut 'packageName'.&lt;/p&gt;&lt;p&gt;Zrušeno...&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginInstallDialog.py" line="374" />
+      <location filename="../PluginManager/PluginInstallDialog.py" line="375" />
       <source>&lt;p&gt;The plugin module &lt;b&gt;{0}&lt;/b&gt; does not conform with the PyQt v2 API. Aborting...&lt;/p&gt;</source>
       <translation>&lt;p&gt;Plugin modul &lt;b&gt;{0}&lt;/b&gt; není v souladu s PyQt v2 API. Zrušeno...&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginInstallDialog.py" line="389" />
+      <location filename="../PluginManager/PluginInstallDialog.py" line="390" />
       <source>&lt;p&gt;The plugin package &lt;b&gt;{0}&lt;/b&gt; exists. Aborting...&lt;/p&gt;</source>
       <translation>&lt;p&gt;Plugin balíček &lt;b&gt;{0}&lt;/b&gt; již existuje. Zrušeno...&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginInstallDialog.py" line="402" />
+      <location filename="../PluginManager/PluginInstallDialog.py" line="403" />
       <source>&lt;p&gt;The plugin module &lt;b&gt;{0}&lt;/b&gt; exists. Aborting...&lt;/p&gt;</source>
       <translation>&lt;p&gt;Plugin modul &lt;b&gt;{0}&lt;/b&gt; již existuje. Zrušeno...&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginInstallDialog.py" line="478" />
+      <location filename="../PluginManager/PluginInstallDialog.py" line="483" />
       <source>Error installing plugin. Reason: {0}</source>
       <translation>Chyba při instalaci pluginu. Důvod: {0}</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginInstallDialog.py" line="487" />
+      <location filename="../PluginManager/PluginInstallDialog.py" line="492" />
       <source>Unspecific exception installing plugin.</source>
       <translation>Neznámá výjimka při instalaci pluginu.</translation>
     </message>
@@ -57950,7 +57970,7 @@
       <translation>Přejmenovat soubor</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="3136" />
+      <location filename="../Project/Project.py" line="3134" />
       <location filename="../Project/Project.py" line="1983" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
       <translation>&lt;p&gt;Soubor &lt;b&gt;{0}&lt;/b&gt; již existuje.&lt;/p&gt;&lt;p&gt;Má se přepsat?&lt;/p&gt;</translation>
@@ -57991,13 +58011,13 @@
       <translation>&lt;p&gt;Adresář projektu &lt;b&gt;{0}&lt;/b&gt; nelze vytvořit.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="2953" />
+      <location filename="../Project/Project.py" line="2951" />
       <location filename="../Project/Project.py" line="2429" />
       <source>Create project management directory</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="2954" />
+      <location filename="../Project/Project.py" line="2952" />
       <location filename="../Project/Project.py" line="2430" />
       <source>&lt;p&gt;The project directory &lt;b&gt;{0}&lt;/b&gt; is not writable.&lt;/p&gt;</source>
       <translation type="unfinished" />
@@ -58025,7 +58045,7 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="2983" />
+      <location filename="../Project/Project.py" line="2981" />
       <location filename="../Project/Project.py" line="2611" />
       <location filename="../Project/Project.py" line="2583" />
       <location filename="../Project/Project.py" line="2537" />
@@ -58040,7 +58060,7 @@
       <translation>Přidat existující soubory do projektu?</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="2984" />
+      <location filename="../Project/Project.py" line="2982" />
       <location filename="../Project/Project.py" line="2515" />
       <source>Select Version Control System</source>
       <translation>Vybrat Version Control System</translation>
@@ -58052,7 +58072,7 @@
       <translation>Chcete editovat parametry VCS příkazu?</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="3838" />
+      <location filename="../Project/Project.py" line="3836" />
       <location filename="../Project/Project.py" line="2554" />
       <source>New project</source>
       <translation>Nový projekt</translation>
@@ -58084,7 +58104,7 @@
       <translation>Zadejte vzor cesty pro soubory s překlady (použijte  '%language%' na místě s kódem jazyka):</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="3852" />
+      <location filename="../Project/Project.py" line="3850" />
       <location filename="../Project/Project.py" line="2930" />
       <source>Open project</source>
       <translation>Otevřít projekt</translation>
@@ -58095,40 +58115,40 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="3122" />
-      <location filename="../Project/Project.py" line="3111" />
+      <location filename="../Project/Project.py" line="3120" />
+      <location filename="../Project/Project.py" line="3109" />
       <source>Project Files (*.epj)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="3120" />
+      <location filename="../Project/Project.py" line="3118" />
       <source>Save Project</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="3135" />
+      <location filename="../Project/Project.py" line="3133" />
       <source>Save File</source>
       <translation>Uložit soubor</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="3171" />
+      <location filename="../Project/Project.py" line="3169" />
       <source>Close Project</source>
       <translation>Zavřít projekt</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="3172" />
+      <location filename="../Project/Project.py" line="3170" />
       <source>The current project has unsaved changes.</source>
       <translation>Aktuální projekt obsahuje neuložené změny.</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="3353" />
-      <location filename="../Project/Project.py" line="3321" />
+      <location filename="../Project/Project.py" line="3351" />
+      <location filename="../Project/Project.py" line="3319" />
       <source>Syntax errors detected</source>
       <translation>Zjištěny syntaktické chyby</translation>
     </message>
     <message numerus="yes">
-      <location filename="../Project/Project.py" line="3354" />
-      <location filename="../Project/Project.py" line="3322" />
+      <location filename="../Project/Project.py" line="3352" />
+      <location filename="../Project/Project.py" line="3320" />
       <source>The project contains %n file(s) with syntax errors.</source>
       <translation>
         <numerusform>Projekt obsahuje %n soubor se syntaktickými chybami.</numerusform>
@@ -58137,880 +58157,880 @@
       </translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="3840" />
+      <location filename="../Project/Project.py" line="3838" />
       <source>&amp;New...</source>
       <translation>&amp;Nový...</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="3842" />
+      <location filename="../Project/Project.py" line="3840" />
       <source>Generate a new project</source>
       <translation>Vygenerovat nový projekt</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="3843" />
+      <location filename="../Project/Project.py" line="3841" />
       <source>&lt;b&gt;New...&lt;/b&gt;&lt;p&gt;This opens a dialog for entering the info for a new project.&lt;/p&gt;</source>
       <translation>&lt;b&gt;Nový...&lt;/b&gt;&lt;p&gt;Otevře se dialogové okno pro zadání informací o novém projektu.&lt;/p&gt;</translation>
     </message>
     <message>
+      <location filename="../Project/Project.py" line="3852" />
+      <source>&amp;Open...</source>
+      <translation>&amp;Otevřít...</translation>
+    </message>
+    <message>
       <location filename="../Project/Project.py" line="3854" />
-      <source>&amp;Open...</source>
-      <translation>&amp;Otevřít...</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="3856" />
       <source>Open an existing project</source>
       <translation>Otevřít existující projekt</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="3857" />
+      <location filename="../Project/Project.py" line="3855" />
       <source>&lt;b&gt;Open...&lt;/b&gt;&lt;p&gt;This opens an existing project.&lt;/p&gt;</source>
       <translation>&lt;b&gt;Otevřít....&lt;/b&gt;&lt;p&gt;Otevře existující projekt.&lt;/p&gt;</translation>
     </message>
     <message>
+      <location filename="../Project/Project.py" line="3863" />
+      <source>Close project</source>
+      <translation>Zavřít projekt</translation>
+    </message>
+    <message>
       <location filename="../Project/Project.py" line="3865" />
-      <source>Close project</source>
-      <translation>Zavřít projekt</translation>
+      <source>&amp;Close</source>
+      <translation>&amp;Zavřít</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="3866" />
+      <source>Close the current project</source>
+      <translation>Uzavře aktuální projekt</translation>
     </message>
     <message>
       <location filename="../Project/Project.py" line="3867" />
-      <source>&amp;Close</source>
-      <translation>&amp;Zavřít</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="3868" />
-      <source>Close the current project</source>
-      <translation>Uzavře aktuální projekt</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="3869" />
       <source>&lt;b&gt;Close&lt;/b&gt;&lt;p&gt;This closes the current project.&lt;/p&gt;</source>
       <translation>&lt;b&gt;Zavřít&lt;/b&gt;&lt;p&gt;Aktuální projekt se uzavře.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="3877" />
+      <location filename="../Project/Project.py" line="3875" />
       <source>Save project</source>
       <translation>Uložit projekt</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4070" />
-      <location filename="../Project/Project.py" line="3879" />
+      <location filename="../Project/Project.py" line="4068" />
+      <location filename="../Project/Project.py" line="3877" />
       <source>&amp;Save</source>
       <translation>&amp;Uložit</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="3880" />
+      <location filename="../Project/Project.py" line="3878" />
       <source>Save the current project</source>
       <translation>Uložit aktuální projekt</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="3881" />
+      <location filename="../Project/Project.py" line="3879" />
       <source>&lt;b&gt;Save&lt;/b&gt;&lt;p&gt;This saves the current project.&lt;/p&gt;</source>
       <translation>&lt;b&gt;Uložit&lt;/b&gt;&lt;p&gt;Aktuální projekt se uloží.&lt;/p&gt;</translation>
     </message>
     <message>
+      <location filename="../Project/Project.py" line="3887" />
+      <source>Save project as</source>
+      <translation>Uložit projekt jako</translation>
+    </message>
+    <message>
       <location filename="../Project/Project.py" line="3889" />
-      <source>Save project as</source>
-      <translation>Uložit projekt jako</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="3891" />
       <source>Save &amp;as...</source>
       <translation>Uložit j&amp;ako...</translation>
     </message>
     <message>
+      <location filename="../Project/Project.py" line="3890" />
+      <source>Save the current project to a new file</source>
+      <translation>Uloží aktuální projekt do nového souboru</translation>
+    </message>
+    <message>
       <location filename="../Project/Project.py" line="3892" />
-      <source>Save the current project to a new file</source>
-      <translation>Uloží aktuální projekt do nového souboru</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="3894" />
       <source>&lt;b&gt;Save as&lt;/b&gt;&lt;p&gt;This saves the current project to a new file.&lt;/p&gt;</source>
       <translation>&lt;b&gt;Uložit jako&lt;/b&gt;&lt;p&gt;Uloží aktuální projekt do nového souboru.&lt;/p&gt;</translation>
     </message>
     <message>
+      <location filename="../Project/Project.py" line="3902" />
+      <source>Add files to project</source>
+      <translation>Přidat soubory do projektu</translation>
+    </message>
+    <message>
       <location filename="../Project/Project.py" line="3904" />
-      <source>Add files to project</source>
-      <translation>Přidat soubory do projektu</translation>
+      <source>Add &amp;files...</source>
+      <translation>&amp;Přidat soubory...</translation>
     </message>
     <message>
       <location filename="../Project/Project.py" line="3906" />
-      <source>Add &amp;files...</source>
-      <translation>&amp;Přidat soubory...</translation>
+      <source>Add files to the current project</source>
+      <translation>Přidat soubory do aktuálního projektu</translation>
     </message>
     <message>
       <location filename="../Project/Project.py" line="3908" />
-      <source>Add files to the current project</source>
-      <translation>Přidat soubory do aktuálního projektu</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="3910" />
       <source>&lt;b&gt;Add files...&lt;/b&gt;&lt;p&gt;This opens a dialog for adding files to the current project. The place to add is determined by the file extension.&lt;/p&gt;</source>
       <translation>&lt;b&gt;Přidat soubory...&lt;/b&gt;&lt;p&gt;Otevře dialog pri přidání souborů do aktuálního projektu. Místo pro přidání je definováno extenzí souborů.&lt;/p&gt;</translation>
     </message>
     <message>
+      <location filename="../Project/Project.py" line="3918" />
+      <source>Add directory to project</source>
+      <translation>Přidat adresář do projektu</translation>
+    </message>
+    <message>
       <location filename="../Project/Project.py" line="3920" />
-      <source>Add directory to project</source>
-      <translation>Přidat adresář do projektu</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="3922" />
       <source>Add directory...</source>
       <translation>Přidat adresář...</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="3925" />
+      <location filename="../Project/Project.py" line="3923" />
       <source>Add a directory to the current project</source>
       <translation>Přidat adresář do aktuálního projektu</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="3926" />
+      <location filename="../Project/Project.py" line="3924" />
       <source>&lt;b&gt;Add directory...&lt;/b&gt;&lt;p&gt;This opens a dialog for adding a directory to the current project.&lt;/p&gt;</source>
       <translation>&lt;b&gt;Přidat adresář...&lt;/b&gt;&lt;p&gt;Otevře dialog pro přičtení adresáře do aktuálního projektu.&lt;/p&gt;</translation>
     </message>
     <message>
+      <location filename="../Project/Project.py" line="3933" />
+      <source>Add translation to project</source>
+      <translation>Přidat překlad do projektu</translation>
+    </message>
+    <message>
       <location filename="../Project/Project.py" line="3935" />
-      <source>Add translation to project</source>
-      <translation>Přidat překlad do projektu</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="3937" />
       <source>Add &amp;translation...</source>
       <translation>Přida&amp;t překlad...</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="3940" />
+      <location filename="../Project/Project.py" line="3938" />
       <source>Add a translation to the current project</source>
       <translation>Přidat překlad do aktuálního projektu</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="3941" />
+      <location filename="../Project/Project.py" line="3939" />
       <source>&lt;b&gt;Add translation...&lt;/b&gt;&lt;p&gt;This opens a dialog for add a translation to the current project.&lt;/p&gt;</source>
       <translation>&lt;b&gt;Přidat překlad&lt;/b&gt;&lt;p&gt;Otevře dialog pro přidání překladu do aktuálního projektu.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="3950" />
+      <location filename="../Project/Project.py" line="3948" />
       <source>Search new files</source>
       <translation>Hledat nové soubory</translation>
     </message>
     <message>
+      <location filename="../Project/Project.py" line="3949" />
+      <source>Searc&amp;h new files...</source>
+      <translation>&amp;Hledat nové soubory...</translation>
+    </message>
+    <message>
       <location filename="../Project/Project.py" line="3951" />
-      <source>Searc&amp;h new files...</source>
-      <translation>&amp;Hledat nové soubory...</translation>
+      <source>Search new files in the project directory.</source>
+      <translation>Hledat nové soubory v adresáři projektu.</translation>
     </message>
     <message>
       <location filename="../Project/Project.py" line="3953" />
-      <source>Search new files in the project directory.</source>
-      <translation>Hledat nové soubory v adresáři projektu.</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="3955" />
       <source>&lt;b&gt;Search new files...&lt;/b&gt;&lt;p&gt;This searches for new files (sources, *.ui, *.idl, *.proto) in the project directory and registered subdirectories.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Project/Project.py" line="3963" />
+      <source>Search Project File</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="3964" />
+      <source>Search Project File...</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Project/Project.py" line="3965" />
-      <source>Search Project File</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="3966" />
-      <source>Search Project File...</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="3967" />
       <source>Alt+Ctrl+P</source>
       <comment>Project|Search Project File</comment>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Project/Project.py" line="3968" />
+      <source>Search for a file in the project list of files.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Project/Project.py" line="3970" />
-      <source>Search for a file in the project list of files.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="3972" />
       <source>&lt;b&gt;Search Project File&lt;/b&gt;&lt;p&gt;This searches for a file in the project list of files.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Project/Project.py" line="3978" />
+      <source>Project properties</source>
+      <translation>Nastavení projektu</translation>
+    </message>
+    <message>
       <location filename="../Project/Project.py" line="3980" />
-      <source>Project properties</source>
-      <translation>Nastavení projektu</translation>
+      <source>&amp;Properties...</source>
+      <translation>&amp;Natavení...</translation>
     </message>
     <message>
       <location filename="../Project/Project.py" line="3982" />
-      <source>&amp;Properties...</source>
-      <translation>&amp;Natavení...</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="3984" />
       <source>Show the project properties</source>
       <translation>Zobrazit nastavení projektu</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="3985" />
+      <location filename="../Project/Project.py" line="3983" />
       <source>&lt;b&gt;Properties...&lt;/b&gt;&lt;p&gt;This shows a dialog to edit the project properties.&lt;/p&gt;</source>
       <translation>&lt;b&gt;Nastavení...&lt;/b&gt;&lt;p&gt;Zobrazí dialog s editací nastavení projektu.&lt;/p&gt;</translation>
     </message>
     <message>
+      <location filename="../Project/Project.py" line="3991" />
+      <source>User project properties</source>
+      <translation>Uživatelská nastavení projektu</translation>
+    </message>
+    <message>
       <location filename="../Project/Project.py" line="3993" />
-      <source>User project properties</source>
-      <translation>Uživatelská nastavení projektu</translation>
+      <source>&amp;User Properties...</source>
+      <translation>Uživat&amp;elská nastavení...</translation>
     </message>
     <message>
       <location filename="../Project/Project.py" line="3995" />
-      <source>&amp;User Properties...</source>
-      <translation>Uživat&amp;elská nastavení...</translation>
+      <source>Show the user specific project properties</source>
+      <translation>Zobrazit uživatelem definovaná nastavení projektu</translation>
     </message>
     <message>
       <location filename="../Project/Project.py" line="3997" />
-      <source>Show the user specific project properties</source>
-      <translation>Zobrazit uživatelem definovaná nastavení projektu</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="3999" />
       <source>&lt;b&gt;User Properties...&lt;/b&gt;&lt;p&gt;This shows a dialog to edit the user specific project properties.&lt;/p&gt;</source>
       <translation>&lt;b&gt;Uživatelská nastavení...&lt;/b&gt;&lt;p&gt;Zobrazí dialog s editací uživatelských nastavení projektu.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4008" />
+      <location filename="../Project/Project.py" line="4006" />
       <source>Filetype Associations</source>
       <translation>Asociace typů souborů</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4009" />
+      <location filename="../Project/Project.py" line="4007" />
       <source>Filetype Associations...</source>
       <translation>Asociace typů souborů...</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4012" />
+      <location filename="../Project/Project.py" line="4010" />
       <source>Show the project file type associations</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4013" />
+      <location filename="../Project/Project.py" line="4011" />
       <source>&lt;b&gt;Filetype Associations...&lt;/b&gt;&lt;p&gt;This shows a dialog to edit the file type associations of the project. These associations determine the type (source, form, interface, protocol or others) with a filename pattern. They are used when adding a file to the project and when performing a search for new files.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4026" />
+      <location filename="../Project/Project.py" line="4024" />
       <source>Lexer Associations</source>
       <translation>Spojení lexeru</translation>
     </message>
     <message>
+      <location filename="../Project/Project.py" line="4025" />
+      <source>Lexer Associations...</source>
+      <translation>Spojení lexeru...</translation>
+    </message>
+    <message>
       <location filename="../Project/Project.py" line="4027" />
-      <source>Lexer Associations...</source>
-      <translation>Spojení lexeru...</translation>
+      <source>Show the project lexer associations (overriding defaults)</source>
+      <translation>Zobrazit spojení lexeru projektu (přepíše výchozí)</translation>
     </message>
     <message>
       <location filename="../Project/Project.py" line="4029" />
-      <source>Show the project lexer associations (overriding defaults)</source>
-      <translation>Zobrazit spojení lexeru projektu (přepíše výchozí)</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4031" />
       <source>&lt;b&gt;Lexer Associations...&lt;/b&gt;&lt;p&gt;This shows a dialog to edit the lexer associations of the project. These associations override the global lexer associations. Lexers are used to highlight the editor text.&lt;/p&gt;</source>
       <translation>&lt;b&gt;Spojení lexeru...&lt;/b&gt;&lt;p&gt;Zobrazuje dialog s editací spojení lexeru projektu. Tato spojení přepisují globální lexer spojení. Lexer je použit pro zvýraznění textu v editoru.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4044" />
+      <location filename="../Project/Project.py" line="4042" />
       <source>Debugger Properties</source>
       <translation>Nastavení debugeru</translation>
     </message>
     <message>
+      <location filename="../Project/Project.py" line="4043" />
+      <source>Debugger &amp;Properties...</source>
+      <translation>Nastavení &amp;debuggeru...</translation>
+    </message>
+    <message>
       <location filename="../Project/Project.py" line="4045" />
-      <source>Debugger &amp;Properties...</source>
-      <translation>Nastavení &amp;debuggeru...</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4047" />
       <source>Show the debugger properties</source>
       <translation>Zobrazit nastavení debugeru</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4048" />
+      <location filename="../Project/Project.py" line="4046" />
       <source>&lt;b&gt;Debugger Properties...&lt;/b&gt;&lt;p&gt;This shows a dialog to edit project specific debugger settings.&lt;/p&gt;</source>
       <translation>&lt;b&gt;Nastavení debugeru...&lt;/b&gt;&lt;p&gt;Zobrazí dialog s editací nastavení debugeru.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4057" />
+      <location filename="../Project/Project.py" line="4055" />
       <source>Load</source>
       <translation>Načíst</translation>
     </message>
     <message>
+      <location filename="../Project/Project.py" line="4056" />
+      <source>&amp;Load</source>
+      <translation>&amp;Načíst</translation>
+    </message>
+    <message>
       <location filename="../Project/Project.py" line="4058" />
-      <source>&amp;Load</source>
-      <translation>&amp;Načíst</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4060" />
       <source>Load the debugger properties</source>
       <translation>Načíst nastavení debugeru</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4061" />
+      <location filename="../Project/Project.py" line="4059" />
       <source>&lt;b&gt;Load Debugger Properties&lt;/b&gt;&lt;p&gt;This loads the project specific debugger settings.&lt;/p&gt;</source>
       <translation>&lt;b&gt;Načíst nastavení debugeru&lt;/b&gt;&lt;p&gt;Načtou se nastavení debugeru do projektu.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4069" />
+      <location filename="../Project/Project.py" line="4067" />
       <source>Save</source>
       <translation>Uložit</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4072" />
+      <location filename="../Project/Project.py" line="4070" />
       <source>Save the debugger properties</source>
       <translation>Uložit nastavení debugeru</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4073" />
+      <location filename="../Project/Project.py" line="4071" />
       <source>&lt;b&gt;Save Debugger Properties&lt;/b&gt;&lt;p&gt;This saves the project specific debugger settings.&lt;/p&gt;</source>
       <translation>&lt;b&gt;Uložit nastavení debugeru&lt;/b&gt;&lt;p&gt;Uloží nastavení debugeru definovaná v projektu..&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4081" />
+      <location filename="../Project/Project.py" line="4079" />
       <source>Delete</source>
       <translation>Smazat</translation>
     </message>
     <message>
+      <location filename="../Project/Project.py" line="4080" />
+      <source>&amp;Delete</source>
+      <translation>Sma&amp;zat</translation>
+    </message>
+    <message>
       <location filename="../Project/Project.py" line="4082" />
-      <source>&amp;Delete</source>
-      <translation>Sma&amp;zat</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4084" />
       <source>Delete the debugger properties</source>
       <translation>Smazat nastavení debugeru</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4085" />
+      <location filename="../Project/Project.py" line="4083" />
       <source>&lt;b&gt;Delete Debugger Properties&lt;/b&gt;&lt;p&gt;This deletes the file containing the project specific debugger settings.&lt;/p&gt;</source>
       <translation>&lt;b&gt;Smazat nastavení debugeru&lt;/b&gt;&lt;p&gt;Smaže se soubor obsahující nastavení debugeru v daném projektu.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4094" />
+      <location filename="../Project/Project.py" line="4092" />
       <source>Reset</source>
       <translation />
     </message>
     <message>
+      <location filename="../Project/Project.py" line="4093" />
+      <source>&amp;Reset</source>
+      <translation>&amp;Reset</translation>
+    </message>
+    <message>
       <location filename="../Project/Project.py" line="4095" />
-      <source>&amp;Reset</source>
-      <translation>&amp;Reset</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4097" />
       <source>Reset the debugger properties</source>
       <translation>Reset nastavení debugeru</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4098" />
+      <location filename="../Project/Project.py" line="4096" />
       <source>&lt;b&gt;Reset Debugger Properties&lt;/b&gt;&lt;p&gt;This resets the project specific debugger settings.&lt;/p&gt;</source>
       <translation>&lt;b&gt;Reset nastavení debugeru&lt;/b&gt;&lt;p&gt;Zresetuje nastavení debugeru v projektu.&lt;/p&gt;</translation>
     </message>
     <message>
+      <location filename="../Project/Project.py" line="4107" />
+      <location filename="../Project/Project.py" line="4106" />
+      <source>Load session</source>
+      <translation>Načíst relaci</translation>
+    </message>
+    <message>
       <location filename="../Project/Project.py" line="4109" />
-      <location filename="../Project/Project.py" line="4108" />
-      <source>Load session</source>
-      <translation>Načíst relaci</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4111" />
       <source>Load the projects session file.</source>
       <translation>Načíst soubor s relací projektu.</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4112" />
+      <location filename="../Project/Project.py" line="4110" />
       <source>&lt;b&gt;Load session&lt;/b&gt;&lt;p&gt;This loads the projects session file. The session consists of the following data.&lt;br&gt;- all open source files&lt;br&gt;- all breakpoint&lt;br&gt;- the commandline arguments&lt;br&gt;- the working directory&lt;br&gt;- the exception reporting flag&lt;/p&gt;</source>
       <translation>&lt;b&gt;Načíst relaci&lt;/b&gt;&lt;p&gt;Načte soubor s relací projektu. Relace obsahuje následující údaje:&lt;br&gt;- všechny otevřené zdrojové soubory&lt;br&gt;- všechny breakpointy&lt;br&gt;- argumenty příkazové řádky &lt;br&gt;- pracovní adresář&lt;br&gt;- příznak výjimky&lt;/p&gt;</translation>
     </message>
     <message>
+      <location filename="../Project/Project.py" line="4125" />
+      <location filename="../Project/Project.py" line="4124" />
+      <source>Save session</source>
+      <translation>Uložit relaci</translation>
+    </message>
+    <message>
       <location filename="../Project/Project.py" line="4127" />
-      <location filename="../Project/Project.py" line="4126" />
-      <source>Save session</source>
-      <translation>Uložit relaci</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4129" />
       <source>Save the projects session file.</source>
       <translation>Uložit soubor s relací projektu.</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4130" />
+      <location filename="../Project/Project.py" line="4128" />
       <source>&lt;b&gt;Save session&lt;/b&gt;&lt;p&gt;This saves the projects session file. The session consists of the following data.&lt;br&gt;- all open source files&lt;br&gt;- all breakpoint&lt;br&gt;- the commandline arguments&lt;br&gt;- the working directory&lt;br&gt;- the exception reporting flag&lt;/p&gt;</source>
       <translation>&lt;b&gt;Uložit relaci&lt;/b&gt;&lt;p&gt;Uloží soubor s relací projektu. Relace obsahuje následující údaje:&lt;br&gt;- všechny otevřené zdrojové soubory&lt;br&gt;- všechny breakpointy&lt;br&gt;- argumenty příkazové řádky &lt;br&gt;- pracovní adresář&lt;br&gt;- příznak výjimky&lt;/p&gt;</translation>
     </message>
     <message>
+      <location filename="../Project/Project.py" line="4143" />
+      <location filename="../Project/Project.py" line="4142" />
+      <source>Delete session</source>
+      <translation>Smazat relaci</translation>
+    </message>
+    <message>
       <location filename="../Project/Project.py" line="4145" />
-      <location filename="../Project/Project.py" line="4144" />
-      <source>Delete session</source>
-      <translation>Smazat relaci</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4147" />
       <source>Delete the projects session file.</source>
       <translation>Smaže soubor s relací projektu.</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4148" />
+      <location filename="../Project/Project.py" line="4146" />
       <source>&lt;b&gt;Delete session&lt;/b&gt;&lt;p&gt;This deletes the projects session file&lt;/p&gt;</source>
       <translation>&lt;b&gt;Smazat relaci&lt;/b&gt;&lt;p&gt;Smaže soubor s relací projektu.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4158" />
+      <location filename="../Project/Project.py" line="4156" />
       <source>Code Metrics</source>
       <translation>Metriky kódu</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4159" />
+      <location filename="../Project/Project.py" line="4157" />
       <source>&amp;Code Metrics...</source>
       <translation>Metriky &amp;kódu...</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4162" />
+      <location filename="../Project/Project.py" line="4160" />
       <source>Show some code metrics for the project.</source>
       <translation>Zobrazit metriky kódu projektu.</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4163" />
+      <location filename="../Project/Project.py" line="4161" />
       <source>&lt;b&gt;Code Metrics...&lt;/b&gt;&lt;p&gt;This shows some code metrics for all Python files in the project.&lt;/p&gt;</source>
       <translation>&lt;b&gt;Metriky kódu...&lt;/b&gt;&lt;p&gt;Zobrazí se metriky kódu všech python souborů v projektu.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4172" />
+      <location filename="../Project/Project.py" line="4170" />
       <source>Python Code Coverage</source>
       <translation>Pokrytí python kódu</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4173" />
+      <location filename="../Project/Project.py" line="4171" />
       <source>Code Co&amp;verage...</source>
       <translation>Pokr&amp;ytí kódu...</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4176" />
+      <location filename="../Project/Project.py" line="4174" />
       <source>Show code coverage information for the project.</source>
       <translation>Zobrazit informace pokrytí kódu projektu.</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4177" />
+      <location filename="../Project/Project.py" line="4175" />
       <source>&lt;b&gt;Code Coverage...&lt;/b&gt;&lt;p&gt;This shows the code coverage information for all Python files in the project.&lt;/p&gt;</source>
       <translation>&lt;b&gt;Pokrytí kódu...&lt;/b&gt;&lt;p&gt;Zobrazí informace o pokrytí kódu ve všech python souborech projektu.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5062" />
-      <location filename="../Project/Project.py" line="5039" />
-      <location filename="../Project/Project.py" line="4186" />
+      <location filename="../Project/Project.py" line="5060" />
+      <location filename="../Project/Project.py" line="5037" />
+      <location filename="../Project/Project.py" line="4184" />
       <source>Profile Data</source>
       <translation>Profilovat data</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4187" />
+      <location filename="../Project/Project.py" line="4185" />
       <source>&amp;Profile Data...</source>
       <translation>&amp;Profilovat data...</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4190" />
+      <location filename="../Project/Project.py" line="4188" />
       <source>Show profiling data for the project.</source>
       <translation>Zobrazit profilování dat projektu.</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4191" />
+      <location filename="../Project/Project.py" line="4189" />
       <source>&lt;b&gt;Profile Data...&lt;/b&gt;&lt;p&gt;This shows the profiling data for the project.&lt;/p&gt;</source>
       <translation>&lt;b&gt;Profilovat data&lt;/b&gt;&lt;p&gt;Zobrazí se profilování dat projektu.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5116" />
-      <location filename="../Project/Project.py" line="4201" />
+      <location filename="../Project/Project.py" line="5114" />
+      <location filename="../Project/Project.py" line="4199" />
       <source>Application Diagram</source>
       <translation>Diagram aplikace</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4202" />
+      <location filename="../Project/Project.py" line="4200" />
       <source>&amp;Application Diagram...</source>
       <translation>Diagram &amp;aplikace...</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4205" />
+      <location filename="../Project/Project.py" line="4203" />
       <source>Show a diagram of the project.</source>
       <translation>Zobrazit diagram projektu.</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4206" />
+      <location filename="../Project/Project.py" line="4204" />
       <source>&lt;b&gt;Application Diagram...&lt;/b&gt;&lt;p&gt;This shows a diagram of the project.&lt;/p&gt;</source>
       <translation>&lt;b&gt;Diagram aplikace...&lt;/b&gt;&lt;p&gt;Zobrazí diagram projektu.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4215" />
+      <location filename="../Project/Project.py" line="4213" />
       <source>Load Diagram</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4216" />
+      <location filename="../Project/Project.py" line="4214" />
       <source>&amp;Load Diagram...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4219" />
+      <location filename="../Project/Project.py" line="4217" />
       <source>Load a diagram from file.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4220" />
+      <location filename="../Project/Project.py" line="4218" />
       <source>&lt;b&gt;Load Diagram...&lt;/b&gt;&lt;p&gt;This loads a diagram from file.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5298" />
-      <location filename="../Project/Project.py" line="5250" />
-      <location filename="../Project/Project.py" line="4230" />
+      <location filename="../Project/Project.py" line="5296" />
+      <location filename="../Project/Project.py" line="5248" />
+      <location filename="../Project/Project.py" line="4228" />
       <source>Create Package List</source>
       <translation>Vytvořit seznam balíčků</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4232" />
+      <location filename="../Project/Project.py" line="4230" />
       <source>Create &amp;Package List</source>
       <translation type="unfinished">Vytvořit Plugin &amp;archiv</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4235" />
+      <location filename="../Project/Project.py" line="4233" />
       <source>Create an initial PKGLIST file for an eric plugin.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4236" />
+      <location filename="../Project/Project.py" line="4234" />
       <source>&lt;b&gt;Create Package List&lt;/b&gt;&lt;p&gt;This creates an initial list of files to include in an eric plugin archive. The list is created from the project file.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5351" />
-      <location filename="../Project/Project.py" line="4246" />
+      <location filename="../Project/Project.py" line="5349" />
+      <location filename="../Project/Project.py" line="4244" />
       <source>Create Plugin Archives</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4248" />
+      <location filename="../Project/Project.py" line="4246" />
       <source>Create Plugin &amp;Archives</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4251" />
+      <location filename="../Project/Project.py" line="4249" />
       <source>Create eric plugin archive files.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4252" />
+      <location filename="../Project/Project.py" line="4250" />
       <source>&lt;b&gt;Create Plugin Archives&lt;/b&gt;&lt;p&gt;This creates eric plugin archive files using the list of files given in a PKGLIST* file. The archive name is built from the main script name if not designated in the package list file.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Project/Project.py" line="4261" />
+      <source>Create Plugin Archives (Snapshot)</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Project/Project.py" line="4263" />
-      <source>Create Plugin Archives (Snapshot)</source>
+      <source>Create Plugin Archives (&amp;Snapshot)</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Project/Project.py" line="4265" />
-      <source>Create Plugin Archives (&amp;Snapshot)</source>
+      <source>Create eric plugin archive files (snapshot releases).</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Project/Project.py" line="4267" />
-      <source>Create eric plugin archive files (snapshot releases).</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4269" />
       <source>&lt;b&gt;Create Plugin Archives (Snapshot)&lt;/b&gt;&lt;p&gt;This creates eric plugin archive files using the list of files given in the PKGLIST* file. The archive name is built from the main script name if not designated in the package list file. The version entry of the main script is modified to reflect a snapshot release.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5749" />
-      <location filename="../Project/Project.py" line="5723" />
-      <location filename="../Project/Project.py" line="5678" />
-      <location filename="../Project/Project.py" line="4284" />
+      <location filename="../Project/Project.py" line="5747" />
+      <location filename="../Project/Project.py" line="5721" />
+      <location filename="../Project/Project.py" line="5676" />
+      <location filename="../Project/Project.py" line="4282" />
       <source>Execute Make</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4285" />
+      <location filename="../Project/Project.py" line="4283" />
       <source>&amp;Execute Make</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4288" />
+      <location filename="../Project/Project.py" line="4286" />
       <source>Perform a 'make' run.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4289" />
+      <location filename="../Project/Project.py" line="4287" />
       <source>&lt;b&gt;Execute Make&lt;/b&gt;&lt;p&gt;This performs a 'make' run to rebuild the configured target.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5728" />
-      <location filename="../Project/Project.py" line="4298" />
+      <location filename="../Project/Project.py" line="5726" />
+      <location filename="../Project/Project.py" line="4296" />
       <source>Test for Changes</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4299" />
+      <location filename="../Project/Project.py" line="4297" />
       <source>&amp;Test for Changes</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4302" />
+      <location filename="../Project/Project.py" line="4300" />
       <source>Question 'make', if a rebuild is needed.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4303" />
+      <location filename="../Project/Project.py" line="4301" />
       <source>&lt;b&gt;Test for Changes&lt;/b&gt;&lt;p&gt;This questions 'make', if a rebuild of the configured target is necessary.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Project/Project.py" line="4329" />
+      <source>&amp;Project</source>
+      <translation>&amp;Projekt</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4330" />
+      <source>Open &amp;Recent Projects</source>
+      <translation>Otevřít poslední p&amp;rojekty</translation>
+    </message>
+    <message>
       <location filename="../Project/Project.py" line="4331" />
-      <source>&amp;Project</source>
-      <translation>&amp;Projekt</translation>
+      <source>Session</source>
+      <translation>Relace</translation>
     </message>
     <message>
       <location filename="../Project/Project.py" line="4332" />
-      <source>Open &amp;Recent Projects</source>
-      <translation>Otevřít poslední p&amp;rojekty</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4333" />
-      <source>Session</source>
-      <translation>Relace</translation>
+      <source>Debugger</source>
+      <translation />
     </message>
     <message>
       <location filename="../Project/Project.py" line="4334" />
-      <source>Debugger</source>
-      <translation />
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4336" />
       <source>Project-T&amp;ools</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4337" />
+      <location filename="../Project/Project.py" line="4335" />
       <source>&amp;Version Control</source>
       <translation>Kontrola &amp;verzí</translation>
     </message>
     <message>
+      <location filename="../Project/Project.py" line="4339" />
+      <source>Chec&amp;k</source>
+      <translation>Zkontro&amp;lovat</translation>
+    </message>
+    <message>
       <location filename="../Project/Project.py" line="4341" />
-      <source>Chec&amp;k</source>
-      <translation>Zkontro&amp;lovat</translation>
+      <source>Sho&amp;w</source>
+      <translation>Zo&amp;brazit</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4342" />
+      <source>&amp;Diagrams</source>
+      <translation>&amp;Diagramy</translation>
     </message>
     <message>
       <location filename="../Project/Project.py" line="4343" />
-      <source>Sho&amp;w</source>
-      <translation>Zo&amp;brazit</translation>
+      <source>Pac&amp;kagers</source>
+      <translation>Balíč&amp;ky</translation>
     </message>
     <message>
       <location filename="../Project/Project.py" line="4344" />
-      <source>&amp;Diagrams</source>
-      <translation>&amp;Diagramy</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4345" />
-      <source>Pac&amp;kagers</source>
-      <translation>Balíč&amp;ky</translation>
+      <source>Source &amp;Documentation</source>
+      <translation>Zd&amp;rojová dokumentace</translation>
     </message>
     <message>
       <location filename="../Project/Project.py" line="4346" />
-      <source>Source &amp;Documentation</source>
-      <translation>Zd&amp;rojová dokumentace</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4348" />
       <source>Make</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4471" />
-      <location filename="../Project/Project.py" line="4468" />
+      <location filename="../Project/Project.py" line="4469" />
+      <location filename="../Project/Project.py" line="4466" />
       <source>Project</source>
       <translation>Projekt</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4532" />
+      <location filename="../Project/Project.py" line="4530" />
       <source>&amp;Clear</source>
       <translation>&amp;Vyčistit</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4694" />
+      <location filename="../Project/Project.py" line="4692" />
       <source>Search New Files</source>
       <translation>Hledat nové soubory</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4695" />
+      <location filename="../Project/Project.py" line="4693" />
       <source>There were no new files found to be added.</source>
       <translation>Nebyly nalezeny žádné soubory, které je možné přidat.</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4842" />
-      <location filename="../Project/Project.py" line="4830" />
+      <location filename="../Project/Project.py" line="4840" />
+      <location filename="../Project/Project.py" line="4828" />
       <source>Version Control System</source>
       <translation>Version Control System</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4831" />
+      <location filename="../Project/Project.py" line="4829" />
       <source>&lt;p&gt;The selected VCS &lt;b&gt;{0}&lt;/b&gt; could not be found. &lt;br/&gt;Reverting override.&lt;/p&gt;&lt;p&gt;{1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4843" />
+      <location filename="../Project/Project.py" line="4841" />
       <source>&lt;p&gt;The selected VCS &lt;b&gt;{0}&lt;/b&gt; could not be found.&lt;br/&gt;Disabling version control.&lt;/p&gt;&lt;p&gt;{1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Vybrané VCS &lt;b&gt;{0}&lt;/b&gt; nebylo nalezeno.&lt;br/&gt;Kontrola verzí vypnuta.&lt;/p&gt;&lt;p&gt;{1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4989" />
+      <location filename="../Project/Project.py" line="4987" />
       <source>Coverage Data</source>
       <translation>Datové pokrytí</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5040" />
-      <location filename="../Project/Project.py" line="4990" />
+      <location filename="../Project/Project.py" line="5038" />
+      <location filename="../Project/Project.py" line="4988" />
       <source>There is no main script defined for the current project. Aborting</source>
       <translation>V aktuálním projektu nebyl určen hlavní skript. Zrušeno</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5012" />
+      <location filename="../Project/Project.py" line="5010" />
       <source>Code Coverage</source>
       <translation>Pokrytí kódu</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5013" />
+      <location filename="../Project/Project.py" line="5011" />
       <source>Please select a coverage file</source>
       <translation>Prosím, vyberte soubor pokrytí</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5063" />
+      <location filename="../Project/Project.py" line="5061" />
       <source>Please select a profile file</source>
       <translation>Prosím, vyberte soubor s profilem</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5117" />
+      <location filename="../Project/Project.py" line="5115" />
       <source>Include module names?</source>
       <translation>Včetně jmen modulů?</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5251" />
+      <location filename="../Project/Project.py" line="5249" />
       <source>&lt;p&gt;The file &lt;b&gt;PKGLIST&lt;/b&gt; already exists.&lt;/p&gt;&lt;p&gt;Overwrite it?&lt;/p&gt;</source>
       <translation>&lt;p&gt;Soubor &lt;b&gt;PKGLIST&lt;/b&gt; již existuje.&lt;/p&gt;&lt;p&gt;Přepsat jej?&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5299" />
+      <location filename="../Project/Project.py" line="5297" />
       <source>&lt;p&gt;The file &lt;b&gt;PKGLIST&lt;/b&gt; could not be created.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Soubor &lt;b&gt;PKGLIST&lt;/b&gt; nelze vytvořit.&lt;/p&gt;&lt;p&gt;Důvod: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5563" />
-      <location filename="../Project/Project.py" line="5522" />
-      <location filename="../Project/Project.py" line="5478" />
-      <location filename="../Project/Project.py" line="5470" />
-      <location filename="../Project/Project.py" line="5453" />
-      <location filename="../Project/Project.py" line="5418" />
-      <location filename="../Project/Project.py" line="5391" />
-      <location filename="../Project/Project.py" line="5364" />
-      <location filename="../Project/Project.py" line="5342" />
-      <location filename="../Project/Project.py" line="5330" />
-      <location filename="../Project/Project.py" line="5317" />
+      <location filename="../Project/Project.py" line="5561" />
+      <location filename="../Project/Project.py" line="5520" />
+      <location filename="../Project/Project.py" line="5476" />
+      <location filename="../Project/Project.py" line="5468" />
+      <location filename="../Project/Project.py" line="5451" />
+      <location filename="../Project/Project.py" line="5416" />
+      <location filename="../Project/Project.py" line="5389" />
+      <location filename="../Project/Project.py" line="5362" />
+      <location filename="../Project/Project.py" line="5340" />
+      <location filename="../Project/Project.py" line="5328" />
+      <location filename="../Project/Project.py" line="5315" />
       <source>Create Plugin Archive</source>
       <translation>Vytvořit Plugin archiv</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5318" />
+      <location filename="../Project/Project.py" line="5316" />
       <source>The project does not have a main script defined. Aborting...</source>
       <translation>Projekt nemá definován hlavní skript. Zrušeno...</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5331" />
+      <location filename="../Project/Project.py" line="5329" />
       <source>Select package lists:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5343" />
+      <location filename="../Project/Project.py" line="5341" />
       <source>&lt;p&gt;No package list files (PKGLIST*) available or selected. Aborting...&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5348" />
+      <location filename="../Project/Project.py" line="5346" />
       <source>Creating plugin archives...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5348" />
+      <location filename="../Project/Project.py" line="5346" />
       <source>Abort</source>
       <translation type="unfinished">Přerušit</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5349" />
+      <location filename="../Project/Project.py" line="5347" />
       <source>%v/%m Archives</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5365" />
+      <location filename="../Project/Project.py" line="5363" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5392" />
+      <location filename="../Project/Project.py" line="5390" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; is not ready yet.&lt;/p&gt;&lt;p&gt;Please rework it and delete the'; initial_list' line of the header.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5419" />
+      <location filename="../Project/Project.py" line="5417" />
       <source>&lt;p&gt;The eric plugin archive file &lt;b&gt;{0}&lt;/b&gt; could not be created.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5454" />
+      <location filename="../Project/Project.py" line="5452" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be stored in the archive. Ignoring it.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Soubor &lt;b&gt;{0}&lt;/b&gt; nelze uložit do archivu. Ingorováno.&lt;/p&gt;&lt;p&gt;Důvod: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5471" />
+      <location filename="../Project/Project.py" line="5469" />
       <source>&lt;p&gt;The eric plugin archive files were created with some errors.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5479" />
+      <location filename="../Project/Project.py" line="5477" />
       <source>&lt;p&gt;The eric plugin archive files were created successfully.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5523" />
+      <location filename="../Project/Project.py" line="5521" />
       <source>&lt;p&gt;The plugin file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Plugin soubor &lt;b&gt;{0}&lt;/b&gt; nelze přečíst.&lt;/p&gt;&lt;p&gt;Důvod: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5564" />
+      <location filename="../Project/Project.py" line="5562" />
       <source>&lt;p&gt;The plugin file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt; &lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5679" />
+      <location filename="../Project/Project.py" line="5677" />
       <source>The make process did not start.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5724" />
+      <location filename="../Project/Project.py" line="5722" />
       <source>The make process crashed.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5731" />
+      <location filename="../Project/Project.py" line="5729" />
       <source>&lt;p&gt;There are changes that require the configured make target &lt;b&gt;{0}&lt;/b&gt; to be rebuilt.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5736" />
+      <location filename="../Project/Project.py" line="5734" />
       <source>&lt;p&gt;There are changes that require the default make target to be rebuilt.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5750" />
+      <location filename="../Project/Project.py" line="5748" />
       <source>The makefile contains errors.</source>
       <translation type="unfinished" />
     </message>
@@ -59395,8 +59415,8 @@
   <context>
     <name>ProjectFormsBrowser</name>
     <message>
-      <location filename="../Project/ProjectFormsBrowser.py" line="995" />
-      <location filename="../Project/ProjectFormsBrowser.py" line="961" />
+      <location filename="../Project/ProjectFormsBrowser.py" line="993" />
+      <location filename="../Project/ProjectFormsBrowser.py" line="960" />
       <location filename="../Project/ProjectFormsBrowser.py" line="926" />
       <location filename="../Project/ProjectFormsBrowser.py" line="71" />
       <source>Forms</source>
@@ -59715,32 +59735,32 @@
       <translation>Nelze spustit {0}.&lt;br&gt;Ověřte, že je umístěn v požadované cestě.</translation>
     </message>
     <message>
-      <location filename="../Project/ProjectFormsBrowser.py" line="956" />
+      <location filename="../Project/ProjectFormsBrowser.py" line="955" />
       <location filename="../Project/ProjectFormsBrowser.py" line="921" />
       <source>Compiling forms...</source>
       <translation>Kompilovat formuláře...</translation>
     </message>
     <message>
-      <location filename="../Project/ProjectFormsBrowser.py" line="993" />
-      <location filename="../Project/ProjectFormsBrowser.py" line="957" />
+      <location filename="../Project/ProjectFormsBrowser.py" line="991" />
+      <location filename="../Project/ProjectFormsBrowser.py" line="956" />
       <location filename="../Project/ProjectFormsBrowser.py" line="922" />
       <source>Abort</source>
       <translation>Přerušit</translation>
     </message>
     <message>
-      <location filename="../Project/ProjectFormsBrowser.py" line="993" />
-      <location filename="../Project/ProjectFormsBrowser.py" line="958" />
+      <location filename="../Project/ProjectFormsBrowser.py" line="991" />
+      <location filename="../Project/ProjectFormsBrowser.py" line="957" />
       <location filename="../Project/ProjectFormsBrowser.py" line="923" />
       <source>%v/%m Forms</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/ProjectFormsBrowser.py" line="992" />
+      <location filename="../Project/ProjectFormsBrowser.py" line="990" />
       <source>Determining changed forms...</source>
       <translation>Určení změněných formulářů...</translation>
     </message>
     <message>
-      <location filename="../Project/ProjectFormsBrowser.py" line="1020" />
+      <location filename="../Project/ProjectFormsBrowser.py" line="1018" />
       <source>Compiling changed forms...</source>
       <translation>Kompilování změněných formulářů...</translation>
     </message>
@@ -59914,25 +59934,25 @@
       <translation>&lt;p&gt;Nelze spustit {0}.&lt;br&gt;Ověřte, že je umístěn v požadované cestě.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Project/ProjectInterfacesBrowser.py" line="644" />
+      <location filename="../Project/ProjectInterfacesBrowser.py" line="643" />
       <location filename="../Project/ProjectInterfacesBrowser.py" line="612" />
       <source>Compiling interfaces...</source>
       <translation>Kompilovat interfaces...</translation>
     </message>
     <message>
-      <location filename="../Project/ProjectInterfacesBrowser.py" line="645" />
+      <location filename="../Project/ProjectInterfacesBrowser.py" line="644" />
       <location filename="../Project/ProjectInterfacesBrowser.py" line="613" />
       <source>Abort</source>
       <translation>Přerušit</translation>
     </message>
     <message>
-      <location filename="../Project/ProjectInterfacesBrowser.py" line="646" />
+      <location filename="../Project/ProjectInterfacesBrowser.py" line="645" />
       <location filename="../Project/ProjectInterfacesBrowser.py" line="614" />
       <source>%v/%m Interfaces</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/ProjectInterfacesBrowser.py" line="649" />
+      <location filename="../Project/ProjectInterfacesBrowser.py" line="648" />
       <location filename="../Project/ProjectInterfacesBrowser.py" line="617" />
       <source>Interfaces</source>
       <translation type="unfinished">Interface soubory</translation>
@@ -60476,25 +60496,25 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/ProjectProtocolsBrowser.py" line="692" />
+      <location filename="../Project/ProjectProtocolsBrowser.py" line="691" />
       <location filename="../Project/ProjectProtocolsBrowser.py" line="657" />
       <source>Compiling Protocols...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/ProjectProtocolsBrowser.py" line="693" />
+      <location filename="../Project/ProjectProtocolsBrowser.py" line="692" />
       <location filename="../Project/ProjectProtocolsBrowser.py" line="658" />
       <source>Abort</source>
       <translation type="unfinished">Přerušit</translation>
     </message>
     <message>
-      <location filename="../Project/ProjectProtocolsBrowser.py" line="694" />
+      <location filename="../Project/ProjectProtocolsBrowser.py" line="693" />
       <location filename="../Project/ProjectProtocolsBrowser.py" line="659" />
       <source>%v/%m Protocols</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/ProjectProtocolsBrowser.py" line="697" />
+      <location filename="../Project/ProjectProtocolsBrowser.py" line="696" />
       <location filename="../Project/ProjectProtocolsBrowser.py" line="662" />
       <source>Protocols</source>
       <translation type="unfinished" />
@@ -60503,8 +60523,8 @@
   <context>
     <name>ProjectResourcesBrowser</name>
     <message>
-      <location filename="../Project/ProjectResourcesBrowser.py" line="848" />
-      <location filename="../Project/ProjectResourcesBrowser.py" line="779" />
+      <location filename="../Project/ProjectResourcesBrowser.py" line="846" />
+      <location filename="../Project/ProjectResourcesBrowser.py" line="778" />
       <location filename="../Project/ProjectResourcesBrowser.py" line="745" />
       <location filename="../Project/ProjectResourcesBrowser.py" line="61" />
       <source>Resources</source>
@@ -60696,32 +60716,32 @@
       <translation>Nelze spustit {0}.&lt;br&gt;Ověřte, že je umístěn v požadované cestě.</translation>
     </message>
     <message>
-      <location filename="../Project/ProjectResourcesBrowser.py" line="774" />
+      <location filename="../Project/ProjectResourcesBrowser.py" line="773" />
       <location filename="../Project/ProjectResourcesBrowser.py" line="740" />
       <source>Compiling resources...</source>
       <translation>Kompilovat resources...</translation>
     </message>
     <message>
-      <location filename="../Project/ProjectResourcesBrowser.py" line="846" />
-      <location filename="../Project/ProjectResourcesBrowser.py" line="775" />
+      <location filename="../Project/ProjectResourcesBrowser.py" line="844" />
+      <location filename="../Project/ProjectResourcesBrowser.py" line="774" />
       <location filename="../Project/ProjectResourcesBrowser.py" line="741" />
       <source>Abort</source>
       <translation>Přerušit</translation>
     </message>
     <message>
-      <location filename="../Project/ProjectResourcesBrowser.py" line="846" />
-      <location filename="../Project/ProjectResourcesBrowser.py" line="776" />
+      <location filename="../Project/ProjectResourcesBrowser.py" line="844" />
+      <location filename="../Project/ProjectResourcesBrowser.py" line="775" />
       <location filename="../Project/ProjectResourcesBrowser.py" line="742" />
       <source>%v/%m Resources</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/ProjectResourcesBrowser.py" line="845" />
+      <location filename="../Project/ProjectResourcesBrowser.py" line="843" />
       <source>Determining changed resources...</source>
       <translation>Určení změněných resources...</translation>
     </message>
     <message>
-      <location filename="../Project/ProjectResourcesBrowser.py" line="878" />
+      <location filename="../Project/ProjectResourcesBrowser.py" line="876" />
       <source>Compiling changed resources...</source>
       <translation>Kompilování změněných resources...</translation>
     </message>
@@ -61933,37 +61953,37 @@
   <context>
     <name>PyCoverageDialog</name>
     <message>
-      <location filename="../DataViews/PyCoverageDialog.py" line="62" />
+      <location filename="../DataViews/PyCoverageDialog.py" line="63" />
       <source>Open</source>
       <translation type="unfinished">Otevřít</translation>
     </message>
     <message>
-      <location filename="../DataViews/PyCoverageDialog.py" line="65" />
-      <source>Annotate</source>
-      <translation>Komentovat</translation>
-    </message>
-    <message>
       <location filename="../DataViews/PyCoverageDialog.py" line="66" />
+      <source>Annotate</source>
+      <translation>Komentovat</translation>
+    </message>
+    <message>
+      <location filename="../DataViews/PyCoverageDialog.py" line="67" />
       <source>Annotate all</source>
       <translation>Komentovat vše</translation>
     </message>
     <message>
-      <location filename="../DataViews/PyCoverageDialog.py" line="68" />
+      <location filename="../DataViews/PyCoverageDialog.py" line="69" />
       <source>Delete annotated files</source>
       <translation>Smazat komentované soubory</translation>
     </message>
     <message>
-      <location filename="../DataViews/PyCoverageDialog.py" line="70" />
+      <location filename="../DataViews/PyCoverageDialog.py" line="71" />
       <source>Erase Coverage Info</source>
       <translation>Vymazat info pokrytí</translation>
     </message>
     <message>
-      <location filename="../DataViews/PyCoverageDialog.py" line="244" />
+      <location filename="../DataViews/PyCoverageDialog.py" line="248" />
       <source>Parse Error</source>
       <translation type="unfinished" />
     </message>
     <message numerus="yes">
-      <location filename="../DataViews/PyCoverageDialog.py" line="245" />
+      <location filename="../DataViews/PyCoverageDialog.py" line="249" />
       <source>%n file(s) could not be parsed. Coverage info for these is not available.</source>
       <translation type="unfinished">
         <numerusform />
@@ -61972,25 +61992,25 @@
       </translation>
     </message>
     <message>
-      <location filename="../DataViews/PyCoverageDialog.py" line="354" />
+      <location filename="../DataViews/PyCoverageDialog.py" line="358" />
       <source>Annotating files...</source>
       <translation>Komentované soubory...</translation>
     </message>
     <message>
-      <location filename="../DataViews/PyCoverageDialog.py" line="354" />
+      <location filename="../DataViews/PyCoverageDialog.py" line="358" />
       <source>Abort</source>
       <translation>Přerušit</translation>
     </message>
     <message>
       <location filename="../DataViews/PyCoverageDialog.ui" line="0" />
-      <location filename="../DataViews/PyCoverageDialog.py" line="355" />
+      <location filename="../DataViews/PyCoverageDialog.py" line="359" />
       <source>%v/%m Files</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../DataViews/PyCoverageDialog.ui" line="0" />
       <location filename="../DataViews/PyCoverageDialog.ui" line="0" />
-      <location filename="../DataViews/PyCoverageDialog.py" line="357" />
+      <location filename="../DataViews/PyCoverageDialog.py" line="361" />
       <source>Coverage</source>
       <translation>Pokrytí</translation>
     </message>
@@ -62088,7 +62108,7 @@
   <context>
     <name>PyProfileDialog</name>
     <message>
-      <location filename="../DataViews/PyProfileDialog.py" line="244" />
+      <location filename="../DataViews/PyProfileDialog.py" line="248" />
       <location filename="../DataViews/PyProfileDialog.ui" line="0" />
       <source>Profile Results</source>
       <translation>Výsledky profilování</translation>
@@ -62175,58 +62195,58 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../DataViews/PyProfileDialog.py" line="357" />
-      <location filename="../DataViews/PyProfileDialog.py" line="89" />
+      <location filename="../DataViews/PyProfileDialog.py" line="361" />
+      <location filename="../DataViews/PyProfileDialog.py" line="90" />
       <source>Exclude Python Library</source>
       <translation>Vyloučit Python knihovny</translation>
     </message>
     <message>
-      <location filename="../DataViews/PyProfileDialog.py" line="93" />
+      <location filename="../DataViews/PyProfileDialog.py" line="94" />
       <source>Erase Profiling Info</source>
       <translation>Vymazat profilovací info</translation>
     </message>
     <message>
-      <location filename="../DataViews/PyProfileDialog.py" line="95" />
+      <location filename="../DataViews/PyProfileDialog.py" line="96" />
       <source>Erase Timing Info</source>
       <translation>Vymazat časové info</translation>
     </message>
     <message>
-      <location filename="../DataViews/PyProfileDialog.py" line="97" />
+      <location filename="../DataViews/PyProfileDialog.py" line="98" />
       <source>Erase All Infos</source>
       <translation>Vymazat všechna infa</translation>
     </message>
     <message>
-      <location filename="../DataViews/PyProfileDialog.py" line="223" />
+      <location filename="../DataViews/PyProfileDialog.py" line="227" />
       <source>function calls</source>
       <translation>volání funkcí</translation>
     </message>
     <message>
-      <location filename="../DataViews/PyProfileDialog.py" line="226" />
+      <location filename="../DataViews/PyProfileDialog.py" line="230" />
       <source>primitive calls</source>
       <translation>volání primitiv</translation>
     </message>
     <message>
-      <location filename="../DataViews/PyProfileDialog.py" line="228" />
+      <location filename="../DataViews/PyProfileDialog.py" line="232" />
       <source>CPU seconds</source>
       <translation>CPU vteřin</translation>
     </message>
     <message>
-      <location filename="../DataViews/PyProfileDialog.py" line="245" />
+      <location filename="../DataViews/PyProfileDialog.py" line="249" />
       <source>&lt;p&gt;There is no profiling data available for &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Pro &lt;b&gt;{0}&lt;/b&gt; nejsou k profilování dostupná žádná data.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../DataViews/PyProfileDialog.py" line="256" />
+      <location filename="../DataViews/PyProfileDialog.py" line="260" />
       <source>Loading Profiling Data</source>
       <translation>Načíst profilovací data</translation>
     </message>
     <message>
-      <location filename="../DataViews/PyProfileDialog.py" line="257" />
+      <location filename="../DataViews/PyProfileDialog.py" line="261" />
       <source>&lt;p&gt;The profiling data could not be read from file &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Profilovací data nelze ze souboru &lt;b&gt;{0}&lt;/b&gt; načíst.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../DataViews/PyProfileDialog.py" line="353" />
+      <location filename="../DataViews/PyProfileDialog.py" line="357" />
       <source>Include Python Library</source>
       <translation>Zahrnout Python knihovnu</translation>
     </message>
@@ -80057,38 +80077,38 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckerDialog.py" line="47" />
+      <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckerDialog.py" line="48" />
       <source>Show</source>
       <translation>Zobrazit</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckerDialog.py" line="49" />
+      <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckerDialog.py" line="50" />
       <source>Press to show all files containing an issue</source>
       <translation>Stisknout pro zobrazení všech souborů, které obsahují problém</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckerDialog.py" line="102" />
+      <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckerDialog.py" line="104" />
       <source>Errors</source>
       <translation type="unfinished">Chyby</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckerDialog.py" line="297" />
-      <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckerDialog.py" line="265" />
+      <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckerDialog.py" line="302" />
+      <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckerDialog.py" line="268" />
       <source>Error: {0}</source>
       <translation type="unfinished">Chyby: {0}</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckerDialog.py" line="283" />
+      <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckerDialog.py" line="286" />
       <source>Preparing files...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckerDialog.py" line="305" />
+      <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckerDialog.py" line="310" />
       <source>Transferring data...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckerDialog.py" line="407" />
+      <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckerDialog.py" line="414" />
       <source>No issues found.</source>
       <translation>Žádné problémy nenalezeny.</translation>
     </message>
@@ -80968,165 +80988,165 @@
   <context>
     <name>TaskViewer</name>
     <message>
-      <location filename="../Tasks/TaskViewer.py" line="59" />
+      <location filename="../Tasks/TaskViewer.py" line="60" />
       <source>Summary</source>
       <translation>Souhrn</translation>
     </message>
     <message>
-      <location filename="../Tasks/TaskViewer.py" line="59" />
-      <source>Filename</source>
-      <translation>Jméno souboru</translation>
-    </message>
-    <message>
       <location filename="../Tasks/TaskViewer.py" line="60" />
+      <source>Filename</source>
+      <translation>Jméno souboru</translation>
+    </message>
+    <message>
+      <location filename="../Tasks/TaskViewer.py" line="61" />
       <source>Line</source>
       <translation>Řádek</translation>
     </message>
     <message>
-      <location filename="../Tasks/TaskViewer.py" line="85" />
+      <location filename="../Tasks/TaskViewer.py" line="86" />
       <source>P&amp;roject Tasks</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Tasks/TaskViewer.py" line="87" />
+      <location filename="../Tasks/TaskViewer.py" line="88" />
       <source>&amp;Regenerate project tasks</source>
       <translation>Znovu vygene&amp;rovat úlohy projektu</translation>
     </message>
     <message>
-      <location filename="../Tasks/TaskViewer.py" line="91" />
+      <location filename="../Tasks/TaskViewer.py" line="92" />
       <source>&amp;Configure scan options</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Tasks/TaskViewer.py" line="136" />
-      <location filename="../Tasks/TaskViewer.py" line="95" />
+      <location filename="../Tasks/TaskViewer.py" line="137" />
+      <location filename="../Tasks/TaskViewer.py" line="96" />
       <source>&amp;New Task...</source>
       <translation>&amp;Nová úloha...</translation>
     </message>
     <message>
-      <location filename="../Tasks/TaskViewer.py" line="97" />
+      <location filename="../Tasks/TaskViewer.py" line="98" />
       <source>New &amp;Sub-Task...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Tasks/TaskViewer.py" line="103" />
+      <location filename="../Tasks/TaskViewer.py" line="104" />
       <source>&amp;Go To</source>
       <translation>&amp;Jít na</translation>
     </message>
     <message>
-      <location filename="../Tasks/TaskViewer.py" line="106" />
+      <location filename="../Tasks/TaskViewer.py" line="107" />
       <source>&amp;Copy</source>
       <translation>&amp;Kopírovat</translation>
     </message>
     <message>
-      <location filename="../Tasks/TaskViewer.py" line="142" />
-      <location filename="../Tasks/TaskViewer.py" line="108" />
+      <location filename="../Tasks/TaskViewer.py" line="143" />
+      <location filename="../Tasks/TaskViewer.py" line="109" />
       <source>&amp;Paste</source>
       <translation>V&amp;ložit</translation>
     </message>
     <message>
-      <location filename="../Tasks/TaskViewer.py" line="144" />
-      <location filename="../Tasks/TaskViewer.py" line="110" />
+      <location filename="../Tasks/TaskViewer.py" line="145" />
+      <location filename="../Tasks/TaskViewer.py" line="111" />
       <source>Paste as &amp;Main Task</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Tasks/TaskViewer.py" line="112" />
+      <location filename="../Tasks/TaskViewer.py" line="113" />
       <source>&amp;Delete</source>
       <translation>Sma&amp;zat</translation>
     </message>
     <message>
-      <location filename="../Tasks/TaskViewer.py" line="115" />
+      <location filename="../Tasks/TaskViewer.py" line="116" />
       <source>&amp;Mark Completed</source>
       <translation>Značka &amp;Hotovo</translation>
     </message>
     <message>
-      <location filename="../Tasks/TaskViewer.py" line="147" />
-      <location filename="../Tasks/TaskViewer.py" line="117" />
+      <location filename="../Tasks/TaskViewer.py" line="148" />
+      <location filename="../Tasks/TaskViewer.py" line="118" />
       <source>Delete Completed &amp;Tasks</source>
       <translation>Smaza&amp;t hotové úlohy</translation>
     </message>
     <message>
-      <location filename="../Tasks/TaskViewer.py" line="120" />
+      <location filename="../Tasks/TaskViewer.py" line="121" />
       <source>P&amp;roperties...</source>
       <translation>&amp;Natavení...</translation>
     </message>
     <message>
-      <location filename="../Tasks/TaskViewer.py" line="150" />
-      <location filename="../Tasks/TaskViewer.py" line="123" />
+      <location filename="../Tasks/TaskViewer.py" line="151" />
+      <location filename="../Tasks/TaskViewer.py" line="124" />
       <source>&amp;Filtered display</source>
       <translation>&amp;Filtrovaný výstup</translation>
     </message>
     <message>
-      <location filename="../Tasks/TaskViewer.py" line="156" />
-      <location filename="../Tasks/TaskViewer.py" line="128" />
+      <location filename="../Tasks/TaskViewer.py" line="157" />
+      <location filename="../Tasks/TaskViewer.py" line="129" />
       <source>Filter c&amp;onfiguration...</source>
       <translation>Konfigura&amp;ce filtru...</translation>
     </message>
     <message>
-      <location filename="../Tasks/TaskViewer.py" line="159" />
-      <location filename="../Tasks/TaskViewer.py" line="131" />
+      <location filename="../Tasks/TaskViewer.py" line="160" />
+      <location filename="../Tasks/TaskViewer.py" line="132" />
       <source>Resi&amp;ze columns</source>
       <translation>&amp;Změnit šířky sloupců</translation>
     </message>
     <message>
-      <location filename="../Tasks/TaskViewer.py" line="162" />
-      <location filename="../Tasks/TaskViewer.py" line="133" />
+      <location filename="../Tasks/TaskViewer.py" line="163" />
+      <location filename="../Tasks/TaskViewer.py" line="134" />
       <source>Configure...</source>
       <translation>Konfigurovat...</translation>
     </message>
     <message>
-      <location filename="../Tasks/TaskViewer.py" line="179" />
+      <location filename="../Tasks/TaskViewer.py" line="180" />
       <source>Extracted Tasks</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Tasks/TaskViewer.py" line="181" />
+      <location filename="../Tasks/TaskViewer.py" line="182" />
       <source>Manual Tasks</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Tasks/TaskViewer.py" line="699" />
-      <source>Activate task filter</source>
-      <translation>Aktivovat filtr úloh</translation>
-    </message>
-    <message>
       <location filename="../Tasks/TaskViewer.py" line="700" />
+      <source>Activate task filter</source>
+      <translation>Aktivovat filtr úloh</translation>
+    </message>
+    <message>
+      <location filename="../Tasks/TaskViewer.py" line="701" />
       <source>The task filter doesn't have any active filters. Do you want to configure the filter settings?</source>
       <translation>Filtr úloh nemá žádný aktivní. Chcete konfigurovat nastavení filtru?</translation>
     </message>
     <message>
-      <location filename="../Tasks/TaskViewer.py" line="731" />
-      <source>Scan Filter Patterns</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Tasks/TaskViewer.py" line="732" />
+      <source>Scan Filter Patterns</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Tasks/TaskViewer.py" line="733" />
       <source>Enter filename patterns of files to be excluded separated by a comma:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Tasks/TaskViewer.py" line="771" />
-      <source>Extracting project tasks...</source>
-      <translation>Extrahovat úlohy projektu...</translation>
-    </message>
-    <message>
       <location filename="../Tasks/TaskViewer.py" line="772" />
+      <source>Extracting project tasks...</source>
+      <translation>Extrahovat úlohy projektu...</translation>
+    </message>
+    <message>
+      <location filename="../Tasks/TaskViewer.py" line="773" />
       <source>Abort</source>
       <translation>Přerušit</translation>
     </message>
     <message>
-      <location filename="../Tasks/TaskViewer.py" line="772" />
+      <location filename="../Tasks/TaskViewer.py" line="773" />
       <source>%v/%m Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Tasks/TaskViewer.py" line="774" />
+      <location filename="../Tasks/TaskViewer.py" line="775" />
       <source>Tasks</source>
       <translation type="unfinished">Úlohy</translation>
     </message>
     <message>
-      <location filename="../Tasks/TaskViewer.py" line="779" />
+      <location filename="../Tasks/TaskViewer.py" line="782" />
       <source>Extracting project tasks...
 {0}</source>
       <translation>Extrahování úloh projektu....{0}</translation>
@@ -83295,122 +83315,122 @@
       <translation type="unfinished">Obnovit</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="454" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="472" />
       <source>&lt;h3&gt;CircuitPython Board&lt;/h3&gt;&lt;p&gt;In order to prepare the board for flashing follow these steps:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Switch your device to 'bootloader' mode by double-pressing the reset button.&lt;/li&gt;&lt;li&gt;Wait until the device has entered 'bootloader' mode.&lt;/li&gt;&lt;li&gt;(If this does not happen, then try shorter or longer pauses between presses.)&lt;/li&gt;&lt;li&gt;Ensure the boot volume is available (this may require mounting it).&lt;/li&gt;&lt;li&gt;Select the firmware file to be flashed and click the flash button.&lt;/li&gt;&lt;/ol&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="513" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="480" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="531" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="498" />
       <source>&lt;h3&gt;Pi Pico (RP2040) Board&lt;/h3&gt;&lt;p&gt;In order to prepare the board for flashing follow these steps:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Enter 'bootloader' mode (board &lt;b&gt;without&lt;/b&gt; RESET button):&lt;ul&gt;&lt;li&gt;Plug in your board while holding the BOOTSEL button.&lt;/li&gt;&lt;/ul&gt;Enter 'bootloader' mode (board &lt;b&gt;with&lt;/b&gt; RESET button):&lt;ul&gt;&lt;li&gt;hold down RESET&lt;/li&gt;&lt;li&gt;hold down BOOTSEL&lt;/li&gt;&lt;li&gt;release RESET&lt;/li&gt;&lt;li&gt;release BOOTSEL&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Wait until the device has entered 'bootloader' mode.&lt;/li&gt;&lt;li&gt;Ensure the boot volume is available (this may require mounting it).&lt;/li&gt;&lt;li&gt;Select the firmware file to be flashed and click the flash button.&lt;/li&gt;&lt;/ol&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="588" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="606" />
       <source>'{0}' Board</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="619" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="637" />
       <source>MicroPython/CircuitPython Files (*.uf2);;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="691" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="678" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="666" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="709" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="696" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="684" />
       <source>Manual Select</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="796" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="760" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="734" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="814" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="778" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="752" />
       <source>Reset Instructions:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="736" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="754" />
       <source>&lt;h4&gt;No known devices detected.&lt;/h4&gt;&lt;p&gt;Follow the appropriate instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="763" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="781" />
       <source>&lt;h4&gt;Flash {0} Firmware&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;&lt;hr/&gt;{1}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="773" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="791" />
       <source>&lt;h4&gt;Potentially UF2 capable devices found&lt;/h4&gt;&lt;p&gt;Found these potentially UF2 capable devices:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="798" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="816" />
       <source>&lt;h4&gt;No known devices detected.&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="810" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="828" />
       <source>Flash Instructions:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="812" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="830" />
       <source>&lt;h4&gt;Flash method 'manual' selected.&lt;/h4&gt;&lt;p&gt;Follow the instructions below to flash a device by entering the data manually.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Change the device to 'bootloader' mode.&lt;/li&gt;&lt;li&gt;Wait until the device has entered 'bootloader' mode.&lt;/li&gt;&lt;li&gt;Ensure the boot volume is available (this may require mounting it) and select its path.&lt;/li&gt;&lt;li&gt;Select the firmware file to be flashed and click the flash button.&lt;/li&gt;&lt;/ol&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="837" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="855" />
       <source>Boot Volume not found:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="839" />
-      <source>&lt;h4&gt;No Boot Volume detected.&lt;/h4&gt;&lt;p&gt;Please ensure that the boot volume of the device to be flashed is available. </source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="845" />
-      <source>This volume should be named &lt;b&gt;{0}&lt;/b&gt;. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="850" />
-      <source>This volume should have one of these names.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/UF2FlashDialog.py" line="857" />
+      <source>&lt;h4&gt;No Boot Volume detected.&lt;/h4&gt;&lt;p&gt;Please ensure that the boot volume of the device to be flashed is available. </source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="863" />
+      <source>This volume should be named &lt;b&gt;{0}&lt;/b&gt;. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="868" />
+      <source>This volume should have one of these names.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="875" />
       <source>&lt;h4&gt;Reset Instructions&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set the board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="876" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="894" />
       <source>Multiple Boot Volumes found:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="878" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="896" />
       <source>&lt;h4&gt;Multiple Boot Volumes were found&lt;/h4&gt;&lt;p&gt;These volume paths were found.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Please ensure that only one device of a type is ready for flashing. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="897" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="915" />
       <source>Flashing Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="898" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="916" />
       <source>&lt;p&gt;Flashing the selected firmware to the device. Please wait until the device resets automatically.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="905" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="923" />
       <source>Flashing {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="906" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="924" />
       <source>&lt;p&gt;Flashing the {0} firmware to the device. Please wait until the device resets automatically.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -85135,7 +85155,7 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6999" />
+      <location filename="../UI/UserInterface.py" line="7022" />
       <location filename="../UI/UserInterface.py" line="1835" />
       <location filename="../UI/UserInterface.py" line="1832" />
       <source>Load session</source>
@@ -85868,7 +85888,7 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="4097" />
+      <location filename="../UI/UserInterface.py" line="4120" />
       <location filename="../UI/UserInterface.py" line="2508" />
       <source>Report Bug</source>
       <translation>Reportovat Bugy</translation>
@@ -86439,8 +86459,8 @@
       <translation>&lt;b&gt;Klávesové zkratky&lt;/b&gt;&lt;p&gt;Nastavení klávesových zkratek aplikace podle zvyklostí uživatele.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6675" />
-      <location filename="../UI/UserInterface.py" line="6657" />
+      <location filename="../UI/UserInterface.py" line="6698" />
+      <location filename="../UI/UserInterface.py" line="6680" />
       <location filename="../UI/UserInterface.py" line="2948" />
       <source>Export Keyboard Shortcuts</source>
       <translation>Exportovat klávesové zkratky</translation>
@@ -86461,7 +86481,7 @@
       <translation>&lt;b&gt;Export klávesových zkratek&lt;/b&gt;&lt;p&gt;Exportují se klávesové zkratky z aplikace.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6692" />
+      <location filename="../UI/UserInterface.py" line="6715" />
       <location filename="../UI/UserInterface.py" line="2962" />
       <source>Import Keyboard Shortcuts</source>
       <translation>Import klávesových zkratek</translation>
@@ -86865,7 +86885,7 @@
       <translation>Nastavení</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="5518" />
+      <location filename="../UI/UserInterface.py" line="5541" />
       <location filename="../UI/UserInterface.py" line="3645" />
       <location filename="../UI/UserInterface.py" line="3624" />
       <source>Help</source>
@@ -86930,467 +86950,477 @@
       <translation type="unfinished">&lt;h3&gt;Čísla verzí&lt;/h3&gt;&lt;table&gt; {2&gt;?} {2&gt;?}</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7755" />
-      <location filename="../UI/UserInterface.py" line="4064" />
+      <location filename="../UI/UserInterface.py" line="4082" />
+      <source>Desktop</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="4085" />
+      <source>Session Type</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="7778" />
+      <location filename="../UI/UserInterface.py" line="4087" />
       <source>&lt;/table&gt;</source>
       <translation>&lt;/table&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="4098" />
+      <location filename="../UI/UserInterface.py" line="4121" />
       <source>Email address or mail server address is empty. Please configure your Email settings in the Preferences Dialog.</source>
       <translation>Emailová adresa nebo mail server adresa jsou prázdné. Prosím, nastavte váš email v dialogovém okně Nastavení.</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="4409" />
+      <location filename="../UI/UserInterface.py" line="4432" />
       <source>Restart application</source>
       <translation>Restartovat aplikaci</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="4410" />
+      <location filename="../UI/UserInterface.py" line="4433" />
       <source>The application needs to be restarted. Do it now?</source>
       <translation>Aplikace potřebuje restartovat. Má se provést nyní?</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="4444" />
+      <location filename="../UI/UserInterface.py" line="4467" />
       <source>&amp;Builtin Tools</source>
       <translation>&amp;Vestavěné nástroje</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="4461" />
+      <location filename="../UI/UserInterface.py" line="4484" />
       <source>&amp;Plugin Tools</source>
       <translation>&amp;Plugin nástroje</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="4464" />
+      <location filename="../UI/UserInterface.py" line="4487" />
       <source>&amp;User Tools</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="4490" />
+      <location filename="../UI/UserInterface.py" line="4513" />
       <source>Configure Tool Groups ...</source>
       <translation>Konfigurace Skupin nástrojů...</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="4494" />
+      <location filename="../UI/UserInterface.py" line="4517" />
       <source>Configure current Tool Group ...</source>
       <translation>Konfigurace aktuální skupiny nástrojů...</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="4535" />
-      <location filename="../UI/UserInterface.py" line="4515" />
+      <location filename="../UI/UserInterface.py" line="4558" />
+      <location filename="../UI/UserInterface.py" line="4538" />
       <source>No User Tools Configured</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="4609" />
+      <location filename="../UI/UserInterface.py" line="4632" />
       <source>&amp;Show all</source>
       <translation>&amp;Zobrazit vše</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="4611" />
+      <location filename="../UI/UserInterface.py" line="4634" />
       <source>&amp;Hide all</source>
       <translation>&amp;Skrýt vše</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="5646" />
-      <location filename="../UI/UserInterface.py" line="5636" />
-      <location filename="../UI/UserInterface.py" line="5589" />
-      <location filename="../UI/UserInterface.py" line="5580" />
-      <location filename="../UI/UserInterface.py" line="5419" />
-      <location filename="../UI/UserInterface.py" line="5410" />
-      <location filename="../UI/UserInterface.py" line="5349" />
-      <location filename="../UI/UserInterface.py" line="5340" />
+      <location filename="../UI/UserInterface.py" line="5669" />
+      <location filename="../UI/UserInterface.py" line="5659" />
+      <location filename="../UI/UserInterface.py" line="5612" />
+      <location filename="../UI/UserInterface.py" line="5603" />
+      <location filename="../UI/UserInterface.py" line="5442" />
+      <location filename="../UI/UserInterface.py" line="5433" />
+      <location filename="../UI/UserInterface.py" line="5372" />
+      <location filename="../UI/UserInterface.py" line="5363" />
       <source>Problem</source>
       <translation>Problém</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="5647" />
-      <location filename="../UI/UserInterface.py" line="5637" />
-      <location filename="../UI/UserInterface.py" line="5590" />
-      <location filename="../UI/UserInterface.py" line="5581" />
-      <location filename="../UI/UserInterface.py" line="5420" />
-      <location filename="../UI/UserInterface.py" line="5411" />
-      <location filename="../UI/UserInterface.py" line="5350" />
-      <location filename="../UI/UserInterface.py" line="5341" />
+      <location filename="../UI/UserInterface.py" line="5670" />
+      <location filename="../UI/UserInterface.py" line="5660" />
+      <location filename="../UI/UserInterface.py" line="5613" />
+      <location filename="../UI/UserInterface.py" line="5604" />
+      <location filename="../UI/UserInterface.py" line="5443" />
+      <location filename="../UI/UserInterface.py" line="5434" />
+      <location filename="../UI/UserInterface.py" line="5373" />
+      <location filename="../UI/UserInterface.py" line="5364" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; does not exist or is zero length.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Soubor &lt;b&gt;{0}&lt;/b&gt; neexistuje nebo má nulovou délku.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="5854" />
-      <location filename="../UI/UserInterface.py" line="5767" />
+      <location filename="../UI/UserInterface.py" line="5877" />
+      <location filename="../UI/UserInterface.py" line="5790" />
+      <location filename="../UI/UserInterface.py" line="5705" />
       <location filename="../UI/UserInterface.py" line="5682" />
-      <location filename="../UI/UserInterface.py" line="5659" />
-      <location filename="../UI/UserInterface.py" line="5602" />
-      <location filename="../UI/UserInterface.py" line="5552" />
-      <location filename="../UI/UserInterface.py" line="5532" />
-      <location filename="../UI/UserInterface.py" line="5494" />
-      <location filename="../UI/UserInterface.py" line="5485" />
-      <location filename="../UI/UserInterface.py" line="5450" />
-      <location filename="../UI/UserInterface.py" line="5441" />
-      <location filename="../UI/UserInterface.py" line="5380" />
-      <location filename="../UI/UserInterface.py" line="5371" />
+      <location filename="../UI/UserInterface.py" line="5625" />
+      <location filename="../UI/UserInterface.py" line="5575" />
+      <location filename="../UI/UserInterface.py" line="5555" />
+      <location filename="../UI/UserInterface.py" line="5517" />
+      <location filename="../UI/UserInterface.py" line="5508" />
+      <location filename="../UI/UserInterface.py" line="5473" />
+      <location filename="../UI/UserInterface.py" line="5464" />
+      <location filename="../UI/UserInterface.py" line="5403" />
+      <location filename="../UI/UserInterface.py" line="5394" />
       <source>Process Generation Error</source>
       <translation>Chyba v procesu generování</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="5372" />
+      <location filename="../UI/UserInterface.py" line="5395" />
       <source>&lt;p&gt;Could not start Qt-Designer.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Nemohu spustit Qt-Designer.&lt;br&gt;Ověřte jestli je dostupný jako &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="5381" />
+      <location filename="../UI/UserInterface.py" line="5404" />
       <source>&lt;p&gt;Could not find the Qt-Designer executable.&lt;br&gt;Ensure that it is installed and optionally configured on the Qt configuration page.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="5442" />
+      <location filename="../UI/UserInterface.py" line="5465" />
       <source>&lt;p&gt;Could not start Qt-Linguist.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Nemohu spustit Qt-Linguist.&lt;br&gt;Ověřte jestli je dostupný jako &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="5451" />
+      <location filename="../UI/UserInterface.py" line="5474" />
       <source>&lt;p&gt;Could not find the Qt-Linguist executable.&lt;br&gt;Ensure that it is installed and optionally configured on the Qt configuration page.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="5486" />
+      <location filename="../UI/UserInterface.py" line="5509" />
       <source>&lt;p&gt;Could not start Qt-Assistant.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Nemohu spustit Qt-Assistant.&lt;br&gt;Ověřte jestli je dostupný jako &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="5495" />
+      <location filename="../UI/UserInterface.py" line="5518" />
       <source>&lt;p&gt;Could not find the Qt-Assistant executable.&lt;br&gt;Ensure that it is installed and optionally configured on the Qt configuration page.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="5519" />
+      <location filename="../UI/UserInterface.py" line="5542" />
       <source>Currently no custom viewer is selected. Please use the preferences dialog to specify one.</source>
       <translation>Aktuálně není vybrán žádný prohlížeč. Prosím otevřete Nastavení a nějaký vyberte.</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="5533" />
+      <location filename="../UI/UserInterface.py" line="5556" />
       <source>&lt;p&gt;Could not start custom viewer.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Nemohu spustit aktuální prohlížeč.&lt;br&gt;Ověřte jestli je dostupný jako &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="5553" />
+      <location filename="../UI/UserInterface.py" line="5576" />
       <source>&lt;p&gt;Could not start the help viewer.&lt;br&gt;Ensure that it is available as &lt;b&gt;hh&lt;/b&gt;.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Nemohu spustit prohlížeč nápovědy.&lt;br&gt;Ověřte jestli je dostupný jako &lt;b&gt;hh&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="5603" />
+      <location filename="../UI/UserInterface.py" line="5626" />
       <source>&lt;p&gt;Could not start UI Previewer.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Nemohu spustit UI Previewer.&lt;br&gt;Ověřte jestli je dostupný jako &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="5660" />
-      <source>&lt;p&gt;Could not start Translation Previewer.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
-      <translation>&lt;p&gt;Nemohu spustit Previewer překladů.&lt;br&gt;Ověřte jestli je dostupný jako &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
-    </message>
-    <message>
       <location filename="../UI/UserInterface.py" line="5683" />
+      <source>&lt;p&gt;Could not start Translation Previewer.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
+      <translation>&lt;p&gt;Nemohu spustit Previewer překladů.&lt;br&gt;Ověřte jestli je dostupný jako &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="5706" />
       <source>&lt;p&gt;Could not start SQL Browser.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Nelze spustit SQL Browser.&lt;br&gt;Ujistěte se, že je dostupný jako &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="5768" />
-      <source>&lt;p&gt;Could not start Snapshot tool.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="5799" />
-      <location filename="../UI/UserInterface.py" line="5790" />
-      <source>External Tools</source>
-      <translation>Externí nástroje</translation>
-    </message>
-    <message>
       <location filename="../UI/UserInterface.py" line="5791" />
+      <source>&lt;p&gt;Could not start Snapshot tool.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="5822" />
+      <location filename="../UI/UserInterface.py" line="5813" />
+      <source>External Tools</source>
+      <translation>Externí nástroje</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="5814" />
       <source>No tool entry found for external tool '{0}' in tool group '{1}'.</source>
       <translation>V externím nástroji  '{0}' ve skupině '{1}' nebyl záznam nástroje nalezen.</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="5800" />
+      <location filename="../UI/UserInterface.py" line="5823" />
       <source>No toolgroup entry '{0}' found.</source>
       <translation>Skupina nástrojů '{0}' nenalezena. </translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="5836" />
+      <location filename="../UI/UserInterface.py" line="5859" />
       <source>Starting process '{0} {1}'.
 </source>
       <translation>Spouštím proces '{0} {1}'.
 </translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="5855" />
+      <location filename="../UI/UserInterface.py" line="5878" />
       <source>&lt;p&gt;Could not start the tool entry &lt;b&gt;{0}&lt;/b&gt;.&lt;br&gt;Ensure that it is available as &lt;b&gt;{1}&lt;/b&gt;.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Nemohu spustit příkaz &lt;b&gt;{0}&lt;/b&gt;&lt;br&gt;Ověřte jestli je dostupný jako &lt;b&gt;{1}&lt;/b&gt;. &lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="5930" />
+      <location filename="../UI/UserInterface.py" line="5953" />
       <source>Process '{0}' has exited.
 </source>
       <translation>Proces '{0}' byl ukončen.
 </translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6202" />
-      <location filename="../UI/UserInterface.py" line="6144" />
-      <location filename="../UI/UserInterface.py" line="6103" />
-      <location filename="../UI/UserInterface.py" line="6035" />
-      <location filename="../UI/UserInterface.py" line="5973" />
+      <location filename="../UI/UserInterface.py" line="6225" />
+      <location filename="../UI/UserInterface.py" line="6167" />
+      <location filename="../UI/UserInterface.py" line="6126" />
+      <location filename="../UI/UserInterface.py" line="6058" />
+      <location filename="../UI/UserInterface.py" line="5996" />
       <source>Documentation Missing</source>
       <translation>Dokumentace chybí</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6203" />
-      <location filename="../UI/UserInterface.py" line="6145" />
-      <location filename="../UI/UserInterface.py" line="6104" />
-      <location filename="../UI/UserInterface.py" line="6036" />
-      <location filename="../UI/UserInterface.py" line="5974" />
+      <location filename="../UI/UserInterface.py" line="6226" />
+      <location filename="../UI/UserInterface.py" line="6168" />
+      <location filename="../UI/UserInterface.py" line="6127" />
+      <location filename="../UI/UserInterface.py" line="6059" />
+      <location filename="../UI/UserInterface.py" line="5997" />
       <source>&lt;p&gt;The documentation starting point "&lt;b&gt;{0}&lt;/b&gt;" could not be found.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Adresář dokumentace "&lt;b&gt;{0}&lt;/b&gt;" nebyl nalezen.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6185" />
-      <location filename="../UI/UserInterface.py" line="6076" />
+      <location filename="../UI/UserInterface.py" line="6208" />
+      <location filename="../UI/UserInterface.py" line="6099" />
       <source>Documentation</source>
       <translation>Dokumentace</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6077" />
+      <location filename="../UI/UserInterface.py" line="6100" />
       <source>&lt;p&gt;The PyQt{0} documentation starting point has not been configured.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6186" />
+      <location filename="../UI/UserInterface.py" line="6209" />
       <source>&lt;p&gt;The PySide{0} documentation starting point has not been configured.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6364" />
-      <location filename="../UI/UserInterface.py" line="6300" />
+      <location filename="../UI/UserInterface.py" line="6387" />
+      <location filename="../UI/UserInterface.py" line="6323" />
       <source>Start Web Browser</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6301" />
+      <location filename="../UI/UserInterface.py" line="6324" />
       <source>The eric web browser could not be started.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6365" />
+      <location filename="../UI/UserInterface.py" line="6388" />
       <source>&lt;p&gt;The eric web browser is not started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6407" />
+      <location filename="../UI/UserInterface.py" line="6430" />
       <source>Open Browser</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6408" />
+      <location filename="../UI/UserInterface.py" line="6431" />
       <source>Could not start a web browser</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6659" />
+      <location filename="../UI/UserInterface.py" line="6682" />
       <source>Keyboard Shortcuts File (*.ekj)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6676" />
+      <location filename="../UI/UserInterface.py" line="6699" />
       <source>&lt;p&gt;The keyboard shortcuts file &lt;b&gt;{0}&lt;/b&gt; exists already. Overwrite it?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6694" />
+      <location filename="../UI/UserInterface.py" line="6717" />
       <source>Keyboard Shortcuts File (*.ekj);;XML Keyboard shortcut file (*.e4k)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6886" />
+      <location filename="../UI/UserInterface.py" line="6909" />
       <source>Read Tasks</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6887" />
+      <location filename="../UI/UserInterface.py" line="6910" />
       <source>&lt;p&gt;The tasks file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Soubor s úlohami &lt;b&gt;{0}&lt;/b&gt; nelze načíst.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6934" />
+      <location filename="../UI/UserInterface.py" line="6957" />
       <source>Read Session</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6962" />
-      <location filename="../UI/UserInterface.py" line="6935" />
+      <location filename="../UI/UserInterface.py" line="6985" />
+      <location filename="../UI/UserInterface.py" line="6958" />
       <source>&lt;p&gt;The session file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Soubor relace session &lt;b&gt;{0}&lt;/b&gt; nelze přečíst.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6961" />
+      <location filename="../UI/UserInterface.py" line="6984" />
       <source>Read session</source>
       <translation>Načíst relaci</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6977" />
+      <location filename="../UI/UserInterface.py" line="7000" />
       <source>Save Session</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6979" />
+      <location filename="../UI/UserInterface.py" line="7002" />
       <source>eric Session Files (*.esj)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7001" />
+      <location filename="../UI/UserInterface.py" line="7024" />
       <source>eric Session Files (*.esj);;eric XML Session Files (*.e5s)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7049" />
+      <location filename="../UI/UserInterface.py" line="7072" />
       <source>Crash Session found!</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7050" />
+      <location filename="../UI/UserInterface.py" line="7073" />
       <source>A session file of a crashed session was found. Shall this session be restored?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7351" />
+      <location filename="../UI/UserInterface.py" line="7374" />
       <source>Drop Error</source>
       <translation>Zahodit chybu</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7352" />
+      <location filename="../UI/UserInterface.py" line="7375" />
       <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
       <translation>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; není soubor.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7529" />
-      <source>&amp;Cancel</source>
-      <translation>&amp;Zrušit</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="7531" />
-      <source>%v/%m</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="7533" />
-      <source>Version Check</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="7538" />
-      <source>Trying host {0}</source>
-      <translation>Zkouším host {0}</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="7607" />
-      <location filename="../UI/UserInterface.py" line="7600" />
-      <location filename="../UI/UserInterface.py" line="7551" />
-      <source>Error getting versions information</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../UI/UserInterface.py" line="7552" />
+      <source>&amp;Cancel</source>
+      <translation>&amp;Zrušit</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="7554" />
+      <source>%v/%m</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="7556" />
+      <source>Version Check</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="7561" />
+      <source>Trying host {0}</source>
+      <translation>Zkouším host {0}</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="7630" />
+      <location filename="../UI/UserInterface.py" line="7623" />
+      <location filename="../UI/UserInterface.py" line="7574" />
+      <source>Error getting versions information</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="7575" />
       <source>The versions information cannot not be downloaded because the Internet is &lt;b&gt;not reachable&lt;/b&gt;. Please try again later.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7601" />
+      <location filename="../UI/UserInterface.py" line="7624" />
       <source>The versions information could not be downloaded. Please go online and try again.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7608" />
+      <location filename="../UI/UserInterface.py" line="7631" />
       <source>The versions information could not be downloaded for the last 7 days. Please go online and try again.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7699" />
-      <location filename="../UI/UserInterface.py" line="7665" />
+      <location filename="../UI/UserInterface.py" line="7722" />
+      <location filename="../UI/UserInterface.py" line="7688" />
       <source>Update available</source>
       <translation>Byla nalezena aktualizace</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7700" />
-      <location filename="../UI/UserInterface.py" line="7666" />
+      <location filename="../UI/UserInterface.py" line="7723" />
+      <location filename="../UI/UserInterface.py" line="7689" />
       <source>The update to &lt;b&gt;{0}&lt;/b&gt; of eric is available at &lt;b&gt;{1}&lt;/b&gt;. Would you like to get it?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7687" />
-      <location filename="../UI/UserInterface.py" line="7677" />
+      <location filename="../UI/UserInterface.py" line="7710" />
+      <location filename="../UI/UserInterface.py" line="7700" />
       <source>Update Check</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7678" />
+      <location filename="../UI/UserInterface.py" line="7701" />
       <source>You are using a snapshot release of eric. A more up-to-date stable release might be available.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7688" />
-      <source>You installed eric directly from the source code. There is no possibility to check for the availability of an update.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../UI/UserInterface.py" line="7711" />
+      <source>You installed eric directly from the source code. There is no possibility to check for the availability of an update.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="7734" />
       <source>eric is up to date</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7712" />
+      <location filename="../UI/UserInterface.py" line="7735" />
       <source>You are using the latest version of eric</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7718" />
+      <location filename="../UI/UserInterface.py" line="7741" />
       <source>Error during updates check</source>
       <translation>Chyba během zjišťování aktualizací</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7719" />
+      <location filename="../UI/UserInterface.py" line="7742" />
       <source>Could not perform updates check.</source>
       <translation>Kontrolu updatů nelze provést.</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7740" />
+      <location filename="../UI/UserInterface.py" line="7763" />
       <source>&lt;h3&gt;Available versions&lt;/h3&gt;&lt;table&gt;</source>
       <translation>&lt;h3&gt;Dostupné verze&lt;/h3&gt;&lt;table&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7806" />
-      <location filename="../UI/UserInterface.py" line="7795" />
+      <location filename="../UI/UserInterface.py" line="7829" />
+      <location filename="../UI/UserInterface.py" line="7818" />
       <source>First time usage</source>
       <translation>Spuštěno poprvé</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7796" />
+      <location filename="../UI/UserInterface.py" line="7819" />
       <source>eric7 has not been configured yet but an eric6 configuration was found. Shall this be imported?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7807" />
+      <location filename="../UI/UserInterface.py" line="7830" />
       <source>eric has not been configured yet. The configuration dialog will be started.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7827" />
+      <location filename="../UI/UserInterface.py" line="7850" />
       <source>Select Workspace Directory</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="8004" />
+      <location filename="../UI/UserInterface.py" line="8027" />
       <source>Unsaved Data Detected</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="8005" />
+      <location filename="../UI/UserInterface.py" line="8028" />
       <source>Some editors contain unsaved data. Shall these be saved?</source>
       <translation type="unfinished" />
     </message>
@@ -87610,7 +87640,7 @@
   <context>
     <name>Utilities</name>
     <message>
-      <location filename="../Utilities/__init__.py" line="1429" />
+      <location filename="../Utilities/__init__.py" line="1431" />
       <source>&lt;p&gt;You may use %-codes as placeholders in the string. Supported codes are:&lt;table&gt;&lt;tr&gt;&lt;td&gt;%C&lt;/td&gt;&lt;td&gt;column of the cursor of the current editor&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%D&lt;/td&gt;&lt;td&gt;directory of the current editor&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%F&lt;/td&gt;&lt;td&gt;filename of the current editor&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%H&lt;/td&gt;&lt;td&gt;home directory of the current user&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%L&lt;/td&gt;&lt;td&gt;line of the cursor of the current editor&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%P&lt;/td&gt;&lt;td&gt;path of the current project&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%S&lt;/td&gt;&lt;td&gt;selected text of the current editor&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%U&lt;/td&gt;&lt;td&gt;username of the current user&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%%&lt;/td&gt;&lt;td&gt;the percent sign&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/p&gt;</source>
       <translation>&lt;p&gt;Můžete použít %-kódy a rezervovaná místa ve stringu. Podporované kódy jsou:&lt;table&gt;&lt;tr&gt;    &lt;td&gt;%C&lt;/td&gt;    &lt;td&gt;sloupec kurzoru v aktuálním editoru&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;    &lt;td&gt;%D&lt;/td&gt;    &lt;td&gt;adresář v aktuálním editoru&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;    &lt;td&gt;%F&lt;/td&gt;    &lt;td&gt;jméno souboru v aktuálním editoru&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;    &lt;td&gt;%H&lt;/td&gt;    &lt;td&gt;home adresář aktuálního uživatele&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;    &lt;td&gt;%L&lt;/td&gt;    &lt;td&gt;řádek s kurzorem v aktuálním editoru&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;    &lt;td&gt;%P&lt;/td&gt;    &lt;td&gt;cesta aktuálního projektu&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;    &lt;td&gt;%S&lt;/td&gt;    &lt;td&gt;vybraný text v aktuálním editoru&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;    &lt;td&gt;%U&lt;/td&gt;    &lt;td&gt;uživatelské jméno aktuálního uživatele&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;    &lt;td&gt;%%&lt;/td&gt;    &lt;td&gt;znak procenta&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/p&gt;</translation>
     </message>
@@ -88721,7 +88751,7 @@
       <translation>Proces {0} nelze spustit. Ověřte, že je umístěn v požadované cestě.</translation>
     </message>
     <message>
-      <location filename="../VCS/VersionControl.py" line="947" />
+      <location filename="../VCS/VersionControl.py" line="946" />
       <source>Repository status checking is switched off</source>
       <translation>Kontrolování stavu v repozitáři je vypnuto</translation>
     </message>
Binary file eric7/i18n/eric7_de.qm has changed
--- a/eric7/i18n/eric7_de.ts	Tue Feb 08 14:16:12 2022 +0100
+++ b/eric7/i18n/eric7_de.ts	Fri Mar 04 18:06:25 2022 +0100
@@ -1264,59 +1264,59 @@
   <context>
     <name>ApplicationDiagramBuilder</name>
     <message>
-      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="48" />
+      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="49" />
       <source>Application Diagram {0}</source>
       <translation>Applikations-Diagramm {0}</translation>
     </message>
     <message>
-      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="72" />
-      <source>Parsing modules...</source>
-      <translation>Module werden gelesen …</translation>
-    </message>
-    <message>
       <location filename="../Graphics/ApplicationDiagramBuilder.py" line="73" />
+      <source>Parsing modules...</source>
+      <translation>Module werden gelesen …</translation>
+    </message>
+    <message>
+      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="74" />
       <source>%v/%m Modules</source>
       <translation>%v/%m Module</translation>
     </message>
     <message>
-      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="137" />
-      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="128" />
-      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="74" />
+      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="141" />
+      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="132" />
+      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="75" />
       <source>Application Diagram</source>
       <translation>Applikations-Diagramm</translation>
     </message>
     <message>
-      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="129" />
+      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="133" />
       <source>Select the application directory:</source>
       <translation>Wähle das Applikationsverzeichnis:</translation>
     </message>
     <message>
-      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="138" />
+      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="142" />
       <source>No application package could be detected. Aborting...</source>
       <translation>Es konnte kein Applikationspaket gefunden werden. Abbruch...</translation>
     </message>
     <message>
-      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="252" />
+      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="256" />
       <source>&lt;&lt;Application&gt;&gt;</source>
       <translation>&lt;&lt;Applikation&gt;&gt;</translation>
     </message>
     <message>
-      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="254" />
+      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="258" />
       <source>&lt;&lt;Others&gt;&gt;</source>
       <translation>&lt;&lt;Sonstige&gt;&gt;</translation>
     </message>
     <message>
-      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="414" />
+      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="418" />
       <source>Load Diagram</source>
       <translation>Diagramm laden</translation>
     </message>
     <message>
-      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="415" />
+      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="419" />
       <source>&lt;p&gt;The diagram belongs to the project &lt;b&gt;{0}&lt;/b&gt;. Shall this project be opened?&lt;/p&gt;</source>
       <translation>&lt;p&gt;Das Diagramm gehört zum Projekt &lt;b&gt;{0}&lt;/b&gt;. Soll dieses Projekt geöffnet werden?&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="456" />
+      <location filename="../Graphics/ApplicationDiagramBuilder.py" line="460" />
       <source>&lt;p&gt;The diagram belongs to project &lt;b&gt;{0}&lt;/b&gt;. Please open it and try again.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Das Diagramm gehört zu dem Projekt &lt;b&gt;{0}&lt;/b&gt;. Öffne es und versuch es erneut.&lt;/p&gt;</translation>
     </message>
@@ -1592,27 +1592,27 @@
   <context>
     <name>AssistantJedi</name>
     <message>
-      <location filename="../JediInterface/AssistantJedi.py" line="224" />
+      <location filename="../JediInterface/AssistantJedi.py" line="225" />
       <source>Refactoring</source>
       <translation>Refaktorierung</translation>
     </message>
     <message>
-      <location filename="../JediInterface/AssistantJedi.py" line="226" />
+      <location filename="../JediInterface/AssistantJedi.py" line="227" />
       <source>Rename Variable</source>
       <translation>Variable umbenennen</translation>
     </message>
     <message>
-      <location filename="../JediInterface/AssistantJedi.py" line="229" />
+      <location filename="../JediInterface/AssistantJedi.py" line="230" />
       <source>Extract Variable</source>
       <translation>Variable extrahieren</translation>
     </message>
     <message>
-      <location filename="../JediInterface/AssistantJedi.py" line="232" />
+      <location filename="../JediInterface/AssistantJedi.py" line="233" />
       <source>Inline Variable</source>
       <translation>Varaible einbinden</translation>
     </message>
     <message>
-      <location filename="../JediInterface/AssistantJedi.py" line="236" />
+      <location filename="../JediInterface/AssistantJedi.py" line="237" />
       <source>Extract Function</source>
       <translation>Funktion extrahieren</translation>
     </message>
@@ -1698,17 +1698,17 @@
       <translation>Ein Fehler im Eric Hintergrunddienst hat den Dienst beendet.</translation>
     </message>
     <message>
-      <location filename="../Utilities/BackgroundService.py" line="461" />
+      <location filename="../Utilities/BackgroundService.py" line="462" />
       <source>Eric's background client disconnected because of an unknown reason.</source>
       <translation>Die Verbindung zu Erics Hintergund Client wurde aus unbekanntem Grund getrennt.</translation>
     </message>
     <message>
-      <location filename="../Utilities/BackgroundService.py" line="469" />
-      <source>Background client disconnected.</source>
-      <translation>Hintergrund Client wurde getrennt.</translation>
-    </message>
-    <message>
       <location filename="../Utilities/BackgroundService.py" line="470" />
+      <source>Background client disconnected.</source>
+      <translation>Hintergrund Client wurde getrennt.</translation>
+    </message>
+    <message>
+      <location filename="../Utilities/BackgroundService.py" line="471" />
       <source>The background client for &lt;b&gt;{0}&lt;/b&gt; disconnected because of an unknown reason.&lt;br&gt;Should it be restarted?</source>
       <translation>Die Verbindung zum Hintergund Client für &lt;b&gt;{0}&lt;/b&gt; wurde aus unbekanntem Grund getrennt.&lt;br&gt;Soll er neu gestartet werden?</translation>
     </message>
@@ -3869,7 +3869,7 @@
       <translation>Bereite Dateien vor...</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1009" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1011" />
       <source>Transferring data...</source>
       <translation>Übertrage Daten...</translation>
     </message>
@@ -5059,7 +5059,7 @@
   <context>
     <name>CodingError</name>
     <message>
-      <location filename="../Utilities/__init__.py" line="131" />
+      <location filename="../Utilities/__init__.py" line="133" />
       <source>The coding '{0}' is wrong for the given text.</source>
       <translation>Die Kodierung „{0}“ ist für den übergebenen Text falsch.</translation>
     </message>
@@ -6186,377 +6186,377 @@
   <context>
     <name>ConfigurationWidget</name>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="143" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="144" />
       <source>Application</source>
       <translation>Applikation</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="146" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="147" />
       <source>Conda</source>
       <translation>Conda</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="149" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="150" />
       <source>Cooperation</source>
       <translation>Zusammenarbeit</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="152" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="153" />
       <source>CORBA</source>
       <translation>CORBA</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="155" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="156" />
       <source>Diff</source>
       <translation>Diff</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="158" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="159" />
       <source>Email</source>
       <translation>E-Mail</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="161" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="162" />
       <source>Graphics</source>
       <translation>Grafiken</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="520" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="164" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="521" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="165" />
       <source>Hex Editor</source>
       <translation>Hex-Editor</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="534" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="514" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="455" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="393" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="167" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="535" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="515" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="456" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="394" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="168" />
       <source>Icons</source>
       <translation>Icons</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="170" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="171" />
       <source>IRC</source>
       <translation>IRC</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="173" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="174" />
       <source>Log-Viewer</source>
       <translation>Ausgabefenster</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="176" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="177" />
       <source>MicroPython</source>
       <translation>MicroPython</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="179" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="180" />
       <source>Mimetypes</source>
       <translation>MIME-Typen</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="461" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="182" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="462" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="183" />
       <source>Network</source>
       <translation>Netzwerk</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="185" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="186" />
       <source>Notifications</source>
       <translation>Benachrichtigungen</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="189" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="190" />
       <source>Python Package Management</source>
       <translation>Python Paketmanagement</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="192" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="193" />
       <source>Plugin Manager</source>
       <translation>Pluginmanager</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="464" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="399" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="196" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="465" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="400" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="197" />
       <source>Printer</source>
       <translation>Drucker</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="199" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="200" />
       <source>Protobuf</source>
       <translation>Protobuf</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="202" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="203" />
       <source>Python</source>
       <translation>Python</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="205" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="206" />
       <source>Qt</source>
       <translation>Qt</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="467" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="208" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="468" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="209" />
       <source>Security</source>
       <translation>Sicherheit</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="211" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="212" />
       <source>Shell</source>
       <translation>Shell</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="214" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="215" />
       <source>Tasks</source>
       <translation>Aufgaben</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="217" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="218" />
       <source>Templates</source>
       <translation>Vorlagen</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="501" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="220" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="502" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="221" />
       <source>Tray Starter</source>
       <translation>Systemstarter</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="223" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="224" />
       <source>Version Control Systems</source>
       <translation>Versionskontrollsysteme</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="228" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="229" />
       <source>Debugger</source>
       <translation>Debugger</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="406" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="247" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="231" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="407" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="248" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="232" />
       <source>General</source>
       <translation>Allgemein</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="234" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="235" />
       <source>Python3</source>
       <translation>Python 3</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="403" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="238" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="404" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="239" />
       <source>Editor</source>
       <translation>Editor</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="241" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="242" />
       <source>APIs</source>
       <translation>APIs</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="244" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="245" />
       <source>Documentation Viewer</source>
       <translation>Dokumentationsanzeige</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="409" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="250" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="410" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="251" />
       <source>Filehandling</source>
       <translation>Dateibehandlung</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="413" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="254" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="414" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="255" />
       <source>Searching</source>
       <translation>Suchen</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="487" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="416" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="375" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="257" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="488" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="417" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="376" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="258" />
       <source>Spell checking</source>
       <translation>Rechtschreibprüfung</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="420" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="261" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="421" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="262" />
       <source>Style</source>
       <translation>Stil</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="264" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="265" />
       <source>Code Checkers</source>
       <translation>Quelltextprüfungen</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="423" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="267" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="424" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="268" />
       <source>Typing</source>
       <translation>Eingabe</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="270" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="271" />
       <source>Exporters</source>
       <translation>Exporter</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="274" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="275" />
       <source>Autocompletion</source>
       <translation>Automatische Vervollständigung</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="290" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="278" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="291" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="279" />
       <source>QScintilla</source>
       <translation>QScintilla</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="320" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="293" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="282" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="321" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="294" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="283" />
       <source>Jedi</source>
       <translation>Jedi</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="287" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="288" />
       <source>Calltips</source>
       <translation>Calltips</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="427" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="297" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="428" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="298" />
       <source>Highlighters</source>
       <translation>Syntaxhervorhebung</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="431" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="301" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="432" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="302" />
       <source>Filetype Associations</source>
       <translation>Dateitypzuordnungen</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="435" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="305" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="436" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="306" />
       <source>Styles</source>
       <translation>Stile</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="439" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="309" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="440" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="310" />
       <source>Keywords</source>
       <translation>Schlüsselwörter</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="442" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="312" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="443" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="313" />
       <source>Properties</source>
       <translation>Einstellungen</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="316" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="317" />
       <source>Mouse Click Handlers</source>
       <translation>Maus Klick Handlers</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="325" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="326" />
       <source>Help</source>
       <translation>Hilfe</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="471" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="328" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="472" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="329" />
       <source>Help Documentation</source>
       <translation>Hilfe Dokumentation</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="332" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="333" />
       <source>Help Viewers</source>
       <translation>Hilfeanzeiger</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="343" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="337" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="344" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="338" />
       <source>Project</source>
       <translation>Projekt</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="340" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="341" />
       <source>Project Viewer</source>
       <translation>Projektanzeige</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="346" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="347" />
       <source>Multiproject</source>
       <translation>Mehrfachprojekt</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="537" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="517" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="458" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="396" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="354" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="351" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="538" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="518" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="459" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="397" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="355" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="352" />
       <source>Interface</source>
       <translation>Oberfläche</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="357" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="358" />
       <source>Viewmanager</source>
       <translation>Ansichtenmanager</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="363" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="364" />
       <source>Web Browser</source>
       <translation>Web Browser</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="476" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="366" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="477" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="367" />
       <source>Appearance</source>
       <translation>Erscheinung</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="479" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="369" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="480" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="370" />
       <source>eric Web Browser</source>
       <translation>eric Web Browser</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="483" />
-      <location filename="../Preferences/ConfigurationDialog.py" line="372" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="484" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="373" />
       <source>VirusTotal Interface</source>
       <translation>VirusTotal-Schnittstelle</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="615" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="616" />
       <source>Enter search text...</source>
       <translation>Suchtext eingeben...</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="689" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="690" />
       <source>Preferences</source>
       <translation>Einstellungen</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="696" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="697" />
       <source>Please select an entry of the list 
 to display the configuration page.</source>
       <translation>Wähle einen Listeneintrag aus,
 um die Konfigurationsseite anzuzeigen.</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="771" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="772" />
       <source>Configuration Page Error</source>
       <translation>Konfigurationsseitenfehler</translation>
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationDialog.py" line="772" />
+      <location filename="../Preferences/ConfigurationDialog.py" line="773" />
       <source>&lt;p&gt;The configuration page &lt;b&gt;{0}&lt;/b&gt; could not be loaded.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Die Konfigurationsseite &lt;b&gt;{0}&lt;/b&gt; konnte nicht geladen werden.&lt;/p&gt;</translation>
     </message>
@@ -8635,12 +8635,12 @@
       <translation>&lt;p&gt;Der Debugger konnte nicht gestartet werden.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Debugger/DebuggerInterfacePython.py" line="1349" />
+      <location filename="../Debugger/DebuggerInterfacePython.py" line="1350" />
       <source>Debug Protocol Error</source>
       <translation>Fehler im Debugprotokoll</translation>
     </message>
     <message>
-      <location filename="../Debugger/DebuggerInterfacePython.py" line="1350" />
+      <location filename="../Debugger/DebuggerInterfacePython.py" line="1351" />
       <source>&lt;p&gt;The response received from the debugger backend could not be decoded. Please report this issue with the received data to the eric bugs email address.&lt;/p&gt;&lt;p&gt;Error: {0}&lt;/p&gt;&lt;p&gt;Data:&lt;br/&gt;{1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Die vom Debugger empfangene Antwort konnte nicht dekodiert werden. Bitte berichten sie diesen Fehler zusammen mit den empfangenen Daten an die eric Bugs Emailadresse.&lt;/p&gt;&lt;p&gt;Fehler: {0}&lt;/p&gt;&lt;p&gt;Daten:&lt;br/&gt;{1}&lt;/p&gt;</translation>
     </message>
@@ -18582,17 +18582,17 @@
   <context>
     <name>EspBackupRestoreFirmwareDialog</name>
     <message>
-      <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="104" />
+      <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="109" />
       <source>Firmware Files (*.img);;All Files (*)</source>
       <translation>Firmwaredateien (*.img);;Alle Dateien (*)</translation>
     </message>
     <message>
-      <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="109" />
+      <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="116" />
       <source>Backup Firmware</source>
       <translation>Firmware sichern</translation>
     </message>
     <message>
-      <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="114" />
+      <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="121" />
       <source>Restore Firmware</source>
       <translation>Firmware zurückspielen</translation>
     </message>
@@ -18618,8 +18618,23 @@
     </message>
     <message>
       <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="0" />
-      <source>Flashmode:</source>
-      <translation>Flashmodus:</translation>
+      <source>Leave empty to auto detect. size.</source>
+      <translation>Leer lassen, um die Größe automatisch zu detektieren.</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="0" />
+      <source>Baud Rate:</source>
+      <translation>Baudrate:</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="0" />
+      <source>Select the baud rate to be used for flashing (default: 115.200 bps)</source>
+      <translation>Wähle die zum Flashen zu verwendende Baudrate (Standard: 115.200 BpS)</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="0" />
+      <source>Flash Mode:</source>
+      <translation>Flash Modus:</translation>
     </message>
     <message>
       <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="0" />
@@ -18628,6 +18643,11 @@
     </message>
     <message>
       <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="0" />
+      <source>Leave empty to use the default mode.</source>
+      <translation>Leer lassen, um den Standardmodus zu verwenden.</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="0" />
       <source>Firmware:</source>
       <translation>Firmware:</translation>
     </message>
@@ -18664,31 +18684,31 @@
       <translation>Zusätzliche Firmware flashen</translation>
     </message>
     <message>
-      <location filename="../MicroPython/EspDevices.py" line="285" />
+      <location filename="../MicroPython/EspDevices.py" line="286" />
       <location filename="../MicroPython/EspDevices.py" line="140" />
       <source>Backup Firmware</source>
       <translation>Firmware sichern</translation>
     </message>
     <message>
-      <location filename="../MicroPython/EspDevices.py" line="319" />
+      <location filename="../MicroPython/EspDevices.py" line="324" />
       <location filename="../MicroPython/EspDevices.py" line="143" />
       <source>Restore Firmware</source>
       <translation>Firmware zurückspielen</translation>
     </message>
     <message>
-      <location filename="../MicroPython/EspDevices.py" line="337" />
+      <location filename="../MicroPython/EspDevices.py" line="342" />
       <location filename="../MicroPython/EspDevices.py" line="147" />
       <source>Show Chip ID</source>
       <translation>Chip ID anzeigen</translation>
     </message>
     <message>
-      <location filename="../MicroPython/EspDevices.py" line="354" />
+      <location filename="../MicroPython/EspDevices.py" line="359" />
       <location filename="../MicroPython/EspDevices.py" line="150" />
       <source>Show Flash ID</source>
       <translation>Flash ID anzeigen</translation>
     </message>
     <message>
-      <location filename="../MicroPython/EspDevices.py" line="371" />
+      <location filename="../MicroPython/EspDevices.py" line="376" />
       <location filename="../MicroPython/EspDevices.py" line="153" />
       <source>Show MAC Address</source>
       <translation>MAC Adresse anzeigen</translation>
@@ -18714,29 +18734,29 @@
       <translation>Ausgabe von 'esptool erase_flash'</translation>
     </message>
     <message>
-      <location filename="../MicroPython/EspDevices.py" line="318" />
+      <location filename="../MicroPython/EspDevices.py" line="323" />
       <location filename="../MicroPython/EspDevices.py" line="257" />
       <location filename="../MicroPython/EspDevices.py" line="222" />
       <source>'esptool write_flash' Output</source>
       <translation>Ausgabe von 'esptool write_flash'</translation>
     </message>
     <message>
-      <location filename="../MicroPython/EspDevices.py" line="284" />
+      <location filename="../MicroPython/EspDevices.py" line="285" />
       <source>'esptool read_flash' Output</source>
       <translation>Ausgabe von 'esptool read_flash'</translation>
     </message>
     <message>
-      <location filename="../MicroPython/EspDevices.py" line="336" />
+      <location filename="../MicroPython/EspDevices.py" line="341" />
       <source>'esptool chip_id' Output</source>
       <translation>Ausgabe von 'esptool chip_id'</translation>
     </message>
     <message>
-      <location filename="../MicroPython/EspDevices.py" line="353" />
+      <location filename="../MicroPython/EspDevices.py" line="358" />
       <source>'esptool flash_id' Output</source>
       <translation>Ausgabe von 'esptool flash_id'</translation>
     </message>
     <message>
-      <location filename="../MicroPython/EspDevices.py" line="370" />
+      <location filename="../MicroPython/EspDevices.py" line="375" />
       <source>'esptool read_mac' Output</source>
       <translation>Ausgabe von 'esptool read_mac'</translation>
     </message>
@@ -19886,23 +19906,23 @@
   <context>
     <name>FindFileWidget</name>
     <message>
-      <location filename="../UI/FindFileWidget.py" line="548" />
+      <location filename="../UI/FindFileWidget.py" line="547" />
       <source>Invalid search expression</source>
       <translation>Ungültiger Suchausdruck</translation>
     </message>
     <message>
-      <location filename="../UI/FindFileWidget.py" line="549" />
+      <location filename="../UI/FindFileWidget.py" line="548" />
       <source>&lt;p&gt;The search expression is not valid.&lt;/p&gt;&lt;p&gt;Error: {0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Der Suchausdruck ist nicht gültig.&lt;/p&gt;&lt;p&gt;Fehler: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/FindFileWidget.py" line="658" />
+      <location filename="../UI/FindFileWidget.py" line="657" />
       <source>{0} / {1}</source>
       <comment>occurrences / files</comment>
       <translation>{0} / {1}</translation>
     </message>
     <message numerus="yes">
-      <location filename="../UI/FindFileWidget.py" line="660" />
+      <location filename="../UI/FindFileWidget.py" line="659" />
       <source>%n occurrence(s)</source>
       <translation>
         <numerusform>ein Vorkommen</numerusform>
@@ -19910,7 +19930,7 @@
       </translation>
     </message>
     <message numerus="yes">
-      <location filename="../UI/FindFileWidget.py" line="661" />
+      <location filename="../UI/FindFileWidget.py" line="660" />
       <source>%n file(s)</source>
       <translation>
         <numerusform>eine Datei</numerusform>
@@ -19918,34 +19938,34 @@
       </translation>
     </message>
     <message>
-      <location filename="../UI/FindFileWidget.py" line="851" />
-      <location filename="../UI/FindFileWidget.py" line="826" />
-      <location filename="../UI/FindFileWidget.py" line="812" />
+      <location filename="../UI/FindFileWidget.py" line="850" />
+      <location filename="../UI/FindFileWidget.py" line="825" />
+      <location filename="../UI/FindFileWidget.py" line="811" />
       <source>Replace in Files</source>
       <translation>Ersetzen in Dateien</translation>
     </message>
     <message>
-      <location filename="../UI/FindFileWidget.py" line="813" />
+      <location filename="../UI/FindFileWidget.py" line="812" />
       <source>&lt;p&gt;Could not read the file &lt;b&gt;{0}&lt;/b&gt;. Skipping it.&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 gelesen werden. Überspringe sie.&lt;/p&gt;&lt;p&gt;Ursache: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/FindFileWidget.py" line="827" />
+      <location filename="../UI/FindFileWidget.py" line="826" />
       <source>&lt;p&gt;The current and the original hash of the file &lt;b&gt;{0}&lt;/b&gt; are different. Skipping it.&lt;/p&gt;&lt;p&gt;Hash 1: {1}&lt;/p&gt;&lt;p&gt;Hash 2: {2}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Der aktuelle und der originale Hash-Wert der Datei &lt;b&gt;{0}&lt;/b&gt; sind unterschiedlich. Überspringe sie.&lt;/p&gt;&lt;p&gt;Hash 1: {1}&lt;/p&gt;&lt;p&gt;Hash 2: {2}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/FindFileWidget.py" line="852" />
+      <location filename="../UI/FindFileWidget.py" line="851" />
       <source>&lt;p&gt;Could not save the file &lt;b&gt;{0}&lt;/b&gt;. Skipping it.&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 gespeichert werden. Überspringe sie.&lt;/p&gt;&lt;p&gt;Ursache: {1}&lt;/p&gt;</translation>
     </message>
     <message>
+      <location filename="../UI/FindFileWidget.py" line="876" />
+      <source>Open</source>
+      <translation>Öffnen</translation>
+    </message>
+    <message>
       <location filename="../UI/FindFileWidget.py" line="877" />
-      <source>Open</source>
-      <translation>Öffnen</translation>
-    </message>
-    <message>
-      <location filename="../UI/FindFileWidget.py" line="878" />
       <source>Copy Path to Clipboard</source>
       <translation>Pfad in die Zwischenablage kopieren</translation>
     </message>
@@ -27536,27 +27556,27 @@
   <context>
     <name>Globals</name>
     <message>
-      <location filename="../Globals/__init__.py" line="448" />
+      <location filename="../Globals/__init__.py" line="451" />
       <source>{0:4.2f} Bytes</source>
       <translation>{0:4.2f} Bytes</translation>
     </message>
     <message>
-      <location filename="../Globals/__init__.py" line="452" />
+      <location filename="../Globals/__init__.py" line="455" />
       <source>{0:4.2f} KiB</source>
       <translation>{0:4.2f} KiB</translation>
     </message>
     <message>
-      <location filename="../Globals/__init__.py" line="456" />
+      <location filename="../Globals/__init__.py" line="459" />
       <source>{0:4.2f} MiB</source>
       <translation>{0:4.2f} MiB</translation>
     </message>
     <message>
-      <location filename="../Globals/__init__.py" line="460" />
+      <location filename="../Globals/__init__.py" line="463" />
       <source>{0:4.2f} GiB</source>
       <translation>{0:4.2f} GiB</translation>
     </message>
     <message>
-      <location filename="../Globals/__init__.py" line="464" />
+      <location filename="../Globals/__init__.py" line="467" />
       <source>{0:4.2f} TiB</source>
       <translation>{0:4.2f} TiB</translation>
     </message>
@@ -40449,37 +40469,37 @@
   <context>
     <name>ImportsDiagramBuilder</name>
     <message>
-      <location filename="../Graphics/ImportsDiagramBuilder.py" line="76" />
+      <location filename="../Graphics/ImportsDiagramBuilder.py" line="77" />
       <source>Imports Diagramm {0}: {1}</source>
       <translation>Imports-Diagramm {0}: {1}</translation>
     </message>
     <message>
-      <location filename="../Graphics/ImportsDiagramBuilder.py" line="79" />
+      <location filename="../Graphics/ImportsDiagramBuilder.py" line="80" />
       <source>Imports Diagramm: {0}</source>
       <translation>Imports-Diagramm: {0}</translation>
     </message>
     <message>
-      <location filename="../Graphics/ImportsDiagramBuilder.py" line="105" />
-      <source>Parsing modules...</source>
-      <translation>Module werden gelesen...</translation>
-    </message>
-    <message>
       <location filename="../Graphics/ImportsDiagramBuilder.py" line="106" />
-      <source>%v/%m Modules</source>
-      <translation>%v/%m Module</translation>
+      <source>Parsing modules...</source>
+      <translation>Module werden gelesen...</translation>
     </message>
     <message>
       <location filename="../Graphics/ImportsDiagramBuilder.py" line="107" />
+      <source>%v/%m Modules</source>
+      <translation>%v/%m Module</translation>
+    </message>
+    <message>
+      <location filename="../Graphics/ImportsDiagramBuilder.py" line="108" />
       <source>Imports Diagramm</source>
       <translation>Imports-Diagramm</translation>
     </message>
     <message>
-      <location filename="../Graphics/ImportsDiagramBuilder.py" line="137" />
+      <location filename="../Graphics/ImportsDiagramBuilder.py" line="142" />
       <source>The directory &lt;b&gt;'{0}'&lt;/b&gt; is not a Python package.</source>
       <translation>Das Verzeichnis &lt;b&gt;„{0}“&lt;/b&gt; ist kein Python-Package.</translation>
     </message>
     <message>
-      <location filename="../Graphics/ImportsDiagramBuilder.py" line="400" />
+      <location filename="../Graphics/ImportsDiagramBuilder.py" line="405" />
       <source>&lt;p&gt;The diagram belongs to project &lt;b&gt;{0}&lt;/b&gt;. Please open it and try again.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Das Diagramm gehört zu dem Projekt &lt;b&gt;{0}&lt;/b&gt;. Öffne es und versuch es erneut.&lt;/p&gt;</translation>
     </message>
@@ -43407,83 +43427,83 @@
   <context>
     <name>JediServer</name>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="299" />
+      <location filename="../JediInterface/JediServer.py" line="300" />
       <source>Language &lt;b&gt;{0}&lt;/b&gt; is not supported.</source>
       <translation>Die Sprache &lt;b&gt;{0}&lt;/b&gt; wird nicht unterstützt.</translation>
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="335" />
+      <location filename="../JediInterface/JediServer.py" line="336" />
       <source>Present in &lt;i&gt;{0}&lt;/i&gt; module</source>
       <translation>Im Modul &lt;i&gt;{0}&lt;/i&gt; vorhanden</translation>
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="339" />
+      <location filename="../JediInterface/JediServer.py" line="340" />
       <source>No documentation available.</source>
       <translation>Keine Dokumentation verfügbar.</translation>
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="394" />
+      <location filename="../JediInterface/JediServer.py" line="395" />
       <source>Jedi: No definition found</source>
       <translation>Jedi: keine Definition gefunden</translation>
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="484" />
+      <location filename="../JediInterface/JediServer.py" line="485" />
       <source>Jedi: No mouse hover help found</source>
       <translation>Jedi: keine 'Mouse Hover' Hilfe gefunden</translation>
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="648" />
-      <location filename="../JediInterface/JediServer.py" line="506" />
+      <location filename="../JediInterface/JediServer.py" line="649" />
+      <location filename="../JediInterface/JediServer.py" line="507" />
       <source>Rename Variable</source>
       <translation>Variable umbenennen</translation>
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="507" />
+      <location filename="../JediInterface/JediServer.py" line="508" />
       <source>Enter the new name for the variable:</source>
       <translation>Gib den neuen Namen für die Variable ein:</translation>
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="543" />
-      <source>Extract Variable</source>
-      <translation>Variable extrahieren</translation>
-    </message>
-    <message>
       <location filename="../JediInterface/JediServer.py" line="544" />
+      <source>Extract Variable</source>
+      <translation>Variable extrahieren</translation>
+    </message>
+    <message>
+      <location filename="../JediInterface/JediServer.py" line="545" />
       <source>Enter the name for the new variable:</source>
       <translation>Gib den Namen für die neuen Variable ein:</translation>
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="612" />
-      <source>Extract Function</source>
-      <translation>Funktion extrahieren</translation>
-    </message>
-    <message>
       <location filename="../JediInterface/JediServer.py" line="613" />
+      <source>Extract Function</source>
+      <translation>Funktion extrahieren</translation>
+    </message>
+    <message>
+      <location filename="../JediInterface/JediServer.py" line="614" />
       <source>Enter the name for the function:</source>
       <translation>Gib den Namen für die Funktion ein:</translation>
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="656" />
-      <source>Refactoring</source>
-      <translation>Refaktorierung</translation>
-    </message>
-    <message>
       <location filename="../JediInterface/JediServer.py" line="657" />
+      <source>Refactoring</source>
+      <translation>Refaktorierung</translation>
+    </message>
+    <message>
+      <location filename="../JediInterface/JediServer.py" line="658" />
       <source>&lt;p&gt;The refactoring could not be performed.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Die Refaktorierung konnte nicht ausgeführt werden.&lt;/p&gt;&lt;p&gt;Ursache: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="705" />
-      <source>Apply Refactoring</source>
-      <translation>Refaktorierung anwenden</translation>
-    </message>
-    <message>
       <location filename="../JediInterface/JediServer.py" line="706" />
+      <source>Apply Refactoring</source>
+      <translation>Refaktorierung anwenden</translation>
+    </message>
+    <message>
+      <location filename="../JediInterface/JediServer.py" line="707" />
       <source>&lt;p&gt;The refactoring could not be applied.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Die Refaktorierung konnte nicht angewendet werden.&lt;/p&gt;&lt;p&gt;Ursache: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="734" />
+      <location filename="../JediInterface/JediServer.py" line="735" />
       <source>The data received from the Jedi server could not be decoded. Please report this issue with the received data to the eric bugs email address.
 Error: {0}
 Data:
@@ -43496,7 +43516,7 @@
 </translation>
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="743" />
+      <location filename="../JediInterface/JediServer.py" line="744" />
       <source>An exception happened in the Jedi client. Please report it to the eric bugs email address.
 Exception: {0}
 Value: {1}
@@ -43509,28 +43529,28 @@
 </translation>
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="777" />
+      <location filename="../JediInterface/JediServer.py" line="778" />
       <source>The jedi and/or parso library is not installed.
 </source>
       <translation>Die jedi und/oder parso Bibliothek ist nicht installiert.
 </translation>
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="781" />
+      <location filename="../JediInterface/JediServer.py" line="782" />
       <source>'{0}' is not supported because the configured interpreter could not be started.
 </source>
       <translation>'{0}' wird nicht unterstützt, da der konfigurierte Interpreter nicht gestartet werden konnte.
 </translation>
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="786" />
+      <location filename="../JediInterface/JediServer.py" line="787" />
       <source>'{0}' is not supported because no suitable interpreter is configured.
 </source>
       <translation>'{0}' wird nicht unrestützt, da kein geeigneter Interpreter konfiguriert ist.
 </translation>
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="900" />
+      <location filename="../JediInterface/JediServer.py" line="901" />
       <source>Jedi</source>
       <translation>Jedi</translation>
     </message>
@@ -47394,290 +47414,290 @@
       <translation>&lt;p&gt;Die Eingabeaufforderung kann nicht gestartet werden.&lt;/p&gt;&lt;p&gt;Ursache: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1067" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1068" />
       <source>Serial Device Connect</source>
       <translation>Serielle Verbindung</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1068" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1069" />
       <source>&lt;p&gt;Cannot connect to device at serial port &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Kann keine Verbindung zum Gerät an der seriellen Schnittstelle &lt;b&gt;{0}&lt;/b&gt; herstellen.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1112" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1103" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1095" />
-      <source>Run Script</source>
-      <translation>Skript ausführen</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1096" />
-      <source>There is no editor open. Abort...</source>
-      <translation>Es ist kein Editor offen. Abbruch...</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1104" />
-      <source>The current editor does not contain a script. Abort...</source>
-      <translation>Der aktuelle Editortext enthält kein Skript. Abbruch...</translation>
-    </message>
-    <message>
       <location filename="../MicroPython/MicroPythonWidget.py" line="1113" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1104" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1096" />
+      <source>Run Script</source>
+      <translation>Skript ausführen</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1097" />
+      <source>There is no editor open. Abort...</source>
+      <translation>Es ist kein Editor offen. Abbruch...</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1105" />
+      <source>The current editor does not contain a script. Abort...</source>
+      <translation>Der aktuelle Editortext enthält kein Skript. Abbruch...</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1114" />
       <source>&lt;p&gt;Cannot run script.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Das Skript kann nicht ausgeführt werden.&lt;/p&gt;&lt;p&gt;Ursache: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1136" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1137" />
       <source>Open Python File</source>
       <translation>Pythondatei öffnen</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1138" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1139" />
       <source>Python3 Files (*.py);;All Files (*)</source>
       <translation>Python3 Dateien (*.py);;Alle Dateien (*)</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1181" />
-      <source>Start Chart</source>
-      <translation>Chart starten</translation>
-    </message>
-    <message>
       <location filename="../MicroPython/MicroPythonWidget.py" line="1182" />
+      <source>Start Chart</source>
+      <translation>Chart starten</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1183" />
       <source>&lt;p&gt;The Chart cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Das Chart kann nicht gestartet werden.&lt;/p&gt;&lt;p&gt;Ursache: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1194" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1195" />
       <source>µPy Chart</source>
       <translation>µPy Chart</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1210" />
-      <source>Unsaved Chart Data</source>
-      <translation>Nicht gesicherte Chart Daten</translation>
-    </message>
-    <message>
       <location filename="../MicroPython/MicroPythonWidget.py" line="1211" />
+      <source>Unsaved Chart Data</source>
+      <translation>Nicht gesicherte Chart Daten</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1212" />
       <source>The chart contains unsaved data.</source>
       <translation>Das Chart enthält ungesicherte Daten.</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1261" />
-      <source>Start File Manager</source>
-      <translation>Dateimanager starten</translation>
-    </message>
-    <message>
       <location filename="../MicroPython/MicroPythonWidget.py" line="1262" />
+      <source>Start File Manager</source>
+      <translation>Dateimanager starten</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1263" />
       <source>&lt;p&gt;The File Manager cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Der Dateimanager kann nicht gestartet werden.&lt;/p&gt;&lt;p&gt;Ursache: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1279" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1280" />
       <source>µPy Files</source>
       <translation>µPy Dateien</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1315" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1316" />
       <source>Downloads</source>
       <translation>Downloads</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1331" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1332" />
       <source>Show Version</source>
       <translation>Version anzeigen</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1334" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1335" />
       <source>Show Implementation</source>
       <translation>Implementierung anzeigen</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1337" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1338" />
       <source>Show Board Data</source>
       <translation>Board Daten anzeigen</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1480" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1342" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1481" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1343" />
       <source>Synchronize Time</source>
       <translation>Zeit synchronisieren</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1345" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1346" />
       <source>Show Device Time</source>
       <translation>Gerätezeit anzeigen</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1348" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1349" />
       <source>Show Local Time</source>
       <translation>Lokale Zeit anzeigen</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1351" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1352" />
       <source>Show Time</source>
       <translation>Zeit anzeigen</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1699" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1357" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1700" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1358" />
       <source>Compile Python File</source>
       <translation>Python Datei übersetzen</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1721" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1714" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1360" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1722" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1715" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1361" />
       <source>Compile Current Editor</source>
       <translation>Aktuellen Editor übersetzen</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1370" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1371" />
       <source>Download Firmware</source>
       <translation>Firmware herunterladen</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1377" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1378" />
       <source>Show Documentation</source>
       <translation>Dokumentation anzeigen</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1381" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1382" />
       <source>Flash UF2 Device</source>
       <translation>UF2 Gerät flashen</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1384" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1385" />
       <source>Manage Unknown Devices</source>
       <translation>Unbekannte Geräte verwalten</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1386" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1387" />
       <source>Ignored Serial Devices</source>
       <translation>Ignorierte Serielle Geräte</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1389" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1390" />
       <source>Configure</source>
       <translation>Einstellungen</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1399" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1400" />
       <source>&lt;h3&gt;Device Version Information&lt;/h3&gt;</source>
       <translation>&lt;h3&gt;Versionsinformationen des Gerätes&lt;/h3&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1408" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1409" />
       <source>No version information available.</source>
       <translation>Keine Versionsinformationen verfügbar.</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1412" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1413" />
       <source>Device Version Information</source>
       <translation>Versionsinformationen des Gerätes</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1433" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1429" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1434" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1430" />
       <source>unknown</source>
       <translation>unbekannt</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1440" />
-      <source>Device Implementation Information</source>
-      <translation>Informationen zur Implementierung</translation>
-    </message>
-    <message>
       <location filename="../MicroPython/MicroPythonWidget.py" line="1441" />
+      <source>Device Implementation Information</source>
+      <translation>Informationen zur Implementierung</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1442" />
       <source>&lt;h3&gt;Device Implementation Information&lt;/h3&gt;&lt;p&gt;This device contains &lt;b&gt;{0} {1}&lt;/b&gt;.&lt;/p&gt;</source>
       <translation>&lt;h3&gt;Informationen zur Implementierung&lt;/h3&gt;&lt;p&gt;Dieses Gerät enthält &lt;b&gt;{0} {1}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1481" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1482" />
       <source>&lt;p&gt;The time of the connected device was synchronized with the local time.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Die Zeit des angeschlossenen Gerätes wurde mit der lokalen Zeit synchronisiert.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1501" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1502" />
       <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation>&lt;h3&gt;Datum und Zeit des Gerätes&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Datum&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Zeit&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1509" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1510" />
       <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
       <translation>&lt;h3&gt;Datum und Zeit des Gerätes&lt;/h3&gt;&lt;p&gt;{0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1528" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1529" />
       <source>Device Date and Time</source>
       <translation>Datum und Zeit des Gerätes</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1541" />
-      <source>Local Date and Time</source>
-      <translation>Lokales Datum und Zeit</translation>
-    </message>
-    <message>
       <location filename="../MicroPython/MicroPythonWidget.py" line="1542" />
+      <source>Local Date and Time</source>
+      <translation>Lokales Datum und Zeit</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1543" />
       <source>&lt;h3&gt;Local Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation>&lt;h3&gt;Lokales Datum und Zeit&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Datum&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Zeit&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1584" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1567" />
-      <source>Date and Time</source>
-      <translation>Datum und Zeit</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1568" />
-      <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td align='center'&gt;{0}&lt;/td&gt;&lt;td align='center'&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td align='center'&gt;{1}&lt;/td&gt;&lt;td align='center'&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
-      <translation>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Lokales Datum und Zeit&lt;/th&gt;&lt;th&gt;Datum und Zeit des Gerätes&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Datum&lt;/b&gt;&lt;/td&gt;&lt;td align='center'&gt;{0}&lt;/td&gt;&lt;td align='center'&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Zeit&lt;/b&gt;&lt;/td&gt;&lt;td align='center'&gt;{1}&lt;/td&gt;&lt;td align='center'&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
-    </message>
-    <message>
       <location filename="../MicroPython/MicroPythonWidget.py" line="1585" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1568" />
+      <source>Date and Time</source>
+      <translation>Datum und Zeit</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1569" />
+      <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td align='center'&gt;{0}&lt;/td&gt;&lt;td align='center'&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td align='center'&gt;{1}&lt;/td&gt;&lt;td align='center'&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
+      <translation>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Lokales Datum und Zeit&lt;/th&gt;&lt;th&gt;Datum und Zeit des Gerätes&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Datum&lt;/b&gt;&lt;/td&gt;&lt;td align='center'&gt;{0}&lt;/td&gt;&lt;td align='center'&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Zeit&lt;/b&gt;&lt;/td&gt;&lt;td align='center'&gt;{1}&lt;/td&gt;&lt;td align='center'&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1586" />
       <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align='center'&gt;{0} {1}&lt;/td&gt;&lt;td align='center'&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation>&lt;table&gt;&lt;tr&gt;&lt;th&gt;Lokales Datum und Zeit&lt;/th&gt;&lt;th&gt;Datum und Zeit des Gerätes&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align='center'&gt;{0} {1}&lt;/td&gt;&lt;td align='center'&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1609" />
-      <source>Error handling device</source>
-      <translation>Fehler bei Gerätekommunikation</translation>
-    </message>
-    <message>
       <location filename="../MicroPython/MicroPythonWidget.py" line="1610" />
+      <source>Error handling device</source>
+      <translation>Fehler bei Gerätekommunikation</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1611" />
       <source>&lt;p&gt;There was an error communicating with the connected device.&lt;/p&gt;&lt;p&gt;Method: {0}&lt;/p&gt;&lt;p&gt;Message: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Es trat ein Fehler bei der Kommunikation mit dem Gerät auf.&lt;/p&gt;&lt;p&gt;Methode: {0}&lt;/p&gt;&lt;p&gt;Nachricht: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1650" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1651" />
       <source>The MicroPython cross compiler &lt;b&gt;mpy-cross&lt;/b&gt; cannot be found. Ensure it is in the search path or configure it on the MicroPython configuration page.</source>
       <translation>Der MicroPython Crosscompiler &lt;b&gt;mpy-cross&lt;/b&gt; kann nicht gefunden werden. Stelle sicher, dass er im Suchpfad liegt oder konfiguriere ihn auf der MicroPython Konfigurationsseite.</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1673" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1674" />
       <source>Python Files (*.py);;All Files (*)</source>
       <translation>Python-Dateien (*.py);;Alle Dateien (*)</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1682" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1683" />
       <source>The Python file &lt;b&gt;{0}&lt;/b&gt; does not exist. Aborting...</source>
       <translation>Die Python Datei &lt;b&gt;{0}&lt;/b&gt; existiert nicht. Abbruch...</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1689" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1690" />
       <source>'mpy-cross' Output</source>
       <translation>'mpy-cross' Ausgabe</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1715" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1716" />
       <source>The current editor does not contain a Python file. Aborting...</source>
       <translation>Der aktuelle Editortext enthält keine Pythondatei. Abbruch...</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1808" />
-      <source>Add Unknown Devices</source>
-      <translation>Unbekannte Geräte hinzufügen</translation>
-    </message>
-    <message>
       <location filename="../MicroPython/MicroPythonWidget.py" line="1809" />
+      <source>Add Unknown Devices</source>
+      <translation>Unbekannte Geräte hinzufügen</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1810" />
       <source>Select the devices to be added:</source>
       <translation>Wähle die hinzuzufügenden unbekannten Geräte:</translation>
     </message>
@@ -49234,194 +49254,194 @@
       <translation>Mehrfachprojekt-Dateien (*.emj);;XML Mehrfachprojekt-Dateien (*.e5m *.e4m)</translation>
     </message>
     <message>
-      <location filename="../MultiProject/MultiProject.py" line="608" />
-      <location filename="../MultiProject/MultiProject.py" line="597" />
+      <location filename="../MultiProject/MultiProject.py" line="606" />
+      <location filename="../MultiProject/MultiProject.py" line="595" />
       <source>Multi Project Files (*.emj)</source>
       <translation>Mehrfachprojekt-Dateien (*.emj)</translation>
     </message>
     <message>
-      <location filename="../MultiProject/MultiProject.py" line="606" />
+      <location filename="../MultiProject/MultiProject.py" line="604" />
       <source>Save Multiproject</source>
       <translation>Mehrfachprojekt speichern</translation>
     </message>
     <message>
-      <location filename="../MultiProject/MultiProject.py" line="621" />
+      <location filename="../MultiProject/MultiProject.py" line="619" />
       <source>Save File</source>
       <translation>Datei sichern</translation>
     </message>
     <message>
-      <location filename="../MultiProject/MultiProject.py" line="622" />
+      <location filename="../MultiProject/MultiProject.py" line="620" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
       <translation>&lt;p&gt;Die Datei &lt;b&gt;{0}&lt;/b&gt; existiert bereits. Überschreiben?&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MultiProject/MultiProject.py" line="646" />
+      <location filename="../MultiProject/MultiProject.py" line="644" />
       <source>Close Multiproject</source>
       <translation>Mehrfachprojekt schließen</translation>
     </message>
     <message>
-      <location filename="../MultiProject/MultiProject.py" line="647" />
+      <location filename="../MultiProject/MultiProject.py" line="645" />
       <source>The current multiproject has unsaved changes.</source>
       <translation>Das aktuelle Mehrfachprojekt hat ungesicherte Änderungen.</translation>
     </message>
     <message>
+      <location filename="../MultiProject/MultiProject.py" line="697" />
+      <source>New multiproject</source>
+      <translation>Neues Mehrfachprojekt</translation>
+    </message>
+    <message>
       <location filename="../MultiProject/MultiProject.py" line="699" />
-      <source>New multiproject</source>
-      <translation>Neues Mehrfachprojekt</translation>
+      <source>&amp;New...</source>
+      <translation>&amp;Neu...</translation>
     </message>
     <message>
       <location filename="../MultiProject/MultiProject.py" line="701" />
-      <source>&amp;New...</source>
-      <translation>&amp;Neu...</translation>
-    </message>
-    <message>
-      <location filename="../MultiProject/MultiProject.py" line="703" />
       <source>Generate a new multiproject</source>
       <translation>Erstelle ein neues Mehrfachprojekt</translation>
     </message>
     <message>
-      <location filename="../MultiProject/MultiProject.py" line="704" />
+      <location filename="../MultiProject/MultiProject.py" line="702" />
       <source>&lt;b&gt;New...&lt;/b&gt;&lt;p&gt;This opens a dialog for entering the info for a new multiproject.&lt;/p&gt;</source>
       <translation>&lt;b&gt;Neu...&lt;/b&gt;&lt;p&gt;Dies öffnet einen Dialog zur Eingabe der Informationen des neuen Mehrfachprojektes.&lt;/p&gt;</translation>
     </message>
     <message>
+      <location filename="../MultiProject/MultiProject.py" line="711" />
+      <source>Open multiproject</source>
+      <translation>Mehrfachprojekt öffnen</translation>
+    </message>
+    <message>
       <location filename="../MultiProject/MultiProject.py" line="713" />
-      <source>Open multiproject</source>
-      <translation>Mehrfachprojekt öffnen</translation>
+      <source>&amp;Open...</source>
+      <translation>&amp;Öffnen...</translation>
     </message>
     <message>
       <location filename="../MultiProject/MultiProject.py" line="715" />
-      <source>&amp;Open...</source>
-      <translation>&amp;Öffnen...</translation>
-    </message>
-    <message>
-      <location filename="../MultiProject/MultiProject.py" line="717" />
       <source>Open an existing multiproject</source>
       <translation>Öffnet ein bestehendes Mehrfachprojekt</translation>
     </message>
     <message>
-      <location filename="../MultiProject/MultiProject.py" line="718" />
+      <location filename="../MultiProject/MultiProject.py" line="716" />
       <source>&lt;b&gt;Open...&lt;/b&gt;&lt;p&gt;This opens an existing multiproject.&lt;/p&gt;</source>
       <translation>&lt;b&gt;Öffnen...&lt;/b&gt;&lt;p&gt;Dies öffnet ein bestehendes Mehrfachprojekt.&lt;/p&gt;</translation>
     </message>
     <message>
+      <location filename="../MultiProject/MultiProject.py" line="724" />
+      <source>Close multiproject</source>
+      <translation>Mehrfachprojekt schließen</translation>
+    </message>
+    <message>
       <location filename="../MultiProject/MultiProject.py" line="726" />
-      <source>Close multiproject</source>
-      <translation>Mehrfachprojekt schließen</translation>
-    </message>
-    <message>
-      <location filename="../MultiProject/MultiProject.py" line="728" />
       <source>&amp;Close</source>
       <translation>Schl&amp;ießen</translation>
     </message>
     <message>
+      <location filename="../MultiProject/MultiProject.py" line="727" />
+      <source>Close the current multiproject</source>
+      <translation>Schließt das aktuelle Mehrfachprojekt</translation>
+    </message>
+    <message>
       <location filename="../MultiProject/MultiProject.py" line="729" />
-      <source>Close the current multiproject</source>
-      <translation>Schließt das aktuelle Mehrfachprojekt</translation>
-    </message>
-    <message>
-      <location filename="../MultiProject/MultiProject.py" line="731" />
       <source>&lt;b&gt;Close&lt;/b&gt;&lt;p&gt;This closes the current multiproject.&lt;/p&gt;</source>
       <translation>&lt;b&gt;Schließen&lt;/b&gt;&lt;p&gt;Dies schließt das aktuelle Mehrfachprojekt.&lt;/p&gt;</translation>
     </message>
     <message>
+      <location filename="../MultiProject/MultiProject.py" line="737" />
+      <source>Save multiproject</source>
+      <translation>Mehrfachprojekt speichern</translation>
+    </message>
+    <message>
       <location filename="../MultiProject/MultiProject.py" line="739" />
-      <source>Save multiproject</source>
-      <translation>Mehrfachprojekt speichern</translation>
+      <source>&amp;Save</source>
+      <translation>&amp;Speichern</translation>
+    </message>
+    <message>
+      <location filename="../MultiProject/MultiProject.py" line="740" />
+      <source>Save the current multiproject</source>
+      <translation>Speichert das aktuelle Mehrfachprojekt</translation>
     </message>
     <message>
       <location filename="../MultiProject/MultiProject.py" line="741" />
-      <source>&amp;Save</source>
-      <translation>&amp;Speichern</translation>
-    </message>
-    <message>
-      <location filename="../MultiProject/MultiProject.py" line="742" />
-      <source>Save the current multiproject</source>
-      <translation>Speichert das aktuelle Mehrfachprojekt</translation>
-    </message>
-    <message>
-      <location filename="../MultiProject/MultiProject.py" line="743" />
       <source>&lt;b&gt;Save&lt;/b&gt;&lt;p&gt;This saves the current multiproject.&lt;/p&gt;</source>
       <translation>&lt;b&gt;Speichern&lt;/b&gt;&lt;p&gt;Dies speichert das aktuelle Mehrfachprojekt.&lt;/p&gt;</translation>
     </message>
     <message>
+      <location filename="../MultiProject/MultiProject.py" line="749" />
+      <source>Save multiproject as</source>
+      <translation>Mehrfachprojekt speichern unter</translation>
+    </message>
+    <message>
       <location filename="../MultiProject/MultiProject.py" line="751" />
-      <source>Save multiproject as</source>
-      <translation>Mehrfachprojekt speichern unter</translation>
+      <source>Save &amp;as...</source>
+      <translation>Speichern &amp;unter...</translation>
     </message>
     <message>
       <location filename="../MultiProject/MultiProject.py" line="753" />
-      <source>Save &amp;as...</source>
-      <translation>Speichern &amp;unter...</translation>
+      <source>Save the current multiproject to a new file</source>
+      <translation>Speichert das aktuelle Mehrfachprojekt in eine neue Datei</translation>
     </message>
     <message>
       <location filename="../MultiProject/MultiProject.py" line="755" />
-      <source>Save the current multiproject to a new file</source>
-      <translation>Speichert das aktuelle Mehrfachprojekt in eine neue Datei</translation>
-    </message>
-    <message>
-      <location filename="../MultiProject/MultiProject.py" line="757" />
       <source>&lt;b&gt;Save as&lt;/b&gt;&lt;p&gt;This saves the current multiproject to a new file.&lt;/p&gt;</source>
       <translation>&lt;b&gt;Speichern unter&lt;/b&gt;&lt;p&gt;Dies speichert das aktuelle Mehrfachprojekt in eine neue Datei.&lt;/p&gt;</translation>
     </message>
     <message>
+      <location filename="../MultiProject/MultiProject.py" line="763" />
+      <source>Add project to multiproject</source>
+      <translation>Projekt zum Mehrfachprojekt hinzufügen</translation>
+    </message>
+    <message>
       <location filename="../MultiProject/MultiProject.py" line="765" />
-      <source>Add project to multiproject</source>
-      <translation>Projekt zum Mehrfachprojekt hinzufügen</translation>
+      <source>Add &amp;project...</source>
+      <translation>&amp;Projekt hinzufügen...</translation>
     </message>
     <message>
       <location filename="../MultiProject/MultiProject.py" line="767" />
-      <source>Add &amp;project...</source>
-      <translation>&amp;Projekt hinzufügen...</translation>
+      <source>Add a project to the current multiproject</source>
+      <translation>Ein Projekt zum aktuellen Mehrfachprojekt hinzufügen</translation>
     </message>
     <message>
       <location filename="../MultiProject/MultiProject.py" line="769" />
-      <source>Add a project to the current multiproject</source>
-      <translation>Ein Projekt zum aktuellen Mehrfachprojekt hinzufügen</translation>
-    </message>
-    <message>
-      <location filename="../MultiProject/MultiProject.py" line="771" />
       <source>&lt;b&gt;Add project...&lt;/b&gt;&lt;p&gt;This opens a dialog for adding a project to the current multiproject.&lt;/p&gt;</source>
       <translation>&lt;b&gt;Projekt hinzufügen...&lt;/b&gt;&lt;p&gt;Dies öffnet einen Dialog, mit dem ein Projekt zum aktuellen Mehrfachprojekt hinzugefügt werden kann.&lt;/p&gt;</translation>
     </message>
     <message>
+      <location filename="../MultiProject/MultiProject.py" line="778" />
+      <source>Multiproject properties</source>
+      <translation>Mehrfachprojekteigenschaften</translation>
+    </message>
+    <message>
       <location filename="../MultiProject/MultiProject.py" line="780" />
-      <source>Multiproject properties</source>
-      <translation>Mehrfachprojekteigenschaften</translation>
+      <source>&amp;Properties...</source>