Checked the reported security related issue reports generated by the new security checker.

Wed, 17 Jun 2020 20:18:54 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 17 Jun 2020 20:18:54 +0200
changeset 7628
f904d0eef264
parent 7626
7f643d41464e
child 7629
21fea11a82fa

Checked the reported security related issue reports generated by the new security checker.

eric6.e4p file | annotate | diff | comparison | revisions
eric6/CondaInterface/Conda.py file | annotate | diff | comparison | revisions
eric6/DataViews/PyProfileDialog.py file | annotate | diff | comparison | revisions
eric6/DebugClients/Python/BreakpointWatch.py file | annotate | diff | comparison | revisions
eric6/DebugClients/Python/DebugBase.py file | annotate | diff | comparison | revisions
eric6/DebugClients/Python/DebugClientBase.py file | annotate | diff | comparison | revisions
eric6/DebugClients/Python/DebugVariables.py file | annotate | diff | comparison | revisions
eric6/DebugClients/Python/FlexCompleter.py file | annotate | diff | comparison | revisions
eric6/DebugClients/Python/PyProfile.py file | annotate | diff | comparison | revisions
eric6/DebugClients/Python/getpass.py file | annotate | diff | comparison | revisions
eric6/Debugger/DebugServer.py file | annotate | diff | comparison | revisions
eric6/Debugger/VariablesViewer.py file | annotate | diff | comparison | revisions
eric6/DocumentationTools/QtHelpGenerator.py file | annotate | diff | comparison | revisions
eric6/E5Gui/E5LineEdit.py file | annotate | diff | comparison | revisions
eric6/E5Gui/E5MessageBox.py file | annotate | diff | comparison | revisions
eric6/E5Gui/E5ModelToolBar.py file | annotate | diff | comparison | revisions
eric6/E5Gui/E5PathPicker.py file | annotate | diff | comparison | revisions
eric6/E5Gui/E5TextEditSearchWidget.py file | annotate | diff | comparison | revisions
eric6/E5Gui/E5ToolButton.py file | annotate | diff | comparison | revisions
eric6/E5Gui/E5TreeWidget.py file | annotate | diff | comparison | revisions
eric6/E5Network/E5Ftp.py file | annotate | diff | comparison | revisions
eric6/E5Network/E5GoogleMailHelpers.py file | annotate | diff | comparison | revisions
eric6/E5Network/E5RFC6266.py file | annotate | diff | comparison | revisions
eric6/E5Network/E5XmlRpcClient.py file | annotate | diff | comparison | revisions
eric6/E5Utilities/E5Cache.py file | annotate | diff | comparison | revisions
eric6/E5XML/XMLStreamReaderBase.py file | annotate | diff | comparison | revisions
eric6/E5XML/XMLStreamWriterBase.py file | annotate | diff | comparison | revisions
eric6/HexEdit/HexEditMainWindow.py file | annotate | diff | comparison | revisions
eric6/HexEdit/HexEditSearchReplaceWidget.py file | annotate | diff | comparison | revisions
eric6/HexEdit/HexEditWidget.py file | annotate | diff | comparison | revisions
eric6/MicroPython/MicroPythonCommandsInterface.py file | annotate | diff | comparison | revisions
eric6/PipInterface/Pip.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleFixer.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/CodeStyleChecker/DocStyleChecker.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/CodeStyleChecker/Security/Checks/awsHardcodedPassword.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/CodeStyleChecker/Security/Checks/generalBindAllInterfaces.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/CodeStyleChecker/Security/Checks/weakCryptographicKey.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/CodeStyleChecker/Security/SecurityDefaults.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/CodeStyleChecker/Security/SecurityUtils.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheck.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckService.py file | annotate | diff | comparison | revisions
eric6/Plugins/VcsPlugins/vcsGit/GitDiffDialog.py file | annotate | diff | comparison | revisions
eric6/Plugins/VcsPlugins/vcsGit/GitDiffGenerator.py file | annotate | diff | comparison | revisions
eric6/Plugins/VcsPlugins/vcsMercurial/LargefilesExtension/ProjectHelper.py file | annotate | diff | comparison | revisions
eric6/Plugins/VcsPlugins/vcsMercurial/LargefilesExtension/largefiles.py file | annotate | diff | comparison | revisions
eric6/Plugins/VcsPlugins/vcsPySvn/SvnCommitDialog.py file | annotate | diff | comparison | revisions
eric6/Plugins/VcsPlugins/vcsPySvn/SvnDiffDialog.py file | annotate | diff | comparison | revisions
eric6/Plugins/VcsPlugins/vcsSubversion/SvnCommitDialog.py file | annotate | diff | comparison | revisions
eric6/Plugins/VcsPlugins/vcsSubversion/SvnDialog.py file | annotate | diff | comparison | revisions
eric6/Plugins/WizardPlugins/ColorDialogWizard/ColorDialogWizardDialog.py file | annotate | diff | comparison | revisions
eric6/Preferences/ConfigurationDialog.py file | annotate | diff | comparison | revisions
eric6/Preferences/ConfigurationPages/EditorHighlightersPage.py file | annotate | diff | comparison | revisions
eric6/Preferences/ConfigurationPages/NetworkPage.py file | annotate | diff | comparison | revisions
eric6/Preferences/ConfigurationPages/SecurityPage.py file | annotate | diff | comparison | revisions
eric6/Preferences/ConfigurationPages/WebBrowserAppearancePage.py file | annotate | diff | comparison | revisions
eric6/Preferences/ConfigurationPages/WebBrowserPage.py file | annotate | diff | comparison | revisions
eric6/Preferences/__init__.py file | annotate | diff | comparison | revisions
eric6/Project/LexerAssociationDialog.py file | annotate | diff | comparison | revisions
eric6/Project/ProjectFormsBrowser.py file | annotate | diff | comparison | revisions
eric6/Project/ProjectInterfacesBrowser.py file | annotate | diff | comparison | revisions
eric6/Project/ProjectOthersBrowser.py file | annotate | diff | comparison | revisions
eric6/Project/ProjectProtocolsBrowser.py file | annotate | diff | comparison | revisions
eric6/Project/ProjectResourcesBrowser.py file | annotate | diff | comparison | revisions
eric6/Project/ProjectSourcesBrowser.py file | annotate | diff | comparison | revisions
eric6/Project/ProjectTranslationsBrowser.py file | annotate | diff | comparison | revisions
eric6/Project/UicLoadUi.py file | annotate | diff | comparison | revisions
eric6/PyUnit/UnittestDialog.py file | annotate | diff | comparison | revisions
eric6/QScintilla/Editor.py file | annotate | diff | comparison | revisions
eric6/QScintilla/KeySequenceTranslator.py file | annotate | diff | comparison | revisions
eric6/QScintilla/MiniEditor.py file | annotate | diff | comparison | revisions
eric6/Snapshot/SnapshotRegionGrabber.py file | annotate | diff | comparison | revisions
eric6/Snapshot/SnapshotWaylandGrabber.py file | annotate | diff | comparison | revisions
eric6/Tools/TRPreviewer.py file | annotate | diff | comparison | revisions
eric6/Tools/UIPreviewer.py file | annotate | diff | comparison | revisions
eric6/UI/UserInterface.py file | annotate | diff | comparison | revisions
eric6/Utilities/BackgroundClient.py file | annotate | diff | comparison | revisions
eric6/Utilities/BackgroundService.py file | annotate | diff | comparison | revisions
eric6/Utilities/ClassBrowsers/idlclbr.py file | annotate | diff | comparison | revisions
eric6/Utilities/ClassBrowsers/protoclbr.py file | annotate | diff | comparison | revisions
eric6/Utilities/ClassBrowsers/pyclbr.py file | annotate | diff | comparison | revisions
eric6/Utilities/ClassBrowsers/rbclbr.py file | annotate | diff | comparison | revisions
eric6/Utilities/ModuleParser.py file | annotate | diff | comparison | revisions
eric6/Utilities/__init__.py file | annotate | diff | comparison | revisions
eric6/Utilities/crypto/py3AES.py file | annotate | diff | comparison | revisions
eric6/VirtualEnv/VirtualenvManager.py file | annotate | diff | comparison | revisions
eric6/WebBrowser/AdBlock/AdBlockRule.py file | annotate | diff | comparison | revisions
eric6/WebBrowser/AdBlock/AdBlockSubscription.py file | annotate | diff | comparison | revisions
eric6/WebBrowser/Bookmarks/BookmarksImporters/FirefoxImporter.py file | annotate | diff | comparison | revisions
eric6/WebBrowser/Bookmarks/BookmarksManager.py file | annotate | diff | comparison | revisions
eric6/WebBrowser/Bookmarks/BookmarksToolBar.py file | annotate | diff | comparison | revisions
eric6/WebBrowser/Download/DownloadManager.py file | annotate | diff | comparison | revisions
eric6/WebBrowser/QtHelp/QtHelpDocumentationDialog.py file | annotate | diff | comparison | revisions
eric6/WebBrowser/SafeBrowsing/SafeBrowsingCache.py file | annotate | diff | comparison | revisions
eric6/WebBrowser/SafeBrowsing/SafeBrowsingUrl.py file | annotate | diff | comparison | revisions
eric6/WebBrowser/Sync/FtpSyncHandler.py file | annotate | diff | comparison | revisions
eric6/WebBrowser/WebBrowserLanguagesDialog.py file | annotate | diff | comparison | revisions
eric6/i18n/eric6_cs.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_de.qm file | annotate | diff | comparison | revisions
eric6/i18n/eric6_de.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_empty.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_en.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_es.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_fr.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_it.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_pt.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_ru.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_tr.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_zh_CN.ts file | annotate | diff | comparison | revisions
scripts/install-debugclients.py file | annotate | diff | comparison | revisions
scripts/install.py file | annotate | diff | comparison | revisions
scripts/uninstall-debugclients.py file | annotate | diff | comparison | revisions
scripts/uninstall.py file | annotate | diff | comparison | revisions
setup.py file | annotate | diff | comparison | revisions
--- a/eric6.e4p	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6.e4p	Wed Jun 17 20:18:54 2020 +0200
@@ -2114,6 +2114,9 @@
     <Other>eric6/APIs/MicroPython/circuitpython.api</Other>
     <Other>eric6/APIs/MicroPython/microbit.api</Other>
     <Other>eric6/APIs/MicroPython/micropython.api</Other>
+    <Other>eric6/APIs/Python/zope-2.10.7.api</Other>
+    <Other>eric6/APIs/Python/zope-2.11.2.api</Other>
+    <Other>eric6/APIs/Python/zope-3.3.1.api</Other>
     <Other>eric6/APIs/Python3/PyQt4.bas</Other>
     <Other>eric6/APIs/Python3/PyQt5.bas</Other>
     <Other>eric6/APIs/Python3/PyQtChart.bas</Other>
@@ -2121,9 +2124,6 @@
     <Other>eric6/APIs/Python3/QScintilla2.bas</Other>
     <Other>eric6/APIs/Python3/eric6.api</Other>
     <Other>eric6/APIs/Python3/eric6.bas</Other>
-    <Other>eric6/APIs/Python/zope-2.10.7.api</Other>
-    <Other>eric6/APIs/Python/zope-2.11.2.api</Other>
-    <Other>eric6/APIs/Python/zope-3.3.1.api</Other>
     <Other>eric6/APIs/QSS/qss.api</Other>
     <Other>eric6/APIs/Ruby/Ruby-1.8.7.api</Other>
     <Other>eric6/APIs/Ruby/Ruby-1.8.7.bas</Other>
@@ -2870,6 +2870,91 @@
               <bool>True</bool>
             </value>
             <key>
+              <string>SecurityChecker</string>
+            </key>
+            <value>
+              <dict>
+                <key>
+                  <string>CheckTypedException</string>
+                </key>
+                <value>
+                  <bool>False</bool>
+                </value>
+                <key>
+                  <string>HardcodedTmpDirectories</string>
+                </key>
+                <value>
+                  <list>
+                    <string>/tmp</string>
+                    <string>/var/tmp</string>
+                    <string>/dev/shm</string>
+                    <string>~/tmp</string>
+                  </list>
+                </value>
+                <key>
+                  <string>InsecureHashes</string>
+                </key>
+                <value>
+                  <list>
+                    <string>md4</string>
+                    <string>md5</string>
+                    <string>sha</string>
+                    <string>sha1</string>
+                  </list>
+                </value>
+                <key>
+                  <string>InsecureSslProtocolVersions</string>
+                </key>
+                <value>
+                  <list>
+                    <string>PROTOCOL_SSLv2</string>
+                    <string>SSLv2_METHOD</string>
+                    <string>SSLv23_METHOD</string>
+                    <string>PROTOCOL_SSLv3</string>
+                    <string>PROTOCOL_TLSv1</string>
+                    <string>SSLv3_METHOD</string>
+                    <string>TLSv1_METHOD</string>
+                  </list>
+                </value>
+                <key>
+                  <string>WeakKeySizeDsaHigh</string>
+                </key>
+                <value>
+                  <string>1024</string>
+                </value>
+                <key>
+                  <string>WeakKeySizeDsaMedium</string>
+                </key>
+                <value>
+                  <string>2048</string>
+                </value>
+                <key>
+                  <string>WeakKeySizeEcHigh</string>
+                </key>
+                <value>
+                  <string>160</string>
+                </value>
+                <key>
+                  <string>WeakKeySizeEcMedium</string>
+                </key>
+                <value>
+                  <string>224</string>
+                </value>
+                <key>
+                  <string>WeakKeySizeRsaHigh</string>
+                </key>
+                <value>
+                  <string>1024</string>
+                </value>
+                <key>
+                  <string>WeakKeySizeRsaMedium</string>
+                </key>
+                <value>
+                  <string>2048</string>
+                </value>
+              </dict>
+            </value>
+            <key>
               <string>ShowIgnored</string>
             </key>
             <value>
--- a/eric6/CondaInterface/Conda.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/CondaInterface/Conda.py	Wed Jun 17 20:18:54 2020 +0200
@@ -597,7 +597,7 @@
                 try:
                     packages = json.loads(output)
                     ok = "error" not in packages
-                except Exception:
+                except Exception:       # secok
                     # return values for errors is already set
                     pass
         
--- a/eric6/DataViews/PyProfileDialog.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/DataViews/PyProfileDialog.py	Wed Jun 17 20:18:54 2020 +0200
@@ -9,7 +9,7 @@
 
 
 import os
-import pickle
+import pickle       # secok
 
 from PyQt5.QtCore import Qt
 from PyQt5.QtWidgets import (
@@ -242,7 +242,7 @@
             return
         try:
             f = open(fname, 'rb')
-            self.stats = pickle.load(f)
+            self.stats = pickle.load(f)     # secok
             f.close()
         except (EnvironmentError, pickle.PickleError, EOFError):
             E5MessageBox.critical(
--- a/eric6/DebugClients/Python/BreakpointWatch.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/DebugClients/Python/BreakpointWatch.py	Wed Jun 17 20:18:54 2020 +0200
@@ -162,7 +162,7 @@
             # Ignore count applies only to those bpt hits where the
             # condition evaluates to true.
             try:
-                val = eval(b.cond, frame.f_globals, frame.f_locals)
+                val = eval(b.cond, frame.f_globals, frame.f_locals)     # secok
                 if val:
                     if b.ignore > 0:
                         b.ignore -= 1
@@ -295,6 +295,7 @@
                 continue
             try:
                 val = eval(b.compiledCond, frame.f_globals, frame.f_locals)
+                # secok
                 if b.created:
                     if frame in b.values:
                         continue
@@ -323,7 +324,7 @@
                         continue
                     else:
                         return (b, True)
-            except Exception:
+            except Exception:       # secok
                 continue
         return (None, False)
 
--- a/eric6/DebugClients/Python/DebugBase.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/DebugClients/Python/DebugBase.py	Wed Jun 17 20:18:54 2020 +0200
@@ -169,7 +169,7 @@
                 import __pypy__
                 __pypy__.locals_to_fast(cf)
                 return
-        except Exception:
+        except Exception:       # secok
             pass
         
         ctypes.pythonapi.PyFrame_LocalsToFast(
@@ -459,7 +459,7 @@
             sys.settrace(self.trace_dispatch)
         
         try:
-            exec(cmd, globalsDict, localsDict)
+            exec(cmd, globalsDict, localsDict)      # secok
             atexit._run_exitfuncs()
             self._dbgClient.progTerminated(0)
         except SystemExit:
--- a/eric6/DebugClients/Python/DebugClientBase.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/DebugClients/Python/DebugClientBase.py	Wed Jun 17 20:18:54 2020 +0200
@@ -296,7 +296,7 @@
         @param prompt the prompt to be shown (string)
         @return the entered string evaluated as a Python expresion
         """
-        return eval(self.raw_input(prompt, True))
+        return eval(self.raw_input(prompt, True))       # secok
         
     def sessionClose(self, terminate=True):
         """
@@ -307,7 +307,7 @@
         """
         try:
             self.set_quit()
-        except Exception:
+        except Exception:       # secok
             pass
 
         self.debugging = False
@@ -633,7 +633,7 @@
 
                     try:
                         if self.running is None:
-                            exec(code, self.debugMod.__dict__)
+                            exec(code, self.debugMod.__dict__)      # secok
                         else:
                             if self.currentThread is None:
                                 # program has terminated
@@ -661,15 +661,15 @@
                             if "sys" in _globals:
                                 __stdout = _globals["sys"].stdout
                                 _globals["sys"].stdout = self.writestream
-                                exec(code, _globals, _locals)
+                                exec(code, _globals, _locals)       # secok
                                 _globals["sys"].stdout = __stdout
                             elif "sys" in _locals:
                                 __stdout = _locals["sys"].stdout
                                 _locals["sys"].stdout = self.writestream
-                                exec(code, _globals, _locals)
+                                exec(code, _globals, _locals)       # secok
                                 _locals["sys"].stdout = __stdout
                             else:
-                                exec(code, _globals, _locals)
+                                exec(code, _globals, _locals)       # secok
                             
                             self.currentThread.storeFrameLocals(self.framenr)
                     except SystemExit as exc:
--- a/eric6/DebugClients/Python/DebugVariables.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/DebugClients/Python/DebugVariables.py	Wed Jun 17 20:18:54 2020 +0200
@@ -58,7 +58,7 @@
             try:
                 attribute = getattr(var, name)
                 d[name] = attribute
-            except Exception:
+            except Exception:       # secok
                 pass    # if we can't get it, simply ignore it
         
         return d
@@ -91,7 +91,7 @@
             try:
                 attribute = getattr(var, name)
                 d[name] = attribute
-            except Exception:
+            except Exception:       # secok
                 pass    # if we can't get it, simply ignore it
         
         yield -1, d
@@ -653,12 +653,12 @@
     
     try:
         _TypeMap.append((long, None))           # __IGNORE_WARNING__
-    except Exception:
+    except Exception:       # secok
         pass    # not available on all Python versions
 
     try:
         _TypeMap.append((unicode, None))        # __IGNORE_WARNING__
-    except Exception:
+    except Exception:       # secok
         pass    # not available on all Python versions
 
     try:
--- a/eric6/DebugClients/Python/FlexCompleter.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/DebugClients/Python/FlexCompleter.py	Wed Jun 17 20:18:54 2020 +0200
@@ -180,7 +180,7 @@
             return []
         expr, attr = m.group(1, 3)
         try:
-            thisobject = eval(expr, self.namespace)
+            thisobject = eval(expr, self.namespace)     # secok
         except Exception:
             return []
 
@@ -206,7 +206,7 @@
                     match = "{0}.{1}".format(expr, word)
                     try:
                         val = getattr(thisobject, word)
-                    except Exception:
+                    except Exception:       # secok
                         pass  # Include even if attribute not set
                     else:
                         match = self._callable_postfix(val, match)
--- a/eric6/DebugClients/Python/PyProfile.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/DebugClients/Python/PyProfile.py	Wed Jun 17 20:18:54 2020 +0200
@@ -10,7 +10,7 @@
 import marshal
 import profile
 import atexit
-import pickle
+import pickle       # secok
 import sys
 
 
@@ -54,10 +54,10 @@
         
         try:
             cache = open(self.timingCache, 'rb')
-            timings = marshal.load(cache)
+            timings = marshal.load(cache)       # secok
             if isinstance(timings, dict):
                 self.timings = timings
-        except Exception:
+        except Exception:       # secok
             pass
         finally:
             cache.close()
@@ -70,7 +70,7 @@
         try:
             cache = open(self.timingCache, 'wb')
             marshal.dump(self.timings, cache)
-        except Exception:
+        except Exception:       # secok
             pass
         finally:
             cache.close()
@@ -154,10 +154,11 @@
             rpt, rit, ret, rfn, rframe, rcur = self.cur
             if not isinstance(rframe, profile.Profile.fake_frame):
                 assert rframe.f_back is frame.f_back, ("Bad call", rfn,
+                # secok
                                                        rframe, rframe.f_back,
                                                        frame, frame.f_back)
                 self.trace_dispatch_return(rframe, 0)
-                assert (self.cur is None or
+                assert (self.cur is None or                            # secok
                         frame.f_back is self.cur[-2]), ("Bad call",
                                                         self.cur[-3])
         fcode = frame.f_code
--- a/eric6/DebugClients/Python/getpass.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/DebugClients/Python/getpass.py	Wed Jun 17 20:18:54 2020 +0200
@@ -49,7 +49,7 @@
     @return Password entered by the user
     @rtype str
     """
-    return input(prompt, False)
+    return input(prompt, False)     # secok
     
 
 unix_getpass = getpass
--- a/eric6/Debugger/DebugServer.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Debugger/DebugServer.py	Wed Jun 17 20:18:54 2020 +0200
@@ -188,7 +188,7 @@
         
         self.networkInterface = Preferences.getDebugger("NetworkInterface")
         if self.networkInterface == "all":
-            hostAddress = QHostAddress("0.0.0.0")  # QHostAddress.Any)
+            hostAddress = QHostAddress("0.0.0.0")  # QHostAddress.Any)  # secok
         elif self.networkInterface == "allv6":
             hostAddress = QHostAddress("::")  # QHostAddress.AnyIPv6)
         else:
--- a/eric6/Debugger/VariablesViewer.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Debugger/VariablesViewer.py	Wed Jun 17 20:18:54 2020 +0200
@@ -197,7 +197,7 @@
             if VariableItem.rx_nonprintable.indexIn(dvalue) == -1:
                 try:
                     dvalue = ast.literal_eval(dvalue)
-                except Exception:
+                except Exception:       # secok
                     pass
             try:
                 dvalue = str(dvalue)
--- a/eric6/DocumentationTools/QtHelpGenerator.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/DocumentationTools/QtHelpGenerator.py	Wed Jun 17 20:18:54 2020 +0200
@@ -12,7 +12,7 @@
 import sys
 import os
 import shutil
-import subprocess
+import subprocess           # secok
 
 from Utilities import (
     joinext, relpath, html_encode, getQtBinariesPath, generateQtToolName,
@@ -280,7 +280,7 @@
         shutil.copy(
             os.path.join(self.outputDir, HelpProjectFile), self.htmlDir)
         os.chdir(self.htmlDir)
-        subprocess.call([
+        subprocess.call([           # secok
             qhelpgeneratorExe,
             HelpProjectFile, "-o", os.path.join(self.outputDir, HelpHelpFile)])
         os.remove(HelpProjectFile)
@@ -296,7 +296,7 @@
             sys.stdout.flush()
             sys.stderr.flush()
             os.chdir(self.outputDir)
-            subprocess.call([
+            subprocess.call([       # secok
                 qcollectiongeneratorExe,
                 HelpCollectionProjectFile, "-o", HelpCollectionFile])
         
--- a/eric6/E5Gui/E5LineEdit.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/E5Gui/E5LineEdit.py	Wed Jun 17 20:18:54 2020 +0200
@@ -253,8 +253,10 @@
         @keyparam inactiveText text to be shown on inactivity (string)
         @keyparam side side the clear button should be shown at
             (E5LineEdit.RightSide, E5LineEdit.LeftSide)
+        @exception ValueError raised to indicate a bad parameter value
         """
-        assert side in [E5LineEdit.RightSide, E5LineEdit.LeftSide]
+        if side not in [E5LineEdit.RightSide, E5LineEdit.LeftSide]:
+            raise ValueError("Bad value for 'side' parameter.")
         
         super(E5ClearableLineEdit, self).__init__(parent, inactiveText)
         
--- a/eric6/E5Gui/E5MessageBox.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/E5Gui/E5MessageBox.py	Wed Jun 17 20:18:54 2020 +0200
@@ -235,8 +235,10 @@
         default button (boolean)
     @param textFormat format of the text (Qt.TextFormat)
     @return flag indicating the selection of the Yes button (boolean)
+    @exception ValueError raised to indicate a bad parameter value
     """
-    assert icon in [Critical, Information, Question, Warning]
+    if icon not in [Critical, Information, Question, Warning]:
+        raise ValueError("Bad value for 'icon' parameter.")
     
     res = __messageBox(
         parent, title, text, icon,
@@ -257,8 +259,10 @@
         Warning)
     @param textFormat format of the text (Qt.TextFormat)
     @return flag indicating the selection of the Retry button (boolean)
+    @exception ValueError raised to indicate a bad parameter value
     """
-    assert icon in [Critical, Information, Question, Warning]
+    if icon not in [Critical, Information, Question, Warning]:
+        raise ValueError("Bad value for 'icon' parameter.")
     
     res = __messageBox(
         parent, title, text, icon,
--- a/eric6/E5Gui/E5ModelToolBar.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/E5Gui/E5ModelToolBar.py	Wed Jun 17 20:18:54 2020 +0200
@@ -102,7 +102,8 @@
         """
         Protected slot to build the tool bar.
         """
-        assert self.__model is not None
+        if self.__model is None:
+            return
         
         self.clear()
         
@@ -197,6 +198,7 @@
         Protected method to handle drop events.
         
         @param evt reference to the event (QDropEvent)
+        @exception RuntimeError raised to indicate an invalid model index
         """
         if self.__model is not None:
             act = self.actionAt(evt.pos())
@@ -205,7 +207,8 @@
                 row = self.__model.rowCount(self.__root)
             else:
                 idx = self.index(act)
-                assert idx.isValid()
+                if not idx.isValid():
+                    raise RuntimeError("invalid index")
                 row = idx.row()
                 if self.__model.hasChildren(idx):
                     parentIndex = idx
@@ -224,6 +227,7 @@
         Protected method to handle mouse move events.
         
         @param evt reference to the event (QMouseEvent)
+        @exception RuntimeError raised to indicate an invalid model index
         """
         if self.__model is None:
             super(E5ModelToolBar, self).mouseMoveEvent(evt)
@@ -245,7 +249,8 @@
             return
         
         idx = self.index(act)
-        assert idx.isValid()
+        if not idx.isValid():
+            raise RuntimeError("invalid index")
         
         drag = QDrag(self)
         drag.setMimeData(self.__model.mimeData([idx]))
--- a/eric6/E5Gui/E5PathPicker.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/E5Gui/E5PathPicker.py	Wed Jun 17 20:18:54 2020 +0200
@@ -135,8 +135,10 @@
         
         @param mode picker mode
         @type E5PathPickerModes
+        @exception ValueError raised to indicate a bad parameter value
         """
-        assert mode in E5PathPickerModes
+        if mode not in E5PathPickerModes:
+            raise ValueError("Bad value for 'mode' parameter.")
         
         oldMode = self.__mode
         self.__mode = mode
--- a/eric6/E5Gui/E5TextEditSearchWidget.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/E5Gui/E5TextEditSearchWidget.py	Wed Jun 17 20:18:54 2020 +0200
@@ -185,8 +185,10 @@
         @type QTextEdit, QWebEngineView or QWebView
         @param editType type of the attached edit widget
         @type str (one of "QTextEdit", "QWebEngineView" or "QWebView")
+        @exception ValueError raised to indicate a bad parameter value
         """
-        assert editType in ["QTextEdit", "QWebEngineView", "QWebView"]
+        if editType not in ["QTextEdit", "QWebEngineView", "QWebView"]:
+            raise ValueError("Bad value for 'editType' parameter.")
         
         self.__textedit = textedit
         self.__texteditType = editType
--- a/eric6/E5Gui/E5ToolButton.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/E5Gui/E5ToolButton.py	Wed Jun 17 20:18:54 2020 +0200
@@ -90,13 +90,12 @@
         @param menu reference to the tool button menu
         @type QMenu
         """
-        assert menu is not None
-        
-        if self.__menu:
-            self.__menu.aboutToHide.disconnect(self.__menuAboutToHide)
-        
-        self.__menu = menu
-        self.__menu.aboutToHide.connect(self.__menuAboutToHide)
+        if menu is not None:
+            if self.__menu:
+                self.__menu.aboutToHide.disconnect(self.__menuAboutToHide)
+            
+            self.__menu = menu
+            self.__menu.aboutToHide.connect(self.__menuAboutToHide)
     
     def showMenuInside(self):
         """
--- a/eric6/E5Gui/E5TreeWidget.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/E5Gui/E5TreeWidget.py	Wed Jun 17 20:18:54 2020 +0200
@@ -48,9 +48,11 @@
         Public method to set the default item show mode.
         
         @param mode default mode (ItemsCollapsed, ItemsExpanded)
+        @exception ValueError raised to indicate a bad parameter value
         """
-        assert mode in [E5TreeWidget.ItemsCollapsed,
-                        E5TreeWidget.ItemsExpanded]
+        if mode not in [E5TreeWidget.ItemsCollapsed,
+                        E5TreeWidget.ItemsExpanded]:
+            raise ValueError("Bad value for 'mode' parameter.")
         
         self.__showMode = mode
     
--- a/eric6/E5Network/E5Ftp.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/E5Network/E5Ftp.py	Wed Jun 17 20:18:54 2020 +0200
@@ -9,7 +9,7 @@
 """
 
 
-import ftplib
+import ftplib           # secok
 from socket import _GLOBAL_DEFAULT_TIMEOUT
 
 
@@ -61,7 +61,7 @@
     Class implementing an extension to the Python FTP class to support FTP
     proxies.
     """
-    def __init__(self, host="", user="", password="", acct="",
+    def __init__(self, host="", user="", password="", acct="",          # secok
                  proxyType=E5FtpProxyType.NoProxy, proxyHost="",
                  proxyPort=ftplib.FTP_PORT, proxyUser="", proxyPassword="",
                  proxyAccount="", timeout=_GLOBAL_DEFAULT_TIMEOUT):
@@ -167,7 +167,7 @@
             return super(E5Ftp, self).connect(
                 self.__host, self.__port, self.__timeout)
     
-    def login(self, user="", password="", acct=""):
+    def login(self, user="", password="", acct=""):         # secok
         """
         Public method to login to the FTP server.
         
@@ -257,7 +257,7 @@
             user = "anonymous"
         if not password:
             # make sure it is a string
-            password = ""
+            password = ""           # secok
         if not acct:
             # make sure it is a string
             acct = ""
@@ -326,7 +326,7 @@
         if resp[0] == "3":
             resp = self.sendcmd("ACCT " + acct)
         if resp[0] != "2":
-            raise ftplib.error_reply(resp)
+            raise ftplib.error_reply(resp)          # secok
         
         if self.__proxyType == E5FtpProxyType.AuthResp:
             # authorize to the FTP proxy
--- a/eric6/E5Network/E5GoogleMailHelpers.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/E5Network/E5GoogleMailHelpers.py	Wed Jun 17 20:18:54 2020 +0200
@@ -13,8 +13,8 @@
 import Globals
 
 SCOPES = 'https://www.googleapis.com/auth/gmail.send'
-CLIENT_SECRET_FILE = 'eric_client_secret.json'
-TOKEN_FILE = 'eric_python_email_send_token.json'
+CLIENT_SECRET_FILE = 'eric_client_secret.json'          # secok
+TOKEN_FILE = 'eric_python_email_send_token.json'        # secok
 APPLICATION_NAME = 'Eric Python Send Email'
 
 RequiredPackages = (
--- a/eric6/E5Network/E5RFC6266.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/E5Network/E5RFC6266.py	Wed Jun 17 20:18:54 2020 +0200
@@ -225,10 +225,10 @@
                 self.assocs = dict(assocs)  # So we can change values
                 if 'filename*' in self.assocs:
                     param = self.assocs['filename*']
-                    assert isinstance(param, ExtDispositionParm)
-                    self.assocs['filename*'] = (
-                        parse_ext_value(param.value).string
-                    )
+                    if isinstance(param, ExtDispositionParm):
+                        self.assocs['filename*'] = (
+                            parse_ext_value(param.value).string
+                        )
 
         def filename(self):
             """
--- a/eric6/E5Network/E5XmlRpcClient.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/E5Network/E5XmlRpcClient.py	Wed Jun 17 20:18:54 2020 +0200
@@ -71,9 +71,11 @@
             result as a tuple (function)
         @param errorCallback method to be called in case of an error
             with error code and error string (function)
+        @exception TypeError raised to indicate an illegal 'args' parameter
+            type
         """
-        assert isinstance(args, tuple), \
-            "argument must be tuple or Fault instance"
+        if not isinstance(args, tuple):
+            raise TypeError("argument 'args' must be tuple")
         
         data = xmlrpc.dumps(args, method).encode("utf-8")
         reply = self.__networkManager.post(
--- a/eric6/E5Utilities/E5Cache.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/E5Utilities/E5Cache.py	Wed Jun 17 20:18:54 2020 +0200
@@ -25,8 +25,10 @@
         
         @param size maximum number of entries that may be stored in the cache
         @type int
+        @exception ValueError raised to indicate an illegal 'size' parameter
         """
-        assert size >= 0
+        if size < 0:
+            raise ValueError("'size' parameter must be positive.")
         
         self.__size = size
         
@@ -83,10 +85,9 @@
             cache
         @type int
         """
-        assert newSize >= 0
-        
-        self.__size = newSize
-        self.__adjustToSize()
+        if newSize >= 0:
+            self.__size = newSize
+            self.__adjustToSize()
     
     def getMaximumCacheTime(self):
         """
--- a/eric6/E5XML/XMLStreamReaderBase.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/E5XML/XMLStreamReaderBase.py	Wed Jun 17 20:18:54 2020 +0200
@@ -8,7 +8,7 @@
 """
 
 
-import pickle
+import pickle           # secok
 import base64
 
 from PyQt5.QtCore import QXmlStreamReader, QCoreApplication
@@ -198,7 +198,7 @@
                             continue
                         b64 = self.readElementText()
                         pic = base64.b64decode(b64.encode("ASCII"))
-                        val = pickle.loads(pic)
+                        val = pickle.loads(pic)         # secok
                     else:
                         self._skipUnknownElement()
                 except ValueError as err:
--- a/eric6/E5XML/XMLStreamWriterBase.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/E5XML/XMLStreamWriterBase.py	Wed Jun 17 20:18:54 2020 +0200
@@ -8,7 +8,7 @@
 """
 
 
-import pickle
+import pickle           # secok
 import base64
 
 from PyQt5.QtCore import QXmlStreamWriter
--- a/eric6/HexEdit/HexEditMainWindow.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/HexEdit/HexEditMainWindow.py	Wed Jun 17 20:18:54 2020 +0200
@@ -1392,9 +1392,10 @@
         @return the requested history list
         @rtype list of tuples of (int, str)
         """
-        assert key in ['search', 'replace']
+        if key in ['search', 'replace']:
+            return self.__srHistory[key]
         
-        return self.__srHistory[key]
+        return []
     
     @pyqtSlot()
     def __showFileMenu(self):
--- a/eric6/HexEdit/HexEditSearchReplaceWidget.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/HexEdit/HexEditSearchReplaceWidget.py	Wed Jun 17 20:18:54 2020 +0200
@@ -542,8 +542,11 @@
         @type str
         @return converted text
         @rtype bytearray
+        @exception ValueError raised to indicate an invalid dataFormat
+            parameter
         """
-        assert dataFormat in self.__formatAndValidators.keys()
+        if dataFormat not in self.__formatAndValidators.keys():
+            raise ValueError("Bad value for 'dataFormat' parameter.")
         
         if dataFormat == "hex":             # hex format
             ba = bytearray(QByteArray.fromHex(
@@ -571,8 +574,11 @@
         @type str
         @return formatted text
         @rtype str
+        @exception ValueError raised to indicate an invalid dataFormat
+            parameter
         """
-        assert dataFormat in self.__formatAndValidators.keys()
+        if dataFormat not in self.__formatAndValidators.keys():
+            raise ValueError("Bad value for 'dataFormat' parameter.")
         
         if dataFormat == "hex":             # hex format
             txt = "{0:x}".format(self.__bytearray2int(array))
--- a/eric6/HexEdit/HexEditWidget.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/HexEdit/HexEditWidget.py	Wed Jun 17 20:18:54 2020 +0200
@@ -662,10 +662,9 @@
         @param ch byte to insert
         @type int in the range 0x00 to 0xff
         """
-        assert ch in range(0, 256)
-        
-        self.__undoStack.insert(pos, ch)
-        self.__refresh()
+        if ch in range(0, 256):
+            self.__undoStack.insert(pos, ch)
+            self.__refresh()
     
     def remove(self, pos, length=1):
         """
@@ -688,10 +687,9 @@
         @param ch byte to replace with
         @type int in the range 0x00 to 0xff
         """
-        assert ch in range(0, 256)
-        
-        self.__undoStack.overwrite(pos, ch)
-        self.__refresh()
+        if ch in range(0, 256):
+            self.__undoStack.overwrite(pos, ch)
+            self.__refresh()
     
     def insertByteArray(self, pos, byteArray):
         """
--- a/eric6/MicroPython/MicroPythonCommandsInterface.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/MicroPython/MicroPythonCommandsInterface.py	Wed Jun 17 20:18:54 2020 +0200
@@ -402,16 +402,15 @@
         @type str
         @exception IOError raised to indicate an issue with the device
         """
-        assert dirname
-        
-        commands = [
-            "import os as __os_",
-            "__os_.chdir('{0}')".format(dirname),
-            "del __os_",
-        ]
-        out, err = self.execute(commands)
-        if err:
-            raise IOError(self.__shortError(err))
+        if dirname:
+            commands = [
+                "import os as __os_",
+                "__os_.chdir('{0}')".format(dirname),
+                "del __os_",
+            ]
+            out, err = self.execute(commands)
+            if err:
+                raise IOError(self.__shortError(err))
     
     def pwd(self):
         """
@@ -443,16 +442,15 @@
         @type str
         @exception IOError raised to indicate an issue with the device
         """
-        assert filename
-        
-        commands = [
-            "import os as __os_",
-            "__os_.remove('{0}')".format(filename),
-            "del __os_",
-        ]
-        out, err = self.execute(commands)
-        if err:
-            raise IOError(self.__shortError(err))
+        if filename:
+            commands = [
+                "import os as __os_",
+                "__os_.remove('{0}')".format(filename),
+                "del __os_",
+            ]
+            out, err = self.execute(commands)
+            if err:
+                raise IOError(self.__shortError(err))
     
     def rmrf(self, name, recursive=False, force=False):
         """
@@ -468,40 +466,41 @@
         @rtype bool
         @exception IOError raised to indicate an issue with the device
         """
-        assert name
+        if name:
+            commands = [
+                "import os as __os_",
+                "\n".join([
+                    "def remove_file(name, recursive=False, force=False):",
+                    "    try:",
+                    "        mode = __os_.stat(name)[0]",
+                    "        if mode & 0x4000 != 0:",
+                    "            if recursive:",
+                    "                for file in __os_.listdir(name):",
+                    "                    success = remove_file("
+                    "name + '/' + file, recursive, force)",
+                    "                    if not success and not force:",
+                    "                        return False",
+                    "                __os_.rmdir(name)",
+                    "            else:",
+                    "                if not force:",
+                    "                    return False",
+                    "        else:",
+                    "            __os_.remove(name)",
+                    "    except:",
+                    "        if not force:",
+                    "            return False",
+                    "    return True",
+                ]),
+                "print(remove_file('{0}', {1}, {2}))".format(name, recursive,
+                                                             force),
+                "del __os_, remove_file",
+            ]
+            out, err = self.execute(commands)
+            if err:
+                raise IOError(self.__shortError(err))
+            return ast.literal_eval(out.decode("utf-8"))
         
-        commands = [
-            "import os as __os_",
-            "\n".join([
-                "def remove_file(name, recursive=False, force=False):",
-                "    try:",
-                "        mode = __os_.stat(name)[0]",
-                "        if mode & 0x4000 != 0:",
-                "            if recursive:",
-                "                for file in __os_.listdir(name):",
-                "                    success = remove_file(name + '/' + file,"
-                " recursive, force)",
-                "                    if not success and not force:",
-                "                        return False",
-                "                __os_.rmdir(name)",
-                "            else:",
-                "                if not force:",
-                "                    return False",
-                "        else:",
-                "            __os_.remove(name)",
-                "    except:",
-                "        if not force:",
-                "            return False",
-                "    return True",
-            ]),
-            "print(remove_file('{0}', {1}, {2}))".format(name, recursive,
-                                                         force),
-            "del __os_, remove_file",
-        ]
-        out, err = self.execute(commands)
-        if err:
-            raise IOError(self.__shortError(err))
-        return ast.literal_eval(out.decode("utf-8"))
+        return False
     
     def mkdir(self, dirname):
         """
@@ -511,16 +510,15 @@
         @type str
         @exception IOError raised to indicate an issue with the device
         """
-        assert dirname
-   
-        commands = [
-            "import os as __os_",
-            "__os_.mkdir('{0}')".format(dirname),
-            "del __os_",
-        ]
-        out, err = self.execute(commands)
-        if err:
-            raise IOError(self.__shortError(err))
+        if dirname:
+            commands = [
+                "import os as __os_",
+                "__os_.mkdir('{0}')".format(dirname),
+                "del __os_",
+            ]
+            out, err = self.execute(commands)
+            if err:
+                raise IOError(self.__shortError(err))
     
     def rmdir(self, dirname):
         """
@@ -530,16 +528,15 @@
         @type str
         @exception IOError raised to indicate an issue with the device
         """
-        assert dirname
-   
-        commands = [
-            "import os as __os_",
-            "__os_.rmdir('{0}')".format(dirname),
-            "del __os_",
-        ]
-        out, err = self.execute(commands)
-        if err:
-            raise IOError(self.__shortError(err))
+        if dirname:
+            commands = [
+                "import os as __os_",
+                "__os_.rmdir('{0}')".format(dirname),
+                "del __os_",
+            ]
+            out, err = self.execute(commands)
+            if err:
+                raise IOError(self.__shortError(err))
     
     def put(self, hostFileName, deviceFileName=None):
         """
--- a/eric6/PipInterface/Pip.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/PipInterface/Pip.py	Wed Jun 17 20:18:54 2020 +0200
@@ -655,7 +655,7 @@
                            'replace')
                 try:
                     result = json.loads(data)
-                except Exception:
+                except Exception:           # secok
                     # ignore JSON exceptions
                     pass
         
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleFixer.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleFixer.py	Wed Jun 17 20:18:54 2020 +0200
@@ -471,8 +471,11 @@
         @param pos position inside line (integer)
         @param logical logical line structure
         @return flag indicating a change was done (boolean)
+        @exception ValueError raised to indicate a bad 'logical' parameter
         """
-        assert logical
+        if not logical:
+            raise ValueError("Bad value for 'logical' parameter.")
+        
         ls, _, original = logical
 
         rewrapper = IndentationWrapper(original)
@@ -2139,7 +2142,6 @@
                         want = have
                 else:
                     want = 0
-            assert want >= 0
             have2want[have] = want
             diff = want - have
             if diff == 0 or have == 0:
@@ -2302,8 +2304,6 @@
             logical.append(text)
             previous = t
         logical_line = ''.join(logical)
-        assert logical_line.lstrip() == logical_line
-        assert logical_line.rstrip() == logical_line
         return logical_line
 
     def pep8Expected(self):
@@ -2465,7 +2465,6 @@
                         if parens[idx]:
                             parens[idx] -= 1
                             break
-                assert len(indent) == depth + 1
                 if start[1] not in indent_chances:
                     indent_chances[start[1]] = text
 
@@ -2577,7 +2576,6 @@
         
         indent = self.__getIndent(self.__text)
         source = self.__text[len(indent):]
-        assert source.lstrip() == source
         sio = StringIO(source)
         
         # Check for multi line string.
@@ -2809,9 +2807,6 @@
                     indent + first.strip() + self.__eol)
             elif tokenType == tokenize.OP and tokenString != '=':
                 # Don't break on '=' after keyword as this violates PEP 8.
-
-                assert tokenType != tokenize.INDENT
-
                 offset = tkn[2][1] + 1
                 first = source[:offset]
 
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/DocStyleChecker.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/DocStyleChecker.py	Wed Jun 17 20:18:54 2020 +0200
@@ -163,8 +163,6 @@
         @keyparam docType type of the documentation strings
             (string, one of 'eric' or 'pep257')
         """
-        assert docType in ("eric", "pep257")
-        
         self.__select = tuple(select)
         self.__ignore = ('',) if select else tuple(ignore)
         self.__expected = expected[:]
@@ -853,7 +851,8 @@
         
         lines = docstringContext.source()
         if len(lines) > 1:
-            nonEmptyLines = [l for l in lines if l.strip().strip('\'"')]
+            nonEmptyLines = [line for line in lines
+                             if line.strip().strip('\'"')]
             if len(nonEmptyLines) == 1:
                 modLen = len(context.indent() + '"""' +
                              nonEmptyLines[0].strip() + '"""')
@@ -879,11 +878,11 @@
         if len(lines) == 1:
             return
         
-        nonEmptyLines = [l.rstrip() for l in lines[1:] if l.strip()]
+        nonEmptyLines = [line.rstrip() for line in lines[1:] if line.strip()]
         if not nonEmptyLines:
             return
         
-        indent = min(len(l) - len(l.strip()) for l in nonEmptyLines)
+        indent = min(len(line) - len(line.strip()) for line in nonEmptyLines)
         if context.contextType() == "module":
             expectedIndent = 0
         else:
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/Security/Checks/awsHardcodedPassword.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/Security/Checks/awsHardcodedPassword.py	Wed Jun 17 20:18:54 2020 +0200
@@ -13,7 +13,7 @@
 #
 # Original Copyright 2020 CMCRC (devcdt@cmcrc.com)
 #
-# License: GPLv3
+# Original License: GPLv3
 #
 
 from collections import Counter
@@ -21,6 +21,7 @@
 import re
 import string
 
+
 def getChecks():
     """
     Public method to get a dictionary with checks handled by this module.
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/Security/Checks/generalBindAllInterfaces.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/Security/Checks/generalBindAllInterfaces.py	Wed Jun 17 20:18:54 2020 +0200
@@ -42,7 +42,7 @@
     @param config dictionary with configuration data
     @type dict
     """
-    if context.stringVal == '0.0.0.0':
+    if context.stringVal == '0.0.0.0':          # secok
         reportError(
             context.node.lineno - 1,
             context.node.col_offset,
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/Security/Checks/weakCryptographicKey.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/Security/Checks/weakCryptographicKey.py	Wed Jun 17 20:18:54 2020 +0200
@@ -170,6 +170,7 @@
                    2048)
         return _classifyKeySize(reportError, config, keyType, keySize,
                                 context.node)
+    return False
 
 
 def checkWeakCryptographicKey(reportError, context, config):
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/Security/SecurityDefaults.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/Security/SecurityDefaults.py	Wed Jun 17 20:18:54 2020 +0200
@@ -10,6 +10,7 @@
 SecurityDefaults = {
     # generalHardcodedTmp.py
     "hardcoded_tmp_directories": ["/tmp", "/var/tmp", "/dev/shm", "~/tmp"],
+    # secok
     
     # insecureHashlibNew.py
     "insecure_hashes": ['md4', 'md5', 'sha', 'sha1'],
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/Security/SecurityUtils.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/Security/SecurityUtils.py	Wed Jun 17 20:18:54 2020 +0200
@@ -160,7 +160,7 @@
                 prefix = aliases[val]
             else:
                 prefix = deepgetattr(node, 'value.id')
-        except Exception:
+        except Exception:           # secok
             # We can't get the fully qualified name for an attr, just return
             # its base name.
             pass
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py	Wed Jun 17 20:18:54 2020 +0200
@@ -364,10 +364,10 @@
     # hardcoded AWS passwords
     "S801": QCoreApplication.translate(
         "Security",
-        "Possible hardcoded AWS access key ID: {0:r}"),
+        "Possible hardcoded AWS access key ID: {0}"),
     "S802": QCoreApplication.translate(
         "Security",
-        "Possible hardcoded AWS secret access key: {0:r}"),
+        "Possible hardcoded AWS secret access key: {0}"),
     
     # Syntax error
     "S999": QCoreApplication.translate(
@@ -410,8 +410,8 @@
     
     "S609": ["os.system"],
     
-    "S801": ["A1B2C3D4E5F6G7H8I9J0"],
-    "S802": ["aA1bB2cC3dD4/eE5fF6gG7+hH8iI9jJ0=kKlLM+="],
+    "S801": ["A1B2C3D4E5F6G7H8I9J0"],                           # secok
+    "S802": ["aA1bB2cC3dD4/eE5fF6gG7+hH8iI9jJ0=kKlLM+="],       # secok
     
     "S999": ["SyntaxError", "Invalid Syntax"],
 }
--- a/eric6/Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheck.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheck.py	Wed Jun 17 20:18:54 2020 +0200
@@ -307,7 +307,7 @@
             line = detail.lineno
             error = detail.msg
             return [{'error': (fn, line, 0, "", error)}]
-        except Exception:
+        except Exception:           # secok
             pass
     
     # pyflakes
--- a/eric6/Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckService.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckService.py	Wed Jun 17 20:18:54 2020 +0200
@@ -179,9 +179,12 @@
         Public method to cancel all batch jobs.
         """
         for lang in self.getLanguages():
-            env = self.__supportedLanguages[lang][0]
-            self.backgroundService.requestCancel(
-                'batch_{0}Syntax'.format(lang), env)
+            try:
+                env = self.__supportedLanguages[lang][0]
+                self.backgroundService.requestCancel(
+                    'batch_{0}Syntax'.format(lang), env)
+            except KeyError:
+                continue
     
     def __serviceError(self, fn, msg):
         """
--- a/eric6/Plugins/VcsPlugins/vcsGit/GitDiffDialog.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Plugins/VcsPlugins/vcsGit/GitDiffDialog.py	Wed Jun 17 20:18:54 2020 +0200
@@ -123,9 +123,12 @@
             'stash' shows the diff for a stash)
         @param stashName name of the stash to show a diff for (string)
         @param refreshable flag indicating a refreshable diff (boolean)
+        @exception ValueError raised to indicate a bad value for the 'diffMode'
+            parameter.
         """
-        assert diffMode in ["work2repo", "work2stage", "stage2repo",
-                            "work2stage2repo", "stash"]
+        if diffMode not in ["work2repo", "work2stage", "stage2repo",
+                            "work2stage2repo", "stash"]:
+            raise ValueError("Bad value for 'diffMode' parameter.")
         
         self.refreshButton.setVisible(refreshable)
         
--- a/eric6/Plugins/VcsPlugins/vcsGit/GitDiffGenerator.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Plugins/VcsPlugins/vcsGit/GitDiffGenerator.py	Wed Jun 17 20:18:54 2020 +0200
@@ -78,9 +78,12 @@
             'stash' shows the diff for a stash)
         @param stashName name of the stash to show a diff for (string)
         @return flag indicating the start status (boolean)
+        @exception ValueError raised to indicate a bad value for the 'diffMode'
+            parameter.
         """
-        assert diffMode in ["work2repo", "work2stage", "stage2repo",
-                            "work2stage2repo", "stash"]
+        if diffMode not in ["work2repo", "work2stage", "stage2repo",
+                            "work2stage2repo", "stash"]:
+            raise ValueError("Bad value for 'diffMode' parameter.")
         
         self.__output1 = []
         self.__output2 = []
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/LargefilesExtension/ProjectHelper.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Plugins/VcsPlugins/vcsMercurial/LargefilesExtension/ProjectHelper.py	Wed Jun 17 20:18:54 2020 +0200
@@ -194,8 +194,11 @@
         
         @param direction direction of the conversion (string; one of
             'largefiles' or 'normal')
+        @exception ValueError raised to indicate a bad value for the
+            'direction' parameter.
         """
-        assert direction in ["largefiles", "normal"]
+        if direction not in ["largefiles", "normal"]:
+            raise ValueError("Bad value for 'direction' parameter.")
         
         self.vcs.getExtensionObject("largefiles").hgLfconvert(
             direction, self.project.getProjectFile())
@@ -218,8 +221,11 @@
         Private slot to verify large files integrity.
         
         @param mode verify mode (string; one of 'large', 'lfa' or 'lfc')
+        @exception ValueError raised to indicate a bad value for the
+            'mode' parameter.
         """
-        assert mode in ['large', 'lfa', 'lfc']
+        if mode not in ['large', 'lfa', 'lfc']:
+            raise ValueError("Bad value for 'mode' parameter.")
         
         self.vcs.getExtensionObject("largefiles").hgLfVerify(
             self.project.getProjectPath(), mode)
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/LargefilesExtension/largefiles.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Plugins/VcsPlugins/vcsMercurial/LargefilesExtension/largefiles.py	Wed Jun 17 20:18:54 2020 +0200
@@ -38,8 +38,11 @@
         @param direction direction of the conversion (string, one of
             'largefiles' or 'normal')
         @param projectFile file name of the current project file (string)
+        @exception ValueError raised to indicate a bad value for the
+            'direction' parameter.
         """
-        assert direction in ["largefiles", "normal"]
+        if direction not in ["largefiles", "normal"]:
+            raise ValueError("Bad value for 'direction' parameter.")
         
         projectDir = os.path.dirname(projectFile)
         
--- a/eric6/Plugins/VcsPlugins/vcsPySvn/SvnCommitDialog.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Plugins/VcsPlugins/vcsPySvn/SvnCommitDialog.py	Wed Jun 17 20:18:54 2020 +0200
@@ -94,8 +94,9 @@
         @return tuple containing the changelists (list of strings) and a flag
             indicating to keep changelists (boolean)
         """
-        slists = [l.text().strip() for l in self.changeLists.selectedItems()
-                  if l.text().strip() != ""]
+        slists = [line.text().strip()
+                  for line in self.changeLists.selectedItems()
+                  if line.text().strip() != ""]
         
         if len(slists) == 0:
             return [], False
--- a/eric6/Plugins/VcsPlugins/vcsPySvn/SvnDiffDialog.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Plugins/VcsPlugins/vcsPySvn/SvnDiffDialog.py	Wed Jun 17 20:18:54 2020 +0200
@@ -158,12 +158,12 @@
             tmpdir = Utilities.getEnvironmentEntry('TMPDIR')
         elif Utilities.hasEnvironmentEntry('TMP'):
             tmpdir = Utilities.getEnvironmentEntry('TMP')
-        elif os.path.exists('/var/tmp'):
-            tmpdir = '/var/tmp'
+        elif os.path.exists('/var/tmp'):    # secok
+            tmpdir = '/var/tmp'             # secok
         elif os.path.exists('/usr/tmp'):
             tmpdir = '/usr/tmp'
-        elif os.path.exists('/tmp'):
-            tmpdir = '/tmp'
+        elif os.path.exists('/tmp'):        # secok
+            tmpdir = '/tmp'                 # secok
         else:
             E5MessageBox.critical(
                 self,
--- a/eric6/Plugins/VcsPlugins/vcsSubversion/SvnCommitDialog.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Plugins/VcsPlugins/vcsSubversion/SvnCommitDialog.py	Wed Jun 17 20:18:54 2020 +0200
@@ -89,8 +89,9 @@
         @return tuple containing the changelists (list of strings) and a flag
             indicating to keep changelists (boolean)
         """
-        slists = [l.text().strip() for l in self.changeLists.selectedItems()
-                  if l.text().strip() != ""]
+        slists = [line.text().strip()
+                  for line in self.changeLists.selectedItems()
+                  if line.text().strip() != ""]
         
         if len(slists) == 0:
             return [], False
--- a/eric6/Plugins/VcsPlugins/vcsSubversion/SvnDialog.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Plugins/VcsPlugins/vcsSubversion/SvnDialog.py	Wed Jun 17 20:18:54 2020 +0200
@@ -186,11 +186,11 @@
             self.resultbox.ensureCursorVisible()
             if not self.__hasAddOrDelete and len(s) > 0:
                 # check the output
-                for l in s.split(os.linesep):
-                    if '.e4p' in l:
+                for line in s.split(os.linesep):
+                    if '.e4p' in line:
                         self.__hasAddOrDelete = True
                         break
-                    if l and l[0:2].strip() in ['A', 'D']:
+                    if line and line[0:2].strip() in ['A', 'D']:
                         self.__hasAddOrDelete = True
                         break
         
--- a/eric6/Plugins/WizardPlugins/ColorDialogWizard/ColorDialogWizardDialog.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Plugins/WizardPlugins/ColorDialogWizard/ColorDialogWizardDialog.py	Wed Jun 17 20:18:54 2020 +0200
@@ -65,7 +65,7 @@
                 else:
                     coStr = "QColor({0})".format(coStr)
                 try:
-                    exec('from PyQt5.QtCore import Qt;'
+                    exec('from PyQt5.QtCore import Qt;'             # secok
                          ' QColorDialog.getColor({0}, None, "{1}")'.format(
                              coStr, self.eTitle.text()))
                 except Exception:
--- a/eric6/Preferences/ConfigurationDialog.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Preferences/ConfigurationDialog.py	Wed Jun 17 20:18:54 2020 +0200
@@ -97,14 +97,6 @@
         @keyparam expandedEntries list of entries to be shown expanded
             (list of strings)
         """
-        assert displayMode in (
-            ConfigurationWidget.DefaultMode,
-            ConfigurationWidget.HelpBrowserMode,
-            ConfigurationWidget.TrayStarterMode,
-            ConfigurationWidget.HexEditorMode,
-            ConfigurationWidget.WebBrowserMode,
-        )
-        
         super(ConfigurationWidget, self).__init__(parent)
         self.fromEric = fromEric
         self.displayMode = displayMode
--- a/eric6/Preferences/ConfigurationPages/EditorHighlightersPage.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Preferences/ConfigurationPages/EditorHighlightersPage.py	Wed Jun 17 20:18:54 2020 +0200
@@ -54,7 +54,7 @@
                 QScintilla.Lexers.getLanguageIcon(lang, False),
                 lang)
         
-        pygmentsLexers = [''] + sorted(l[0] for l in get_all_lexers())
+        pygmentsLexers = [''] + sorted(lex[0] for lex in get_all_lexers())
         self.pygmentsLexerCombo.addItems(pygmentsLexers)
         
         # set initial values
--- a/eric6/Preferences/ConfigurationPages/NetworkPage.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Preferences/ConfigurationPages/NetworkPage.py	Wed Jun 17 20:18:54 2020 +0200
@@ -118,30 +118,30 @@
              ConfigurationWidget.WebBrowserMode)
         """
         from ..ConfigurationDialog import ConfigurationWidget
-        assert displayMode in (
+        if displayMode in (
             ConfigurationWidget.DefaultMode,
             ConfigurationWidget.HelpBrowserMode,
             ConfigurationWidget.WebBrowserMode
-        )
-        
-        self.__displayMode = displayMode
-        if not self.__configDlg.isUsingWebEngine():
-            self.cleanupGroup.hide()
-            self.displayGroup.hide()
-        else:
-            policy = Preferences.getWebBrowser("DownloadManagerRemovePolicy")
-            from WebBrowser.Download.DownloadManager import DownloadManager
-            if policy == DownloadManager.RemoveNever:
-                self.cleanupNeverButton.setChecked(True)
-            elif policy == DownloadManager.RemoveExit:
-                self.cleanupExitButton.setChecked(True)
+        ):
+            self.__displayMode = displayMode
+            if not self.__configDlg.isUsingWebEngine():
+                self.cleanupGroup.hide()
+                self.displayGroup.hide()
             else:
-                self.cleanupSuccessfulButton.setChecked(True)
-            self.openOnStartCheckBox.setChecked(
-                Preferences.getWebBrowser("DownloadManagerAutoOpen"))
-            self.closeOnFinishedCheckBox.setChecked(
-                Preferences.getWebBrowser("DownloadManagerAutoClose"))
-            self.__webEngine = True
+                policy = Preferences.getWebBrowser(
+                    "DownloadManagerRemovePolicy")
+                from WebBrowser.Download.DownloadManager import DownloadManager
+                if policy == DownloadManager.RemoveNever:
+                    self.cleanupNeverButton.setChecked(True)
+                elif policy == DownloadManager.RemoveExit:
+                    self.cleanupExitButton.setChecked(True)
+                else:
+                    self.cleanupSuccessfulButton.setChecked(True)
+                self.openOnStartCheckBox.setChecked(
+                    Preferences.getWebBrowser("DownloadManagerAutoOpen"))
+                self.closeOnFinishedCheckBox.setChecked(
+                    Preferences.getWebBrowser("DownloadManagerAutoClose"))
+                self.__webEngine = True
     
     def save(self):
         """
--- a/eric6/Preferences/ConfigurationPages/SecurityPage.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Preferences/ConfigurationPages/SecurityPage.py	Wed Jun 17 20:18:54 2020 +0200
@@ -59,17 +59,16 @@
              ConfigurationWidget.WebBrowserMode)
         """
         from ..ConfigurationDialog import ConfigurationWidget
-        assert displayMode in (
+        if displayMode in (
             ConfigurationWidget.DefaultMode,
             ConfigurationWidget.HelpBrowserMode,
             ConfigurationWidget.WebBrowserMode
-        )
-        
-        self.__displayMode = displayMode
-        
-        self.certificateErrorsGroup.setVisible(
-            displayMode == ConfigurationWidget.WebBrowserMode
-        )
+        ):
+            self.__displayMode = displayMode
+            
+            self.certificateErrorsGroup.setVisible(
+                displayMode == ConfigurationWidget.WebBrowserMode
+            )
     
     def save(self):
         """
--- a/eric6/Preferences/ConfigurationPages/WebBrowserAppearancePage.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Preferences/ConfigurationPages/WebBrowserAppearancePage.py	Wed Jun 17 20:18:54 2020 +0200
@@ -121,12 +121,11 @@
              ConfigurationWidget.TrayStarterMode)
         """
         from ..ConfigurationDialog import ConfigurationWidget
-        assert displayMode in (
+        if displayMode in (
             ConfigurationWidget.DefaultMode,
             ConfigurationWidget.WebBrowserMode,
-        )
-        
-        self.__displayMode = displayMode
+        ):
+            self.__displayMode = displayMode
     
     def save(self):
         """
--- a/eric6/Preferences/ConfigurationPages/WebBrowserPage.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Preferences/ConfigurationPages/WebBrowserPage.py	Wed Jun 17 20:18:54 2020 +0200
@@ -171,7 +171,7 @@
         self.expireHistory.setCurrentIndex(idx)
         
         for language in range(2, QLocale.LastLanguage + 1):
-            countries = [l.country() for l in QLocale.matchingLocales(
+            countries = [loc.country() for loc in QLocale.matchingLocales(
                 language, QLocale.AnyScript, QLocale.AnyCountry)]
             if len(countries) > 0:
                 self.languageCombo.addItem(
--- a/eric6/Preferences/__init__.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Preferences/__init__.py	Wed Jun 17 20:18:54 2020 +0200
@@ -17,6 +17,7 @@
 """
 
 
+import ast
 import os
 import fnmatch
 import shutil
@@ -1712,9 +1713,9 @@
     @param prefClass preferences class used as the storage area
     @return a tuple defining the variables filter
     """
-    localsFilter = eval(prefClass.settings.value(
+    localsFilter = ast.literal_eval(prefClass.settings.value(
         "Variables/LocalsFilter", prefClass.varDefaults["LocalsFilter"]))
-    globalsFilter = eval(prefClass.settings.value(
+    globalsFilter = ast.literal_eval(prefClass.settings.value(
         "Variables/GlobalsFilter", prefClass.varDefaults["GlobalsFilter"]))
     return (localsFilter, globalsFilter)
     
--- a/eric6/Project/LexerAssociationDialog.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Project/LexerAssociationDialog.py	Wed Jun 17 20:18:54 2020 +0200
@@ -55,7 +55,7 @@
                 lang)
         
         from pygments.lexers import get_all_lexers
-        pygmentsLexers = [''] + sorted(l[0] for l in get_all_lexers())
+        pygmentsLexers = [''] + sorted(lex[0] for lex in get_all_lexers())
         self.pygmentsLexerCombo.addItems(pygmentsLexers)
         
         # set initial values
--- a/eric6/Project/ProjectFormsBrowser.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Project/ProjectFormsBrowser.py	Wed Jun 17 20:18:54 2020 +0200
@@ -427,7 +427,7 @@
                         self.backMenu.popup(self.mapToGlobal(coord))
                 else:
                     self.backMenu.popup(self.mapToGlobal(coord))
-        except Exception:
+        except Exception:           # secok
             pass
         
     def __showContextMenu(self):
@@ -515,7 +515,7 @@
                         self.hooks["open"](itm.fileName())
                     else:
                         self.designerFile.emit(itm.fileName())
-            except Exception:
+            except Exception:           # secok
                 pass
         
     def __openFileInEditor(self):
--- a/eric6/Project/ProjectInterfacesBrowser.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Project/ProjectInterfacesBrowser.py	Wed Jun 17 20:18:54 2020 +0200
@@ -338,7 +338,7 @@
                         self.backMenu.popup(self.mapToGlobal(coord))
                 else:
                     self.backMenu.popup(self.mapToGlobal(coord))
-        except Exception:
+        except Exception:           # secok
             pass
         
     def __showContextMenu(self):
--- a/eric6/Project/ProjectOthersBrowser.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Project/ProjectOthersBrowser.py	Wed Jun 17 20:18:54 2020 +0200
@@ -171,7 +171,7 @@
                         self.backMenu.popup(self.mapToGlobal(coord))
                 else:
                     self.backMenu.popup(self.mapToGlobal(coord))
-        except Exception:
+        except Exception:           # secok
             pass
         
     def __showContextMenu(self):
--- a/eric6/Project/ProjectProtocolsBrowser.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Project/ProjectProtocolsBrowser.py	Wed Jun 17 20:18:54 2020 +0200
@@ -330,7 +330,7 @@
                         self.backMenu.popup(self.mapToGlobal(coord))
                 else:
                     self.backMenu.popup(self.mapToGlobal(coord))
-        except Exception:
+        except Exception:           # secok
             pass
         
     def __showContextMenu(self):
--- a/eric6/Project/ProjectResourcesBrowser.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Project/ProjectResourcesBrowser.py	Wed Jun 17 20:18:54 2020 +0200
@@ -357,7 +357,7 @@
                         self.backMenu.popup(self.mapToGlobal(coord))
                 else:
                     self.backMenu.popup(self.mapToGlobal(coord))
-        except Exception:
+        except Exception:           # secok
             pass
         
     def __showContextMenu(self):
--- a/eric6/Project/ProjectSourcesBrowser.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Project/ProjectSourcesBrowser.py	Wed Jun 17 20:18:54 2020 +0200
@@ -670,7 +670,7 @@
                         self.backMenu.popup(self.mapToGlobal(coord))
                 else:
                     self.backMenu.popup(self.mapToGlobal(coord))
-        except Exception:
+        except Exception:           # secok
             pass
         
     def __showContextMenu(self):
--- a/eric6/Project/ProjectTranslationsBrowser.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Project/ProjectTranslationsBrowser.py	Wed Jun 17 20:18:54 2020 +0200
@@ -488,7 +488,7 @@
                         self.backMenu.popup(self.mapToGlobal(coord))
                 else:
                     self.backMenu.popup(self.mapToGlobal(coord))
-        except Exception:
+        except Exception:           # secok
             pass
         
     def __showContextMenu(self):
--- a/eric6/Project/UicLoadUi.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Project/UicLoadUi.py	Wed Jun 17 20:18:54 2020 +0200
@@ -9,7 +9,7 @@
 
 import sys
 import json
-import xml.etree.ElementTree
+import xml.etree.ElementTree            # secok
 
 try:
     from PyQt5.QtCore import QMetaMethod, QByteArray
--- a/eric6/PyUnit/UnittestDialog.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/PyUnit/UnittestDialog.py	Wed Jun 17 20:18:54 2020 +0200
@@ -1239,7 +1239,7 @@
         for editor in self.__editors:
             try:
                 editor.close()
-            except Exception:
+            except Exception:           # secok
                 # ignore all exceptions
                 pass
 
--- a/eric6/QScintilla/Editor.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/QScintilla/Editor.py	Wed Jun 17 20:18:54 2020 +0200
@@ -1416,7 +1416,7 @@
         @return name of the selected pygments lexer (string)
         """
         from pygments.lexers import get_all_lexers
-        lexerList = sorted(l[0] for l in get_all_lexers())
+        lexerList = sorted(lex[0] for lex in get_all_lexers())
         try:
             lexerSel = lexerList.index(
                 self.getLanguage(normalized=False, forPygments=True))
@@ -6498,8 +6498,6 @@
         @param warningKind kind of warning to clear (Editor.WarningCode,
             Editor.WarningStyle)
         """
-        assert warningKind in [Editor.WarningCode, Editor.WarningStyle]
-        
         for handle in list(self.warnings.keys()):
             warnings = []
             for msg, warningType in self.warnings[handle]:
@@ -8084,12 +8082,12 @@
         formatStr = "@@{0} {1} {2} {3}"
         commands = []
         for token, i1, i2, j1, j2 in matcher.get_opcodes():
-            if token == "insert":
+            if token == "insert":               # secok
                 commands.append(formatStr.format("i", j1, j2 - j1, -1))
                 commands.extend(newL[j1:j2])
-            elif token == "delete":
+            elif token == "delete":             # secok
                 commands.append(formatStr.format("d", j1, i2 - i1, -1))
-            elif token == "replace":
+            elif token == "replace":            # secok
                 commands.append(formatStr.format("r", j1, i2 - i1, j2 - j1))
                 commands.extend(newL[j1:j2])
         
--- a/eric6/QScintilla/KeySequenceTranslator.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/QScintilla/KeySequenceTranslator.py	Wed Jun 17 20:18:54 2020 +0200
@@ -119,5 +119,4 @@
     @return Qt key sequence
     @rtype QKeySequence.StandardKey
     """
-    assert scintillaCommand in Scintilla2QKeySequence
     return Scintilla2QKeySequence[scintillaCommand]
--- a/eric6/QScintilla/MiniEditor.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/QScintilla/MiniEditor.py	Wed Jun 17 20:18:54 2020 +0200
@@ -2910,7 +2910,7 @@
         @return name of the selected pygments lexer (string)
         """
         from pygments.lexers import get_all_lexers
-        lexerList = sorted(l[0] for l in get_all_lexers())
+        lexerList = sorted(lex[0] for lex in get_all_lexers())
         try:
             lexerSel = lexerList.index(self.getLanguage())
         except ValueError:
--- a/eric6/Snapshot/SnapshotRegionGrabber.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Snapshot/SnapshotRegionGrabber.py	Wed Jun 17 20:18:54 2020 +0200
@@ -59,14 +59,17 @@
         
         @param mode region grabber mode (SnapshotRegionGrabber.Rectangle or
             SnapshotRegionGrabber.Ellipse)
+        @exception ValueError raised to indicate a bad value for the 'mode'
+            parameter
         """
         super(SnapshotRegionGrabber, self).__init__(
             None,
             Qt.X11BypassWindowManagerHint | Qt.WindowStaysOnTopHint |
             Qt.FramelessWindowHint | Qt.Tool)
         
-        assert mode in [SnapshotRegionGrabber.Rectangle,
-                        SnapshotRegionGrabber.Ellipse]
+        if mode not in [SnapshotRegionGrabber.Rectangle,
+                        SnapshotRegionGrabber.Ellipse]:
+            raise ValueError("Bad value for 'mode' parameter.")
         self.__mode = mode
         
         self.__selection = QRect()
--- a/eric6/Snapshot/SnapshotWaylandGrabber.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Snapshot/SnapshotWaylandGrabber.py	Wed Jun 17 20:18:54 2020 +0200
@@ -395,4 +395,4 @@
         @return path name for a unique, temporary file
         @rtype str
         """
-        return "/tmp/eric6-snap-{0}.png".format(uuid.uuid4().hex)
+        return "/tmp/eric6-snap-{0}.png".format(uuid.uuid4().hex)   # secok
--- a/eric6/Tools/TRPreviewer.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Tools/TRPreviewer.py	Wed Jun 17 20:18:54 2020 +0200
@@ -723,7 +723,7 @@
         
         try:
             self.__widget = uic.loadUi(self.__uiFileName)
-        except Exception:
+        except Exception:       # secok
             pass
         
         if not self.__widget:
--- a/eric6/Tools/UIPreviewer.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Tools/UIPreviewer.py	Wed Jun 17 20:18:54 2020 +0200
@@ -345,7 +345,7 @@
         # load the file
         try:
             self.mainWidget = uic.loadUi(fn)
-        except Exception:
+        except Exception:       # secok
             pass
         
         if self.mainWidget:
--- a/eric6/UI/UserInterface.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/UI/UserInterface.py	Wed Jun 17 20:18:54 2020 +0200
@@ -1227,23 +1227,22 @@
         @param label label text to be shown
         @type str
         """
-        assert side in [UserInterface.LeftSide, UserInterface.BottomSide,
-                        UserInterface.RightSide]
-        
-        if self.__layoutType == "Toolboxes":
-            if side == UserInterface.LeftSide:
-                self.lToolbox.addItem(widget, icon, label)
-            elif side == UserInterface.BottomSide:
-                self.hToolbox.addItem(widget, icon, label)
-            elif side == UserInterface.RightSide:
-                self.rToolbox.addItem(widget, icon, label)
-        elif self.__layoutType == "Sidebars":
-            if side == UserInterface.LeftSide:
-                self.leftSidebar.addTab(widget, icon, label)
-            elif side == UserInterface.BottomSide:
-                self.bottomSidebar.addTab(widget, icon, label)
-            elif side == UserInterface.RightSide:
-                self.rightSidebar.addTab(widget, icon, label)
+        if side in [UserInterface.LeftSide, UserInterface.BottomSide,
+                    UserInterface.RightSide]:
+            if self.__layoutType == "Toolboxes":
+                if side == UserInterface.LeftSide:
+                    self.lToolbox.addItem(widget, icon, label)
+                elif side == UserInterface.BottomSide:
+                    self.hToolbox.addItem(widget, icon, label)
+                elif side == UserInterface.RightSide:
+                    self.rToolbox.addItem(widget, icon, label)
+            elif self.__layoutType == "Sidebars":
+                if side == UserInterface.LeftSide:
+                    self.leftSidebar.addTab(widget, icon, label)
+                elif side == UserInterface.BottomSide:
+                    self.bottomSidebar.addTab(widget, icon, label)
+                elif side == UserInterface.RightSide:
+                    self.rightSidebar.addTab(widget, icon, label)
     
     def removeSideWidget(self, widget):
         """
@@ -5634,7 +5633,6 @@
         
         @param version Qt version to show documentation for (integer)
         """
-        assert version in [4, 5]
         if version == 4:
             qtDocDir = Preferences.getQt4DocDir()
         elif version == 5:
@@ -5852,8 +5850,6 @@
         @param variant PySide variant (1 or 2)
         @type str
         """
-        assert variant in ("1", "2")
-        
         if variant == "1":
             pysideDocDir = Preferences.getHelp("PySideDocDir")
             if not pysideDocDir:
--- a/eric6/Utilities/BackgroundClient.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Utilities/BackgroundClient.py	Wed Jun 17 20:18:54 2020 +0200
@@ -144,6 +144,8 @@
     def run(self):
         """
         Public method implementing the main loop of the client.
+        
+        @exception RuntimeError raised if hashes don't match
         """
         try:
             while True:
@@ -159,8 +161,9 @@
                 if messageType != b"JOB   ":
                     continue
                 
-                assert adler32(packedData) & 0xffffffff == datahash, \
-                    'Hashes not equal'
+                if adler32(packedData) & 0xffffffff != datahash:
+                    raise RuntimeError('Hashes not equal')
+                
                 if sys.version_info[0] >= 3:
                     packedData = packedData.decode('utf-8')
                 
--- a/eric6/Utilities/BackgroundService.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Utilities/BackgroundService.py	Wed Jun 17 20:18:54 2020 +0200
@@ -150,6 +150,7 @@
         Private method to receive the response from the clients.
         
         @param lang language of the incomming connection (str)
+        @exception RuntimeError raised if hashes don't match
         """
         connection = self.connections[lang]
         while connection.bytesAvailable():
@@ -167,8 +168,8 @@
                     connection.waitForReadyRead(50)
                 packedData += connection.read(maxSize)
 
-            assert adler32(packedData) & 0xffffffff == datahash, \
-                'Hashes not equal'
+            if adler32(packedData) & 0xffffffff != datahash:
+                raise RuntimeError('Hashes not equal')
             packedData = packedData.decode('utf-8')
             # "check" if is's a tuple of 3 values
             fx, fn, data = json.loads(packedData)
--- a/eric6/Utilities/ClassBrowsers/idlclbr.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Utilities/ClassBrowsers/idlclbr.py	Wed Jun 17 20:18:54 2020 +0200
@@ -399,7 +399,4 @@
             # an end of a block
             indent -= 1
 
-        else:
-            assert 0, "regexp _getnext found something unexpected"
-
     return dictionary
--- a/eric6/Utilities/ClassBrowsers/protoclbr.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Utilities/ClassBrowsers/protoclbr.py	Wed Jun 17 20:18:54 2020 +0200
@@ -379,7 +379,4 @@
             # an end of a block
             indent -= 1
 
-        else:
-            assert 0, "regexp _getnext found something unexpected"
-
     return dictionary
--- a/eric6/Utilities/ClassBrowsers/pyclbr.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Utilities/ClassBrowsers/pyclbr.py	Wed Jun 17 20:18:54 2020 +0200
@@ -649,9 +649,6 @@
             if "@@Coding@@" not in dictionary:
                 dictionary["@@Coding@@"] = ClbrBaseClasses.Coding(
                     module, file, lineno, coding)
-        
-        else:
-            assert 0, "regexp _getnext found something unexpected"
 
     if '__all__' in dictionary:
         # set visibility of all top level elements
--- a/eric6/Utilities/ClassBrowsers/rbclbr.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Utilities/ClassBrowsers/rbclbr.py	Wed Jun 17 20:18:54 2020 +0200
@@ -598,7 +598,4 @@
                 dictionary["@@Coding@@"] = ClbrBaseClasses.Coding(
                     module, file, lineno, coding)
 
-        else:
-            assert 0, "regexp _getnext found something unexpected"
-
     return dictionary
--- a/eric6/Utilities/ModuleParser.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Utilities/ModuleParser.py	Wed Jun 17 20:18:54 2020 +0200
@@ -840,9 +840,6 @@
                 if modulelevel:
                     continue
             
-            else:
-                assert 0, "regexp _getnext found something unexpected"
-            
             modulelevel = False
     
     def __rb_scan(self, src):
@@ -1189,9 +1186,6 @@
             
             elif m.start("BeginEnd") >= 0:
                 pass
-            
-            else:
-                assert 0, "regexp _getnext found something unexpected"
     
     def createHierarchy(self):
         """
--- a/eric6/Utilities/__init__.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Utilities/__init__.py	Wed Jun 17 20:18:54 2020 +0200
@@ -16,7 +16,7 @@
 import glob
 import getpass
 import ctypes
-import subprocess
+import subprocess           # secok
 
 
 def __showwarning(message, category, filename, lineno, file=None, line=""):
@@ -140,8 +140,8 @@
     for coding in codingBytes_regexps:
         coding_re = coding[1]
         head = lines[:coding[0]]
-        for l in head:
-            m = coding_re.search(l)
+        for line in head:
+            m = coding_re.search(line)
             if m:
                 return str(m.group(1), "ascii").lower()
     return None
@@ -158,8 +158,8 @@
     for coding in coding_regexps:
         coding_re = coding[1]
         head = lines[:coding[0]]
-        for l in head:
-            m = coding_re.search(l)
+        for line in head:
+            m = coding_re.search(line)
             if m:
                 return m.group(1).lower()
     return None
@@ -1328,8 +1328,9 @@
         # we are on a Linux or macOS platform
         for mountCommand in ["mount", "/sbin/mount", "/usr/sbin/mount"]:
             try:
-                mountOutput = (subprocess.check_output(mountCommand)
-                               .splitlines())
+                mountOutput = (
+                    subprocess.check_output(mountCommand).splitlines()  # secok
+                )
                 mountedVolumes = [x.split()[2] for x in mountOutput]
                 for volume in mountedVolumes:
                     if volume.decode("utf-8").endswith(volumeName):
@@ -1834,8 +1835,6 @@
     @return the PySide/PySide2 tool path with extension
     @rtype str
     """
-    assert variant in ("1", "2")
-    
     if isWindowsPlatform():
         pysideInterpreters = checkPyside(variant)
         interpreterIndex = sys.version_info[0] - 2
@@ -1895,8 +1894,6 @@
         Python2 and PySide/PySide2 for Python3
     @rtype tuple of (bool, bool)
     """
-    assert variant in ("1", "2")
-    
     pysideInformation = []
     for venvNameKey in ["Python2VirtualEnv", "Python3VirtualEnv"]:
         venvName = Preferences.getDebugger(venvNameKey)
--- a/eric6/Utilities/crypto/py3AES.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/Utilities/crypto/py3AES.py	Wed Jun 17 20:18:54 2020 +0200
@@ -240,8 +240,8 @@
                 size == self.KeySize["SIZE_256"] and
                 ((currentSize % size) == 16)
             ):
-                for l in range(4):
-                    t[l] = self.__getSBoxValue(t[l])
+                for ll in range(4):
+                    t[ll] = self.__getSBoxValue(t[ll])
 
             # We XOR t with the four-byte block 16, 24, 32 bytes before the new
             # expanded key. This becomes the next four bytes in the expanded
@@ -547,10 +547,10 @@
         block = self.__aes_main(block, expandedKey, nbrRounds)
 
         # unmap the block again into the output
-        for k in range(4):
+        for kk in range(4):
             # iterate over the rows
-            for l in range(4):
-                output[k * 4 + l] = block[k + l * 4]
+            for ll in range(4):
+                output[kk * 4 + ll] = block[kk + ll * 4]
         return bytes(output)
 
     # decrypts a 128 bit input block against the given key of size specified
@@ -600,10 +600,10 @@
         # decrypt the block using the expandedKey
         block = self.__aes_invMain(block, expandedKey, nbrRounds)
         # unmap the block again into the output
-        for k in range(4):
+        for kk in range(4):
             # iterate over the rows
-            for l in range(4):
-                output[k * 4 + l] = block[k + l * 4]
+            for ll in range(4):
+                output[kk * 4 + ll] = block[kk + ll * 4]
         return output
 
 
@@ -833,13 +833,14 @@
     @param data data to be encrypted (bytes)
     @param mode mode of operations (0, 1 or 2)
     @return encrypted data prepended with the initialization vector (bytes)
+    @exception ValueError raised to indicate an invalid key size
     """
     key = bytearray(key)
     if mode == AESModeOfOperation.ModeOfOperation["CBC"]:
         data = append_PKCS7_padding(data)
     keysize = len(key)
-    assert keysize in AES.KeySize.values(), \
-        'invalid key size: {0}'.format(keysize)
+    if keysize not in AES.KeySize.values():
+        raise ValueError('invalid key size: {0}'.format(keysize))
     # create a new iv using random data
     iv = bytearray([i for i in os.urandom(16)])
     moo = AESModeOfOperation()
@@ -859,11 +860,12 @@
         (bytes)
     @param mode mode of operations (0, 1 or 2)
     @return decrypted data (bytes)
+    @exception ValueError raised to indicate an invalid key size
     """
     key = bytearray(key)
     keysize = len(key)
-    assert keysize in AES.KeySize.values(), \
-        'invalid key size: {0}'.format(keysize)
+    if keysize not in AES.KeySize.values():
+        raise ValueError('invalid key size: {0}'.format(keysize))
     # iv is first 16 bytes
     iv = bytearray(data[:16])
     data = bytearray(data[16:])
--- a/eric6/VirtualEnv/VirtualenvManager.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/VirtualEnv/VirtualenvManager.py	Wed Jun 17 20:18:54 2020 +0200
@@ -549,8 +549,6 @@
         @return list of defined virtual environments
         @rtype list of str
         """
-        assert variant in (2, 3)
-        
         environments = []
         for venvName in self.__virtualEnvironments:
             if self.__virtualEnvironments[venvName]["variant"] == variant:
--- a/eric6/WebBrowser/AdBlock/AdBlockRule.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/WebBrowser/AdBlock/AdBlockRule.py	Wed Jun 17 20:18:54 2020 +0200
@@ -1037,11 +1037,10 @@
         @return flag indicating a match
         @rtype bool
         """
-        assert self.__regExp is not None
-        
-        for matcher in self.__stringMatchers:
-            if matcher not in url:
-                return False
+        if self.__regExp is not None:
+            for matcher in self.__stringMatchers:
+                if matcher not in url:
+                    return False
         
         return True
     
--- a/eric6/WebBrowser/AdBlock/AdBlockSubscription.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/WebBrowser/AdBlock/AdBlockSubscription.py	Wed Jun 17 20:18:54 2020 +0200
@@ -491,7 +491,7 @@
         data = re.sub(self.__checksumRe, "", data)  # remove checksum line
         
         # calculate checksum
-        md5 = hashlib.md5()
+        md5 = hashlib.md5()             # secok
         md5.update(data.encode("utf-8"))
         calculatedChecksum = (
             base64.b64encode(md5.digest()).decode().rstrip("=")
--- a/eric6/WebBrowser/Bookmarks/BookmarksImporters/FirefoxImporter.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/WebBrowser/Bookmarks/BookmarksImporters/FirefoxImporter.py	Wed Jun 17 20:18:54 2020 +0200
@@ -150,7 +150,7 @@
                 
                 cursor2 = self.__db.cursor()
                 cursor2.execute(
-                    "SELECT url FROM moz_places WHERE id = {0}"
+                    "SELECT url FROM moz_places WHERE id = {0}"     # secok
                     .format(placesId))
                 row2 = cursor2.fetchone()
                 if row2:
--- a/eric6/WebBrowser/Bookmarks/BookmarksManager.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/WebBrowser/Bookmarks/BookmarksManager.py	Wed Jun 17 20:18:54 2020 +0200
@@ -296,10 +296,6 @@
         if not self.__loaded:
             return
         
-        assert timestampType in [BookmarkNode.TsAdded,
-                                 BookmarkNode.TsModified,
-                                 BookmarkNode.TsVisited]
-        
         if timestampType == BookmarkNode.TsAdded:
             node.added = timestamp
         elif timestampType == BookmarkNode.TsModified:
--- a/eric6/WebBrowser/Bookmarks/BookmarksToolBar.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/WebBrowser/Bookmarks/BookmarksToolBar.py	Wed Jun 17 20:18:54 2020 +0200
@@ -135,27 +135,27 @@
         
         @param idx index of the activated bookmark (QModelIndex)
         """
-        assert idx.isValid()
-        
-        if self._mouseButton == Qt.XButton1:
-            self.__mw.currentBrowser().triggerPageAction(QWebEnginePage.Back)
-        elif self._mouseButton == Qt.XButton2:
-            self.__mw.currentBrowser().triggerPageAction(
-                QWebEnginePage.Forward)
-        elif self._mouseButton == Qt.LeftButton:
-            if self._keyboardModifiers & Qt.ControlModifier:
-                self.newTab.emit(
-                    idx.data(BookmarksModel.UrlRole),
-                    idx.data(Qt.DisplayRole))
-            elif self._keyboardModifiers & Qt.ShiftModifier:
-                self.newWindow.emit(
-                    idx.data(BookmarksModel.UrlRole),
-                    idx.data(Qt.DisplayRole))
-            else:
-                self.openUrl.emit(
-                    idx.data(BookmarksModel.UrlRole),
-                    idx.data(Qt.DisplayRole))
-            self.__updateVisitCount(idx)
+        if idx.isValid():
+            if self._mouseButton == Qt.XButton1:
+                self.__mw.currentBrowser().triggerPageAction(
+                    QWebEnginePage.Back)
+            elif self._mouseButton == Qt.XButton2:
+                self.__mw.currentBrowser().triggerPageAction(
+                    QWebEnginePage.Forward)
+            elif self._mouseButton == Qt.LeftButton:
+                if self._keyboardModifiers & Qt.ControlModifier:
+                    self.newTab.emit(
+                        idx.data(BookmarksModel.UrlRole),
+                        idx.data(Qt.DisplayRole))
+                elif self._keyboardModifiers & Qt.ShiftModifier:
+                    self.newWindow.emit(
+                        idx.data(BookmarksModel.UrlRole),
+                        idx.data(Qt.DisplayRole))
+                else:
+                    self.openUrl.emit(
+                        idx.data(BookmarksModel.UrlRole),
+                        idx.data(Qt.DisplayRole))
+                self.__updateVisitCount(idx)
     
     def __openBookmark(self, act):
         """
--- a/eric6/WebBrowser/Download/DownloadManager.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/WebBrowser/Download/DownloadManager.py	Wed Jun 17 20:18:54 2020 +0200
@@ -386,14 +386,15 @@
             (DownloadManager.RemoveExit, DownloadManager.RemoveNever,
              DownloadManager.RemoveSuccessFullDownload)
         """
-        assert policy in (DownloadManager.RemoveExit,
-                          DownloadManager.RemoveNever,
-                          DownloadManager.RemoveSuccessFullDownload)
-        
-        if policy == self.removePolicy():
-            return
-        
-        Preferences.setWebBrowser("DownloadManagerRemovePolicy", self.policy)
+        if policy in (DownloadManager.RemoveExit,
+                      DownloadManager.RemoveNever,
+                      DownloadManager.RemoveSuccessFullDownload):
+            
+            if policy == self.removePolicy():
+                return
+            
+            Preferences.setWebBrowser("DownloadManagerRemovePolicy",
+                                      self.policy)
     
     def save(self):
         """
--- a/eric6/WebBrowser/QtHelp/QtHelpDocumentationDialog.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/WebBrowser/QtHelp/QtHelpDocumentationDialog.py	Wed Jun 17 20:18:54 2020 +0200
@@ -483,7 +483,7 @@
         
         for attr in self.__removedAttributes:
             self.__db.execute(
-                "DELETE FROM FilterAttributeTable WHERE Name = '{0}'"
+                "DELETE FROM FilterAttributeTable WHERE Name = '{0}'"  # secok
                 .format(attr))
         self.__db.commit()
         self.__db.close()
--- a/eric6/WebBrowser/SafeBrowsing/SafeBrowsingCache.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/WebBrowser/SafeBrowsing/SafeBrowsingCache.py	Wed Jun 17 20:18:54 2020 +0200
@@ -284,12 +284,14 @@
             VALUES
                 (?, ?, ?, ?, ?, current_timestamp)
         """
-        updateQueryStr = """
+        updateQueryStr = (
+            """
             UPDATE full_hash SET
-                expires_at=datetime(current_timestamp, '+{0} SECONDS')
+            expires_at=datetime(current_timestamp, '+{0} SECONDS')
             WHERE value=? AND threat_type=? AND platform_type=? AND
             threat_entry_type=?
-        """.format(int(cacheDuration))
+            """.format(int(cacheDuration))
+        )
         
         db = QSqlDatabase.database(self.__connectionName)
         if db.isOpen():
@@ -352,10 +354,12 @@
         @param keepExpiredFor time period in seconds of entries to be expired
         @type int or float
         """
-        queryStr = """
+        queryStr = (
+            """
             DELETE FROM full_hash
-                WHERE expires_at=datetime(current_timestamp, '{0} SECONDS')
-        """.format(int(keepExpiredFor))
+            WHERE expires_at=datetime(current_timestamp, '{0} SECONDS')
+            """.format(int(keepExpiredFor))
+        )
         
         db = QSqlDatabase.database(self.__connectionName)
         if db.isOpen():
@@ -381,12 +385,14 @@
             in the cache
         @type int or float
         """
-        queryStr = """
+        queryStr = (
+            """
             UPDATE hash_prefix
             SET negative_expires_at=datetime(current_timestamp, '+{0} SECONDS')
             WHERE value=? AND threat_type=? AND platform_type=? AND
             threat_entry_type=?
-        """.format(int(negativeCacheDuration))
+            """.format(int(negativeCacheDuration))
+        )
         
         db = QSqlDatabase.database(self.__connectionName)
         if db.isOpen():
@@ -657,11 +663,13 @@
         @param indexes list of indexes of prefixes to be removed
         @type list of int
         """
-        queryStr = """
+        queryStr = (
+            """
             DELETE FROM hash_prefix
             WHERE threat_type=? AND platform_type=? AND
             threat_entry_type=? AND value IN ({0})
-        """
+            """
+        )
         batchSize = 40
         
         prefixesToRemove = self.getHashPrefixValuesToRemove(
@@ -692,3 +700,6 @@
                             QEventLoop.AllEvents, self.maxProcessEventsTime)
                 finally:
                     db.commit()
+
+#
+# eflag: noqa = S608
--- a/eric6/WebBrowser/SafeBrowsing/SafeBrowsingUrl.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/WebBrowser/SafeBrowsing/SafeBrowsingUrl.py	Wed Jun 17 20:18:54 2020 +0200
@@ -110,12 +110,12 @@
         if host.isdigit():
             try:
                 host = socket.inet_ntoa(struct.pack("!I", int(host)))
-            except Exception:
+            except Exception:           # secok
                 pass
         if host.startswith('0x') and '.' not in host:
             try:
                 host = socket.inet_ntoa(struct.pack("!I", int(host, 16)))
-            except Exception:
+            except Exception:           # secok
                 pass
         quotedPath = quote(path)
         quotedHost = quote(host)
--- a/eric6/WebBrowser/Sync/FtpSyncHandler.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/WebBrowser/Sync/FtpSyncHandler.py	Wed Jun 17 20:18:54 2020 +0200
@@ -8,7 +8,7 @@
 """
 
 
-import ftplib
+import ftplib           # secok
 import io
 
 from PyQt5.QtCore import (
--- a/eric6/WebBrowser/WebBrowserLanguagesDialog.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/WebBrowser/WebBrowserLanguagesDialog.py	Wed Jun 17 20:18:54 2020 +0200
@@ -168,7 +168,7 @@
         @return list of expanded language names (list of strings)
         """
         allLanguages = []
-        countries = [l.country() for l in QLocale.matchingLocales(
+        countries = [loc.country() for loc in QLocale.matchingLocales(
             language, QLocale.AnyScript, QLocale.AnyCountry)]
         languageString = (
             "{0} [{1}]"
--- a/eric6/i18n/eric6_cs.ts	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/i18n/eric6_cs.ts	Wed Jun 17 20:18:54 2020 +0200
@@ -1549,32 +1549,32 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="184"/>
+        <location filename="../Utilities/BackgroundService.py" line="185"/>
         <source>Restart background client?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="210"/>
+        <location filename="../Utilities/BackgroundService.py" line="211"/>
         <source>An error in Erics background client stopped the service.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="423"/>
+        <location filename="../Utilities/BackgroundService.py" line="424"/>
         <source>Eric&apos;s background client disconnected because of an unknown reason.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="429"/>
+        <location filename="../Utilities/BackgroundService.py" line="430"/>
         <source>Background client disconnected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="184"/>
+        <location filename="../Utilities/BackgroundService.py" line="185"/>
         <source>&lt;p&gt;The background client for &lt;b&gt;{0}&lt;/b&gt; has stopped due to an exception. It&apos;s used by various plug-ins like the different checkers.&lt;/p&gt;&lt;p&gt;Select&lt;ul&gt;&lt;li&gt;&lt;b&gt;&apos;Yes&apos;&lt;/b&gt; to restart the client, but abort the last job&lt;/li&gt;&lt;li&gt;&lt;b&gt;&apos;Retry&apos;&lt;/b&gt; to restart the client and the last job&lt;/li&gt;&lt;li&gt;&lt;b&gt;&apos;No&apos;&lt;/b&gt; to leave the client off.&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;Note: The client can be restarted by opening and accepting the preferences dialog or reloading/changing the project.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="429"/>
+        <location filename="../Utilities/BackgroundService.py" line="430"/>
         <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"></translation>
     </message>
@@ -5625,343 +5625,343 @@
 <context>
     <name>ConfigurationWidget</name>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="143"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="135"/>
         <source>Application</source>
         <translation>Aplikace</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="152"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="144"/>
         <source>CORBA</source>
         <translation>CORBA</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="158"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="150"/>
         <source>Email</source>
         <translation>Email</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="161"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="153"/>
         <source>Graphics</source>
         <translation>Grafika</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="167"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="159"/>
         <source>Icons</source>
         <translation>Ikony</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="192"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="184"/>
         <source>Plugin Manager</source>
         <translation>Plugin Manažer</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="394"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="386"/>
         <source>Printer</source>
         <translation>Tiskárna</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="202"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="194"/>
         <source>Python</source>
         <translation>Python</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="205"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="197"/>
         <source>Qt</source>
         <translation>Qt</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="211"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="203"/>
         <source>Shell</source>
         <translation>Shell</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="214"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="206"/>
         <source>Tasks</source>
         <translation>Úlohy</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="217"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="209"/>
         <source>Templates</source>
         <translation>Šablony</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="223"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="215"/>
         <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="220"/>
         <source>Debugger</source>
         <translation>Debugger</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="241"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="233"/>
         <source>Editor</source>
         <translation>Editor</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="244"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="236"/>
         <source>APIs</source>
         <translation>APIs</translation>
     </message>
     <message>
+        <location filename="../Preferences/ConfigurationDialog.py" line="239"/>
+        <source>Autocompletion</source>
+        <translation>Autodoplňování</translation>
+    </message>
+    <message>
         <location filename="../Preferences/ConfigurationDialog.py" line="247"/>
-        <source>Autocompletion</source>
-        <translation>Autodoplňování</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="255"/>
         <source>Calltips</source>
         <translation>Rychlé tipy</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="264"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="256"/>
         <source>General</source>
         <translation>Hlavní</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="284"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="276"/>
         <source>Typing</source>
         <translation>Psaní</translation>
     </message>
     <message>
+        <location filename="../Preferences/ConfigurationDialog.py" line="279"/>
+        <source>Exporters</source>
+        <translation>Exportery</translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationDialog.py" line="283"/>
+        <source>Highlighters</source>
+        <translation>Zvýrazňovače</translation>
+    </message>
+    <message>
         <location filename="../Preferences/ConfigurationDialog.py" line="287"/>
-        <source>Exporters</source>
-        <translation>Exportery</translation>
+        <source>Filetype Associations</source>
+        <translation>Asociace typů souborů</translation>
     </message>
     <message>
         <location filename="../Preferences/ConfigurationDialog.py" line="291"/>
-        <source>Highlighters</source>
-        <translation>Zvýrazňovače</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="295"/>
-        <source>Filetype Associations</source>
-        <translation>Asociace typů souborů</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="299"/>
         <source>Styles</source>
         <translation>Styly</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="315"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="307"/>
         <source>Help</source>
         <translation>Nápověda</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="401"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="393"/>
         <source>Help Documentation</source>
         <translation>Dokumenty nápovědy</translation>
     </message>
     <message>
+        <location filename="../Preferences/ConfigurationDialog.py" line="314"/>
+        <source>Help Viewers</source>
+        <translation>Prohlížeče nápovědy</translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationDialog.py" line="325"/>
+        <source>Project</source>
+        <translation>Projekt</translation>
+    </message>
+    <message>
         <location filename="../Preferences/ConfigurationDialog.py" line="322"/>
-        <source>Help Viewers</source>
-        <translation>Prohlížeče nápovědy</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="333"/>
-        <source>Project</source>
-        <translation>Projekt</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="330"/>
         <source>Project Viewer</source>
         <translation>Prohlížeč projektu</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="336"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="328"/>
         <source>Multiproject</source>
         <translation>Multiprojekt</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="388"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="380"/>
         <source>Interface</source>
         <translation>Interface</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="347"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="339"/>
         <source>Viewmanager</source>
         <translation>Viewmanager</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="671"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="663"/>
         <source>Configuration Page Error</source>
         <translation>Chyba na straně konfigurace</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="267"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="259"/>
         <source>Filehandling</source>
         <translation>Manažer souborů</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="271"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="263"/>
         <source>Searching</source>
         <translation>Vyhledávání</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="406"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="398"/>
         <source>Appearance</source>
         <translation>Vzhled</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="258"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="250"/>
         <source>QScintilla</source>
         <translation>QScintilla</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="278"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="270"/>
         <source>Style</source>
         <translation>Styl</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="306"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="298"/>
         <source>Properties</source>
         <translation>Nastavení</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="589"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="581"/>
         <source>Preferences</source>
         <translation>Předvolby</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="594"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="586"/>
         <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="391"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="383"/>
         <source>Network</source>
         <translation>Síť</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="421"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="413"/>
         <source>Spell checking</source>
         <translation>Kontrola pravopisu</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="237"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="229"/>
         <source>Python3</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="671"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="663"/>
         <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>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="303"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="295"/>
         <source>Keywords</source>
         <translation>Klíčová slova</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="149"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="141"/>
         <source>Cooperation</source>
         <translation>Spolupráce</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="435"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="427"/>
         <source>Tray Starter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="417"/>
-        <source>VirusTotal Interface</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="397"/>
-        <source>Security</source>
-        <translation type="unfinished">Bezpečnost</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="185"/>
-        <source>Notifications</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="170"/>
-        <source>IRC</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="281"/>
-        <source>Code Checkers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Preferences/ConfigurationDialog.py" line="409"/>
+        <source>VirusTotal Interface</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationDialog.py" line="389"/>
+        <source>Security</source>
+        <translation type="unfinished">Bezpečnost</translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationDialog.py" line="177"/>
+        <source>Notifications</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationDialog.py" line="162"/>
+        <source>IRC</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationDialog.py" line="273"/>
+        <source>Code Checkers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationDialog.py" line="401"/>
         <source>eric6 Web Browser</source>
         <translation type="unfinished">eric5 web prohlížeč {6 ?}</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="173"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="165"/>
         <source>Log-Viewer</source>
         <translation type="unfinished">Prohlížeč logu</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="179"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="171"/>
         <source>Mimetypes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="525"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="517"/>
         <source>Enter search text...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="310"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="302"/>
         <source>Mouse Click Handlers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="413"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="405"/>
         <source>Flash Cookie Manager</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="448"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="440"/>
         <source>Hex Editor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="351"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="343"/>
         <source>Web Browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="155"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="147"/>
         <source>Diff</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="261"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="253"/>
         <source>Documentation Viewer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="199"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="191"/>
         <source>Protobuf</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="234"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="226"/>
         <source>Python2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="146"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="138"/>
         <source>Conda</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="189"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="181"/>
         <source>Python Package Management</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="176"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="168"/>
         <source>MicroPython</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10215,32 +10215,32 @@
 <context>
     <name>E5PathPickerBase</name>
     <message>
-        <location filename="../E5Gui/E5PathPicker.py" line="163"/>
+        <location filename="../E5Gui/E5PathPicker.py" line="165"/>
         <source>Enter Path Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../E5Gui/E5PathPicker.py" line="160"/>
+        <location filename="../E5Gui/E5PathPicker.py" line="162"/>
         <source>Enter Path Names separated by &apos;;&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../E5Gui/E5PathPicker.py" line="501"/>
-        <source>Choose a file to open</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../E5Gui/E5PathPicker.py" line="503"/>
+        <source>Choose a file to open</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../E5Gui/E5PathPicker.py" line="505"/>
         <source>Choose files to open</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../E5Gui/E5PathPicker.py" line="508"/>
-        <source>Choose a file to save</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../E5Gui/E5PathPicker.py" line="510"/>
+        <source>Choose a file to save</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../E5Gui/E5PathPicker.py" line="512"/>
         <source>Choose a directory</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10862,7 +10862,7 @@
         <translation type="unfinished">Stisknout pro vyhledání následujícího výskytu</translation>
     </message>
     <message>
-        <location filename="../E5Gui/E5TextEditSearchWidget.py" line="340"/>
+        <location filename="../E5Gui/E5TextEditSearchWidget.py" line="342"/>
         <source>&apos;{0}&apos; was not found.</source>
         <translation type="unfinished">&apos;{0}&apos; nebyl nalezen.</translation>
     </message>
@@ -11021,7 +11021,7 @@
 <context>
     <name>E5XmlRpcClient</name>
     <message>
-        <location filename="../E5Network/E5XmlRpcClient.py" line="100"/>
+        <location filename="../E5Network/E5XmlRpcClient.py" line="102"/>
         <source>SSL Error</source>
         <translation type="unfinished"></translation>
     </message>
@@ -11588,137 +11588,137 @@
         <translation>Hlášení syntaktické chyby není dostupné.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6727"/>
+        <location filename="../QScintilla/Editor.py" line="6725"/>
         <source>Macro Name</source>
         <translation>Název makra</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6727"/>
+        <location filename="../QScintilla/Editor.py" line="6725"/>
         <source>Select a macro name:</source>
         <translation>Vyberte název makra:</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6755"/>
+        <location filename="../QScintilla/Editor.py" line="6753"/>
         <source>Load macro file</source>
         <translation>Načíst soubor makra</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6798"/>
+        <location filename="../QScintilla/Editor.py" line="6796"/>
         <source>Macro files (*.macro)</source>
         <translation>Macro soubory (*.macro)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6778"/>
+        <location filename="../QScintilla/Editor.py" line="6776"/>
         <source>Error loading macro</source>
         <translation>Chyba při načítání makra</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6798"/>
+        <location filename="../QScintilla/Editor.py" line="6796"/>
         <source>Save macro file</source>
         <translation>Uložit soubor s makrem</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6815"/>
+        <location filename="../QScintilla/Editor.py" line="6813"/>
         <source>Save macro</source>
         <translation>Uložit makro</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6831"/>
+        <location filename="../QScintilla/Editor.py" line="6829"/>
         <source>Error saving macro</source>
         <translation>Chyba při ukládání makra</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6844"/>
+        <location filename="../QScintilla/Editor.py" line="6842"/>
         <source>Start Macro Recording</source>
         <translation>Spustit záznam makra</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6844"/>
+        <location filename="../QScintilla/Editor.py" line="6842"/>
         <source>Macro recording is already active. Start new?</source>
         <translation>Nahrávání makra již probíhá. Spustit nové?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6870"/>
+        <location filename="../QScintilla/Editor.py" line="6868"/>
         <source>Macro Recording</source>
         <translation>Záznam makra</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6870"/>
+        <location filename="../QScintilla/Editor.py" line="6868"/>
         <source>Enter name of the macro:</source>
         <translation>Vložte název makra:</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7010"/>
+        <location filename="../QScintilla/Editor.py" line="7008"/>
         <source>File changed</source>
         <translation>Soubor změněn</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7321"/>
+        <location filename="../QScintilla/Editor.py" line="7319"/>
         <source>Drop Error</source>
         <translation>Zahodit chybu</translation>
     </message>
     <message>
+        <location filename="../QScintilla/Editor.py" line="7340"/>
+        <source>Resources</source>
+        <translation>Zdroje</translation>
+    </message>
+    <message>
         <location filename="../QScintilla/Editor.py" line="7342"/>
-        <source>Resources</source>
-        <translation>Zdroje</translation>
+        <source>Add file...</source>
+        <translation>Přidat soubor...</translation>
     </message>
     <message>
         <location filename="../QScintilla/Editor.py" line="7344"/>
-        <source>Add file...</source>
-        <translation>Přidat soubor...</translation>
+        <source>Add files...</source>
+        <translation>Přidat soubory...</translation>
     </message>
     <message>
         <location filename="../QScintilla/Editor.py" line="7346"/>
-        <source>Add files...</source>
-        <translation>Přidat soubory...</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Editor.py" line="7348"/>
         <source>Add aliased file...</source>
         <translation>Přidat zástupce souboru...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7351"/>
+        <location filename="../QScintilla/Editor.py" line="7349"/>
         <source>Add localized resource...</source>
         <translation>Přidat lokalizované resource...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7355"/>
+        <location filename="../QScintilla/Editor.py" line="7353"/>
         <source>Add resource frame</source>
         <translation>Přidat resource frame</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7374"/>
+        <location filename="../QScintilla/Editor.py" line="7372"/>
         <source>Add file resource</source>
         <translation>Přidat soubor resource</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7390"/>
+        <location filename="../QScintilla/Editor.py" line="7388"/>
         <source>Add file resources</source>
         <translation>Přidat soubory resource</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7417"/>
+        <location filename="../QScintilla/Editor.py" line="7415"/>
         <source>Add aliased file resource</source>
         <translation>Přidat zástupce souboru resource</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7483"/>
+        <location filename="../QScintilla/Editor.py" line="7481"/>
         <source>Package Diagram</source>
         <translation>Diagram balíčku</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7483"/>
+        <location filename="../QScintilla/Editor.py" line="7481"/>
         <source>Include class attributes?</source>
         <translation>Včetně atributů třídy?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7519"/>
+        <location filename="../QScintilla/Editor.py" line="7517"/>
         <source>Application Diagram</source>
         <translation>Diagram aplikace</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7519"/>
+        <location filename="../QScintilla/Editor.py" line="7517"/>
         <source>Include module names?</source>
         <translation>Včetně jmen modulů?</translation>
     </message>
@@ -11738,12 +11738,12 @@
         <translation>Nebyl zadán forám exportu. Zrušeno....</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7505"/>
+        <location filename="../QScintilla/Editor.py" line="7503"/>
         <source>Imports Diagram</source>
         <translation>Importovat diagram</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7505"/>
+        <location filename="../QScintilla/Editor.py" line="7503"/>
         <source>Include imports from external modules?</source>
         <translation>Zahrnout importy z externích modulů?</translation>
     </message>
@@ -11813,7 +11813,7 @@
         <translation>Použít Pygments lexer.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7848"/>
+        <location filename="../QScintilla/Editor.py" line="7846"/>
         <source>Check spelling...</source>
         <translation>Zatrhnout kontrolu...</translation>
     </message>
@@ -11823,12 +11823,12 @@
         <translation>Zatrhnout výběr kontroly...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7851"/>
+        <location filename="../QScintilla/Editor.py" line="7849"/>
         <source>Add to dictionary</source>
         <translation>Přidat do slovníku</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7853"/>
+        <location filename="../QScintilla/Editor.py" line="7851"/>
         <source>Ignore All</source>
         <translation>Ignorovat vše</translation>
     </message>
@@ -11868,32 +11868,32 @@
         <translation>&lt;p&gt;Soubor &lt;b&gt;{0}&lt;/b&gt; nemůže být přejmenován.&lt;br /&gt;Důvod: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6769"/>
+        <location filename="../QScintilla/Editor.py" line="6767"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor s makrem &lt;b&gt;{0}&lt;/b&gt; nelze načíst.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6778"/>
+        <location filename="../QScintilla/Editor.py" line="6776"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; is corrupt.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor s makrem &lt;b&gt;{0}&lt;/b&gt; je poškozen.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6831"/>
+        <location filename="../QScintilla/Editor.py" line="6829"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation>&lt;p&gt;So souboru s makrem &lt;b&gt;{0}&lt;/b&gt; nelze zapisovat.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7180"/>
+        <location filename="../QScintilla/Editor.py" line="7178"/>
         <source>{0} (ro)</source>
         <translation>{0} (ro)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7321"/>
+        <location filename="../QScintilla/Editor.py" line="7319"/>
         <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="../QScintilla/Editor.py" line="7417"/>
+        <location filename="../QScintilla/Editor.py" line="7415"/>
         <source>Alias for file &lt;b&gt;{0}&lt;/b&gt;:</source>
         <translation>Zástupce pro soubor &lt;b&gt;{0}&lt;/b&gt;:</translation>
     </message>
@@ -11923,22 +11923,22 @@
         <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="../QScintilla/Editor.py" line="6815"/>
+        <location filename="../QScintilla/Editor.py" line="6813"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6615"/>
+        <location filename="../QScintilla/Editor.py" line="6613"/>
         <source>Warning: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6622"/>
+        <location filename="../QScintilla/Editor.py" line="6620"/>
         <source>Error: {0}</source>
         <translation type="unfinished">Chyby: {0}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7006"/>
+        <location filename="../QScintilla/Editor.py" line="7004"/>
         <source>&lt;br&gt;&lt;b&gt;Warning:&lt;/b&gt; You will lose your changes upon reopening it.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -11963,27 +11963,27 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8269"/>
+        <location filename="../QScintilla/Editor.py" line="8267"/>
         <source>Sort Lines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8269"/>
+        <location filename="../QScintilla/Editor.py" line="8267"/>
         <source>The selection contains illegal data for a numerical sort.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6550"/>
+        <location filename="../QScintilla/Editor.py" line="6548"/>
         <source>Warning</source>
         <translation type="unfinished">Varování</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6550"/>
+        <location filename="../QScintilla/Editor.py" line="6548"/>
         <source>No warning messages available.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6612"/>
+        <location filename="../QScintilla/Editor.py" line="6610"/>
         <source>Style: {0}</source>
         <translation type="unfinished"></translation>
     </message>
@@ -12008,7 +12008,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7000"/>
+        <location filename="../QScintilla/Editor.py" line="6998"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has been changed while it was opened in eric6. Reread it?&lt;/p&gt;</source>
         <translation type="unfinished">&lt;p&gt;Soubor &lt;b&gt;{0}&lt;/b&gt; byl změněn po té co již byl načten do eric5. Znovu načíst?&lt;/p&gt; {0}?} {6.?}</translation>
     </message>
@@ -12043,12 +12043,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8358"/>
+        <location filename="../QScintilla/Editor.py" line="8356"/>
         <source>Register Mouse Click Handler</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8358"/>
+        <location filename="../QScintilla/Editor.py" line="8356"/>
         <source>A mouse click handler for &quot;{0}&quot; was already registered by &quot;{1}&quot;. Aborting request by &quot;{2}&quot;...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -12078,12 +12078,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8479"/>
+        <location filename="../QScintilla/Editor.py" line="8477"/>
         <source>EditorConfig Properties</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8479"/>
+        <location filename="../QScintilla/Editor.py" line="8477"/>
         <source>&lt;p&gt;The EditorConfig properties for file &lt;b&gt;{0}&lt;/b&gt; could not be loaded.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -21572,52 +21572,52 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="166"/>
+        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="169"/>
         <source>Difference ({0})</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="174"/>
+        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="177"/>
         <source>Process Generation Error</source>
         <translation type="unfinished">Chyba v procesu generování</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="174"/>
+        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="177"/>
         <source>The process {0} could not be started. Ensure, that it is in the search path.</source>
         <translation type="unfinished">Proces {0} nelze spustit. Ověřte, že je umístěn v požadované cestě.</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="201"/>
+        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="204"/>
         <source>There is no difference.</source>
         <translation type="unfinished">Žádné rozdíly nebyly nalezeny.</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="222"/>
+        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="225"/>
         <source>&lt;Start&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="223"/>
+        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="226"/>
         <source>&lt;End&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="351"/>
+        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="354"/>
         <source>Save Diff</source>
         <translation type="unfinished">Uložit Diff</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="317"/>
+        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="320"/>
         <source>Patch Files (*.diff)</source>
         <translation type="unfinished">Patch soubory (*.diff)</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="334"/>
+        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="337"/>
         <source>&lt;p&gt;The patch file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="351"/>
+        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="354"/>
         <source>&lt;p&gt;The patch file &lt;b&gt;{0}&lt;/b&gt; could not be saved.&lt;br&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished">&lt;p&gt;Patch soubor &lt;b&gt;{0}&lt;/b&gt; nelze uložit.&lt;br /&gt;Důvod: {1}&lt;/p&gt;</translation>
     </message>
@@ -30206,7 +30206,7 @@
         <translation type="unfinished">Otevřít poslední soubo&amp;ry</translation>
     </message>
     <message>
-        <location filename="../HexEdit/HexEditMainWindow.py" line="1431"/>
+        <location filename="../HexEdit/HexEditMainWindow.py" line="1432"/>
         <source>&amp;Clear</source>
         <translation type="unfinished">&amp;Vyčistit</translation>
     </message>
@@ -43583,27 +43583,27 @@
 <context>
     <name>Largefiles</name>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/LargefilesExtension/largefiles.py" line="72"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/LargefilesExtension/largefiles.py" line="75"/>
         <source>Convert Project - Converting</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/LargefilesExtension/largefiles.py" line="83"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/LargefilesExtension/largefiles.py" line="86"/>
         <source>Convert Project - Extracting</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/LargefilesExtension/largefiles.py" line="132"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/LargefilesExtension/largefiles.py" line="135"/>
         <source>Adding files to the Mercurial repository</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/LargefilesExtension/largefiles.py" line="169"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/LargefilesExtension/largefiles.py" line="172"/>
         <source>Pulling large files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/LargefilesExtension/largefiles.py" line="198"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/LargefilesExtension/largefiles.py" line="201"/>
         <source>Verifying the integrity of large files</source>
         <translation type="unfinished"></translation>
     </message>
@@ -52887,17 +52887,17 @@
 <context>
     <name>Preferences</name>
     <message>
-        <location filename="../Preferences/__init__.py" line="1645"/>
+        <location filename="../Preferences/__init__.py" line="1646"/>
         <source>Export Preferences</source>
         <translation>Předvolby exportu</translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1673"/>
+        <location filename="../Preferences/__init__.py" line="1674"/>
         <source>Import Preferences</source>
         <translation>Předvolby importu</translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1673"/>
+        <location filename="../Preferences/__init__.py" line="1674"/>
         <source>Properties File (*.ini);;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -64252,18 +64252,18 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="373"/>
+        <source>{0}: {1}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="365"/>
-        <source>Possible hardcoded AWS access key ID: {0:r}</source>
+        <source>Possible hardcoded AWS access key ID: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="368"/>
-        <source>Possible hardcoded AWS secret access key: {0:r}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="373"/>
-        <source>{0}: {1}</source>
+        <source>Possible hardcoded AWS secret access key: {0}</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -66693,7 +66693,7 @@
 <context>
     <name>SnapshotRegionGrabber</name>
     <message>
-        <location filename="../Snapshot/SnapshotRegionGrabber.py" line="99"/>
+        <location filename="../Snapshot/SnapshotRegionGrabber.py" line="102"/>
         <source>Select a region using the mouse. To take the snapshot, press the Enter key or double click. Press Esc to quit.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -78149,618 +78149,618 @@
         <translation>Inicializace jednouživatelského aplikačního serveru...</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1634"/>
+        <location filename="../UI/UserInterface.py" line="1633"/>
         <source>Project-Viewer</source>
         <translation>Prohlížeč projektu</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1669"/>
+        <location filename="../UI/UserInterface.py" line="1668"/>
         <source>Debug-Viewer</source>
         <translation>Prohlížeč debugeru</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1721"/>
+        <location filename="../UI/UserInterface.py" line="1720"/>
         <source>Log-Viewer</source>
         <translation>Prohlížeč logu</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1739"/>
+        <location filename="../UI/UserInterface.py" line="1738"/>
         <source>Task-Viewer</source>
         <translation>Prohlížeč úloh</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1758"/>
+        <location filename="../UI/UserInterface.py" line="1757"/>
         <source>Template-Viewer</source>
         <translation>Prohlížeč šablon</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1687"/>
+        <location filename="../UI/UserInterface.py" line="1686"/>
         <source>Shell</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1704"/>
+        <location filename="../UI/UserInterface.py" line="1703"/>
         <source>File-Browser</source>
         <translation>Browser souborů</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1522"/>
+        <location filename="../UI/UserInterface.py" line="1521"/>
         <source>Quit</source>
         <translation>Konec</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1522"/>
+        <location filename="../UI/UserInterface.py" line="1521"/>
         <source>&amp;Quit</source>
         <translation>&amp;Konec</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1522"/>
+        <location filename="../UI/UserInterface.py" line="1521"/>
         <source>Ctrl+Q</source>
         <comment>File|Quit</comment>
         <translation></translation>
     </message>
     <message>
+        <location filename="../UI/UserInterface.py" line="1527"/>
+        <source>Quit the IDE</source>
+        <translation>Ukončit IDE</translation>
+    </message>
+    <message>
         <location filename="../UI/UserInterface.py" line="1528"/>
-        <source>Quit the IDE</source>
-        <translation>Ukončit IDE</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="1529"/>
         <source>&lt;b&gt;Quit the IDE&lt;/b&gt;&lt;p&gt;This quits the IDE. Any unsaved changes may be saved first. Any Python program being debugged will be stopped and the preferences will be written to disc.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Ukončit IDE&lt;/b&gt;&lt;p&gt;Ukončí se IDE. Nejdříve by se měly uložit neuložené změny. Python programy běžící v debug procesu budou ukončeny a nastavení budou uložena.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1600"/>
+        <location filename="../UI/UserInterface.py" line="1599"/>
         <source>Edit Profile</source>
         <translation>Editační profil</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1606"/>
+        <location filename="../UI/UserInterface.py" line="1605"/>
         <source>Activate the edit view profile</source>
         <translation>Aktivovat profil editace</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1608"/>
+        <location filename="../UI/UserInterface.py" line="1607"/>
         <source>&lt;b&gt;Edit Profile&lt;/b&gt;&lt;p&gt;Activate the &quot;Edit View Profile&quot;. Windows being shown, if this profile is active, may be configured with the &quot;View Profile Configuration&quot; dialog.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Editační profil&lt;/b&gt;&lt;p&gt;Aktivování skupiny &apos;Editační profil&apos;. Okna, která se v tomto profilu zobrazí lze nastavit v dialogu &apos;Konfigurace profilu pohledů&apos;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1617"/>
+        <location filename="../UI/UserInterface.py" line="1616"/>
         <source>Debug Profile</source>
         <translation>Debugovací profil</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1623"/>
+        <location filename="../UI/UserInterface.py" line="1622"/>
         <source>Activate the debug view profile</source>
         <translation>Aktivovat debugovací profil</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1625"/>
+        <location filename="../UI/UserInterface.py" line="1624"/>
         <source>&lt;b&gt;Debug Profile&lt;/b&gt;&lt;p&gt;Activate the &quot;Debug View Profile&quot;. Windows being shown, if this profile is active, may be configured with the &quot;View Profile Configuration&quot; dialog.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Debugovací profil&lt;/b&gt;&lt;p&gt;Aktivování skupiny &apos;Debugovací profil&apos;. Okna, která se v tomto profilu zobrazí lze nastavit v dialogu &apos;Konfigurace profilu pohledů&apos;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1634"/>
+        <location filename="../UI/UserInterface.py" line="1633"/>
         <source>&amp;Project-Viewer</source>
         <translation>Prohlížeč &amp;projektu</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1634"/>
+        <location filename="../UI/UserInterface.py" line="1633"/>
         <source>Alt+Shift+P</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1669"/>
+        <location filename="../UI/UserInterface.py" line="1668"/>
         <source>Alt+Shift+D</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1687"/>
+        <location filename="../UI/UserInterface.py" line="1686"/>
         <source>&amp;Shell</source>
         <translation>&amp;Shell</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1687"/>
+        <location filename="../UI/UserInterface.py" line="1686"/>
         <source>Alt+Shift+S</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1704"/>
+        <location filename="../UI/UserInterface.py" line="1703"/>
         <source>Alt+Shift+F</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1721"/>
+        <location filename="../UI/UserInterface.py" line="1720"/>
         <source>Alt+Shift+G</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1739"/>
+        <location filename="../UI/UserInterface.py" line="1738"/>
         <source>Alt+Shift+T</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1651"/>
+        <location filename="../UI/UserInterface.py" line="1650"/>
         <source>Alt+Shift+M</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2006"/>
+        <location filename="../UI/UserInterface.py" line="2005"/>
         <source>What&apos;s This?</source>
         <translation>Co je to?</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2006"/>
+        <location filename="../UI/UserInterface.py" line="2005"/>
         <source>&amp;What&apos;s This?</source>
         <translation>&amp;Co je to?</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2006"/>
+        <location filename="../UI/UserInterface.py" line="2005"/>
         <source>Shift+F1</source>
         <translation></translation>
     </message>
     <message>
+        <location filename="../UI/UserInterface.py" line="2011"/>
+        <source>Context sensitive help</source>
+        <translation>Kontextově senzitivní nápověda</translation>
+    </message>
+    <message>
         <location filename="../UI/UserInterface.py" line="2012"/>
-        <source>Context sensitive help</source>
-        <translation>Kontextově senzitivní nápověda</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2013"/>
         <source>&lt;b&gt;Display context sensitive help&lt;/b&gt;&lt;p&gt;In What&apos;s This? mode, the mouse cursor shows an arrow with a question mark, and you can click on the interface elements to get a short description of what they do and how to use them. In dialogs, this feature can be accessed using the context help button in the titlebar.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Zobrazit kontextově senzitivní nápovědu&lt;/b&gt;&lt;p&gt;V režimu &quot;Co je to?&quot; se nad různými prvky aplikace u kurzoru zobrazí otazník. Když pak kliknete na tyto prvky, zobrazí se krátký popis co daný prvek znamená a jak jej použít. V dialogových oknech se tato funkce spustí tlačítkem kontextové nápovědy na horní liště.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2024"/>
+        <location filename="../UI/UserInterface.py" line="2023"/>
         <source>Helpviewer</source>
         <translation>Prohlížeč nápovědy</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2024"/>
+        <location filename="../UI/UserInterface.py" line="2023"/>
         <source>&amp;Helpviewer...</source>
         <translation>Pro&amp;hlížeč nápovědy...</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2024"/>
+        <location filename="../UI/UserInterface.py" line="2023"/>
         <source>F1</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2030"/>
+        <location filename="../UI/UserInterface.py" line="2029"/>
         <source>Open the helpviewer window</source>
         <translation>Otevřít okno prohlížeče nápovědy</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2050"/>
+        <location filename="../UI/UserInterface.py" line="2049"/>
         <source>Show Versions</source>
         <translation>Zobrazit verze</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2050"/>
+        <location filename="../UI/UserInterface.py" line="2049"/>
         <source>Show &amp;Versions</source>
         <translation>Zobrazit &amp;verze</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2054"/>
+        <location filename="../UI/UserInterface.py" line="2053"/>
         <source>Display version information</source>
         <translation>Zobrazit informace o verzích</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2056"/>
+        <location filename="../UI/UserInterface.py" line="2055"/>
         <source>&lt;b&gt;Show Versions&lt;/b&gt;&lt;p&gt;Display version information.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Zobrazit verze&lt;/b&gt;&lt;p&gt;Zobrazí informace o verzích.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2066"/>
+        <location filename="../UI/UserInterface.py" line="2065"/>
         <source>Check for Updates</source>
         <translation>Zjistit aktualizace</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2063"/>
+        <location filename="../UI/UserInterface.py" line="2062"/>
         <source>Check for &amp;Updates...</source>
         <translation>Zjistit akt&amp;ualizace...</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3723"/>
+        <location filename="../UI/UserInterface.py" line="3722"/>
         <source>Report Bug</source>
         <translation>Reportovat Bugy</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2101"/>
+        <location filename="../UI/UserInterface.py" line="2100"/>
         <source>Report &amp;Bug...</source>
         <translation>Reportovat &amp;Bugy...</translation>
     </message>
     <message>
+        <location filename="../UI/UserInterface.py" line="2104"/>
+        <source>Report a bug</source>
+        <translation>Reportovat bug</translation>
+    </message>
+    <message>
         <location filename="../UI/UserInterface.py" line="2105"/>
-        <source>Report a bug</source>
-        <translation>Reportovat bug</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2106"/>
         <source>&lt;b&gt;Report Bug...&lt;/b&gt;&lt;p&gt;Opens a dialog to report a bug.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Reportovat bug...&lt;/b&gt;&lt;p&gt;Otevře se dialog pro reportování bugu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3264"/>
+        <location filename="../UI/UserInterface.py" line="3263"/>
         <source>Unittest</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2128"/>
+        <location filename="../UI/UserInterface.py" line="2127"/>
         <source>&amp;Unittest...</source>
         <translation>&amp;Unittest...</translation>
     </message>
     <message>
+        <location filename="../UI/UserInterface.py" line="2132"/>
+        <source>Start unittest dialog</source>
+        <translation>Otevřít dialog unittestu</translation>
+    </message>
+    <message>
         <location filename="../UI/UserInterface.py" line="2133"/>
-        <source>Start unittest dialog</source>
-        <translation>Otevřít dialog unittestu</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2134"/>
         <source>&lt;b&gt;Unittest&lt;/b&gt;&lt;p&gt;Perform unit tests. The dialog gives you the ability to select and run a unittest suite.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Unittest&lt;/b&gt;&lt;p&gt;Provést unittesty. V dialogovém okně se nastaví který test se má provést.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2142"/>
+        <location filename="../UI/UserInterface.py" line="2141"/>
         <source>Unittest Restart</source>
         <translation>Restart unittestu</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2142"/>
+        <location filename="../UI/UserInterface.py" line="2141"/>
         <source>&amp;Restart Unittest...</source>
         <translation>&amp;Restart unittestu...</translation>
     </message>
     <message>
+        <location filename="../UI/UserInterface.py" line="2146"/>
+        <source>Restart last unittest</source>
+        <translation>Restart posledního unittestu</translation>
+    </message>
+    <message>
         <location filename="../UI/UserInterface.py" line="2147"/>
-        <source>Restart last unittest</source>
-        <translation>Restart posledního unittestu</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2148"/>
         <source>&lt;b&gt;Restart Unittest&lt;/b&gt;&lt;p&gt;Restart the unittest performed last.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Restart unittestu&lt;/b&gt;&lt;p&gt;Restartuje se poslední provedený unittest.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2172"/>
+        <location filename="../UI/UserInterface.py" line="2171"/>
         <source>Unittest Script</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2172"/>
+        <location filename="../UI/UserInterface.py" line="2171"/>
         <source>Unittest &amp;Script...</source>
         <translation>Unittest &amp;Script...</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2177"/>
+        <location filename="../UI/UserInterface.py" line="2176"/>
         <source>Run unittest with current script</source>
         <translation>Spustit unittest s aktuálním skriptem</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2179"/>
+        <location filename="../UI/UserInterface.py" line="2178"/>
         <source>&lt;b&gt;Unittest Script&lt;/b&gt;&lt;p&gt;Run unittest with current script.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Unittest Script&lt;/b&gt;&lt;p&gt;Spustit unittest s aktuálním skriptem.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2187"/>
+        <location filename="../UI/UserInterface.py" line="2186"/>
         <source>Unittest Project</source>
         <translation>Unittest Projekt</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2187"/>
+        <location filename="../UI/UserInterface.py" line="2186"/>
         <source>Unittest &amp;Project...</source>
         <translation>Unittest &amp;Projekt...</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2192"/>
+        <location filename="../UI/UserInterface.py" line="2191"/>
         <source>Run unittest with current project</source>
         <translation>Spustit unittest s aktuálním projektem</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2194"/>
+        <location filename="../UI/UserInterface.py" line="2193"/>
         <source>&lt;b&gt;Unittest Project&lt;/b&gt;&lt;p&gt;Run unittest with current project.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Unittest projekt&lt;/b&gt;&lt;p&gt;Spustit unittest s aktuálním projektem.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2255"/>
+        <location filename="../UI/UserInterface.py" line="2254"/>
         <source>UI Previewer</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2255"/>
+        <location filename="../UI/UserInterface.py" line="2254"/>
         <source>&amp;UI Previewer...</source>
         <translation>&amp;UI Previewer...</translation>
     </message>
     <message>
+        <location filename="../UI/UserInterface.py" line="2259"/>
+        <source>Start the UI Previewer</source>
+        <translation>Spustit UI Previewer</translation>
+    </message>
+    <message>
         <location filename="../UI/UserInterface.py" line="2260"/>
-        <source>Start the UI Previewer</source>
-        <translation>Spustit UI Previewer</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2261"/>
         <source>&lt;b&gt;UI Previewer&lt;/b&gt;&lt;p&gt;Start the UI Previewer.&lt;/p&gt;</source>
         <translation>&lt;b&gt;UI Previewer&lt;/b&gt;&lt;p&gt;Spustit UI Previewer.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2268"/>
+        <location filename="../UI/UserInterface.py" line="2267"/>
         <source>Translations Previewer</source>
         <translation>Náhled překladů</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2268"/>
+        <location filename="../UI/UserInterface.py" line="2267"/>
         <source>&amp;Translations Previewer...</source>
         <translation>Náhled &amp;překladů...</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2273"/>
+        <location filename="../UI/UserInterface.py" line="2272"/>
         <source>Start the Translations Previewer</source>
         <translation>Spustit Previewer překladů</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2275"/>
+        <location filename="../UI/UserInterface.py" line="2274"/>
         <source>&lt;b&gt;Translations Previewer&lt;/b&gt;&lt;p&gt;Start the Translations Previewer.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Previewer překladů&lt;/b&gt;&lt;p&gt;Spustit Previewer překladů.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2282"/>
+        <location filename="../UI/UserInterface.py" line="2281"/>
         <source>Compare Files</source>
         <translation>Porovnat soubory</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2282"/>
+        <location filename="../UI/UserInterface.py" line="2281"/>
         <source>&amp;Compare Files...</source>
         <translation>&amp;Porovnat soubory...</translation>
     </message>
     <message>
+        <location filename="../UI/UserInterface.py" line="2299"/>
+        <source>Compare two files</source>
+        <translation>Porovnat dva soubory</translation>
+    </message>
+    <message>
+        <location filename="../UI/UserInterface.py" line="2287"/>
+        <source>&lt;b&gt;Compare Files&lt;/b&gt;&lt;p&gt;Open a dialog to compare two files.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Porovnat soubory&lt;/b&gt;&lt;p&gt;Otevře dialog pro porovnání dvou souborů.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../UI/UserInterface.py" line="2294"/>
+        <source>Compare Files side by side</source>
+        <translation>Porovnat soubory stranu proti straně</translation>
+    </message>
+    <message>
         <location filename="../UI/UserInterface.py" line="2300"/>
-        <source>Compare two files</source>
-        <translation>Porovnat dva soubory</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2288"/>
-        <source>&lt;b&gt;Compare Files&lt;/b&gt;&lt;p&gt;Open a dialog to compare two files.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Porovnat soubory&lt;/b&gt;&lt;p&gt;Otevře dialog pro porovnání dvou souborů.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2295"/>
-        <source>Compare Files side by side</source>
-        <translation>Porovnat soubory stranu proti straně</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2301"/>
         <source>&lt;b&gt;Compare Files side by side&lt;/b&gt;&lt;p&gt;Open a dialog to compare two files and show the result side by side.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Porovnat soubory stranu proti straně&lt;/b&gt;&lt;p&gt;Otevře dialog pro porovnání souborů a zobrazení rozdílů strany proti straně.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2395"/>
+        <location filename="../UI/UserInterface.py" line="2394"/>
         <source>Preferences</source>
         <translation>Nastavení</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2395"/>
+        <location filename="../UI/UserInterface.py" line="2394"/>
         <source>&amp;Preferences...</source>
         <translation>Na&amp;stavení...</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2400"/>
+        <location filename="../UI/UserInterface.py" line="2399"/>
         <source>Set the prefered configuration</source>
         <translation>Nastavení konfigurace</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2402"/>
+        <location filename="../UI/UserInterface.py" line="2401"/>
         <source>&lt;b&gt;Preferences&lt;/b&gt;&lt;p&gt;Set the configuration items of the application with your prefered values.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Nastavení&lt;/b&gt;&lt;p&gt;Upravit konfiguraci aplikace podle požadavků uživatele.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2439"/>
+        <location filename="../UI/UserInterface.py" line="2438"/>
         <source>Reload APIs</source>
         <translation>Obnovit API</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2439"/>
+        <location filename="../UI/UserInterface.py" line="2438"/>
         <source>Reload &amp;APIs</source>
         <translation>Obnovit &amp;API</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2443"/>
+        <location filename="../UI/UserInterface.py" line="2442"/>
         <source>Reload the API information</source>
         <translation>Obnovit API nastavení</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2445"/>
+        <location filename="../UI/UserInterface.py" line="2444"/>
         <source>&lt;b&gt;Reload APIs&lt;/b&gt;&lt;p&gt;Reload the API information.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Obnovit API&lt;/b&gt;&lt;p&gt;Obnovit API nastavení.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2468"/>
+        <location filename="../UI/UserInterface.py" line="2467"/>
         <source>View Profiles</source>
         <translation>Profily pohledů</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2468"/>
+        <location filename="../UI/UserInterface.py" line="2467"/>
         <source>&amp;View Profiles...</source>
         <translation>Profily &amp;pohledů...</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2473"/>
+        <location filename="../UI/UserInterface.py" line="2472"/>
         <source>Configure view profiles</source>
         <translation>Konfigurace profilů pohledů</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2475"/>
+        <location filename="../UI/UserInterface.py" line="2474"/>
         <source>&lt;b&gt;View Profiles&lt;/b&gt;&lt;p&gt;Configure the view profiles. With this dialog you may set the visibility of the various windows for the predetermined view profiles.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Profily pohledů&lt;/b&gt;&lt;p&gt;Konfigurace profilu pohledů. V tomto dialogu můžete nastavit zobrazování různých typů pohledů - editačních oken.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2500"/>
+        <location filename="../UI/UserInterface.py" line="2499"/>
         <source>Keyboard Shortcuts</source>
         <translation>Klávesové zkratky</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2500"/>
+        <location filename="../UI/UserInterface.py" line="2499"/>
         <source>Keyboard &amp;Shortcuts...</source>
         <translation>Klávesové &amp;zkratky...</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2505"/>
+        <location filename="../UI/UserInterface.py" line="2504"/>
         <source>Set the keyboard shortcuts</source>
         <translation>Nastavení klávesových zkratek</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2507"/>
+        <location filename="../UI/UserInterface.py" line="2506"/>
         <source>&lt;b&gt;Keyboard Shortcuts&lt;/b&gt;&lt;p&gt;Set the keyboard shortcuts of the application with your prefered values.&lt;/p&gt;</source>
         <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="6294"/>
+        <location filename="../UI/UserInterface.py" line="6290"/>
         <source>Export Keyboard Shortcuts</source>
         <translation>Exportovat klávesové zkratky</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2515"/>
+        <location filename="../UI/UserInterface.py" line="2514"/>
         <source>&amp;Export Keyboard Shortcuts...</source>
         <translation>&amp;Exportovat klávesové zkratky...</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2520"/>
+        <location filename="../UI/UserInterface.py" line="2519"/>
         <source>Export the keyboard shortcuts</source>
         <translation>Export klávesových zkratek</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2522"/>
+        <location filename="../UI/UserInterface.py" line="2521"/>
         <source>&lt;b&gt;Export Keyboard Shortcuts&lt;/b&gt;&lt;p&gt;Export the keyboard shortcuts of the application.&lt;/p&gt;</source>
         <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="6318"/>
+        <location filename="../UI/UserInterface.py" line="6314"/>
         <source>Import Keyboard Shortcuts</source>
         <translation>Import klávesových zkratek</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2529"/>
+        <location filename="../UI/UserInterface.py" line="2528"/>
         <source>&amp;Import Keyboard Shortcuts...</source>
         <translation>&amp;Import klávesových zkratek...</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2534"/>
+        <location filename="../UI/UserInterface.py" line="2533"/>
         <source>Import the keyboard shortcuts</source>
         <translation>Import klávesových zkratek</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2536"/>
+        <location filename="../UI/UserInterface.py" line="2535"/>
         <source>&lt;b&gt;Import Keyboard Shortcuts&lt;/b&gt;&lt;p&gt;Import the keyboard shortcuts of the application.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Import klávesových zkratek&lt;/b&gt;&lt;p&gt;Do aplikace se importují klávesové zkratky.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2594"/>
+        <location filename="../UI/UserInterface.py" line="2593"/>
         <source>Activate current editor</source>
         <translation>Aktivovat aktuální editor</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2594"/>
+        <location filename="../UI/UserInterface.py" line="2593"/>
         <source>Alt+Shift+E</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2604"/>
+        <location filename="../UI/UserInterface.py" line="2603"/>
         <source>Ctrl+Alt+Tab</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2613"/>
+        <location filename="../UI/UserInterface.py" line="2612"/>
         <source>Shift+Ctrl+Alt+Tab</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2736"/>
+        <location filename="../UI/UserInterface.py" line="2735"/>
         <source>Qt4 Documentation</source>
         <translation>Qt4 dokumentace</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2736"/>
+        <location filename="../UI/UserInterface.py" line="2735"/>
         <source>Qt&amp;4 Documentation</source>
         <translation>Qt&amp;4 dokumentace</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2740"/>
+        <location filename="../UI/UserInterface.py" line="2739"/>
         <source>Open Qt4 Documentation</source>
         <translation>Otevřít Qt4 dokumentaci</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2768"/>
+        <location filename="../UI/UserInterface.py" line="2767"/>
         <source>PyQt4 Documentation</source>
         <translation>PyQt4 dokumentace</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2772"/>
+        <location filename="../UI/UserInterface.py" line="2771"/>
         <source>Open PyQt4 Documentation</source>
         <translation>Otevřít PyQt4 dokumentaci</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2848"/>
+        <location filename="../UI/UserInterface.py" line="2847"/>
         <source>Eric API Documentation</source>
         <translation>Eric API dokumentace</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2848"/>
+        <location filename="../UI/UserInterface.py" line="2847"/>
         <source>&amp;Eric API Documentation</source>
         <translation>&amp;Eric API dokumentace</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2852"/>
+        <location filename="../UI/UserInterface.py" line="2851"/>
         <source>Open Eric API Documentation</source>
         <translation>Otevřít Eric API dokumentaci</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3055"/>
+        <location filename="../UI/UserInterface.py" line="3054"/>
         <source>&amp;Unittest</source>
         <translation>&amp;Unittest</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2999"/>
+        <location filename="../UI/UserInterface.py" line="2998"/>
         <source>E&amp;xtras</source>
         <translation>E&amp;xtra funkce</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3072"/>
+        <location filename="../UI/UserInterface.py" line="3071"/>
         <source>Select Tool Group</source>
         <translation>Vybrat skupinu nástrojů</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3083"/>
+        <location filename="../UI/UserInterface.py" line="3082"/>
         <source>Se&amp;ttings</source>
         <translation>Nas&amp;tavení</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3113"/>
+        <location filename="../UI/UserInterface.py" line="3112"/>
         <source>&amp;Window</source>
         <translation>O&amp;kno</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3174"/>
+        <location filename="../UI/UserInterface.py" line="3173"/>
         <source>&amp;Toolbars</source>
         <translation>&amp;Toolbary</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3188"/>
+        <location filename="../UI/UserInterface.py" line="3187"/>
         <source>&amp;Help</source>
         <translation>&amp;Nápověda</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3263"/>
+        <location filename="../UI/UserInterface.py" line="3262"/>
         <source>Tools</source>
         <translation>Nástroje</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3265"/>
+        <location filename="../UI/UserInterface.py" line="3264"/>
         <source>Settings</source>
         <translation>Nastavení</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5082"/>
+        <location filename="../UI/UserInterface.py" line="5081"/>
         <source>Help</source>
         <translation>Nápověda</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3267"/>
+        <location filename="../UI/UserInterface.py" line="3266"/>
         <source>Profiles</source>
         <translation>Profily</translation>
     </message>
@@ -78770,27 +78770,27 @@
         <translation type="obsolete">&lt;h3&gt;Čísla verzí&lt;/h3&gt;&lt;table&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7291"/>
+        <location filename="../UI/UserInterface.py" line="7287"/>
         <source>&lt;/table&gt;</source>
         <translation>&lt;/table&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3723"/>
+        <location filename="../UI/UserInterface.py" line="3722"/>
         <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="4084"/>
+        <location filename="../UI/UserInterface.py" line="4083"/>
         <source>Configure Tool Groups ...</source>
         <translation>Konfigurace Skupin nástrojů...</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4088"/>
+        <location filename="../UI/UserInterface.py" line="4087"/>
         <source>Configure current Tool Group ...</source>
         <translation>Konfigurace aktuální skupiny nástrojů...</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4039"/>
+        <location filename="../UI/UserInterface.py" line="4038"/>
         <source>&amp;Builtin Tools</source>
         <translation>&amp;Vestavěné nástroje</translation>
     </message>
@@ -78800,87 +78800,87 @@
         <translation type="obsolete">V aktuálním projektu není definován hlavní skript. Zrušeno</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5210"/>
+        <location filename="../UI/UserInterface.py" line="5209"/>
         <source>Problem</source>
         <translation>Problém</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5405"/>
+        <location filename="../UI/UserInterface.py" line="5404"/>
         <source>Process Generation Error</source>
         <translation>Chyba v procesu generování</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5082"/>
+        <location filename="../UI/UserInterface.py" line="5081"/>
         <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="5116"/>
+        <location filename="../UI/UserInterface.py" line="5115"/>
         <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="5886"/>
+        <location filename="../UI/UserInterface.py" line="5882"/>
         <source>Documentation Missing</source>
         <translation>Dokumentace chybí</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5869"/>
+        <location filename="../UI/UserInterface.py" line="5865"/>
         <source>Documentation</source>
         <translation>Dokumentace</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5694"/>
+        <location filename="../UI/UserInterface.py" line="5692"/>
         <source>&lt;p&gt;The PyQt4 documentation starting point has not been configured.&lt;/p&gt;</source>
         <translation type="unfinished">&lt;p&gt;Počátek dokumentace PySide nebyl nastaven.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6488"/>
+        <location filename="../UI/UserInterface.py" line="6484"/>
         <source>Save tasks</source>
         <translation>Uložit úlohy</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6517"/>
+        <location filename="../UI/UserInterface.py" line="6513"/>
         <source>Read tasks</source>
         <translation>Načíst úlohy</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6881"/>
+        <location filename="../UI/UserInterface.py" line="6877"/>
         <source>Drop Error</source>
         <translation>Zahodit chybu</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7252"/>
+        <location filename="../UI/UserInterface.py" line="7248"/>
         <source>Error during updates check</source>
         <translation>Chyba během zjišťování aktualizací</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7233"/>
+        <location filename="../UI/UserInterface.py" line="7229"/>
         <source>Update available</source>
         <translation>Byla nalezena aktualizace</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2457"/>
+        <location filename="../UI/UserInterface.py" line="2456"/>
         <source>Show external tools</source>
         <translation>Zobrazit externí nástroje</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2452"/>
+        <location filename="../UI/UserInterface.py" line="2451"/>
         <source>Show external &amp;tools</source>
         <translation>Zobrazit externí nás&amp;troje</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7252"/>
+        <location filename="../UI/UserInterface.py" line="7248"/>
         <source>Could not perform updates check.</source>
         <translation>Kontrolu updatů nelze provést.</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7066"/>
+        <location filename="../UI/UserInterface.py" line="7062"/>
         <source>&amp;Cancel</source>
         <translation>&amp;Zrušit</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7328"/>
+        <location filename="../UI/UserInterface.py" line="7324"/>
         <source>First time usage</source>
         <translation>Spuštěno poprvé</translation>
     </message>
@@ -78890,62 +78890,62 @@
         <translation>Inicializace Plugin manažera...</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3036"/>
+        <location filename="../UI/UserInterface.py" line="3035"/>
         <source>P&amp;lugins</source>
         <translation>P&amp;luginy</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3268"/>
+        <location filename="../UI/UserInterface.py" line="3267"/>
         <source>Plugins</source>
         <translation>Pluginy</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2631"/>
+        <location filename="../UI/UserInterface.py" line="2630"/>
         <source>Plugin Infos</source>
         <translation>Plugin Infa</translation>
     </message>
     <message>
+        <location filename="../UI/UserInterface.py" line="2634"/>
+        <source>Show Plugin Infos</source>
+        <translation>Zobrazit Plugin infa</translation>
+    </message>
+    <message>
         <location filename="../UI/UserInterface.py" line="2635"/>
-        <source>Show Plugin Infos</source>
-        <translation>Zobrazit Plugin infa</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2636"/>
         <source>&lt;b&gt;Plugin Infos...&lt;/b&gt;&lt;p&gt;This opens a dialog, that show some information about loaded plugins.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Plugin Infa&lt;/b&gt;&lt;p&gt;Otevře dialog, který zobrazí informace o načtených pluginech.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2631"/>
+        <location filename="../UI/UserInterface.py" line="2630"/>
         <source>&amp;Plugin Infos...</source>
         <translation>&amp;Plugin Infa...</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4056"/>
+        <location filename="../UI/UserInterface.py" line="4055"/>
         <source>&amp;Plugin Tools</source>
         <translation>&amp;Plugin nástroje</translation>
     </message>
     <message>
+        <location filename="../UI/UserInterface.py" line="2661"/>
+        <source>Uninstall Plugin</source>
+        <translation>Odinstalovat plugin</translation>
+    </message>
+    <message>
+        <location filename="../UI/UserInterface.py" line="2656"/>
+        <source>&amp;Uninstall Plugin...</source>
+        <translation>&amp;Odinstalovat plugin...</translation>
+    </message>
+    <message>
         <location filename="../UI/UserInterface.py" line="2662"/>
-        <source>Uninstall Plugin</source>
-        <translation>Odinstalovat plugin</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2657"/>
-        <source>&amp;Uninstall Plugin...</source>
-        <translation>&amp;Odinstalovat plugin...</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2663"/>
         <source>&lt;b&gt;Uninstall Plugin...&lt;/b&gt;&lt;p&gt;This opens a dialog to uninstall a plugin.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Odinstalovat plugin...&lt;/b&gt;&lt;p&gt;Otevře dialog pro odinstalaci pluginu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4204"/>
+        <location filename="../UI/UserInterface.py" line="4203"/>
         <source>&amp;Show all</source>
         <translation>&amp;Zobrazit vše</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4206"/>
+        <location filename="../UI/UserInterface.py" line="4205"/>
         <source>&amp;Hide all</source>
         <translation>&amp;Skrýt vše</translation>
     </message>
@@ -78955,97 +78955,97 @@
         <translation>Aktivace pluginů...</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3009"/>
+        <location filename="../UI/UserInterface.py" line="3008"/>
         <source>Wi&amp;zards</source>
         <translation>&amp;Průvodci</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2074"/>
+        <location filename="../UI/UserInterface.py" line="2073"/>
         <source>Show downloadable versions</source>
         <translation>Zobrazit verze ke stažení</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2074"/>
+        <location filename="../UI/UserInterface.py" line="2073"/>
         <source>Show &amp;downloadable versions...</source>
         <translation>Zobrazit verze pro &amp;download...</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2078"/>
+        <location filename="../UI/UserInterface.py" line="2077"/>
         <source>Show the versions available for download</source>
         <translation>Zobrazit dostupné verze ke stažení</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7276"/>
+        <location filename="../UI/UserInterface.py" line="7272"/>
         <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="2670"/>
+        <location filename="../UI/UserInterface.py" line="2669"/>
         <source>Plugin Repository</source>
         <translation>Repozitář pluginů</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2670"/>
+        <location filename="../UI/UserInterface.py" line="2669"/>
         <source>Plugin &amp;Repository...</source>
         <translation>&amp;Repozitář pluginů...</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2675"/>
+        <location filename="../UI/UserInterface.py" line="2674"/>
         <source>Show Plugins available for download</source>
         <translation>Zobrazit pluginy dostupné ke stažení</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2677"/>
+        <location filename="../UI/UserInterface.py" line="2676"/>
         <source>&lt;b&gt;Plugin Repository...&lt;/b&gt;&lt;p&gt;This opens a dialog, that shows a list of plugins available on the Internet.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Repozitář pluginů...&lt;/b&gt;&lt;p&gt;Otevře se dialog, který zobrazí seznam pluginů dostupných ke stažení přes internet.&lt;/p&gt;</translation>
     </message>
     <message>
+        <location filename="../UI/UserInterface.py" line="2648"/>
+        <source>Install Plugins</source>
+        <translation>Instalovat pluginy</translation>
+    </message>
+    <message>
+        <location filename="../UI/UserInterface.py" line="2643"/>
+        <source>&amp;Install Plugins...</source>
+        <translation>&amp;Instalovat pluginy...</translation>
+    </message>
+    <message>
         <location filename="../UI/UserInterface.py" line="2649"/>
-        <source>Install Plugins</source>
-        <translation>Instalovat pluginy</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2644"/>
-        <source>&amp;Install Plugins...</source>
-        <translation>&amp;Instalovat pluginy...</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2650"/>
         <source>&lt;b&gt;Install Plugins...&lt;/b&gt;&lt;p&gt;This opens a dialog to install or update plugins.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Instalovat pluginy...&lt;/b&gt;&lt;p&gt;Otevře dialog pro instalaci nebo aktualizaci pluginů.&lt;/p&gt;</translation>
     </message>
     <message>
+        <location filename="../UI/UserInterface.py" line="2326"/>
+        <source>Mini Editor</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../UI/UserInterface.py" line="2321"/>
+        <source>Mini &amp;Editor...</source>
+        <translation>Mini &amp;Editor...</translation>
+    </message>
+    <message>
         <location filename="../UI/UserInterface.py" line="2327"/>
-        <source>Mini Editor</source>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2322"/>
-        <source>Mini &amp;Editor...</source>
-        <translation>Mini &amp;Editor...</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2328"/>
         <source>&lt;b&gt;Mini Editor&lt;/b&gt;&lt;p&gt;Open a dialog with a simplified editor.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Mini editor&lt;/b&gt;&lt;p&gt;Otevře se okno s jednoduchým editorem&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2485"/>
+        <location filename="../UI/UserInterface.py" line="2484"/>
         <source>Toolbars</source>
         <translation>Lišty nástrojů</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2485"/>
+        <location filename="../UI/UserInterface.py" line="2484"/>
         <source>Tool&amp;bars...</source>
         <translation>&amp;Lišty nástrojů...</translation>
     </message>
     <message>
+        <location filename="../UI/UserInterface.py" line="2489"/>
+        <source>Configure toolbars</source>
+        <translation>Konfigurace lišt nástrojů</translation>
+    </message>
+    <message>
         <location filename="../UI/UserInterface.py" line="2490"/>
-        <source>Configure toolbars</source>
-        <translation>Konfigurace lišt nástrojů</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2491"/>
         <source>&lt;b&gt;Toolbars&lt;/b&gt;&lt;p&gt;Configure the toolbars. With this dialog you may change the actions shown on the various toolbars and define your own toolbars.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Listy nástrojů&lt;/b&gt;&lt;p&gt;Konfigurace lišt nástrojů. S tímto dialogem můžete změnit akce zobrazené v různých nástrojových lištách nebo definovat své vlastní nástrojové lišty.&lt;/p&gt;</translation>
     </message>
@@ -79055,252 +79055,252 @@
         <translation>Obnovit manažer nástrojových lišt...</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5350"/>
+        <location filename="../UI/UserInterface.py" line="5349"/>
         <source>External Tools</source>
         <translation>Externí nástroje</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1651"/>
+        <location filename="../UI/UserInterface.py" line="1650"/>
         <source>Multiproject-Viewer</source>
         <translation>Prohlížeč multiprojektu</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1651"/>
+        <location filename="../UI/UserInterface.py" line="1650"/>
         <source>&amp;Multiproject-Viewer</source>
         <translation>Prohlížeč &amp;multiprojektu</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6613"/>
+        <location filename="../UI/UserInterface.py" line="6609"/>
         <source>Save session</source>
         <translation>Uložit relaci</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6597"/>
+        <location filename="../UI/UserInterface.py" line="6593"/>
         <source>Read session</source>
         <translation>Načíst relaci</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3440"/>
+        <location filename="../UI/UserInterface.py" line="3439"/>
         <source>&lt;p&gt;This part of the status bar displays the current editors encoding.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Tato část status baru zobrazuje aktuální kódování editorů.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3454"/>
+        <location filename="../UI/UserInterface.py" line="3453"/>
         <source>&lt;p&gt;This part of the status bar displays an indication of the current editors files writability.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Tato část status baru zobrazuje indikátor práva zápisu editoru do souboru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2113"/>
+        <location filename="../UI/UserInterface.py" line="2112"/>
         <source>Request Feature</source>
         <translation>Požadavek na vlastnost</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2113"/>
+        <location filename="../UI/UserInterface.py" line="2112"/>
         <source>Request &amp;Feature...</source>
         <translation>&amp;Požadavek na vlastnost...</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2117"/>
+        <location filename="../UI/UserInterface.py" line="2116"/>
         <source>Send a feature request</source>
         <translation>Poslat požadavek na vlastnost</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2119"/>
+        <location filename="../UI/UserInterface.py" line="2118"/>
         <source>&lt;b&gt;Request Feature...&lt;/b&gt;&lt;p&gt;Opens a dialog to send a feature request.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Požadavek na vlastnost...&lt;/b&gt;&lt;p&gt;Otevře dialog pro odeslání požadavku.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3433"/>
+        <location filename="../UI/UserInterface.py" line="3432"/>
         <source>&lt;p&gt;This part of the status bar displays the current editors language.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Tato část status baru zobrazuje aktuální jazyk editoru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3461"/>
+        <location filename="../UI/UserInterface.py" line="3460"/>
         <source>&lt;p&gt;This part of the status bar displays the line number of the current editor.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Tato část status baru zobrazuje číslo řádku v aktuálním editoru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3468"/>
+        <location filename="../UI/UserInterface.py" line="3467"/>
         <source>&lt;p&gt;This part of the status bar displays the cursor position of the current editor.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Tato část status baru zobrazuje pozici kurzoru v aktuálním editoru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1801"/>
+        <location filename="../UI/UserInterface.py" line="1800"/>
         <source>Horizontal Toolbox</source>
         <translation>Vodorovná nástrojová lišta</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1801"/>
+        <location filename="../UI/UserInterface.py" line="1800"/>
         <source>&amp;Horizontal Toolbox</source>
         <translation>&amp;Horizontální lista nástrojů</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1805"/>
+        <location filename="../UI/UserInterface.py" line="1804"/>
         <source>Toggle the Horizontal Toolbox window</source>
         <translation>Přepnout na vodorovnou lištu nástrojů</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1807"/>
+        <location filename="../UI/UserInterface.py" line="1806"/>
         <source>&lt;b&gt;Toggle the Horizontal Toolbox window&lt;/b&gt;&lt;p&gt;If the Horizontal Toolbox window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Přepnout vodorovnou nástrojovou lištu&lt;/b&gt;&lt;p&gt;Pokud je vodorovná nástrojová lišta skryta, tak se zobrazí. Je-li zobrazena, skryje se.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4003"/>
+        <location filename="../UI/UserInterface.py" line="4002"/>
         <source>Restart application</source>
         <translation>Restartovat aplikaci</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4003"/>
+        <location filename="../UI/UserInterface.py" line="4002"/>
         <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="1758"/>
+        <location filename="../UI/UserInterface.py" line="1757"/>
         <source>Alt+Shift+A</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3045"/>
+        <location filename="../UI/UserInterface.py" line="3044"/>
         <source>Configure...</source>
         <translation>Konfigurovat...</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3447"/>
+        <location filename="../UI/UserInterface.py" line="3446"/>
         <source>&lt;p&gt;This part of the status bar displays the current editors eol setting.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Tato část status baru zobrazuje eol nastavení v aktuálním editoru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2622"/>
+        <location filename="../UI/UserInterface.py" line="2621"/>
         <source>Switch between tabs</source>
         <translation>Přepnout mezi taby</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2622"/>
+        <location filename="../UI/UserInterface.py" line="2621"/>
         <source>Ctrl+1</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2411"/>
+        <location filename="../UI/UserInterface.py" line="2410"/>
         <source>Export Preferences</source>
         <translation>Exportovat předvolby</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2411"/>
+        <location filename="../UI/UserInterface.py" line="2410"/>
         <source>E&amp;xport Preferences...</source>
         <translation>E&amp;xportovat předvolby...</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2416"/>
+        <location filename="../UI/UserInterface.py" line="2415"/>
         <source>Export the current configuration</source>
         <translation>Export aktuální konfigurace</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2418"/>
+        <location filename="../UI/UserInterface.py" line="2417"/>
         <source>&lt;b&gt;Export Preferences&lt;/b&gt;&lt;p&gt;Export the current configuration to a file.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Export předvoleb&lt;/b&gt;&lt;p&gt;Export aktuální konfigurace do souboru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2425"/>
+        <location filename="../UI/UserInterface.py" line="2424"/>
         <source>Import Preferences</source>
         <translation>Import předvoleb</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2425"/>
+        <location filename="../UI/UserInterface.py" line="2424"/>
         <source>I&amp;mport Preferences...</source>
         <translation>I&amp;mport předvoleb...</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2430"/>
+        <location filename="../UI/UserInterface.py" line="2429"/>
         <source>Import a previously exported configuration</source>
         <translation>Import dříve exportované konfigurace</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2432"/>
+        <location filename="../UI/UserInterface.py" line="2431"/>
         <source>&lt;b&gt;Import Preferences&lt;/b&gt;&lt;p&gt;Import a previously exported configuration.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Import předvoleb&lt;/b&gt;&lt;p&gt;Import dříve exportované konfigurace.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2604"/>
+        <location filename="../UI/UserInterface.py" line="2603"/>
         <source>Show next</source>
         <translation>Zobrazit další</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2613"/>
+        <location filename="../UI/UserInterface.py" line="2612"/>
         <source>Show previous</source>
         <translation>Zobrazit předchozí</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1815"/>
+        <location filename="../UI/UserInterface.py" line="1814"/>
         <source>Left Sidebar</source>
         <translation>Levé menu</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1815"/>
+        <location filename="../UI/UserInterface.py" line="1814"/>
         <source>&amp;Left Sidebar</source>
         <translation>&amp;Levé menu</translation>
     </message>
     <message>
+        <location filename="../UI/UserInterface.py" line="1818"/>
+        <source>Toggle the left sidebar window</source>
+        <translation>Přepnout okno levého menu</translation>
+    </message>
+    <message>
         <location filename="../UI/UserInterface.py" line="1819"/>
-        <source>Toggle the left sidebar window</source>
-        <translation>Přepnout okno levého menu</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="1820"/>
         <source>&lt;b&gt;Toggle the left sidebar window&lt;/b&gt;&lt;p&gt;If the left sidebar window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Přepnout okno levého menu&lt;/b&gt;&lt;p&gt;Je-li okno levého menu skryto, tak se zobrazí. Je-li zobrazeno, skryje se.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1842"/>
+        <location filename="../UI/UserInterface.py" line="1841"/>
         <source>Bottom Sidebar</source>
         <translation>Dolní menu</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1842"/>
+        <location filename="../UI/UserInterface.py" line="1841"/>
         <source>&amp;Bottom Sidebar</source>
         <translation>&amp;Dolní menu</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1846"/>
+        <location filename="../UI/UserInterface.py" line="1845"/>
         <source>Toggle the bottom sidebar window</source>
         <translation>Přepnout okno dolního menu</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1848"/>
+        <location filename="../UI/UserInterface.py" line="1847"/>
         <source>&lt;b&gt;Toggle the bottom sidebar window&lt;/b&gt;&lt;p&gt;If the bottom sidebar window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Přepnout okno dolního menu&lt;/b&gt;&lt;p&gt;Je-li okno dolního menu skryto, tak se zobrazí. Je-li zobrazeno, skryje se.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1669"/>
+        <location filename="../UI/UserInterface.py" line="1668"/>
         <source>&amp;Debug-Viewer</source>
         <translation>Prohlížeč &amp;debugeru</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2309"/>
+        <location filename="../UI/UserInterface.py" line="2308"/>
         <source>SQL Browser</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2309"/>
+        <location filename="../UI/UserInterface.py" line="2308"/>
         <source>SQL &amp;Browser...</source>
         <translation>SQL &amp;Browser...</translation>
     </message>
     <message>
+        <location filename="../UI/UserInterface.py" line="2313"/>
+        <source>Browse a SQL database</source>
+        <translation>Procházet SQL databázi</translation>
+    </message>
+    <message>
         <location filename="../UI/UserInterface.py" line="2314"/>
-        <source>Browse a SQL database</source>
-        <translation>Procházet SQL databázi</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2315"/>
         <source>&lt;b&gt;SQL Browser&lt;/b&gt;&lt;p&gt;Browse a SQL database.&lt;/p&gt;</source>
         <translation>&lt;b&gt;SQL Browser&lt;/b&gt;&lt;p&gt;Procházet SQL databázi.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2366"/>
+        <location filename="../UI/UserInterface.py" line="2365"/>
         <source>Icon Editor</source>
         <translation>Editor ikon</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2366"/>
+        <location filename="../UI/UserInterface.py" line="2365"/>
         <source>&amp;Icon Editor...</source>
         <translation>Editor &amp;ikon...</translation>
     </message>
@@ -79310,141 +79310,141 @@
         <translation type="obsolete">Qt 3 podpora</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2870"/>
+        <location filename="../UI/UserInterface.py" line="2869"/>
         <source>PySide Documentation</source>
         <translation>PySide dokumentace</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2870"/>
+        <location filename="../UI/UserInterface.py" line="2869"/>
         <source>Py&amp;Side Documentation</source>
         <translation>Py&amp;Side dokumentace</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2874"/>
+        <location filename="../UI/UserInterface.py" line="2873"/>
         <source>Open PySide Documentation</source>
         <translation>Otevřít PySide dokumentaci</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1488"/>
+        <location filename="../UI/UserInterface.py" line="1487"/>
         <source>{0} - Passive Mode</source>
         <translation>{0} - Pasivní mód</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1495"/>
+        <location filename="../UI/UserInterface.py" line="1494"/>
         <source>{0} - {1} - Passive Mode</source>
         <translation>{0} - {1} - pasivní mód</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1499"/>
+        <location filename="../UI/UserInterface.py" line="1498"/>
         <source>{0} - {1} - {2} - Passive Mode</source>
         <translation>{0} - {1} - {2} - pasivní mód</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3544"/>
+        <location filename="../UI/UserInterface.py" line="3543"/>
         <source>External Tools/{0}</source>
         <translation>Externí nástroje/{0}</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5210"/>
+        <location filename="../UI/UserInterface.py" line="5209"/>
         <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="4935"/>
+        <location filename="../UI/UserInterface.py" line="4934"/>
         <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="5005"/>
+        <location filename="../UI/UserInterface.py" line="5004"/>
         <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="5049"/>
+        <location filename="../UI/UserInterface.py" line="5048"/>
         <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="5096"/>
+        <location filename="../UI/UserInterface.py" line="5095"/>
         <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="5166"/>
+        <location filename="../UI/UserInterface.py" line="5165"/>
         <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="5223"/>
+        <location filename="../UI/UserInterface.py" line="5222"/>
         <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="5246"/>
+        <location filename="../UI/UserInterface.py" line="5245"/>
         <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="5341"/>
+        <location filename="../UI/UserInterface.py" line="5340"/>
         <source>No tool entry found for external tool &apos;{0}&apos; in tool group &apos;{1}&apos;.</source>
         <translation>V externím nástroji  &apos;{0}&apos; ve skupině &apos;{1}&apos; nebyl záznam nástroje nalezen.</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5350"/>
+        <location filename="../UI/UserInterface.py" line="5349"/>
         <source>No toolgroup entry &apos;{0}&apos; found.</source>
         <translation>Skupina nástrojů &apos;{0}&apos; nenalezena. </translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5389"/>
+        <location filename="../UI/UserInterface.py" line="5388"/>
         <source>Starting process &apos;{0} {1}&apos;.
 </source>
         <translation>Spouštím proces &apos;{0} {1}&apos;.
 </translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5405"/>
+        <location filename="../UI/UserInterface.py" line="5404"/>
         <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="5483"/>
+        <location filename="../UI/UserInterface.py" line="5482"/>
         <source>Process &apos;{0}&apos; has exited.
 </source>
         <translation>Proces &apos;{0}&apos; byl ukončen.
 </translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5886"/>
+        <location filename="../UI/UserInterface.py" line="5882"/>
         <source>&lt;p&gt;The documentation starting point &quot;&lt;b&gt;{0}&lt;/b&gt;&quot; could not be found.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Adresář dokumentace &quot;&lt;b&gt;{0}&lt;/b&gt;&quot; nebyl nalezen.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6488"/>
+        <location filename="../UI/UserInterface.py" line="6484"/>
         <source>&lt;p&gt;The tasks file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Do souboru s úlohami &lt;b&gt;{0}&lt;/b&gt; nelze zapisovat.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6517"/>
+        <location filename="../UI/UserInterface.py" line="6513"/>
         <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="6551"/>
+        <location filename="../UI/UserInterface.py" line="6547"/>
         <source>&lt;p&gt;The session file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Zápis do souboru relace session &lt;b&gt;{0}&lt;/b&gt; se nezdařil.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6597"/>
+        <location filename="../UI/UserInterface.py" line="6593"/>
         <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="6881"/>
+        <location filename="../UI/UserInterface.py" line="6877"/>
         <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="7075"/>
+        <location filename="../UI/UserInterface.py" line="7071"/>
         <source>Trying host {0}</source>
         <translation>Zkouším host {0}</translation>
     </message>
@@ -79454,7 +79454,7 @@
         <translation>Spolupráce</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1857"/>
+        <location filename="../UI/UserInterface.py" line="1856"/>
         <source>Alt+Shift+O</source>
         <translation></translation>
     </message>
@@ -79464,7 +79464,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1894"/>
+        <location filename="../UI/UserInterface.py" line="1893"/>
         <source>Alt+Shift+Y</source>
         <translation type="unfinished"></translation>
     </message>
@@ -79474,72 +79474,72 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1913"/>
+        <location filename="../UI/UserInterface.py" line="1912"/>
         <source>Alt+Shift+B</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6318"/>
+        <location filename="../UI/UserInterface.py" line="6314"/>
         <source>Keyboard shortcut file (*.e4k)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2806"/>
+        <location filename="../UI/UserInterface.py" line="2805"/>
         <source>Python 3 Documentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2806"/>
+        <location filename="../UI/UserInterface.py" line="2805"/>
         <source>Python &amp;3 Documentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2810"/>
+        <location filename="../UI/UserInterface.py" line="2809"/>
         <source>Open Python 3 Documentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2824"/>
+        <location filename="../UI/UserInterface.py" line="2823"/>
         <source>Python 2 Documentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2824"/>
+        <location filename="../UI/UserInterface.py" line="2823"/>
         <source>Python &amp;2 Documentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2828"/>
+        <location filename="../UI/UserInterface.py" line="2827"/>
         <source>Open Python 2 Documentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2830"/>
+        <location filename="../UI/UserInterface.py" line="2829"/>
         <source>&lt;b&gt;Python 2 Documentation&lt;/b&gt;&lt;p&gt;Display the Python 2 documentation. If no documentation directory is configured, the location of the Python 2 documentation is assumed to be the doc directory underneath the location of the configured Python 2 executable on Windows and &lt;i&gt;/usr/share/doc/packages/python/html/python-docs-html&lt;/i&gt; on Unix. Set PYTHON2DOCDIR in your environment to override this. &lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7141"/>
+        <location filename="../UI/UserInterface.py" line="7137"/>
         <source>Error getting versions information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7134"/>
+        <location filename="../UI/UserInterface.py" line="7130"/>
         <source>The versions information could not be downloaded. Please go online and try again.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6086"/>
+        <location filename="../UI/UserInterface.py" line="6082"/>
         <source>Open Browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6086"/>
+        <location filename="../UI/UserInterface.py" line="6082"/>
         <source>Could not start a web browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7141"/>
+        <location filename="../UI/UserInterface.py" line="7137"/>
         <source>The versions information could not be downloaded for the last 7 days. Please go online and try again.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -79564,533 +79564,533 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1581"/>
+        <location filename="../UI/UserInterface.py" line="1580"/>
         <source>New Window</source>
         <translation type="unfinished">Nové okno</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1581"/>
+        <location filename="../UI/UserInterface.py" line="1580"/>
         <source>New &amp;Window</source>
         <translation type="unfinished">&amp;Nové okno</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1581"/>
+        <location filename="../UI/UserInterface.py" line="1580"/>
         <source>Ctrl+Shift+N</source>
         <comment>File|New Window</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2156"/>
+        <location filename="../UI/UserInterface.py" line="2155"/>
         <source>Unittest Rerun Failed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2156"/>
+        <location filename="../UI/UserInterface.py" line="2155"/>
         <source>Rerun Failed Tests...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2161"/>
+        <location filename="../UI/UserInterface.py" line="2160"/>
         <source>Rerun failed tests of the last run</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2163"/>
+        <location filename="../UI/UserInterface.py" line="2162"/>
         <source>&lt;b&gt;Rerun Failed Tests&lt;/b&gt;&lt;p&gt;Rerun all tests that failed during the last unittest run.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2295"/>
+        <location filename="../UI/UserInterface.py" line="2294"/>
         <source>Compare &amp;Files side by side...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2380"/>
+        <location filename="../UI/UserInterface.py" line="2379"/>
         <source>Snapshot</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2380"/>
+        <location filename="../UI/UserInterface.py" line="2379"/>
         <source>&amp;Snapshot...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2385"/>
+        <location filename="../UI/UserInterface.py" line="2384"/>
         <source>Take snapshots of a screen region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2387"/>
+        <location filename="../UI/UserInterface.py" line="2386"/>
         <source>&lt;b&gt;Snapshot&lt;/b&gt;&lt;p&gt;This opens a dialog to take snapshots of a screen region.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5318"/>
+        <location filename="../UI/UserInterface.py" line="5317"/>
         <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"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7347"/>
+        <location filename="../UI/UserInterface.py" line="7343"/>
         <source>Select Workspace Directory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1776"/>
+        <location filename="../UI/UserInterface.py" line="1775"/>
         <source>Left Toolbox</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1788"/>
+        <location filename="../UI/UserInterface.py" line="1787"/>
         <source>Right Toolbox</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1640"/>
+        <location filename="../UI/UserInterface.py" line="1639"/>
         <source>Switch the input focus to the Project-Viewer window.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1642"/>
+        <location filename="../UI/UserInterface.py" line="1641"/>
         <source>&lt;b&gt;Activate Project-Viewer&lt;/b&gt;&lt;p&gt;This switches the input focus to the Project-Viewer window.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1657"/>
+        <location filename="../UI/UserInterface.py" line="1656"/>
         <source>Switch the input focus to the Multiproject-Viewer window.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1659"/>
+        <location filename="../UI/UserInterface.py" line="1658"/>
         <source>&lt;b&gt;Activate Multiproject-Viewer&lt;/b&gt;&lt;p&gt;This switches the input focus to the Multiproject-Viewer window.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1675"/>
+        <location filename="../UI/UserInterface.py" line="1674"/>
         <source>Switch the input focus to the Debug-Viewer window.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1677"/>
+        <location filename="../UI/UserInterface.py" line="1676"/>
         <source>&lt;b&gt;Activate Debug-Viewer&lt;/b&gt;&lt;p&gt;This switches the input focus to the Debug-Viewer window.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1693"/>
+        <location filename="../UI/UserInterface.py" line="1692"/>
         <source>Switch the input focus to the Shell window.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1695"/>
+        <location filename="../UI/UserInterface.py" line="1694"/>
         <source>&lt;b&gt;Activate Shell&lt;/b&gt;&lt;p&gt;This switches the input focus to the Shell window.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1704"/>
+        <location filename="../UI/UserInterface.py" line="1703"/>
         <source>&amp;File-Browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1710"/>
+        <location filename="../UI/UserInterface.py" line="1709"/>
         <source>Switch the input focus to the File-Browser window.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1712"/>
+        <location filename="../UI/UserInterface.py" line="1711"/>
         <source>&lt;b&gt;Activate File-Browser&lt;/b&gt;&lt;p&gt;This switches the input focus to the File-Browser window.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1721"/>
+        <location filename="../UI/UserInterface.py" line="1720"/>
         <source>Lo&amp;g-Viewer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1727"/>
+        <location filename="../UI/UserInterface.py" line="1726"/>
         <source>Switch the input focus to the Log-Viewer window.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1729"/>
+        <location filename="../UI/UserInterface.py" line="1728"/>
         <source>&lt;b&gt;Activate Log-Viewer&lt;/b&gt;&lt;p&gt;This switches the input focus to the Log-Viewer window.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1739"/>
+        <location filename="../UI/UserInterface.py" line="1738"/>
         <source>&amp;Task-Viewer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1745"/>
+        <location filename="../UI/UserInterface.py" line="1744"/>
         <source>Switch the input focus to the Task-Viewer window.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1758"/>
+        <location filename="../UI/UserInterface.py" line="1757"/>
         <source>Templ&amp;ate-Viewer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1764"/>
+        <location filename="../UI/UserInterface.py" line="1763"/>
         <source>Switch the input focus to the Template-Viewer window.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1766"/>
+        <location filename="../UI/UserInterface.py" line="1765"/>
         <source>&lt;b&gt;Activate Template-Viewer&lt;/b&gt;&lt;p&gt;This switches the input focus to the Template-Viewer window.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1776"/>
+        <location filename="../UI/UserInterface.py" line="1775"/>
         <source>&amp;Left Toolbox</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../UI/UserInterface.py" line="1778"/>
+        <source>Toggle the Left Toolbox window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../UI/UserInterface.py" line="1779"/>
-        <source>Toggle the Left Toolbox window</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="1780"/>
         <source>&lt;b&gt;Toggle the Left Toolbox window&lt;/b&gt;&lt;p&gt;If the Left Toolbox window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1788"/>
+        <location filename="../UI/UserInterface.py" line="1787"/>
         <source>&amp;Right Toolbox</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../UI/UserInterface.py" line="1791"/>
+        <source>Toggle the Right Toolbox window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../UI/UserInterface.py" line="1792"/>
-        <source>Toggle the Right Toolbox window</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="1793"/>
         <source>&lt;b&gt;Toggle the Right Toolbox window&lt;/b&gt;&lt;p&gt;If the Right Toolbox window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1828"/>
+        <location filename="../UI/UserInterface.py" line="1827"/>
         <source>Right Sidebar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1828"/>
+        <location filename="../UI/UserInterface.py" line="1827"/>
         <source>&amp;Right Sidebar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1832"/>
+        <location filename="../UI/UserInterface.py" line="1831"/>
         <source>Toggle the right sidebar window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1834"/>
+        <location filename="../UI/UserInterface.py" line="1833"/>
         <source>&lt;b&gt;Toggle the right sidebar window&lt;/b&gt;&lt;p&gt;If the right sidebar window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1857"/>
+        <location filename="../UI/UserInterface.py" line="1856"/>
         <source>Cooperation-Viewer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1857"/>
+        <location filename="../UI/UserInterface.py" line="1856"/>
         <source>Co&amp;operation-Viewer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1863"/>
+        <location filename="../UI/UserInterface.py" line="1862"/>
         <source>Switch the input focus to the Cooperation-Viewer window.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1865"/>
+        <location filename="../UI/UserInterface.py" line="1864"/>
         <source>&lt;b&gt;Activate Cooperation-Viewer&lt;/b&gt;&lt;p&gt;This switches the input focus to the Cooperation-Viewer window.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1894"/>
+        <location filename="../UI/UserInterface.py" line="1893"/>
         <source>Symbols-Viewer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1894"/>
+        <location filename="../UI/UserInterface.py" line="1893"/>
         <source>S&amp;ymbols-Viewer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1900"/>
+        <location filename="../UI/UserInterface.py" line="1899"/>
         <source>Switch the input focus to the Symbols-Viewer window.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1902"/>
+        <location filename="../UI/UserInterface.py" line="1901"/>
         <source>&lt;b&gt;Activate Symbols-Viewer&lt;/b&gt;&lt;p&gt;This switches the input focus to the Symbols-Viewer window.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1913"/>
+        <location filename="../UI/UserInterface.py" line="1912"/>
         <source>Numbers-Viewer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1913"/>
+        <location filename="../UI/UserInterface.py" line="1912"/>
         <source>Num&amp;bers-Viewer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1919"/>
+        <location filename="../UI/UserInterface.py" line="1918"/>
         <source>Switch the input focus to the Numbers-Viewer window.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1921"/>
+        <location filename="../UI/UserInterface.py" line="1920"/>
         <source>&lt;b&gt;Activate Numbers-Viewer&lt;/b&gt;&lt;p&gt;This switches the input focus to the Numbers-Viewer window.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3122"/>
+        <location filename="../UI/UserInterface.py" line="3121"/>
         <source>&amp;Windows</source>
         <translation type="unfinished">&amp;Windows</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1747"/>
+        <location filename="../UI/UserInterface.py" line="1746"/>
         <source>&lt;b&gt;Activate Task-Viewer&lt;/b&gt;&lt;p&gt;This switches the input focus to the Task-Viewer window.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1876"/>
+        <location filename="../UI/UserInterface.py" line="1875"/>
         <source>IRC</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1876"/>
+        <location filename="../UI/UserInterface.py" line="1875"/>
         <source>&amp;IRC</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1882"/>
+        <location filename="../UI/UserInterface.py" line="1881"/>
         <source>Switch the input focus to the IRC window.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1884"/>
+        <location filename="../UI/UserInterface.py" line="1883"/>
         <source>&lt;b&gt;Activate IRC&lt;/b&gt;&lt;p&gt;This switches the input focus to the IRC window.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2214"/>
+        <location filename="../UI/UserInterface.py" line="2213"/>
         <source>Qt-Designer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2214"/>
+        <location filename="../UI/UserInterface.py" line="2213"/>
         <source>Qt-&amp;Designer...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../UI/UserInterface.py" line="2218"/>
+        <source>Start Qt-Designer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../UI/UserInterface.py" line="2219"/>
-        <source>Start Qt-Designer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2220"/>
         <source>&lt;b&gt;Qt-Designer&lt;/b&gt;&lt;p&gt;Start Qt-Designer.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2240"/>
+        <location filename="../UI/UserInterface.py" line="2239"/>
         <source>Qt-Linguist</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2240"/>
+        <location filename="../UI/UserInterface.py" line="2239"/>
         <source>Qt-&amp;Linguist...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../UI/UserInterface.py" line="2244"/>
+        <source>Start Qt-Linguist</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../UI/UserInterface.py" line="2245"/>
-        <source>Start Qt-Linguist</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2246"/>
         <source>&lt;b&gt;Qt-Linguist&lt;/b&gt;&lt;p&gt;Start Qt-Linguist.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2751"/>
+        <location filename="../UI/UserInterface.py" line="2750"/>
         <source>Qt5 Documentation</source>
         <translation type="unfinished">Qt4 dokumentace {5 ?}</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2751"/>
+        <location filename="../UI/UserInterface.py" line="2750"/>
         <source>Qt&amp;5 Documentation</source>
         <translation type="unfinished">Qt&amp;4 dokumentace {5 ?}</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2755"/>
+        <location filename="../UI/UserInterface.py" line="2754"/>
         <source>Open Qt5 Documentation</source>
         <translation type="unfinished">Otevřít Qt4 dokumentaci {5 ?}</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2544"/>
+        <location filename="../UI/UserInterface.py" line="2543"/>
         <source>Manage SSL Certificates</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2544"/>
+        <location filename="../UI/UserInterface.py" line="2543"/>
         <source>Manage SSL Certificates...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2549"/>
+        <location filename="../UI/UserInterface.py" line="2548"/>
         <source>Manage the saved SSL certificates</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2551"/>
+        <location filename="../UI/UserInterface.py" line="2550"/>
         <source>&lt;b&gt;Manage SSL Certificates...&lt;/b&gt;&lt;p&gt;Opens a dialog to manage the saved SSL certificates.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2560"/>
+        <location filename="../UI/UserInterface.py" line="2559"/>
         <source>Edit Message Filters</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2560"/>
+        <location filename="../UI/UserInterface.py" line="2559"/>
         <source>Edit Message Filters...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2565"/>
+        <location filename="../UI/UserInterface.py" line="2564"/>
         <source>Edit the message filters used to suppress unwanted messages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2567"/>
+        <location filename="../UI/UserInterface.py" line="2566"/>
         <source>&lt;b&gt;Edit Message Filters&lt;/b&gt;&lt;p&gt;Opens a dialog to edit the message filters used to suppress unwanted messages been shown in an error window.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2768"/>
+        <location filename="../UI/UserInterface.py" line="2767"/>
         <source>PyQt&amp;4 Documentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2785"/>
+        <location filename="../UI/UserInterface.py" line="2784"/>
         <source>PyQt5 Documentation</source>
         <translation type="unfinished">PyQt4 dokumentace {5 ?}</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2785"/>
+        <location filename="../UI/UserInterface.py" line="2784"/>
         <source>PyQt&amp;5 Documentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2789"/>
+        <location filename="../UI/UserInterface.py" line="2788"/>
         <source>Open PyQt5 Documentation</source>
         <translation type="unfinished">Otevřít PyQt4 dokumentaci {5 ?}</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5756"/>
+        <location filename="../UI/UserInterface.py" line="5754"/>
         <source>&lt;p&gt;The PyQt5 documentation starting point has not been configured.&lt;/p&gt;</source>
         <translation type="unfinished">&lt;p&gt;Adresář PyQt4 dokumentace není nakonfigurován.&lt;/p&gt; {5 ?}</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2812"/>
+        <location filename="../UI/UserInterface.py" line="2811"/>
         <source>&lt;b&gt;Python 3 Documentation&lt;/b&gt;&lt;p&gt;Display the Python 3 documentation. If no documentation directory is configured, the location of the Python 3 documentation is assumed to be the doc directory underneath the location of the Python 3 executable on Windows and &lt;i&gt;/usr/share/doc/packages/python/html&lt;/i&gt; on Unix. Set PYTHON3DOCDIR in your environment to override this.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../UI/UserInterface.py" line="7062"/>
+        <source>%v/%m</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../UI/UserInterface.py" line="2092"/>
+        <source>Show Error Log</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../UI/UserInterface.py" line="2088"/>
+        <source>Show Error &amp;Log...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../UI/UserInterface.py" line="2093"/>
+        <source>&lt;b&gt;Show Error Log...&lt;/b&gt;&lt;p&gt;Opens a dialog showing the most recent error log.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../UI/UserInterface.py" line="7066"/>
-        <source>%v/%m</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2093"/>
-        <source>Show Error Log</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2089"/>
-        <source>Show Error &amp;Log...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2094"/>
-        <source>&lt;b&gt;Show Error Log...&lt;/b&gt;&lt;p&gt;Opens a dialog showing the most recent error log.&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="7070"/>
         <source>Version Check</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1587"/>
+        <location filename="../UI/UserInterface.py" line="1586"/>
         <source>Open a new eric6 instance</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1589"/>
+        <location filename="../UI/UserInterface.py" line="1588"/>
         <source>&lt;b&gt;New Window&lt;/b&gt;&lt;p&gt;This opens a new instance of the eric6 IDE.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2032"/>
+        <location filename="../UI/UserInterface.py" line="2031"/>
         <source>&lt;b&gt;Helpviewer&lt;/b&gt;&lt;p&gt;Display the eric6 web browser. This window will show HTML help files and help from Qt help collections. It has the capability to navigate to links, set bookmarks, print the displayed help and some more features. You may use it to browse the internet as well&lt;/p&gt;&lt;p&gt;If called with a word selected, this word is search in the Qt help collection.&lt;/p&gt;</source>
         <translation type="unfinished">&lt;b&gt;Prohlížeč nápovědy&lt;/b&gt;&lt;p&gt;Otevře se eric5 web prohlížeč. Toto okno zobrazuje HTML soubory s nápovědou z Qt kolekce. Má schopnosti navigovat přes odkazy, nastavovat záložky, tisknout zobrazenou nápovědu a další možnosti. Můžete jej také použít pro procházení internetem&lt;/p&gt;&lt;p&gt;Je-li otevřen s hledaným slovem, je toto slovo hledáno v Qt nápovědách.&lt;/p&gt; {6 ?}</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2067"/>
+        <location filename="../UI/UserInterface.py" line="2066"/>
         <source>&lt;b&gt;Check for Updates...&lt;/b&gt;&lt;p&gt;Checks the internet for updates of eric6.&lt;/p&gt;</source>
         <translation type="unfinished">&lt;b&gt;Zjistit aktualizace&lt;/b&gt;&lt;p&gt;Zkontroluje přes internet jestli existují nějaké aktualizace Eric5.&lt;/p&gt; {6.?}</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2080"/>
+        <location filename="../UI/UserInterface.py" line="2079"/>
         <source>&lt;b&gt;Show downloadable versions...&lt;/b&gt;&lt;p&gt;Shows the eric6 versions available for download from the internet.&lt;/p&gt;</source>
         <translation type="unfinished">&lt;b&gt;Zobrazit dostupné verze ke stažení&lt;/b&gt;&lt;p&gt;Zobrazit dostupné verze eric5 pro stažení z internetu.&lt;/p&gt; {6 ?}</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2350"/>
+        <location filename="../UI/UserInterface.py" line="2349"/>
         <source>eric6 Web Browser</source>
         <translation type="unfinished">eric5 web prohlížeč {6 ?}</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2350"/>
+        <location filename="../UI/UserInterface.py" line="2349"/>
         <source>eric6 &amp;Web Browser...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2355"/>
+        <location filename="../UI/UserInterface.py" line="2354"/>
         <source>Start the eric6 Web Browser</source>
         <translation type="unfinished">Spustit eric5 web prohlížeč {6 ?}</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2357"/>
+        <location filename="../UI/UserInterface.py" line="2356"/>
         <source>&lt;b&gt;eric6 Web Browser&lt;/b&gt;&lt;p&gt;Browse the Internet with the eric6 Web Browser.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2371"/>
+        <location filename="../UI/UserInterface.py" line="2370"/>
         <source>Start the eric6 Icon Editor</source>
         <translation type="unfinished">Spustit eric5 editor ikon {6 ?}</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2373"/>
+        <location filename="../UI/UserInterface.py" line="2372"/>
         <source>&lt;b&gt;Icon Editor&lt;/b&gt;&lt;p&gt;Starts the eric6 Icon Editor for editing simple icons.&lt;/p&gt;</source>
         <translation type="unfinished">&lt;b&gt;Editor ikon&lt;/b&gt;&lt;p&gt;Spustí se eric5 editor ikon pro jednoduchou editaci ikon.&lt;/p&gt; {6 ?}</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2459"/>
+        <location filename="../UI/UserInterface.py" line="2458"/>
         <source>&lt;b&gt;Show external tools&lt;/b&gt;&lt;p&gt;Opens a dialog to show the path and versions of all extenal tools used by eric6.&lt;/p&gt;</source>
         <translation type="unfinished">&lt;b&gt;Zobrazit externí nástroje&lt;/b&gt;&lt;p&gt;Otevře dialog pro zobrazení cesty a verze externích nástrojů používaných Eric5.&lt;/p&gt; {6.?}</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2854"/>
+        <location filename="../UI/UserInterface.py" line="2853"/>
         <source>&lt;b&gt;Eric API Documentation&lt;/b&gt;&lt;p&gt;Display the Eric API documentation. The location for the documentation is the Documentation/Source subdirectory of the eric6 installation directory.&lt;/p&gt;</source>
         <translation type="unfinished">&lt;b&gt;Eric API dokumentace&lt;/b&gt;&lt;p&gt;Zobrazit Eric API dokumentaci. Umístění dokumentace je v podadresáři Documentation/Source v instalačním adresáři eric5.&lt;/p&gt; {6 ?}</translation>
     </message>
@@ -80100,22 +80100,22 @@
         <translation type="obsolete">Qt v.3 není podporováno v eric5. {3 ?} {6.?}</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7233"/>
+        <location filename="../UI/UserInterface.py" line="7229"/>
         <source>The update to &lt;b&gt;{0}&lt;/b&gt; of eric6 is available at &lt;b&gt;{1}&lt;/b&gt;. Would you like to get it?</source>
         <translation type="unfinished">Aktualizace &lt;b&gt;{0}&lt;/b&gt; eric5 je připravena na &lt;b&gt;{1}&lt;/b&gt;. Chcete ji stáhnout a nainstalovat? {0}?} {6 ?} {1}?}</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7245"/>
+        <location filename="../UI/UserInterface.py" line="7241"/>
         <source>Eric6 is up to date</source>
         <translation type="unfinished">Eric5 je aktuální {6 ?}</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7245"/>
+        <location filename="../UI/UserInterface.py" line="7241"/>
         <source>You are using the latest version of eric6</source>
         <translation type="unfinished">Používáte poslední verzi eric6</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7328"/>
+        <location filename="../UI/UserInterface.py" line="7324"/>
         <source>eric6 has not been configured yet. The configuration dialog will be started.</source>
         <translation type="unfinished">eric5 nebyl ještě nakonfigurován. Bude spuštěn konfigurační dialog. {6 ?}</translation>
     </message>
@@ -80125,87 +80125,87 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4059"/>
+        <location filename="../UI/UserInterface.py" line="4058"/>
         <source>&amp;User Tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4131"/>
+        <location filename="../UI/UserInterface.py" line="4130"/>
         <source>No User Tools Configured</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7086"/>
+        <location filename="../UI/UserInterface.py" line="7082"/>
         <source>The versions information cannot not be downloaded because you are &lt;b&gt;offline&lt;/b&gt;. Please go online and try again.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2335"/>
+        <location filename="../UI/UserInterface.py" line="2334"/>
         <source>Hex Editor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2335"/>
+        <location filename="../UI/UserInterface.py" line="2334"/>
         <source>&amp;Hex Editor...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2340"/>
+        <location filename="../UI/UserInterface.py" line="2339"/>
         <source>Start the eric6 Hex Editor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2342"/>
+        <location filename="../UI/UserInterface.py" line="2341"/>
         <source>&lt;b&gt;Hex Editor&lt;/b&gt;&lt;p&gt;Starts the eric6 Hex Editor for viewing or editing binary files.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2583"/>
+        <location filename="../UI/UserInterface.py" line="2582"/>
         <source>Clear private data</source>
         <translation type="unfinished">Smazat soukromá data</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2585"/>
+        <location filename="../UI/UserInterface.py" line="2584"/>
         <source>&lt;b&gt;Clear private data&lt;/b&gt;&lt;p&gt;Clears the private data like the various list of recently opened files, projects or multi projects.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1555"/>
+        <location filename="../UI/UserInterface.py" line="1554"/>
         <source>Save session...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1560"/>
+        <location filename="../UI/UserInterface.py" line="1559"/>
         <source>&lt;b&gt;Save session...&lt;/b&gt;&lt;p&gt;This saves the current session to disk. A dialog is opened to select the file name.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6635"/>
+        <location filename="../UI/UserInterface.py" line="6631"/>
         <source>Load session</source>
         <translation type="unfinished">Načíst relaci</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1568"/>
+        <location filename="../UI/UserInterface.py" line="1567"/>
         <source>Load session...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1573"/>
+        <location filename="../UI/UserInterface.py" line="1572"/>
         <source>&lt;b&gt;Load session...&lt;/b&gt;&lt;p&gt;This loads a session saved to disk previously. A dialog is opened to select the file name.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6635"/>
+        <location filename="../UI/UserInterface.py" line="6631"/>
         <source>eric6 Session Files (*.e5s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6686"/>
+        <location filename="../UI/UserInterface.py" line="6682"/>
         <source>Crash Session found!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6686"/>
+        <location filename="../UI/UserInterface.py" line="6682"/>
         <source>A session file of a crashed session was found. Shall this session be restored?</source>
         <translation type="unfinished"></translation>
     </message>
@@ -80220,268 +80220,268 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7221"/>
+        <location filename="../UI/UserInterface.py" line="7217"/>
         <source>Update Check</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7221"/>
+        <location filename="../UI/UserInterface.py" line="7217"/>
         <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"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7211"/>
+        <location filename="../UI/UserInterface.py" line="7207"/>
         <source>You are using a snapshot release of eric6. A more up-to-date stable release might be available.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1932"/>
+        <location filename="../UI/UserInterface.py" line="1931"/>
         <source>Code Documentation Viewer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2741"/>
+        <location filename="../UI/UserInterface.py" line="2740"/>
         <source>&lt;b&gt;Qt4 Documentation&lt;/b&gt;&lt;p&gt;Display the Qt4 Documentation. Dependent upon your settings, this will either show the help in Eric&apos;s internal help viewer/web browser, or execute a web browser or Qt Assistant. &lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2756"/>
+        <location filename="../UI/UserInterface.py" line="2755"/>
         <source>&lt;b&gt;Qt5 Documentation&lt;/b&gt;&lt;p&gt;Display the Qt5 Documentation. Dependent upon your settings, this will either show the help in Eric&apos;s internal help viewer/web browser, or execute a web browser or Qt Assistant. &lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2773"/>
+        <location filename="../UI/UserInterface.py" line="2772"/>
         <source>&lt;b&gt;PyQt4 Documentation&lt;/b&gt;&lt;p&gt;Display the PyQt4 Documentation. Dependent upon your settings, this will either show the help in Eric&apos;s internal help viewer/web browser, or execute a web browser or Qt Assistant. &lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2791"/>
+        <location filename="../UI/UserInterface.py" line="2790"/>
         <source>&lt;b&gt;PyQt5 Documentation&lt;/b&gt;&lt;p&gt;Display the PyQt5 Documentation. Dependent upon your settings, this will either show the help in Eric&apos;s internal help viewer/web browser, or execute a web browser or Qt Assistant. &lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2876"/>
+        <location filename="../UI/UserInterface.py" line="2875"/>
         <source>&lt;b&gt;PySide Documentation&lt;/b&gt;&lt;p&gt;Display the PySide Documentation. Dependent upon your settings, this will either show the help in Eric&apos;s internal help viewer/web browser, or execute a web browser or Qt Assistant. &lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2891"/>
+        <location filename="../UI/UserInterface.py" line="2890"/>
         <source>PySide2 Documentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2891"/>
+        <location filename="../UI/UserInterface.py" line="2890"/>
         <source>PySide&amp;2 Documentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2895"/>
+        <location filename="../UI/UserInterface.py" line="2894"/>
         <source>Open PySide2 Documentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2897"/>
+        <location filename="../UI/UserInterface.py" line="2896"/>
         <source>&lt;b&gt;PySide2 Documentation&lt;/b&gt;&lt;p&gt;Display the PySide2 Documentation. Dependent upon your settings, this will either show the help in Eric&apos;s internal help viewer/web browser, or execute a web browser or Qt Assistant. &lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5869"/>
+        <location filename="../UI/UserInterface.py" line="5865"/>
         <source>&lt;p&gt;The PySide{0} documentation starting point has not been configured.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2691"/>
+        <location filename="../UI/UserInterface.py" line="2690"/>
         <source>Virtualenv Manager</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2685"/>
+        <location filename="../UI/UserInterface.py" line="2684"/>
         <source>&amp;Virtualenv Manager...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2693"/>
+        <location filename="../UI/UserInterface.py" line="2692"/>
         <source>&lt;b&gt;Virtualenv Manager&lt;/b&gt;&lt;p&gt;This opens a dialog to manage the defined Python virtual environments.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2708"/>
+        <location filename="../UI/UserInterface.py" line="2707"/>
         <source>Virtualenv Configurator</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2702"/>
+        <location filename="../UI/UserInterface.py" line="2701"/>
         <source>Virtualenv &amp;Configurator...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2710"/>
+        <location filename="../UI/UserInterface.py" line="2709"/>
         <source>&lt;b&gt;Virtualenv Configurator&lt;/b&gt;&lt;p&gt;This opens a dialog for entering all the parameters needed to create a Python virtual environment using virtualenv or pyvenv.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3129"/>
+        <location filename="../UI/UserInterface.py" line="3128"/>
         <source>Left Side</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3141"/>
+        <location filename="../UI/UserInterface.py" line="3140"/>
         <source>Bottom Side</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3148"/>
+        <location filename="../UI/UserInterface.py" line="3147"/>
         <source>Right Side</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3168"/>
+        <location filename="../UI/UserInterface.py" line="3167"/>
         <source>Plug-ins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1539"/>
+        <location filename="../UI/UserInterface.py" line="1538"/>
         <source>Restart</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1539"/>
+        <location filename="../UI/UserInterface.py" line="1538"/>
         <source>Ctrl+Shift+Q</source>
         <comment>File|Quit</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../UI/UserInterface.py" line="1544"/>
+        <source>Restart the IDE</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../UI/UserInterface.py" line="1545"/>
-        <source>Restart the IDE</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="1546"/>
         <source>&lt;b&gt;Restart the IDE&lt;/b&gt;&lt;p&gt;This restarts the IDE. Any unsaved changes may be saved first. Any Python program being debugged will be stopped and the preferences will be written to disc.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6043"/>
+        <location filename="../UI/UserInterface.py" line="6039"/>
         <source>Start Web Browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5982"/>
+        <location filename="../UI/UserInterface.py" line="5978"/>
         <source>The eric6 web browser could not be started.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6043"/>
+        <location filename="../UI/UserInterface.py" line="6039"/>
         <source>&lt;p&gt;The eric6 web browser is not started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1970"/>
+        <location filename="../UI/UserInterface.py" line="1969"/>
         <source>Conda</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1952"/>
+        <location filename="../UI/UserInterface.py" line="1951"/>
         <source>PyPI</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3479"/>
+        <location filename="../UI/UserInterface.py" line="3478"/>
         <source>&lt;p&gt;This part of the status bar allows zooming the current editor or shell.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1988"/>
+        <location filename="../UI/UserInterface.py" line="1987"/>
         <source>MicroPython</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1876"/>
+        <location filename="../UI/UserInterface.py" line="1875"/>
         <source>Ctrl+Alt+Shift+I</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1932"/>
+        <location filename="../UI/UserInterface.py" line="1931"/>
         <source>Ctrl+Alt+Shift+D</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1938"/>
+        <location filename="../UI/UserInterface.py" line="1937"/>
         <source>Switch the input focus to the Code Documentation Viewer window.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1941"/>
+        <location filename="../UI/UserInterface.py" line="1940"/>
         <source>&lt;b&gt;Code Documentation Viewer&lt;/b&gt;&lt;p&gt;This switches the input focus to the Code Documentation Viewer window.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1952"/>
+        <location filename="../UI/UserInterface.py" line="1951"/>
         <source>Ctrl+Alt+Shift+P</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1958"/>
+        <location filename="../UI/UserInterface.py" line="1957"/>
         <source>Switch the input focus to the PyPI window.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1960"/>
+        <location filename="../UI/UserInterface.py" line="1959"/>
         <source>&lt;b&gt;PyPI&lt;/b&gt;&lt;p&gt;This switches the input focus to the PyPI window.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1970"/>
+        <location filename="../UI/UserInterface.py" line="1969"/>
         <source>Ctrl+Alt+Shift+C</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1976"/>
+        <location filename="../UI/UserInterface.py" line="1975"/>
         <source>Switch the input focus to the Conda window.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1978"/>
+        <location filename="../UI/UserInterface.py" line="1977"/>
         <source>&lt;b&gt;Conda&lt;/b&gt;&lt;p&gt;This switches the input focus to the Conda window.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1988"/>
+        <location filename="../UI/UserInterface.py" line="1987"/>
         <source>Ctrl+Alt+Shift+M</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1994"/>
+        <location filename="../UI/UserInterface.py" line="1993"/>
         <source>Switch the input focus to the MicroPython window.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1996"/>
+        <location filename="../UI/UserInterface.py" line="1995"/>
         <source>&lt;b&gt;MicroPython&lt;/b&gt;&lt;p&gt;This switches the input focus to the MicroPython window.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3126"/>
+        <location filename="../UI/UserInterface.py" line="3125"/>
         <source>Central Park</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3650"/>
+        <location filename="../UI/UserInterface.py" line="3649"/>
         <source>&lt;h2&gt;Version Numbers&lt;/h2&gt;&lt;table&gt;</source>
         <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="4944"/>
+        <location filename="../UI/UserInterface.py" line="4943"/>
         <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"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5014"/>
+        <location filename="../UI/UserInterface.py" line="5013"/>
         <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"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5058"/>
+        <location filename="../UI/UserInterface.py" line="5057"/>
         <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"></translation>
     </message>
@@ -80538,7 +80538,7 @@
 <context>
     <name>Utilities</name>
     <message>
-        <location filename="../Utilities/__init__.py" line="1502"/>
+        <location filename="../Utilities/__init__.py" line="1503"/>
         <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>
Binary file eric6/i18n/eric6_de.qm has changed
--- a/eric6/i18n/eric6_de.ts	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/i18n/eric6_de.ts	Wed Jun 17 20:18:54 2020 +0200
@@ -1536,32 +1536,32 @@
         <translation>{0} nicht konfiguriert.</translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="184"/>
+        <location filename="../Utilities/BackgroundService.py" line="185"/>
         <source>Restart background client?</source>
         <translation>Hintergrund Client neu starten?</translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="429"/>
+        <location filename="../Utilities/BackgroundService.py" line="430"/>
         <source>Background client disconnected.</source>
         <translation>Hintergrund Client wurde getrennt.</translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="423"/>
+        <location filename="../Utilities/BackgroundService.py" line="424"/>
         <source>Eric&apos;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="210"/>
+        <location filename="../Utilities/BackgroundService.py" line="211"/>
         <source>An error in Erics background client stopped the service.</source>
         <translation>Ein Fehler im Eric Hintergrunddienst hat den Dienst beendet.</translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="184"/>
+        <location filename="../Utilities/BackgroundService.py" line="185"/>
         <source>&lt;p&gt;The background client for &lt;b&gt;{0}&lt;/b&gt; has stopped due to an exception. It&apos;s used by various plug-ins like the different checkers.&lt;/p&gt;&lt;p&gt;Select&lt;ul&gt;&lt;li&gt;&lt;b&gt;&apos;Yes&apos;&lt;/b&gt; to restart the client, but abort the last job&lt;/li&gt;&lt;li&gt;&lt;b&gt;&apos;Retry&apos;&lt;/b&gt; to restart the client and the last job&lt;/li&gt;&lt;li&gt;&lt;b&gt;&apos;No&apos;&lt;/b&gt; to leave the client off.&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;Note: The client can be restarted by opening and accepting the preferences dialog or reloading/changing the project.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Der Hintergund Client für &lt;b&gt;{0}&lt;/b&gt; wurde durch eine Exception gestoppt. Er wird für verschiedene Plugins, wie z.B. die Checker, verwendet.&lt;/p&gt;&lt;p&gt;Wähle:&lt;ul&gt;&lt;li&gt;&lt;b&gt;&apos;Ja&apos;&lt;/b&gt;, um den Client aber nicht den letzten Job neu zu starten&lt;/li&gt;&lt;li&gt;&lt;b&gt;&apos;Wiederholen&apos;&lt;/b&gt;, um den Client und letzten Job neu zu starten&lt;/li&gt;&lt;li&gt;&lt;b&gt;&apos;Nein&apos;&lt;/b&gt;, um den Client nicht neu zu starten.&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;Hinweis: Der Client kann immer wieder gestartet werden, indem der Einstellungsdialog mit Ok geschlossen wird oder durch das Neuladen/ Wechseln des Projektes.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="429"/>
+        <location filename="../Utilities/BackgroundService.py" line="430"/>
         <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>
@@ -5545,344 +5545,344 @@
 <context>
     <name>ConfigurationWidget</name>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="143"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="135"/>
         <source>Application</source>
         <translation>Applikation</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="152"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="144"/>
         <source>CORBA</source>
         <translation>CORBA</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="158"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="150"/>
         <source>Email</source>
         <translation>E-Mail</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="161"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="153"/>
         <source>Graphics</source>
         <translation>Grafiken</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="167"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="159"/>
         <source>Icons</source>
         <translation>Icons</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="192"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="184"/>
         <source>Plugin Manager</source>
         <translation>Pluginmanager</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="394"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="386"/>
         <source>Printer</source>
         <translation>Drucker</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="202"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="194"/>
         <source>Python</source>
         <translation>Python</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="205"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="197"/>
         <source>Qt</source>
         <translation>Qt</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="211"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="203"/>
         <source>Shell</source>
         <translation>Shell</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="214"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="206"/>
         <source>Tasks</source>
         <translation>Aufgaben</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="217"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="209"/>
         <source>Templates</source>
         <translation>Vorlagen</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="223"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="215"/>
         <source>Version Control Systems</source>
         <translation>Versionskontrollsysteme</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="228"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="220"/>
         <source>Debugger</source>
         <translation>Debugger</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="241"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="233"/>
         <source>Editor</source>
         <translation>Editor</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="244"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="236"/>
         <source>APIs</source>
         <translation>APIs</translation>
     </message>
     <message>
+        <location filename="../Preferences/ConfigurationDialog.py" line="239"/>
+        <source>Autocompletion</source>
+        <translation>Automatische Vervollständigung</translation>
+    </message>
+    <message>
         <location filename="../Preferences/ConfigurationDialog.py" line="247"/>
-        <source>Autocompletion</source>
-        <translation>Automatische Vervollständigung</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="255"/>
         <source>Calltips</source>
         <translation>Calltips</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="264"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="256"/>
         <source>General</source>
         <translation>Allgemein</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="284"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="276"/>
         <source>Typing</source>
         <translation>Eingabe</translation>
     </message>
     <message>
+        <location filename="../Preferences/ConfigurationDialog.py" line="279"/>
+        <source>Exporters</source>
+        <translation>Exporter</translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationDialog.py" line="283"/>
+        <source>Highlighters</source>
+        <translation>Syntaxhervorhebung</translation>
+    </message>
+    <message>
         <location filename="../Preferences/ConfigurationDialog.py" line="287"/>
-        <source>Exporters</source>
-        <translation>Exporter</translation>
+        <source>Filetype Associations</source>
+        <translation>Dateitypzuordnungen</translation>
     </message>
     <message>
         <location filename="../Preferences/ConfigurationDialog.py" line="291"/>
-        <source>Highlighters</source>
-        <translation>Syntaxhervorhebung</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="295"/>
-        <source>Filetype Associations</source>
-        <translation>Dateitypzuordnungen</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="299"/>
         <source>Styles</source>
         <translation>Stile</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="315"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="307"/>
         <source>Help</source>
         <translation>Hilfe</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="401"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="393"/>
         <source>Help Documentation</source>
         <translation>Hilfe Dokumentation</translation>
     </message>
     <message>
+        <location filename="../Preferences/ConfigurationDialog.py" line="314"/>
+        <source>Help Viewers</source>
+        <translation>Hilfeanzeiger</translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationDialog.py" line="325"/>
+        <source>Project</source>
+        <translation>Projekt</translation>
+    </message>
+    <message>
         <location filename="../Preferences/ConfigurationDialog.py" line="322"/>
-        <source>Help Viewers</source>
-        <translation>Hilfeanzeiger</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="333"/>
-        <source>Project</source>
-        <translation>Projekt</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="330"/>
         <source>Project Viewer</source>
         <translation>Projektanzeige</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="336"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="328"/>
         <source>Multiproject</source>
         <translation>Mehrfachprojekt</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="388"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="380"/>
         <source>Interface</source>
         <translation>Oberfläche</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="347"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="339"/>
         <source>Viewmanager</source>
         <translation>Ansichtenmanager</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="671"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="663"/>
         <source>Configuration Page Error</source>
         <translation>Konfigurationsseitenfehler</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="671"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="663"/>
         <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>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="267"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="259"/>
         <source>Filehandling</source>
         <translation>Dateibehandlung</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="271"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="263"/>
         <source>Searching</source>
         <translation>Suchen</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="406"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="398"/>
         <source>Appearance</source>
         <translation>Erscheinung</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="258"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="250"/>
         <source>QScintilla</source>
         <translation>QScintilla</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="278"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="270"/>
         <source>Style</source>
         <translation>Stil</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="306"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="298"/>
         <source>Properties</source>
         <translation>Einstellungen</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="589"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="581"/>
         <source>Preferences</source>
         <translation>Einstellungen</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="594"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="586"/>
         <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="391"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="383"/>
         <source>Network</source>
         <translation>Netzwerk</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="421"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="413"/>
         <source>Spell checking</source>
         <translation>Rechtschreibprüfung</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="237"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="229"/>
         <source>Python3</source>
         <translation>Python 3</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="303"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="295"/>
         <source>Keywords</source>
         <translation>Schlüsselwörter</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="149"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="141"/>
         <source>Cooperation</source>
         <translation>Zusammenarbeit</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="435"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="427"/>
         <source>Tray Starter</source>
         <translation>Systemstarter</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="417"/>
-        <source>VirusTotal Interface</source>
-        <translation>VirusTotal-Schnittstelle</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="397"/>
-        <source>Security</source>
-        <translation>Sicherheit</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="185"/>
-        <source>Notifications</source>
-        <translation>Benachrichtigungen</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="170"/>
-        <source>IRC</source>
-        <translation>IRC</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="281"/>
-        <source>Code Checkers</source>
-        <translation>Quelltextprüfungen</translation>
-    </message>
-    <message>
         <location filename="../Preferences/ConfigurationDialog.py" line="409"/>
+        <source>VirusTotal Interface</source>
+        <translation>VirusTotal-Schnittstelle</translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationDialog.py" line="389"/>
+        <source>Security</source>
+        <translation>Sicherheit</translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationDialog.py" line="177"/>
+        <source>Notifications</source>
+        <translation>Benachrichtigungen</translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationDialog.py" line="162"/>
+        <source>IRC</source>
+        <translation>IRC</translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationDialog.py" line="273"/>
+        <source>Code Checkers</source>
+        <translation>Quelltextprüfungen</translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationDialog.py" line="401"/>
         <source>eric6 Web Browser</source>
         <translation>eric6-Webbrowser</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="173"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="165"/>
         <source>Log-Viewer</source>
         <translation>Ausgabefenster</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="179"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="171"/>
         <source>Mimetypes</source>
         <translation>MIME-Typen</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="525"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="517"/>
         <source>Enter search text...</source>
         <translation>Suchtext eingeben...</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="310"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="302"/>
         <source>Mouse Click Handlers</source>
         <translation>Maus Klick Handlers</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="413"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="405"/>
         <source>Flash Cookie Manager</source>
         <translation>Flash Cookie Manager</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="448"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="440"/>
         <source>Hex Editor</source>
         <translation>Hex-Editor</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="351"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="343"/>
         <source>Web Browser</source>
         <translation>Web-Browser</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="155"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="147"/>
         <source>Diff</source>
         <translation>Diff</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="261"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="253"/>
         <source>Documentation Viewer</source>
         <translation>Dokumentationsanzeige</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="199"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="191"/>
         <source>Protobuf</source>
         <translation>Protobuf</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="234"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="226"/>
         <source>Python2</source>
         <translation>Python 2</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="146"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="138"/>
         <source>Conda</source>
         <translation>Conda</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="189"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="181"/>
         <source>Python Package Management</source>
         <translation>Python Paketmanagement</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="176"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="168"/>
         <source>MicroPython</source>
         <translation>MicroPython</translation>
     </message>
@@ -10022,32 +10022,32 @@
 <context>
     <name>E5PathPickerBase</name>
     <message>
-        <location filename="../E5Gui/E5PathPicker.py" line="163"/>
+        <location filename="../E5Gui/E5PathPicker.py" line="165"/>
         <source>Enter Path Name</source>
         <translation>Gib den Pfadnamen ein</translation>
     </message>
     <message>
-        <location filename="../E5Gui/E5PathPicker.py" line="160"/>
+        <location filename="../E5Gui/E5PathPicker.py" line="162"/>
         <source>Enter Path Names separated by &apos;;&apos;</source>
         <translation>Gib Pfadnamen getrennt durch &quot;;&quot; ein</translation>
     </message>
     <message>
-        <location filename="../E5Gui/E5PathPicker.py" line="501"/>
-        <source>Choose a file to open</source>
-        <translation>Wähle eine zu öffnende Datei aus</translation>
-    </message>
-    <message>
         <location filename="../E5Gui/E5PathPicker.py" line="503"/>
+        <source>Choose a file to open</source>
+        <translation>Wähle eine zu öffnende Datei aus</translation>
+    </message>
+    <message>
+        <location filename="../E5Gui/E5PathPicker.py" line="505"/>
         <source>Choose files to open</source>
         <translation>Wähle zu öffnende Dateien aus</translation>
     </message>
     <message>
-        <location filename="../E5Gui/E5PathPicker.py" line="508"/>
-        <source>Choose a file to save</source>
-        <translation>Wähle eine zu schreibende Datei aus</translation>
-    </message>
-    <message>
         <location filename="../E5Gui/E5PathPicker.py" line="510"/>
+        <source>Choose a file to save</source>
+        <translation>Wähle eine zu schreibende Datei aus</translation>
+    </message>
+    <message>
+        <location filename="../E5Gui/E5PathPicker.py" line="512"/>
         <source>Choose a directory</source>
         <translation>Wähle ein Verzeichnis aus</translation>
     </message>
@@ -10630,7 +10630,7 @@
         <translation>Drücken, um das nächste Vorkommen zu suchen</translation>
     </message>
     <message>
-        <location filename="../E5Gui/E5TextEditSearchWidget.py" line="340"/>
+        <location filename="../E5Gui/E5TextEditSearchWidget.py" line="342"/>
         <source>&apos;{0}&apos; was not found.</source>
         <translation>„{0}“ wurde nicht gefunden.</translation>
     </message>
@@ -10789,7 +10789,7 @@
 <context>
     <name>E5XmlRpcClient</name>
     <message>
-        <location filename="../E5Network/E5XmlRpcClient.py" line="100"/>
+        <location filename="../E5Network/E5XmlRpcClient.py" line="102"/>
         <source>SSL Error</source>
         <translation>SSL Fehler</translation>
     </message>
@@ -11076,7 +11076,7 @@
         <translation>Drucken abgebrochen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7010"/>
+        <location filename="../QScintilla/Editor.py" line="7008"/>
         <source>File changed</source>
         <translation>Datei geändert</translation>
     </message>
@@ -11141,57 +11141,57 @@
         <translation>Zurück zum letzten gesichert Zustand</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6727"/>
+        <location filename="../QScintilla/Editor.py" line="6725"/>
         <source>Macro Name</source>
         <translation>Makro Name</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6727"/>
+        <location filename="../QScintilla/Editor.py" line="6725"/>
         <source>Select a macro name:</source>
         <translation>Wähle einen Makro Namen:</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6798"/>
+        <location filename="../QScintilla/Editor.py" line="6796"/>
         <source>Macro files (*.macro)</source>
         <translation>Makrodateien (*.macro)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6755"/>
+        <location filename="../QScintilla/Editor.py" line="6753"/>
         <source>Load macro file</source>
         <translation>Lade Makrodatei</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6778"/>
+        <location filename="../QScintilla/Editor.py" line="6776"/>
         <source>Error loading macro</source>
         <translation>Fehler beim Makro Laden</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6798"/>
+        <location filename="../QScintilla/Editor.py" line="6796"/>
         <source>Save macro file</source>
         <translation>Makrodatei schreiben</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6815"/>
+        <location filename="../QScintilla/Editor.py" line="6813"/>
         <source>Save macro</source>
         <translation>Makro speichern</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6831"/>
+        <location filename="../QScintilla/Editor.py" line="6829"/>
         <source>Error saving macro</source>
         <translation>Fehler beim Makro speichern</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6844"/>
+        <location filename="../QScintilla/Editor.py" line="6842"/>
         <source>Start Macro Recording</source>
         <translation>Makroaufzeichnung starten</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6870"/>
+        <location filename="../QScintilla/Editor.py" line="6868"/>
         <source>Macro Recording</source>
         <translation>Makroaufzeichnung</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6870"/>
+        <location filename="../QScintilla/Editor.py" line="6868"/>
         <source>Enter name of the macro:</source>
         <translation>Gib einen Namen für das Makro ein:</translation>
     </message>
@@ -11306,7 +11306,7 @@
         <translation>Autom. Speicherung aktiv</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7321"/>
+        <location filename="../QScintilla/Editor.py" line="7319"/>
         <source>Drop Error</source>
         <translation>Drop Fehler</translation>
     </message>
@@ -11371,22 +11371,22 @@
         <translation>&lt;p&gt;Die Datei &lt;b&gt;{0}&lt;/b&gt; enthält ungesicherte Änderungen.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6769"/>
+        <location filename="../QScintilla/Editor.py" line="6767"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Makrodatei &lt;b&gt;{0}&lt;/b&gt; kann nicht gelesen werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6778"/>
+        <location filename="../QScintilla/Editor.py" line="6776"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; is corrupt.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Makrodatei &lt;b&gt;{0}&lt;/b&gt; ist zerstört.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6831"/>
+        <location filename="../QScintilla/Editor.py" line="6829"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Makrodatei &lt;b&gt;{0}&lt;/b&gt; kann nicht geschrieben werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7321"/>
+        <location filename="../QScintilla/Editor.py" line="7319"/>
         <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; ist keine Datei.&lt;/p&gt;</translation>
     </message>
@@ -11426,82 +11426,82 @@
         <translation>Keine Sprache</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7180"/>
+        <location filename="../QScintilla/Editor.py" line="7178"/>
         <source>{0} (ro)</source>
         <translation>{0} (ro)</translation>
     </message>
     <message>
+        <location filename="../QScintilla/Editor.py" line="7340"/>
+        <source>Resources</source>
+        <translation>Ressourcen</translation>
+    </message>
+    <message>
         <location filename="../QScintilla/Editor.py" line="7342"/>
-        <source>Resources</source>
-        <translation>Ressourcen</translation>
+        <source>Add file...</source>
+        <translation>Datei hinzufügen...</translation>
     </message>
     <message>
         <location filename="../QScintilla/Editor.py" line="7344"/>
-        <source>Add file...</source>
-        <translation>Datei hinzufügen...</translation>
+        <source>Add files...</source>
+        <translation>Dateien hinzufügen...</translation>
     </message>
     <message>
         <location filename="../QScintilla/Editor.py" line="7346"/>
-        <source>Add files...</source>
-        <translation>Dateien hinzufügen...</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Editor.py" line="7348"/>
         <source>Add aliased file...</source>
         <translation>Aliased-Datei hinzufügen...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7351"/>
+        <location filename="../QScintilla/Editor.py" line="7349"/>
         <source>Add localized resource...</source>
         <translation>Lokalisierte Ressource hinzufügen...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7374"/>
+        <location filename="../QScintilla/Editor.py" line="7372"/>
         <source>Add file resource</source>
         <translation>Dateiressource hinzufügen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7390"/>
+        <location filename="../QScintilla/Editor.py" line="7388"/>
         <source>Add file resources</source>
         <translation>Dateiressourcen hinzufügen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7417"/>
+        <location filename="../QScintilla/Editor.py" line="7415"/>
         <source>Add aliased file resource</source>
         <translation>Aliased-Dateiressourcen hinzufügen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7417"/>
+        <location filename="../QScintilla/Editor.py" line="7415"/>
         <source>Alias for file &lt;b&gt;{0}&lt;/b&gt;:</source>
         <translation>Alias für Datei &lt;b&gt;{0}&lt;/b&gt;:</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7483"/>
+        <location filename="../QScintilla/Editor.py" line="7481"/>
         <source>Package Diagram</source>
         <translation>Package-Diagramm</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7483"/>
+        <location filename="../QScintilla/Editor.py" line="7481"/>
         <source>Include class attributes?</source>
         <translation>Klassenattribute anzeigen?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7519"/>
+        <location filename="../QScintilla/Editor.py" line="7517"/>
         <source>Application Diagram</source>
         <translation>Applikations-Diagramm</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7519"/>
+        <location filename="../QScintilla/Editor.py" line="7517"/>
         <source>Include module names?</source>
         <translation>Modulnamen anzeigen?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7355"/>
+        <location filename="../QScintilla/Editor.py" line="7353"/>
         <source>Add resource frame</source>
         <translation>Ressourcenrahmen hinzufügen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6844"/>
+        <location filename="../QScintilla/Editor.py" line="6842"/>
         <source>Macro recording is already active. Start new?</source>
         <translation>Eine Makroaufzeichnung ist bereits aktiv. Neu starten?</translation>
     </message>
@@ -11551,12 +11551,12 @@
         <translation>Kein Exportformat angegeben. Abbruch...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7505"/>
+        <location filename="../QScintilla/Editor.py" line="7503"/>
         <source>Imports Diagram</source>
         <translation>Imports Diagramm</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7505"/>
+        <location filename="../QScintilla/Editor.py" line="7503"/>
         <source>Include imports from external modules?</source>
         <translation>Imports externer Module anzeigen?</translation>
     </message>
@@ -11631,7 +11631,7 @@
         <translation>Wähle den anzuwendenden Pygments Lexer.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7848"/>
+        <location filename="../QScintilla/Editor.py" line="7846"/>
         <source>Check spelling...</source>
         <translation>Rechtschreibprüfung...</translation>
     </message>
@@ -11641,12 +11641,12 @@
         <translation>Rechtschreibprüfung für Auswahl...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7851"/>
+        <location filename="../QScintilla/Editor.py" line="7849"/>
         <source>Add to dictionary</source>
         <translation>Zum Wörterbuch hinzufügen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7853"/>
+        <location filename="../QScintilla/Editor.py" line="7851"/>
         <source>Ignore All</source>
         <translation>Alle ignorieren</translation>
     </message>
@@ -11691,22 +11691,22 @@
         <translation>&lt;p&gt;Die Datei &lt;b&gt;{0}&lt;/b&gt; existiert bereits. Überschreiben?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6815"/>
+        <location filename="../QScintilla/Editor.py" line="6813"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Makrodatei &lt;b&gt;{0}&lt;/b&gt; existiert bereits. Überschreiben?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6615"/>
+        <location filename="../QScintilla/Editor.py" line="6613"/>
         <source>Warning: {0}</source>
         <translation>Warnung: {0}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6622"/>
+        <location filename="../QScintilla/Editor.py" line="6620"/>
         <source>Error: {0}</source>
         <translation>Fehler: {0}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7006"/>
+        <location filename="../QScintilla/Editor.py" line="7004"/>
         <source>&lt;br&gt;&lt;b&gt;Warning:&lt;/b&gt; You will lose your changes upon reopening it.</source>
         <translation>&lt;br&gt;&lt;b&gt;Warnung:&lt;/b&gt; Vorgenommenen Änderungen gehen beim neu einlesen verloren.</translation>
     </message>
@@ -11731,27 +11731,27 @@
         <translation>Vorherige Änderung</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8269"/>
+        <location filename="../QScintilla/Editor.py" line="8267"/>
         <source>Sort Lines</source>
         <translation>Zeilen sortieren</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8269"/>
+        <location filename="../QScintilla/Editor.py" line="8267"/>
         <source>The selection contains illegal data for a numerical sort.</source>
         <translation>Die Auswahl enthält für eine numerische Sortierung ungültige Daten.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6550"/>
+        <location filename="../QScintilla/Editor.py" line="6548"/>
         <source>Warning</source>
         <translation>Warnung</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6550"/>
+        <location filename="../QScintilla/Editor.py" line="6548"/>
         <source>No warning messages available.</source>
         <translation>Keine Warnmeldungen verfügbar.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6612"/>
+        <location filename="../QScintilla/Editor.py" line="6610"/>
         <source>Style: {0}</source>
         <translation>Stil: {0}</translation>
     </message>
@@ -11776,7 +11776,7 @@
         <translation>Öffnen mit Kodierung</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7000"/>
+        <location filename="../QScintilla/Editor.py" line="6998"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has been changed while it was opened in eric6. Reread it?&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Datei &lt;b&gt;{0}&lt;/b&gt; wurde geändert, während sie in eric6 geöffnet war. Neu einlesen?&lt;/p&gt;</translation>
     </message>
@@ -11811,12 +11811,12 @@
         <translation>Der Calltipps-Provider namens &apos;{0}&apos; ist bereits registriert. Die Wiederholung wird ignoriert.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8358"/>
+        <location filename="../QScintilla/Editor.py" line="8356"/>
         <source>Register Mouse Click Handler</source>
         <translation>Maus Klick Handler registrieren</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8358"/>
+        <location filename="../QScintilla/Editor.py" line="8356"/>
         <source>A mouse click handler for &quot;{0}&quot; was already registered by &quot;{1}&quot;. Aborting request by &quot;{2}&quot;...</source>
         <translation>Ein Maus Klick Handler für &quot;{0}&quot; wurde bereits durch &quot;{1}&quot; registriert. Die Anfrage durch &quot;{2}&quot; wird abgebrochen...</translation>
     </message>
@@ -11846,12 +11846,12 @@
         <translation>Auswahl in Konsole ausführen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8479"/>
+        <location filename="../QScintilla/Editor.py" line="8477"/>
         <source>EditorConfig Properties</source>
         <translation>EditorConfig Eigenschaften</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8479"/>
+        <location filename="../QScintilla/Editor.py" line="8477"/>
         <source>&lt;p&gt;The EditorConfig properties for file &lt;b&gt;{0}&lt;/b&gt; could not be loaded.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die EditorConfig Eigenschaften für die Datei &lt;b&gt;{0}&lt;/b&gt; konnten nicht geladen werden.&lt;/p&gt;</translation>
     </message>
@@ -21005,47 +21005,47 @@
         <translation>Fehler</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="174"/>
+        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="177"/>
         <source>Process Generation Error</source>
         <translation>Fehler beim Prozessstart</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="174"/>
+        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="177"/>
         <source>The process {0} could not be started. Ensure, that it is in the search path.</source>
         <translation>Der Prozess {0} konnte nicht gestartet werden. Stellen Sie sicher, dass er sich im Suchpfad befindet.</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="201"/>
+        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="204"/>
         <source>There is no difference.</source>
         <translation>Es gibt keinen Unterschied.</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="222"/>
+        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="225"/>
         <source>&lt;Start&gt;</source>
         <translation>&lt;Anfang&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="223"/>
+        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="226"/>
         <source>&lt;End&gt;</source>
         <translation>&lt;Ende&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="351"/>
+        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="354"/>
         <source>Save Diff</source>
         <translation>Diff speichern</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="317"/>
+        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="320"/>
         <source>Patch Files (*.diff)</source>
         <translation>Patchdateien (*.diff)</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="334"/>
+        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="337"/>
         <source>&lt;p&gt;The patch file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Patchdatei &lt;b&gt;{0}&lt;/b&gt; existiert bereits. Überschreiben?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="351"/>
+        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="354"/>
         <source>&lt;p&gt;The patch file &lt;b&gt;{0}&lt;/b&gt; could not be saved.&lt;br&gt;Reason: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Patchdatei &lt;b&gt;{0}&lt;/b&gt; konnte nicht gespeichert werden.&lt;br&gt;Grund: {1}&lt;/p&gt;</translation>
     </message>
@@ -21095,7 +21095,7 @@
         <translation>Inhalt von Ablage {0}</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="166"/>
+        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="169"/>
         <source>Difference ({0})</source>
         <translation>Unterschiede ({0})</translation>
     </message>
@@ -27735,7 +27735,7 @@
         <translation>Zu&amp;letzt geöffnete Dateien</translation>
     </message>
     <message>
-        <location filename="../HexEdit/HexEditMainWindow.py" line="1431"/>
+        <location filename="../HexEdit/HexEditMainWindow.py" line="1432"/>
         <source>&amp;Clear</source>
         <translation>&amp;Löschen</translation>
     </message>
@@ -40608,27 +40608,27 @@
 <context>
     <name>Largefiles</name>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/LargefilesExtension/largefiles.py" line="72"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/LargefilesExtension/largefiles.py" line="75"/>
         <source>Convert Project - Converting</source>
         <translation>Projekt konvertieren - Konvertierung</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/LargefilesExtension/largefiles.py" line="83"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/LargefilesExtension/largefiles.py" line="86"/>
         <source>Convert Project - Extracting</source>
         <translation>Projekt konvertieren - Extrahieren</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/LargefilesExtension/largefiles.py" line="132"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/LargefilesExtension/largefiles.py" line="135"/>
         <source>Adding files to the Mercurial repository</source>
         <translation>Füge Dateien dem Mercurial-Repository hinzu</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/LargefilesExtension/largefiles.py" line="169"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/LargefilesExtension/largefiles.py" line="172"/>
         <source>Pulling large files</source>
         <translation>Lade Binärriesen herunter</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/LargefilesExtension/largefiles.py" line="198"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/LargefilesExtension/largefiles.py" line="201"/>
         <source>Verifying the integrity of large files</source>
         <translation>Verifiziere die Integrität der Binärriesen</translation>
     </message>
@@ -49822,17 +49822,17 @@
 <context>
     <name>Preferences</name>
     <message>
-        <location filename="../Preferences/__init__.py" line="1645"/>
+        <location filename="../Preferences/__init__.py" line="1646"/>
         <source>Export Preferences</source>
         <translation>Einstellungen exportieren</translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1673"/>
+        <location filename="../Preferences/__init__.py" line="1674"/>
         <source>Import Preferences</source>
         <translation>Einstellungen importieren</translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1673"/>
+        <location filename="../Preferences/__init__.py" line="1674"/>
         <source>Properties File (*.ini);;All Files (*)</source>
         <translation>Properties-Dateien (*.ini);;Alle Dateien (*)</translation>
     </message>
@@ -61209,19 +61209,19 @@
         <translation>Potentielle XSS auf die &apos;mark_safe()&apos; Funktion.</translation>
     </message>
     <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="373"/>
+        <source>{0}: {1}</source>
+        <translation>{0}: {1}</translation>
+    </message>
+    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="365"/>
-        <source>Possible hardcoded AWS access key ID: {0:r}</source>
-        <translation>Mögliche einprogrammierte AWS Zugriffsschlüssel-ID: {0:r}</translation>
+        <source>Possible hardcoded AWS access key ID: {0}</source>
+        <translation>Mögliche einprogrammierte AWS Zugriffsschlüssel-ID: {0}</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="368"/>
-        <source>Possible hardcoded AWS secret access key: {0:r}</source>
-        <translation>Möglicher einprogrammierter geheimer AWS Zugriffsschlüssel: {0:r}</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="373"/>
-        <source>{0}: {1}</source>
-        <translation>{0}: {1}</translation>
+        <source>Possible hardcoded AWS secret access key: {0}</source>
+        <translation>Möglicher einprogrammierter geheimer AWS Zugriffsschlüssel: {0}</translation>
     </message>
 </context>
 <context>
@@ -63648,7 +63648,7 @@
 <context>
     <name>SnapshotRegionGrabber</name>
     <message>
-        <location filename="../Snapshot/SnapshotRegionGrabber.py" line="99"/>
+        <location filename="../Snapshot/SnapshotRegionGrabber.py" line="102"/>
         <source>Select a region using the mouse. To take the snapshot, press the Enter key or double click. Press Esc to quit.</source>
         <translation>Wählen Sie mit der Maus einen Bereich aus. Um das Bildschirmfoto aufzunehmen, drücken Sie die Eingabetaste oder tätigen sie einen Doppelklick. Zum Abbrechen drücken Sie Escape.</translation>
     </message>
@@ -75064,252 +75064,252 @@
 <context>
     <name>UserInterface</name>
     <message>
-        <location filename="../UI/UserInterface.py" line="2006"/>
+        <location filename="../UI/UserInterface.py" line="2005"/>
         <source>What&apos;s This?</source>
         <translation>Was ist das?</translation>
     </message>
     <message>
+        <location filename="../UI/UserInterface.py" line="2011"/>
+        <source>Context sensitive help</source>
+        <translation>Kontextsensitive Hilfe</translation>
+    </message>
+    <message>
         <location filename="../UI/UserInterface.py" line="2012"/>
-        <source>Context sensitive help</source>
-        <translation>Kontextsensitive Hilfe</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2013"/>
         <source>&lt;b&gt;Display context sensitive help&lt;/b&gt;&lt;p&gt;In What&apos;s This? mode, the mouse cursor shows an arrow with a question mark, and you can click on the interface elements to get a short description of what they do and how to use them. In dialogs, this feature can be accessed using the context help button in the titlebar.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Zeige kontextsensitive Hilfe an&lt;b&gt;&lt;/p&gt;Im „Was ist das?“-Modus (der Mauszeiger stellt einen Pfeil mit Fragezeichen dar) wird auf einen Mausklick eine kurze Hilfebeschreibung zu dem ausgewählten MMI-Element angezeigt. In Dialogen kann diese Funktionalität durch den entsprechenden Knopf im Fensterkopf erreicht werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2024"/>
+        <location filename="../UI/UserInterface.py" line="2023"/>
         <source>Helpviewer</source>
         <translation>Hilfe</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2024"/>
+        <location filename="../UI/UserInterface.py" line="2023"/>
         <source>&amp;Helpviewer...</source>
         <translation>&amp;Hilfe...</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2030"/>
+        <location filename="../UI/UserInterface.py" line="2029"/>
         <source>Open the helpviewer window</source>
         <translation>Öffnet das Hilfe-Fenster</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3264"/>
-        <source>Unittest</source>
-        <translation>Modultests</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2128"/>
-        <source>&amp;Unittest...</source>
-        <translation>&amp;Modultests...</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2133"/>
-        <source>Start unittest dialog</source>
-        <translation>Starte den Modultest Dialog</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="3113"/>
-        <source>&amp;Window</source>
-        <translation>&amp;Fenster</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="3188"/>
-        <source>&amp;Help</source>
-        <translation>&amp;Hilfe</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="1522"/>
-        <source>Quit</source>
-        <translation>Beenden</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2395"/>
-        <source>Preferences</source>
-        <translation>Einstellungen</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2395"/>
-        <source>&amp;Preferences...</source>
-        <translation>&amp;Einstellungen...</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2400"/>
-        <source>Set the prefered configuration</source>
-        <translation>Konfiguriert die Einstellungen</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2402"/>
-        <source>&lt;b&gt;Preferences&lt;/b&gt;&lt;p&gt;Set the configuration items of the application with your prefered values.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Einstellungen&lt;/b&gt;&lt;p&gt;Konfiguriert die einstellbaren Parameter der Applikation nach Ihren Wünschen.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="1528"/>
-        <source>Quit the IDE</source>
-        <translation>Beenden der Entwicklungsumgebung</translation>
-    </message>
-    <message>
         <location filename="../UI/UserInterface.py" line="3263"/>
+        <source>Unittest</source>
+        <translation>Modultests</translation>
+    </message>
+    <message>
+        <location filename="../UI/UserInterface.py" line="2127"/>
+        <source>&amp;Unittest...</source>
+        <translation>&amp;Modultests...</translation>
+    </message>
+    <message>
+        <location filename="../UI/UserInterface.py" line="2132"/>
+        <source>Start unittest dialog</source>
+        <translation>Starte den Modultest Dialog</translation>
+    </message>
+    <message>
+        <location filename="../UI/UserInterface.py" line="3112"/>
+        <source>&amp;Window</source>
+        <translation>&amp;Fenster</translation>
+    </message>
+    <message>
+        <location filename="../UI/UserInterface.py" line="3187"/>
+        <source>&amp;Help</source>
+        <translation>&amp;Hilfe</translation>
+    </message>
+    <message>
+        <location filename="../UI/UserInterface.py" line="1521"/>
+        <source>Quit</source>
+        <translation>Beenden</translation>
+    </message>
+    <message>
+        <location filename="../UI/UserInterface.py" line="2394"/>
+        <source>Preferences</source>
+        <translation>Einstellungen</translation>
+    </message>
+    <message>
+        <location filename="../UI/UserInterface.py" line="2394"/>
+        <source>&amp;Preferences...</source>
+        <translation>&amp;Einstellungen...</translation>
+    </message>
+    <message>
+        <location filename="../UI/UserInterface.py" line="2399"/>
+        <source>Set the prefered configuration</source>
+        <translation>Konfiguriert die Einstellungen</translation>
+    </message>
+    <message>
+        <location filename="../UI/UserInterface.py" line="2401"/>
+        <source>&lt;b&gt;Preferences&lt;/b&gt;&lt;p&gt;Set the configuration items of the application with your prefered values.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Einstellungen&lt;/b&gt;&lt;p&gt;Konfiguriert die einstellbaren Parameter der Applikation nach Ihren Wünschen.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../UI/UserInterface.py" line="1527"/>
+        <source>Quit the IDE</source>
+        <translation>Beenden der Entwicklungsumgebung</translation>
+    </message>
+    <message>
+        <location filename="../UI/UserInterface.py" line="3262"/>
         <source>Tools</source>
         <translation>Werkzeuge</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5082"/>
+        <location filename="../UI/UserInterface.py" line="5081"/>
         <source>Help</source>
         <translation>Hilfe</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3174"/>
+        <location filename="../UI/UserInterface.py" line="3173"/>
         <source>&amp;Toolbars</source>
         <translation>&amp;Werkzeugleisten</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5210"/>
+        <location filename="../UI/UserInterface.py" line="5209"/>
         <source>Problem</source>
         <translation>Problem</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1522"/>
+        <location filename="../UI/UserInterface.py" line="1521"/>
         <source>&amp;Quit</source>
         <translation>B&amp;eenden</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1529"/>
+        <location filename="../UI/UserInterface.py" line="1528"/>
         <source>&lt;b&gt;Quit the IDE&lt;/b&gt;&lt;p&gt;This quits the IDE. Any unsaved changes may be saved first. Any Python program being debugged will be stopped and the preferences will be written to disc.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Die Entwicklungsumgebung beenden&lt;/b&gt;&lt;p&gt;Dies beendet die Entwicklungsumgebung. Ungesicherte Änderungen können zuvor gesichert werden. Ein Python-Programm, das gerade debuggt wird, wird beendet und sämtliche Einstellungen werden gespeichert.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2006"/>
+        <location filename="../UI/UserInterface.py" line="2005"/>
         <source>&amp;What&apos;s This?</source>
         <translation>&amp;Was ist das?</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5405"/>
+        <location filename="../UI/UserInterface.py" line="5404"/>
         <source>Process Generation Error</source>
         <translation>Fehler beim Prozessstart</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1488"/>
+        <location filename="../UI/UserInterface.py" line="1487"/>
         <source>{0} - Passive Mode</source>
         <translation>{0} – Passiver Modus</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1495"/>
+        <location filename="../UI/UserInterface.py" line="1494"/>
         <source>{0} - {1} - Passive Mode</source>
         <translation>{0} – {1} – Passiver Modus</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1721"/>
+        <location filename="../UI/UserInterface.py" line="1720"/>
         <source>Log-Viewer</source>
         <translation>Ausgabefenster</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3265"/>
+        <location filename="../UI/UserInterface.py" line="3264"/>
         <source>Settings</source>
         <translation>Einstellungen</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2050"/>
+        <location filename="../UI/UserInterface.py" line="2049"/>
         <source>Show Versions</source>
         <translation>Zeige Versionen</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2050"/>
+        <location filename="../UI/UserInterface.py" line="2049"/>
         <source>Show &amp;Versions</source>
         <translation>Zeige &amp;Versionen</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2054"/>
+        <location filename="../UI/UserInterface.py" line="2053"/>
         <source>Display version information</source>
         <translation>Zeigt Versionsinformationen</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2056"/>
+        <location filename="../UI/UserInterface.py" line="2055"/>
         <source>&lt;b&gt;Show Versions&lt;/b&gt;&lt;p&gt;Display version information.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Zeige Versionen&lt;/b&gt;&lt;p&gt;Zeigt Versionsinformationen an.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2500"/>
+        <location filename="../UI/UserInterface.py" line="2499"/>
         <source>Keyboard Shortcuts</source>
         <translation>Tastaturkurzbefehle</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2500"/>
+        <location filename="../UI/UserInterface.py" line="2499"/>
         <source>Keyboard &amp;Shortcuts...</source>
         <translation>&amp;Tastaturkurzbefehle...</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2505"/>
+        <location filename="../UI/UserInterface.py" line="2504"/>
         <source>Set the keyboard shortcuts</source>
         <translation>Setze die Tastaturkurzbefehle</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2507"/>
+        <location filename="../UI/UserInterface.py" line="2506"/>
         <source>&lt;b&gt;Keyboard Shortcuts&lt;/b&gt;&lt;p&gt;Set the keyboard shortcuts of the application with your prefered values.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Tastaturkurzbefehle&lt;/b&gt;&lt;p&gt;Setze die Tastaturkurzbefehle der Applikation mit den bevorzugten Werten.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2999"/>
+        <location filename="../UI/UserInterface.py" line="2998"/>
         <source>E&amp;xtras</source>
         <translation>E&amp;xtras</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3723"/>
+        <location filename="../UI/UserInterface.py" line="3722"/>
         <source>Report Bug</source>
         <translation>Fehler berichten</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2101"/>
+        <location filename="../UI/UserInterface.py" line="2100"/>
         <source>Report &amp;Bug...</source>
         <translation>&amp;Fehler berichten...</translation>
     </message>
     <message>
+        <location filename="../UI/UserInterface.py" line="2104"/>
+        <source>Report a bug</source>
+        <translation>Einen Fehler berichten</translation>
+    </message>
+    <message>
         <location filename="../UI/UserInterface.py" line="2105"/>
-        <source>Report a bug</source>
-        <translation>Einen Fehler berichten</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2106"/>
         <source>&lt;b&gt;Report Bug...&lt;/b&gt;&lt;p&gt;Opens a dialog to report a bug.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Fehler berichten...&lt;/b&gt;&lt;p&gt;Öffnet einen Dialog zum Senden eines Fehlerberichtes.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6294"/>
+        <location filename="../UI/UserInterface.py" line="6290"/>
         <source>Export Keyboard Shortcuts</source>
         <translation>Tastaturkurzbefehle exportieren</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2515"/>
+        <location filename="../UI/UserInterface.py" line="2514"/>
         <source>&amp;Export Keyboard Shortcuts...</source>
         <translation>Tastaturkurzbefehle &amp;exportieren...</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2520"/>
+        <location filename="../UI/UserInterface.py" line="2519"/>
         <source>Export the keyboard shortcuts</source>
         <translation>Exportiert die Tastaturkurzbefehle</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2522"/>
+        <location filename="../UI/UserInterface.py" line="2521"/>
         <source>&lt;b&gt;Export Keyboard Shortcuts&lt;/b&gt;&lt;p&gt;Export the keyboard shortcuts of the application.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Tastaturkurzbefehle exportieren&lt;/b&gt;&lt;p&gt;Exportiert die Tastaturkurzbefehle der Applikation.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6318"/>
+        <location filename="../UI/UserInterface.py" line="6314"/>
         <source>Import Keyboard Shortcuts</source>
         <translation>Tastaturkurzbefehle importieren</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2529"/>
+        <location filename="../UI/UserInterface.py" line="2528"/>
         <source>&amp;Import Keyboard Shortcuts...</source>
         <translation>Tastaturkurzbefehle &amp;importieren...</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2534"/>
+        <location filename="../UI/UserInterface.py" line="2533"/>
         <source>Import the keyboard shortcuts</source>
         <translation>Importiert die Tastaturkurzbefehle</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2536"/>
+        <location filename="../UI/UserInterface.py" line="2535"/>
         <source>&lt;b&gt;Import Keyboard Shortcuts&lt;/b&gt;&lt;p&gt;Import the keyboard shortcuts of the application.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Tastaturkurzbefehle importieren&lt;/b&gt;&lt;p&gt;Importiert die Tastaturkurzbefehle der Applikation.&lt;/p&gt;</translation>
     </message>
@@ -75349,107 +75349,107 @@
         <translation>Initialisiere Werkzeuge...</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2134"/>
+        <location filename="../UI/UserInterface.py" line="2133"/>
         <source>&lt;b&gt;Unittest&lt;/b&gt;&lt;p&gt;Perform unit tests. The dialog gives you the ability to select and run a unittest suite.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Modultests&lt;/b&gt;&lt;p&gt;Führe Modultests durch. Der Dialog bietet die Möglichkeit eine Zusammenstellung von Modultests auszuwählen und auszuführen.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2142"/>
+        <location filename="../UI/UserInterface.py" line="2141"/>
         <source>Unittest Restart</source>
         <translation>Modultest neu starten</translation>
     </message>
     <message>
+        <location filename="../UI/UserInterface.py" line="2146"/>
+        <source>Restart last unittest</source>
+        <translation>Modultest neu starten</translation>
+    </message>
+    <message>
         <location filename="../UI/UserInterface.py" line="2147"/>
-        <source>Restart last unittest</source>
-        <translation>Modultest neu starten</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2148"/>
         <source>&lt;b&gt;Restart Unittest&lt;/b&gt;&lt;p&gt;Restart the unittest performed last.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Modultest neu starten&lt;/b&gt;&lt;p&gt;Den letzten durchgeführten Modultest neu starten.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2172"/>
+        <location filename="../UI/UserInterface.py" line="2171"/>
         <source>Unittest Script</source>
         <translation>Modultest (Skript)</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2177"/>
+        <location filename="../UI/UserInterface.py" line="2176"/>
         <source>Run unittest with current script</source>
         <translation>Modultest für aktuelles Skript ausführen</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2179"/>
+        <location filename="../UI/UserInterface.py" line="2178"/>
         <source>&lt;b&gt;Unittest Script&lt;/b&gt;&lt;p&gt;Run unittest with current script.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Modultest (Skript)&lt;/b&gt;&lt;p&gt;Modultest für aktuelles Skript ausführen.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2187"/>
+        <location filename="../UI/UserInterface.py" line="2186"/>
         <source>Unittest Project</source>
         <translation>Modultest (Projekt)</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2192"/>
+        <location filename="../UI/UserInterface.py" line="2191"/>
         <source>Run unittest with current project</source>
         <translation>Modultest für aktuellesProjekt ausführen</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2194"/>
+        <location filename="../UI/UserInterface.py" line="2193"/>
         <source>&lt;b&gt;Unittest Project&lt;/b&gt;&lt;p&gt;Run unittest with current project.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Modultest (Projekt)&lt;/b&gt;&lt;p&gt;Modultest für aktuelles Projekt ausführen.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3055"/>
+        <location filename="../UI/UserInterface.py" line="3054"/>
         <source>&amp;Unittest</source>
         <translation>&amp;Modultests</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2142"/>
+        <location filename="../UI/UserInterface.py" line="2141"/>
         <source>&amp;Restart Unittest...</source>
         <translation>Modultest &amp;neu starten...</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2172"/>
+        <location filename="../UI/UserInterface.py" line="2171"/>
         <source>Unittest &amp;Script...</source>
         <translation>Modultest (&amp;Skript)...</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2187"/>
+        <location filename="../UI/UserInterface.py" line="2186"/>
         <source>Unittest &amp;Project...</source>
         <translation>Modultest (&amp;Projekt)...</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2282"/>
+        <location filename="../UI/UserInterface.py" line="2281"/>
         <source>Compare Files</source>
         <translation>Dateien vergleichen</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2282"/>
+        <location filename="../UI/UserInterface.py" line="2281"/>
         <source>&amp;Compare Files...</source>
         <translation>Dateien &amp;vergleichen...</translation>
     </message>
     <message>
+        <location filename="../UI/UserInterface.py" line="2299"/>
+        <source>Compare two files</source>
+        <translation>Zwei Dateien vergleichen</translation>
+    </message>
+    <message>
+        <location filename="../UI/UserInterface.py" line="2287"/>
+        <source>&lt;b&gt;Compare Files&lt;/b&gt;&lt;p&gt;Open a dialog to compare two files.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Dateien vergleichen&lt;/b&gt;&lt;p&gt;Öffnet einen Dialog zum Vergleich zweier Dateien.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../UI/UserInterface.py" line="2294"/>
+        <source>Compare Files side by side</source>
+        <translation>Dateien Seite an Seite vergleichen</translation>
+    </message>
+    <message>
         <location filename="../UI/UserInterface.py" line="2300"/>
-        <source>Compare two files</source>
-        <translation>Zwei Dateien vergleichen</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2288"/>
-        <source>&lt;b&gt;Compare Files&lt;/b&gt;&lt;p&gt;Open a dialog to compare two files.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Dateien vergleichen&lt;/b&gt;&lt;p&gt;Öffnet einen Dialog zum Vergleich zweier Dateien.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2295"/>
-        <source>Compare Files side by side</source>
-        <translation>Dateien Seite an Seite vergleichen</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2301"/>
         <source>&lt;b&gt;Compare Files side by side&lt;/b&gt;&lt;p&gt;Open a dialog to compare two files and show the result side by side.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Dateien Seite an Seite vergleichen&lt;/b&gt;&lt;p&gt;Öffnet einen Dialog zum Vergleich zweier Dateien und zur Anzeige des Ergebnisse Seite an Seite.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6881"/>
+        <location filename="../UI/UserInterface.py" line="6877"/>
         <source>Drop Error</source>
         <translation>Drop-Fehler</translation>
     </message>
@@ -75459,317 +75459,317 @@
         <translation>Initialisiere Applikationsserver...</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1499"/>
+        <location filename="../UI/UserInterface.py" line="1498"/>
         <source>{0} - {1} - {2} - Passive Mode</source>
         <translation>{0} . {1} – {2} – Passiver Modus</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1704"/>
+        <location filename="../UI/UserInterface.py" line="1703"/>
         <source>File-Browser</source>
         <translation>Dateibrowser</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1600"/>
+        <location filename="../UI/UserInterface.py" line="1599"/>
         <source>Edit Profile</source>
         <translation>Editieren-Profil</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1606"/>
+        <location filename="../UI/UserInterface.py" line="1605"/>
         <source>Activate the edit view profile</source>
         <translation>Aktiviert das Editieren-Ansichtsprofil</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1608"/>
+        <location filename="../UI/UserInterface.py" line="1607"/>
         <source>&lt;b&gt;Edit Profile&lt;/b&gt;&lt;p&gt;Activate the &quot;Edit View Profile&quot;. Windows being shown, if this profile is active, may be configured with the &quot;View Profile Configuration&quot; dialog.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Editieren-Profil&lt;/b&gt;&lt;p&gt;Aktiviert das „Editieren-Ansichtsprofil“. Fenster, die in diesem Profil angezeigt werden sollen, können im „Ansichtenprofile konfigurieren“-Dialog ausgewählt werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1617"/>
+        <location filename="../UI/UserInterface.py" line="1616"/>
         <source>Debug Profile</source>
         <translation>Debuggen-Profil</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1623"/>
+        <location filename="../UI/UserInterface.py" line="1622"/>
         <source>Activate the debug view profile</source>
         <translation>Aktiviert das Debuggen-Ansichtsprofil</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1625"/>
+        <location filename="../UI/UserInterface.py" line="1624"/>
         <source>&lt;b&gt;Debug Profile&lt;/b&gt;&lt;p&gt;Activate the &quot;Debug View Profile&quot;. Windows being shown, if this profile is active, may be configured with the &quot;View Profile Configuration&quot; dialog.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Debuggen-Profil&lt;/b&gt;&lt;p&gt;Aktiviert das „Debuggen Ansichtsprofil“. Fenster, die in diesem Profil angezeigt werden sollen, können im „Ansichtenprofile konfigurieren“-Dialog ausgewählt werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2468"/>
+        <location filename="../UI/UserInterface.py" line="2467"/>
         <source>View Profiles</source>
         <translation>Ansichtenprofile</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2468"/>
+        <location filename="../UI/UserInterface.py" line="2467"/>
         <source>&amp;View Profiles...</source>
         <translation>&amp;Ansichtenprofile...</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2473"/>
+        <location filename="../UI/UserInterface.py" line="2472"/>
         <source>Configure view profiles</source>
         <translation>Ansichtenprofile konfigurieren</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2475"/>
+        <location filename="../UI/UserInterface.py" line="2474"/>
         <source>&lt;b&gt;View Profiles&lt;/b&gt;&lt;p&gt;Configure the view profiles. With this dialog you may set the visibility of the various windows for the predetermined view profiles.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Ansichtenprofile&lt;/b&gt;&lt;p&gt;Ansichtenprofile konfigurieren. Mit diesem Dialog kann die Sichtbarkeit der verschiedenen Fenster für die vorbestimmten Ansichtenprofile eingestellt werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5210"/>
+        <location filename="../UI/UserInterface.py" line="5209"/>
         <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;Die Datei &lt;b&gt;{0}&lt;/b&gt; existiert nicht oder hat die Größe Null.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4935"/>
+        <location filename="../UI/UserInterface.py" line="4934"/>
         <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;Qt-Designer konnte nicht gestartet werden.&lt;br&gt;Stellen Sie sicher, dass es als &lt;b&gt;{0}&lt;/b&gt; verfügbar ist.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5005"/>
+        <location filename="../UI/UserInterface.py" line="5004"/>
         <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;Qt-Linguist konnte nicht gestartet werden.&lt;br&gt;Stellen Sie sicher, dass es als &lt;b&gt;{0}&lt;/b&gt; verfügbar ist.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5049"/>
+        <location filename="../UI/UserInterface.py" line="5048"/>
         <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;Qt-Assistant konnte nicht gestartet werden.&lt;br&gt;Stellen Sie sicher, dass es als &lt;b&gt;{0}&lt;/b&gt; verfügbar ist.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5405"/>
+        <location filename="../UI/UserInterface.py" line="5404"/>
         <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;Der Werkzeugeeintrag &lt;b&gt;{0}&lt;/b&gt; konnte nicht gestartet werden.&lt;br&gt;Stellen Sie sicher, dass er als &lt;b&gt;{1}&lt;/b&gt; verfügbar ist.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6881"/>
+        <location filename="../UI/UserInterface.py" line="6877"/>
         <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; ist keine Datei.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2255"/>
+        <location filename="../UI/UserInterface.py" line="2254"/>
         <source>UI Previewer</source>
         <translation>UI-Vorschau</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2255"/>
+        <location filename="../UI/UserInterface.py" line="2254"/>
         <source>&amp;UI Previewer...</source>
         <translation>&amp;UI-Vorschau...</translation>
     </message>
     <message>
+        <location filename="../UI/UserInterface.py" line="2259"/>
+        <source>Start the UI Previewer</source>
+        <translation>Starte die UI-Vorschau</translation>
+    </message>
+    <message>
         <location filename="../UI/UserInterface.py" line="2260"/>
-        <source>Start the UI Previewer</source>
-        <translation>Starte die UI-Vorschau</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2261"/>
         <source>&lt;b&gt;UI Previewer&lt;/b&gt;&lt;p&gt;Start the UI Previewer.&lt;/p&gt;</source>
         <translation>&lt;b&gt;UI-Vorschau&lt;/b&gt;&lt;p&gt;Starte die UI-Vorschau.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5166"/>
+        <location filename="../UI/UserInterface.py" line="5165"/>
         <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;Die UI-Vorschau konnte nicht gestartet werden.&lt;br&gt;Stellen Sie sicher, dass sie als &lt;b&gt;{0}&lt;/b&gt; verfügbar ist.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2268"/>
+        <location filename="../UI/UserInterface.py" line="2267"/>
         <source>Translations Previewer</source>
         <translation>Übersetzungsvorschau</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2268"/>
+        <location filename="../UI/UserInterface.py" line="2267"/>
         <source>&amp;Translations Previewer...</source>
         <translation>&amp;Übersetzungsvorschau...</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2273"/>
+        <location filename="../UI/UserInterface.py" line="2272"/>
         <source>Start the Translations Previewer</source>
         <translation>Die Übersetzungsvorschau starten</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2275"/>
+        <location filename="../UI/UserInterface.py" line="2274"/>
         <source>&lt;b&gt;Translations Previewer&lt;/b&gt;&lt;p&gt;Start the Translations Previewer.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Übersetzungsvorschau&lt;/b&gt;&lt;p&gt;Dies startet das Programm zur Vorschau von Übersetzungen.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5223"/>
+        <location filename="../UI/UserInterface.py" line="5222"/>
         <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;Die Übersetzungsvorschau konnte nicht gestartet werden.&lt;br&gt;Stellen Sie sicher, dass sie als &lt;b&gt;{0}&lt;/b&gt; verfügbar ist.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1687"/>
+        <location filename="../UI/UserInterface.py" line="1686"/>
         <source>Shell</source>
         <translation>Shell</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1687"/>
+        <location filename="../UI/UserInterface.py" line="1686"/>
         <source>&amp;Shell</source>
         <translation>&amp;Shell</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2439"/>
+        <location filename="../UI/UserInterface.py" line="2438"/>
         <source>Reload APIs</source>
         <translation>APIs neu laden</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2439"/>
+        <location filename="../UI/UserInterface.py" line="2438"/>
         <source>Reload &amp;APIs</source>
         <translation>APIs &amp;neu laden</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2443"/>
+        <location filename="../UI/UserInterface.py" line="2442"/>
         <source>Reload the API information</source>
         <translation>Die API-Informationen neu laden</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2445"/>
+        <location filename="../UI/UserInterface.py" line="2444"/>
         <source>&lt;b&gt;Reload APIs&lt;/b&gt;&lt;p&gt;Reload the API information.&lt;/p&gt;</source>
         <translation>&lt;b&gt;APIs neu laden&lt;/b&gt;&lt;p&gt;Lädt die API-Informationen neu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1739"/>
+        <location filename="../UI/UserInterface.py" line="1738"/>
         <source>Task-Viewer</source>
         <translation>Aufgabenanzeige</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6488"/>
+        <location filename="../UI/UserInterface.py" line="6484"/>
         <source>Save tasks</source>
         <translation>Aufgaben speichern</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6488"/>
+        <location filename="../UI/UserInterface.py" line="6484"/>
         <source>&lt;p&gt;The tasks file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Aufgabendatei &lt;b&gt;{0}&lt;/b&gt; konnte nicht geschrieben werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6517"/>
+        <location filename="../UI/UserInterface.py" line="6513"/>
         <source>Read tasks</source>
         <translation>Aufgaben lesen</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6517"/>
+        <location filename="../UI/UserInterface.py" line="6513"/>
         <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;Die Aufgabendatei &lt;b&gt;{0}&lt;/b&gt; konnte nicht gelesen werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5082"/>
+        <location filename="../UI/UserInterface.py" line="5081"/>
         <source>Currently no custom viewer is selected. Please use the preferences dialog to specify one.</source>
         <translation>Momentan ist kein Betrachter angegeben. Bitte benutzen Sie den Einstellungsdialog, um einen festzulegen.</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5096"/>
+        <location filename="../UI/UserInterface.py" line="5095"/>
         <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;Der Betrachter konnte nicht gestartet werden.&lt;br&gt;Stellen Sie sicher, dass er als &lt;b&gt;{0}&lt;/b&gt; verfügbar ist.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5886"/>
+        <location filename="../UI/UserInterface.py" line="5882"/>
         <source>Documentation Missing</source>
         <translation>Dokumentation fehlt</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5886"/>
+        <location filename="../UI/UserInterface.py" line="5882"/>
         <source>&lt;p&gt;The documentation starting point &quot;&lt;b&gt;{0}&lt;/b&gt;&quot; could not be found.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Der Dokumentationsstartpunkt „&lt;b&gt;{0}&lt;/b&gt;“ konnte nicht gefunden werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3723"/>
+        <location filename="../UI/UserInterface.py" line="3722"/>
         <source>Email address or mail server address is empty. Please configure your Email settings in the Preferences Dialog.</source>
         <translation>E-Mail-Adresse oder Mailserver-Adresse sind leer. Bitte konfiguriere die E-Mail-Einstellungen im Einstellungsdialog.</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1758"/>
+        <location filename="../UI/UserInterface.py" line="1757"/>
         <source>Template-Viewer</source>
         <translation>Vorlagen</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1634"/>
+        <location filename="../UI/UserInterface.py" line="1633"/>
         <source>Alt+Shift+P</source>
         <translation>Alt+Shift+P</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1669"/>
+        <location filename="../UI/UserInterface.py" line="1668"/>
         <source>Alt+Shift+D</source>
         <translation>Alt+Shift+D</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1687"/>
+        <location filename="../UI/UserInterface.py" line="1686"/>
         <source>Alt+Shift+S</source>
         <translation>Alt+Shift+S</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1704"/>
+        <location filename="../UI/UserInterface.py" line="1703"/>
         <source>Alt+Shift+F</source>
         <translation>Alt+Shift+F</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1739"/>
+        <location filename="../UI/UserInterface.py" line="1738"/>
         <source>Alt+Shift+T</source>
         <translation>Alt+Shift+T</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1651"/>
+        <location filename="../UI/UserInterface.py" line="1650"/>
         <source>Alt+Shift+M</source>
         <translation>Alt+Shift+M</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2594"/>
+        <location filename="../UI/UserInterface.py" line="2593"/>
         <source>Activate current editor</source>
         <translation>Aktiviere aktuellen Editor</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2594"/>
+        <location filename="../UI/UserInterface.py" line="2593"/>
         <source>Alt+Shift+E</source>
         <translation>Alt+Shift+E</translation>