Code Style Checker

Sun, 21 Mar 2021 14:17:16 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 21 Mar 2021 14:17:16 +0100
changeset 8166
bd5cd5858503
parent 8165
61ca9619decb
child 8167
cdc1b6692766

Code Style Checker
- added a checker to help porting to the 'pathlib' module

docs/changelog file | annotate | diff | comparison | revisions
eric6.epj file | annotate | diff | comparison | revisions
eric6/APIs/Python3/eric6.api file | annotate | diff | comparison | revisions
eric6/APIs/Python3/eric6.bas file | annotate | diff | comparison | revisions
eric6/Documentation/Help/source.qch file | annotate | diff | comparison | revisions
eric6/Documentation/Help/source.qhp file | annotate | diff | comparison | revisions
eric6/Documentation/Source/eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html file | annotate | diff | comparison | revisions
eric6/Documentation/Source/eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.translations.html file | annotate | diff | comparison | revisions
eric6/Documentation/Source/eric6.QScintilla.MiniEditor.html file | annotate | diff | comparison | revisions
eric6/Documentation/Source/index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.html file | annotate | diff | comparison | revisions
eric6/Documentation/Source/index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.html file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/CodeStyleChecker/Annotations/AnnotationsChecker.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleChecker.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCodeSelectionDialog.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleStatisticsDialog.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/CodeStyleChecker/Complexity/ComplexityChecker.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/CodeStyleChecker/DocStyle/DocStyleChecker.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/MiscellaneousChecker.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/CodeStyleChecker/PathLib/PathlibChecker.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/CodeStyleChecker/PathLib/__init__.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/CodeStyleChecker/Security/SecurityChecker.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/CodeStyleChecker/translations.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
--- a/docs/changelog	Wed Mar 17 19:54:32 2021 +0100
+++ b/docs/changelog	Sun Mar 21 14:17:16 2021 +0100
@@ -2,6 +2,8 @@
 ----------
 Version 21.4:
 - bug fixes
+- Code Style Checker
+  -- added a checker to help porting to the 'pathlib' module
 - Debugger
   -- extended the Start... dialogs to allow to override some global
      configuration settings (redirect stdin/stdout/stderr)
--- a/eric6.epj	Wed Mar 17 19:54:32 2021 +0100
+++ b/eric6.epj	Sun Mar 21 14:17:16 2021 +0100
@@ -2570,7 +2570,10 @@
       "scripts/uninstall.py",
       "setup.py",
       "eric6/MicroPython/RP2040Devices.py",
-      "eric6/MicroPython/ConnectionSelectionDialog.py"
+      "eric6/MicroPython/ConnectionSelectionDialog.py",
+      "eric6/Plugins/CheckerPlugins/CodeStyleChecker/PathLib/__init__.py",
+      "eric6/Plugins/CheckerPlugins/CodeStyleChecker/PathLib/PathlibChecker.py",
+      "eric6/Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py"
     ],
     "SPELLEXCLUDES": "Dictionaries/excludes.dic",
     "SPELLLANGUAGE": "en_US",
--- a/eric6/APIs/Python3/eric6.api	Wed Mar 17 19:54:32 2021 +0100
+++ b/eric6/APIs/Python3/eric6.api	Sun Mar 21 14:17:16 2021 +0100
@@ -3278,6 +3278,19 @@
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.Naming.NamingStyleChecker.NamingStyleChecker.run?4()
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.Naming.NamingStyleChecker.NamingStyleChecker?1(tree, filename, options)
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.Naming.translations._namingStyleMessages?8
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.NameResolver.name?4()
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.NameResolver.visit_Attribute?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.NameResolver.visit_Name?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.NameResolver?1(importAlias)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.PathlibChecker.Codes?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.PathlibChecker.Function2Code?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.PathlibChecker.run?4()
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.PathlibChecker?1(source, filename, selected, ignored, expected, repeat)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.PathlibVisitor.visit_Call?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.PathlibVisitor.visit_Import?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.PathlibVisitor.visit_ImportFrom?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.PathlibVisitor?1(checkCallback)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.translations._pathlibMessages?8
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.Checks.assert.checkAssertUsed?4(reportError, context, config)
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.Checks.assert.getChecks?4()
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.Checks.awsHardcodedPassword.AWS_ACCESS_KEY_ID_MAX_ENTROPY?7
@@ -8338,6 +8351,7 @@
 eric6.QScintilla.MiniEditor.MiniEditor.textForFind?4()
 eric6.QScintilla.MiniEditor.MiniEditor?1(filename="", filetype="", parent=None, name=None)
 eric6.QScintilla.MiniEditor.MiniScintilla.EncloseChars?7
+eric6.QScintilla.MiniEditor.MiniScintilla.editorCommand?4(cmd)
 eric6.QScintilla.MiniEditor.MiniScintilla.encloseSelectedText?4()
 eric6.QScintilla.MiniEditor.MiniScintilla.focusInEvent?4(event)
 eric6.QScintilla.MiniEditor.MiniScintilla.focusOutEvent?4(event)
--- a/eric6/APIs/Python3/eric6.bas	Wed Mar 17 19:54:32 2021 +0100
+++ b/eric6/APIs/Python3/eric6.bas	Sun Mar 21 14:17:16 2021 +0100
@@ -623,6 +623,7 @@
 MultiValueDictResolver DictResolver
 MyMemoryEngine TranslationEngine
 NameFinder ast.NodeVisitor
+NameResolver ast.NodeVisitor
 NavigationBar QWidget
 NavigationContainer QWidget
 NdArrayResolver BaseResolver
@@ -660,6 +661,7 @@
 PasswordWriter QXmlStreamWriter
 PasswordsDialog QDialog Ui_PasswordsDialog
 PathGraphingAstVisitor ASTVisitor
+PathlibVisitor ast.NodeVisitor
 PersonalDataDialog QDialog Ui_PersonalDataDialog
 PersonalInformationManager QObject
 Pip QObject
Binary file eric6/Documentation/Help/source.qch has changed
--- a/eric6/Documentation/Help/source.qhp	Wed Mar 17 19:54:32 2021 +0100
+++ b/eric6/Documentation/Help/source.qhp	Sun Mar 21 14:17:16 2021 +0100
@@ -325,6 +325,10 @@
                   <section title="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Naming.NamingStyleChecker" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Naming.NamingStyleChecker.html" />
                   <section title="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Naming.translations" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Naming.translations.html" />
                 </section>
+                <section title="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib" ref="index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.html">
+                  <section title="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html" />
+                  <section title="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.translations" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.translations.html" />
+                </section>
                 <section title="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security" ref="index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.html">
                   <section title="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.Checks" ref="index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.Checks.html">
                     <section title="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.Checks.__init__" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.Checks.__init__.html" />
@@ -10099,6 +10103,7 @@
       <keyword name="MiniEditor.textForFind" id="MiniEditor.textForFind" ref="eric6.QScintilla.MiniEditor.html#MiniEditor.textForFind" />
       <keyword name="MiniScintilla" id="MiniScintilla" ref="eric6.QScintilla.MiniEditor.html#MiniScintilla" />
       <keyword name="MiniScintilla (Constructor)" id="MiniScintilla (Constructor)" ref="eric6.QScintilla.MiniEditor.html#MiniScintilla.__init__" />
+      <keyword name="MiniScintilla.editorCommand" id="MiniScintilla.editorCommand" ref="eric6.QScintilla.MiniEditor.html#MiniScintilla.editorCommand" />
       <keyword name="MiniScintilla.encloseSelectedText" id="MiniScintilla.encloseSelectedText" ref="eric6.QScintilla.MiniEditor.html#MiniScintilla.encloseSelectedText" />
       <keyword name="MiniScintilla.focusInEvent" id="MiniScintilla.focusInEvent" ref="eric6.QScintilla.MiniEditor.html#MiniScintilla.focusInEvent" />
       <keyword name="MiniScintilla.focusOutEvent" id="MiniScintilla.focusOutEvent" ref="eric6.QScintilla.MiniEditor.html#MiniScintilla.focusOutEvent" />
@@ -10330,6 +10335,11 @@
       <keyword name="NameFinder.getNames" id="NameFinder.getNames" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.html#NameFinder.getNames" />
       <keyword name="NameFinder.visit" id="NameFinder.visit" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.html#NameFinder.visit" />
       <keyword name="NameFinder.visit_Name" id="NameFinder.visit_Name" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.html#NameFinder.visit_Name" />
+      <keyword name="NameResolver" id="NameResolver" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html#NameResolver" />
+      <keyword name="NameResolver (Constructor)" id="NameResolver (Constructor)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html#NameResolver.__init__" />
+      <keyword name="NameResolver.name" id="NameResolver.name" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html#NameResolver.name" />
+      <keyword name="NameResolver.visit_Attribute" id="NameResolver.visit_Attribute" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html#NameResolver.visit_Attribute" />
+      <keyword name="NameResolver.visit_Name" id="NameResolver.visit_Name" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html#NameResolver.visit_Name" />
       <keyword name="Naming (Package)" id="Naming (Package)" ref="index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.Naming.html" />
       <keyword name="NamingStyleChecker" id="NamingStyleChecker" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Naming.NamingStyleChecker.html#NamingStyleChecker" />
       <keyword name="NamingStyleChecker (Constructor)" id="NamingStyleChecker (Constructor)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Naming.NamingStyleChecker.html#NamingStyleChecker.__init__" />
@@ -10773,10 +10783,25 @@
       <keyword name="PathGraphingAstVisitor.visitSimpleStatement" id="PathGraphingAstVisitor.visitSimpleStatement" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.mccabe.html#PathGraphingAstVisitor.visitSimpleStatement" />
       <keyword name="PathGraphingAstVisitor.visitTryExcept" id="PathGraphingAstVisitor.visitTryExcept" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.mccabe.html#PathGraphingAstVisitor.visitTryExcept" />
       <keyword name="PathGraphingAstVisitor.visitWith" id="PathGraphingAstVisitor.visitWith" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.mccabe.html#PathGraphingAstVisitor.visitWith" />
+      <keyword name="PathLib (Package)" id="PathLib (Package)" ref="index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.html" />
       <keyword name="PathNode" id="PathNode" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.mccabe.html#PathNode" />
       <keyword name="PathNode (Constructor)" id="PathNode (Constructor)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.mccabe.html#PathNode.__init__" />
       <keyword name="PathNode.dot_id" id="PathNode.dot_id" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.mccabe.html#PathNode.dot_id" />
       <keyword name="PathNode.to_dot" id="PathNode.to_dot" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.mccabe.html#PathNode.to_dot" />
+      <keyword name="PathlibChecker" id="PathlibChecker" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html#PathlibChecker" />
+      <keyword name="PathlibChecker (Constructor)" id="PathlibChecker (Constructor)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html#PathlibChecker.__init__" />
+      <keyword name="PathlibChecker (Module)" id="PathlibChecker (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html" />
+      <keyword name="PathlibChecker.__checkForReplacement" id="PathlibChecker.__checkForReplacement" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html#PathlibChecker.__checkForReplacement" />
+      <keyword name="PathlibChecker.__error" id="PathlibChecker.__error" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html#PathlibChecker.__error" />
+      <keyword name="PathlibChecker.__generateTree" id="PathlibChecker.__generateTree" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html#PathlibChecker.__generateTree" />
+      <keyword name="PathlibChecker.__ignoreCode" id="PathlibChecker.__ignoreCode" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html#PathlibChecker.__ignoreCode" />
+      <keyword name="PathlibChecker.__reportInvalidSyntax" id="PathlibChecker.__reportInvalidSyntax" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html#PathlibChecker.__reportInvalidSyntax" />
+      <keyword name="PathlibChecker.run" id="PathlibChecker.run" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html#PathlibChecker.run" />
+      <keyword name="PathlibVisitor" id="PathlibVisitor" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html#PathlibVisitor" />
+      <keyword name="PathlibVisitor (Constructor)" id="PathlibVisitor (Constructor)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html#PathlibVisitor.__init__" />
+      <keyword name="PathlibVisitor.visit_Call" id="PathlibVisitor.visit_Call" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html#PathlibVisitor.visit_Call" />
+      <keyword name="PathlibVisitor.visit_Import" id="PathlibVisitor.visit_Import" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html#PathlibVisitor.visit_Import" />
+      <keyword name="PathlibVisitor.visit_ImportFrom" id="PathlibVisitor.visit_ImportFrom" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html#PathlibVisitor.visit_ImportFrom" />
       <keyword name="PersonalDataDialog" id="PersonalDataDialog" ref="eric6.WebBrowser.PersonalInformationManager.PersonalDataDialog.html#PersonalDataDialog" />
       <keyword name="PersonalDataDialog (Constructor)" id="PersonalDataDialog (Constructor)" ref="eric6.WebBrowser.PersonalInformationManager.PersonalDataDialog.html#PersonalDataDialog.__init__" />
       <keyword name="PersonalDataDialog (Module)" id="PersonalDataDialog (Module)" ref="eric6.WebBrowser.PersonalInformationManager.PersonalDataDialog.html" />
@@ -18251,6 +18276,7 @@
       <keyword name="translations (Module)" id="translations (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.DocStyle.translations.html" />
       <keyword name="translations (Module)" id="translations (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.translations.html" />
       <keyword name="translations (Module)" id="translations (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Naming.translations.html" />
+      <keyword name="translations (Module)" id="translations (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.translations.html" />
       <keyword name="translations (Module)" id="translations (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.translations.html" />
       <keyword name="translations (Module)" id="translations (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.translations.html" />
       <keyword name="tryExcept (Module)" id="tryExcept (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.Checks.tryExcept.html" />
@@ -18585,6 +18611,8 @@
       <file>eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.translations.html</file>
       <file>eric6.Plugins.CheckerPlugins.CodeStyleChecker.Naming.NamingStyleChecker.html</file>
       <file>eric6.Plugins.CheckerPlugins.CodeStyleChecker.Naming.translations.html</file>
+      <file>eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html</file>
+      <file>eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.translations.html</file>
       <file>eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.Checks.__init__.html</file>
       <file>eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.Checks.assert.html</file>
       <file>eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.Checks.awsHardcodedPassword.html</file>
@@ -19457,6 +19485,7 @@
       <file>index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.DocStyle.html</file>
       <file>index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.html</file>
       <file>index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.Naming.html</file>
+      <file>index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.html</file>
       <file>index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.Checks.html</file>
       <file>index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.html</file>
       <file>index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.html</file>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric6/Documentation/Source/eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html	Sun Mar 21 14:17:16 2021 +0100
@@ -0,0 +1,471 @@
+<!DOCTYPE html>
+<html><head>
+<title>eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker</title>
+<meta charset="UTF-8">
+<style>
+body {
+    background: #EDECE6;
+    margin: 0em 1em 10em 1em;
+    color: black;
+}
+
+h1 { color: white; background: #85774A; }
+h2 { color: white; background: #85774A; }
+h3 { color: white; background: #9D936E; }
+h4 { color: white; background: #9D936E; }
+    
+a { color: #BA6D36; }
+
+</style>
+</head>
+<body>
+<a NAME="top" ID="top"></a>
+<h1>eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker</h1>
+
+<p>
+Module implementing the checker for functions that can be replaced by use of
+the pathlib module.
+</p>
+<h3>Global Attributes</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Classes</h3>
+
+<table>
+
+<tr>
+<td><a href="#NameResolver">NameResolver</a></td>
+<td>Class to resolve a Name or Attribute node.</td>
+</tr>
+<tr>
+<td><a href="#PathlibChecker">PathlibChecker</a></td>
+<td>Class implementing a checker for functions that can be replaced by use of the pathlib module.</td>
+</tr>
+<tr>
+<td><a href="#PathlibVisitor">PathlibVisitor</a></td>
+<td>Class to traverse the AST node tree and check for potential issues.</td>
+</tr>
+</table>
+<h3>Functions</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<hr />
+<hr />
+<a NAME="NameResolver" ID="NameResolver"></a>
+<h2>NameResolver</h2>
+
+<p>
+    Class to resolve a Name or Attribute node.
+</p>
+<h3>Derived from</h3>
+ast.NodeVisitor
+<h3>Class Attributes</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Class Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+
+<table>
+
+<tr>
+<td><a href="#NameResolver.__init__">NameResolver</a></td>
+<td>Constructor</td>
+</tr>
+<tr>
+<td><a href="#NameResolver.name">name</a></td>
+<td>Public method to resolve the name.</td>
+</tr>
+<tr>
+<td><a href="#NameResolver.visit_Attribute">visit_Attribute</a></td>
+<td>Public method to handle the Attribute AST node.</td>
+</tr>
+<tr>
+<td><a href="#NameResolver.visit_Name">visit_Name</a></td>
+<td>Public method to handle the Name AST node.</td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+
+<a NAME="NameResolver.__init__" ID="NameResolver.__init__"></a>
+<h4>NameResolver (Constructor)</h4>
+<b>NameResolver</b>(<i>importAlias</i>)
+
+<p>
+        Constructor
+</p>
+<dl>
+
+<dt><i>importAlias</i> (dict)</dt>
+<dd>
+reference to the import aliases dictionary
+</dd>
+</dl>
+<a NAME="NameResolver.name" ID="NameResolver.name"></a>
+<h4>NameResolver.name</h4>
+<b>name</b>(<i></i>)
+
+<p>
+        Public method to resolve the name.
+</p>
+<dl>
+<dt>Return:</dt>
+<dd>
+resolved name
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+str
+</dd>
+</dl>
+<a NAME="NameResolver.visit_Attribute" ID="NameResolver.visit_Attribute"></a>
+<h4>NameResolver.visit_Attribute</h4>
+<b>visit_Attribute</b>(<i>node</i>)
+
+<p>
+        Public method to handle the Attribute AST node.
+</p>
+<dl>
+
+<dt><i>node</i> (ast.Attribute)</dt>
+<dd>
+reference to the Attribute AST node
+</dd>
+</dl>
+<a NAME="NameResolver.visit_Name" ID="NameResolver.visit_Name"></a>
+<h4>NameResolver.visit_Name</h4>
+<b>visit_Name</b>(<i>node</i>)
+
+<p>
+        Public method to handle the Name AST node.
+</p>
+<dl>
+
+<dt><i>node</i> (ast.Name)</dt>
+<dd>
+reference to the Name AST node
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+<hr />
+<a NAME="PathlibChecker" ID="PathlibChecker"></a>
+<h2>PathlibChecker</h2>
+
+<p>
+    Class implementing a checker for functions that can be replaced by use of
+    the pathlib module.
+</p>
+<h3>Derived from</h3>
+object
+<h3>Class Attributes</h3>
+
+<table>
+<tr><td>Codes</td></tr><tr><td>Function2Code</td></tr>
+</table>
+<h3>Class Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+
+<table>
+
+<tr>
+<td><a href="#PathlibChecker.__init__">PathlibChecker</a></td>
+<td>Constructor</td>
+</tr>
+<tr>
+<td><a href="#PathlibChecker.__checkForReplacement">__checkForReplacement</a></td>
+<td>Private method to check the given node for the need for a replacement.</td>
+</tr>
+<tr>
+<td><a href="#PathlibChecker.__error">__error</a></td>
+<td>Private method to record an issue.</td>
+</tr>
+<tr>
+<td><a href="#PathlibChecker.__generateTree">__generateTree</a></td>
+<td>Private method to generate an AST for our source.</td>
+</tr>
+<tr>
+<td><a href="#PathlibChecker.__ignoreCode">__ignoreCode</a></td>
+<td>Private method to check if the message code should be ignored.</td>
+</tr>
+<tr>
+<td><a href="#PathlibChecker.__reportInvalidSyntax">__reportInvalidSyntax</a></td>
+<td>Private method to report a syntax error.</td>
+</tr>
+<tr>
+<td><a href="#PathlibChecker.run">run</a></td>
+<td>Public method to check the given source against functions to be replaced by 'pathlib' equivalents.</td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+
+<a NAME="PathlibChecker.__init__" ID="PathlibChecker.__init__"></a>
+<h4>PathlibChecker (Constructor)</h4>
+<b>PathlibChecker</b>(<i>source, filename, selected, ignored, expected, repeat</i>)
+
+<p>
+        Constructor
+</p>
+<dl>
+
+<dt><i>source</i> (list of str)</dt>
+<dd>
+source code to be checked
+</dd>
+<dt><i>filename</i> (str)</dt>
+<dd>
+name of the source file
+</dd>
+<dt><i>selected</i> (list of str)</dt>
+<dd>
+list of selected codes
+</dd>
+<dt><i>ignored</i> (list of str)</dt>
+<dd>
+list of codes to be ignored
+</dd>
+<dt><i>expected</i> (list of str)</dt>
+<dd>
+list of expected codes
+</dd>
+<dt><i>repeat</i> (bool)</dt>
+<dd>
+flag indicating to report each occurrence of a code
+</dd>
+</dl>
+<a NAME="PathlibChecker.__checkForReplacement" ID="PathlibChecker.__checkForReplacement"></a>
+<h4>PathlibChecker.__checkForReplacement</h4>
+<b>__checkForReplacement</b>(<i>node, name</i>)
+
+<p>
+        Private method to check the given node for the need for a
+        replacement.
+</p>
+<dl>
+
+<dt><i>node</i> (ast.AST)</dt>
+<dd>
+reference to the AST node to check
+</dd>
+<dt><i>name</i> (str)</dt>
+<dd>
+resolved name of the node
+</dd>
+</dl>
+<a NAME="PathlibChecker.__error" ID="PathlibChecker.__error"></a>
+<h4>PathlibChecker.__error</h4>
+<b>__error</b>(<i>lineNumber, offset, code, *args</i>)
+
+<p>
+        Private method to record an issue.
+</p>
+<dl>
+
+<dt><i>lineNumber</i> (int)</dt>
+<dd>
+line number of the issue
+</dd>
+<dt><i>offset</i> (int)</dt>
+<dd>
+position within line of the issue
+</dd>
+<dt><i>code</i> (str)</dt>
+<dd>
+message code
+</dd>
+<dt><i>args</i> (list)</dt>
+<dd>
+arguments for the message
+</dd>
+</dl>
+<a NAME="PathlibChecker.__generateTree" ID="PathlibChecker.__generateTree"></a>
+<h4>PathlibChecker.__generateTree</h4>
+<b>__generateTree</b>(<i></i>)
+
+<p>
+        Private method to generate an AST for our source.
+</p>
+<dl>
+<dt>Return:</dt>
+<dd>
+generated AST
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+ast.AST
+</dd>
+</dl>
+<a NAME="PathlibChecker.__ignoreCode" ID="PathlibChecker.__ignoreCode"></a>
+<h4>PathlibChecker.__ignoreCode</h4>
+<b>__ignoreCode</b>(<i>code</i>)
+
+<p>
+        Private method to check if the message code should be ignored.
+</p>
+<dl>
+
+<dt><i>code</i> (str)</dt>
+<dd>
+message code to check for
+</dd>
+</dl>
+<dl>
+<dt>Return:</dt>
+<dd>
+flag indicating to ignore the given code
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+bool
+</dd>
+</dl>
+<a NAME="PathlibChecker.__reportInvalidSyntax" ID="PathlibChecker.__reportInvalidSyntax"></a>
+<h4>PathlibChecker.__reportInvalidSyntax</h4>
+<b>__reportInvalidSyntax</b>(<i></i>)
+
+<p>
+        Private method to report a syntax error.
+</p>
+<a NAME="PathlibChecker.run" ID="PathlibChecker.run"></a>
+<h4>PathlibChecker.run</h4>
+<b>run</b>(<i></i>)
+
+<p>
+        Public method to check the given source against functions
+        to be replaced by 'pathlib' equivalents.
+</p>
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+<hr />
+<a NAME="PathlibVisitor" ID="PathlibVisitor"></a>
+<h2>PathlibVisitor</h2>
+
+<p>
+    Class to traverse the AST node tree and check for potential issues.
+</p>
+<h3>Derived from</h3>
+ast.NodeVisitor
+<h3>Class Attributes</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Class Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+
+<table>
+
+<tr>
+<td><a href="#PathlibVisitor.__init__">PathlibVisitor</a></td>
+<td>Constructor</td>
+</tr>
+<tr>
+<td><a href="#PathlibVisitor.visit_Call">visit_Call</a></td>
+<td>Public method to handle the Call AST node.</td>
+</tr>
+<tr>
+<td><a href="#PathlibVisitor.visit_Import">visit_Import</a></td>
+<td>Public method to handle the Import AST node.</td>
+</tr>
+<tr>
+<td><a href="#PathlibVisitor.visit_ImportFrom">visit_ImportFrom</a></td>
+<td>Public method handle the ImportFrom AST node.</td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+
+<a NAME="PathlibVisitor.__init__" ID="PathlibVisitor.__init__"></a>
+<h4>PathlibVisitor (Constructor)</h4>
+<b>PathlibVisitor</b>(<i>checkCallback</i>)
+
+<p>
+        Constructor
+</p>
+<dl>
+
+<dt><i>checkCallback</i> (func)</dt>
+<dd>
+callback function taking a reference to the
+            AST node and the resolved name
+</dd>
+</dl>
+<a NAME="PathlibVisitor.visit_Call" ID="PathlibVisitor.visit_Call"></a>
+<h4>PathlibVisitor.visit_Call</h4>
+<b>visit_Call</b>(<i>node</i>)
+
+<p>
+        Public method to handle the Call AST node.
+</p>
+<dl>
+
+<dt><i>node</i> (ast.Call)</dt>
+<dd>
+reference to the Call AST node
+</dd>
+</dl>
+<a NAME="PathlibVisitor.visit_Import" ID="PathlibVisitor.visit_Import"></a>
+<h4>PathlibVisitor.visit_Import</h4>
+<b>visit_Import</b>(<i>node</i>)
+
+<p>
+        Public method to handle the Import AST node.
+</p>
+<dl>
+
+<dt><i>node</i> (ast.Import)</dt>
+<dd>
+reference to the Import AST node
+</dd>
+</dl>
+<a NAME="PathlibVisitor.visit_ImportFrom" ID="PathlibVisitor.visit_ImportFrom"></a>
+<h4>PathlibVisitor.visit_ImportFrom</h4>
+<b>visit_ImportFrom</b>(<i>node</i>)
+
+<p>
+        Public method handle the ImportFrom AST node.
+</p>
+<dl>
+
+<dt><i>node</i> (ast.ImportFrom)</dt>
+<dd>
+reference to the ImportFrom AST node
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+</body></html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric6/Documentation/Source/eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.translations.html	Sun Mar 21 14:17:16 2021 +0100
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html><head>
+<title>eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.translations</title>
+<meta charset="UTF-8">
+<style>
+body {
+    background: #EDECE6;
+    margin: 0em 1em 10em 1em;
+    color: black;
+}
+
+h1 { color: white; background: #85774A; }
+h2 { color: white; background: #85774A; }
+h3 { color: white; background: #9D936E; }
+h4 { color: white; background: #9D936E; }
+    
+a { color: #BA6D36; }
+
+</style>
+</head>
+<body>
+<a NAME="top" ID="top"></a>
+<h1>eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.translations</h1>
+
+<p>
+Module implementing message translations for the code style plugin messages
+(miscellaneous part).
+</p>
+<h3>Global Attributes</h3>
+
+<table>
+<tr><td>_pathlibMessages</td></tr>
+</table>
+<h3>Classes</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Functions</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<hr />
+</body></html>
\ No newline at end of file
--- a/eric6/Documentation/Source/eric6.QScintilla.MiniEditor.html	Wed Mar 17 19:54:32 2021 +0100
+++ b/eric6/Documentation/Source/eric6.QScintilla.MiniEditor.html	Sun Mar 21 14:17:16 2021 +0100
@@ -1605,6 +1605,10 @@
 <td>Constructor</td>
 </tr>
 <tr>
+<td><a href="#MiniScintilla.editorCommand">editorCommand</a></td>
+<td>Public method to perform a simple editor command.</td>
+</tr>
+<tr>
 <td><a href="#MiniScintilla.encloseSelectedText">encloseSelectedText</a></td>
 <td>Local function to enclose the current selection with some characters.</td>
 </tr>
@@ -1649,6 +1653,20 @@
 parent widget
 </dd>
 </dl>
+<a NAME="MiniScintilla.editorCommand" ID="MiniScintilla.editorCommand"></a>
+<h4>MiniScintilla.editorCommand</h4>
+<b>editorCommand</b>(<i>cmd</i>)
+
+<p>
+        Public method to perform a simple editor command.
+</p>
+<dl>
+
+<dt><i>cmd</i></dt>
+<dd>
+the scintilla command to be performed (integer)
+</dd>
+</dl>
 <a NAME="MiniScintilla.encloseSelectedText" ID="MiniScintilla.encloseSelectedText"></a>
 <h4>MiniScintilla.encloseSelectedText</h4>
 <b>encloseSelectedText</b>(<i></i>)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric6/Documentation/Source/index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.html	Sun Mar 21 14:17:16 2021 +0100
@@ -0,0 +1,42 @@
+<!DOCTYPE html>
+<html><head>
+<title>eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib</title>
+<meta charset="UTF-8">
+<style>
+body {
+    background: #EDECE6;
+    margin: 0em 1em 10em 1em;
+    color: black;
+}
+
+h1 { color: white; background: #85774A; }
+h2 { color: white; background: #85774A; }
+h3 { color: white; background: #9D936E; }
+h4 { color: white; background: #9D936E; }
+    
+a { color: #BA6D36; }
+
+</style>
+</head>
+<body>
+<h1>eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib</h1>
+
+<p>
+Package implementing the checker for functions that can be replaced by use of
+the pathlib module.
+</p>
+
+
+<h3>Modules</h3>
+<table>
+
+<tr>
+<td><a href="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html">PathlibChecker</a></td>
+<td>Module implementing the checker for functions that can be replaced by use of the pathlib module.</td>
+</tr>
+<tr>
+<td><a href="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.translations.html">translations</a></td>
+<td>Module implementing message translations for the code style plugin messages (miscellaneous part).</td>
+</tr>
+</table>
+</body></html>
\ No newline at end of file
--- a/eric6/Documentation/Source/index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.html	Wed Mar 17 19:54:32 2021 +0100
+++ b/eric6/Documentation/Source/index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.html	Sun Mar 21 14:17:16 2021 +0100
@@ -49,6 +49,10 @@
 <td>Package implementing the naming style checker.</td>
 </tr>
 <tr>
+<td><a href="index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.html">PathLib</a></td>
+<td>Package implementing the checker for functions that can be replaced by use of the pathlib module.</td>
+</tr>
+<tr>
 <td><a href="index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.html">Security</a></td>
 <td>Package implementing the security checker.</td>
 </tr>
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/Annotations/AnnotationsChecker.py	Wed Mar 17 19:54:32 2021 +0100
+++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/Annotations/AnnotationsChecker.py	Sun Mar 21 14:17:16 2021 +0100
@@ -162,8 +162,7 @@
         @return generated AST
         @rtype ast.Module
         """
-        source = "".join(self.__source)
-        return compile(source, self.__filename, 'exec', ast.PyCF_ONLY_AST)
+        return ast.parse("".join(self.__source), self.__filename)
     
     def run(self):
         """
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleChecker.py	Wed Mar 17 19:54:32 2021 +0100
+++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleChecker.py	Sun Mar 21 14:17:16 2021 +0100
@@ -22,6 +22,7 @@
 from Miscellaneous.MiscellaneousChecker import MiscellaneousChecker
 from Complexity.ComplexityChecker import ComplexityChecker
 from Security.SecurityChecker import SecurityChecker
+from PathLib.PathlibChecker import PathlibChecker
 
 
 def initService():
@@ -432,6 +433,12 @@
             securityChecker.run()
             stats.update(securityChecker.counters)
             errors += securityChecker.errors
+            
+            pathlibChecker = PathlibChecker(
+                source, filename, select, ignore, [], repeatMessages)
+            pathlibChecker.run()
+            stats.update(pathlibChecker.counters)
+            errors += pathlibChecker.errors
     
     errorsDict = {}
     for error in errors:
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py	Wed Mar 17 19:54:32 2021 +0100
+++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py	Sun Mar 21 14:17:16 2021 +0100
@@ -82,6 +82,9 @@
         "N": QCoreApplication.translate(
             "CheckerCategories",
             "Naming"),
+        "P": QCoreApplication.translate(
+            "CheckerCategories",
+            "'pathlib' Usage"),
         "S": QCoreApplication.translate(
             "CheckerCategories",
             "Security"),
@@ -287,6 +290,8 @@
             itm.setIcon(1, UI.PixmapCache.getIcon("namingError"))
         elif msgCode.startswith("D"):
             itm.setIcon(1, UI.PixmapCache.getIcon("docstringError"))
+        elif msgCode.startswith("P"):
+            itm.setIcon(1, UI.PixmapCache.getIcon("dirClosed"))
         elif msgCode.startswith("S"):
             if "severity" in result:
                 if result["severity"] == "H":
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCodeSelectionDialog.py	Wed Mar 17 19:54:32 2021 +0100
+++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCodeSelectionDialog.py	Sun Mar 21 14:17:16 2021 +0100
@@ -81,6 +81,8 @@
                 itm.setIcon(0, UI.PixmapCache.getIcon("docstringError"))
             elif code.startswith("S"):
                 itm.setIcon(0, UI.PixmapCache.getIcon("securityLow"))
+            elif code.startswith("P"):
+                itm.setIcon(0, UI.PixmapCache.getIcon("dirClosed"))
             else:
                 # unknown category prefix => warning
                 itm.setIcon(0, UI.PixmapCache.getIcon("warning"))
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleStatisticsDialog.py	Wed Mar 17 19:54:32 2021 +0100
+++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleStatisticsDialog.py	Sun Mar 21 14:17:16 2021 +0100
@@ -96,6 +96,8 @@
             itm.setIcon(1, UI.PixmapCache.getIcon("docstringError"))
         elif code.startswith("S"):
             itm.setIcon(1, UI.PixmapCache.getIcon("securityLow"))
+        elif code.startswith("P"):
+            itm.setIcon(1, UI.PixmapCache.getIcon("dirClosed"))
         
         itm.setTextAlignment(
             0, Qt.AlignmentFlag.AlignRight | Qt.AlignmentFlag.AlignVCenter)
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/Complexity/ComplexityChecker.py	Wed Mar 17 19:54:32 2021 +0100
+++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/Complexity/ComplexityChecker.py	Sun Mar 21 14:17:16 2021 +0100
@@ -140,8 +140,7 @@
             return
         
         try:
-            self.__tree = compile(''.join(self.__source), self.__filename,
-                                  'exec', ast.PyCF_ONLY_AST)
+            self.__tree = ast.parse("".join(self.__source), self.__filename)
         except (SyntaxError, TypeError):
             self.__reportInvalidSyntax()
             return
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/DocStyle/DocStyleChecker.py	Wed Mar 17 19:54:32 2021 +0100
+++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/DocStyle/DocStyleChecker.py	Sun Mar 21 14:17:16 2021 +0100
@@ -351,9 +351,8 @@
             # don't do anything, if no codes were selected
             return
         
-        source = "".join(self.__source)
         try:
-            compile(source, self.__filename, 'exec', ast.PyCF_ONLY_AST)
+            ast.parse("".join(self.__source), self.__filename)
         except (SyntaxError, TypeError):
             self.__reportInvalidSyntax()
             return
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/MiscellaneousChecker.py	Wed Mar 17 19:54:32 2021 +0100
+++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/MiscellaneousChecker.py	Sun Mar 21 14:17:16 2021 +0100
@@ -160,7 +160,7 @@
                            if b not in self.BuiltinsWhiteList]
         
         self.__eradicator = Eradicator()
-
+        
         # statistics counters
         self.counters = {}
         
@@ -288,8 +288,7 @@
         @return generated AST
         @rtype ast.AST
         """
-        source = "".join(self.__source)
-        return compile(source, self.__filename, 'exec', ast.PyCF_ONLY_AST)
+        return ast.parse("".join(self.__source), self.__filename)
     
     def run(self):
         """
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/PathLib/PathlibChecker.py	Sun Mar 21 14:17:16 2021 +0100
@@ -0,0 +1,317 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+"""
+Module implementing the checker for functions that can be replaced by use of
+the pathlib module.
+"""
+
+import ast
+import sys
+
+
+class PathlibChecker(object):
+    """
+    Class implementing a checker for functions that can be replaced by use of
+    the pathlib module.
+    """
+    Codes = [
+        ## Replacements for the os module functions
+        "P101", "P102", "P103", "P104", "P105", "P106", "P107",
+        "P108", "P109", "P110", "P111",
+        
+        ## Replacements for the os.path module functions
+        "P201", "P202", "P203", "P204", "P205", "P206", "P207",
+        "P208", "P209", "P210", "P211", "P212",
+        
+        ## Replacements for some Python standrd library functions
+        "P301",
+        
+        ## Replacements for py.path.local
+        "P401",
+    ]
+    
+    # map functions to be replaced to error codes
+    Function2Code = {
+        "os.chmod": "P101",
+        "os.mkdir": "P102",
+        "os.makedirs": "P103",
+        "os.rename": "P104",
+        "os.replace": "P105",
+        "os.rmdir": "P106",
+        "os.remove": "P107",
+        "os.unlink": "P108",
+        "os.getcwd": "P109",
+        "os.readlink": "P110",
+        "os.stat": "P111",
+        
+        "os.path.abspath": "P201",
+        "os.path.exists": "P202",
+        "os.path.expanduser": "P203",
+        "os.path.isdir": "P204",
+        "os.path.isfile": "P205",
+        "os.path.islink": "P206",
+        "os.path.isabs": "P207",
+        "os.path.join": "P208",
+        "os.path.basename": "P209",
+        "os.path.dirname": "P210",
+        "os.path.samefile": "P211",
+        "os.path.splitext": "P212",
+        
+        "open": "P301",
+        
+        "py.path.local": "P401",
+    }
+    
+    def __init__(self, source, filename, selected, ignored, expected, repeat):
+        """
+        Constructor
+        
+        @param source source code to be checked
+        @type list of str
+        @param filename name of the source file
+        @type str
+        @param selected list of selected codes
+        @type list of str
+        @param ignored list of codes to be ignored
+        @type list of str
+        @param expected list of expected codes
+        @type list of str
+        @param repeat flag indicating to report each occurrence of a code
+        @type bool
+        """
+        self.__select = tuple(selected)
+        self.__ignore = ('',) if selected else tuple(ignored)
+        self.__expected = expected[:]
+        self.__repeat = repeat
+        self.__filename = filename
+        self.__source = source[:]
+        
+        # statistics counters
+        self.counters = {}
+        
+        # collection of detected errors
+        self.errors = []
+        
+        self.__checkCodes = (code for code in self.Codes
+                             if not self.__ignoreCode(code))
+    
+    def __ignoreCode(self, code):
+        """
+        Private method to check if the message code should be ignored.
+
+        @param code message code to check for
+        @type str
+        @return flag indicating to ignore the given code
+        @rtype bool
+        """
+        return (code.startswith(self.__ignore) and
+                not code.startswith(self.__select))
+    
+    def __error(self, lineNumber, offset, code, *args):
+        """
+        Private method to record an issue.
+        
+        @param lineNumber line number of the issue
+        @type int
+        @param offset position within line of the issue
+        @type int
+        @param code message code
+        @type str
+        @param args arguments for the message
+        @type list
+        """
+        if self.__ignoreCode(code):
+            return
+        
+        if code in self.counters:
+            self.counters[code] += 1
+        else:
+            self.counters[code] = 1
+        
+        # Don't care about expected codes
+        if code in self.__expected:
+            return
+        
+        if code and (self.counters[code] == 1 or self.__repeat):
+            # record the issue with one based line number
+            self.errors.append(
+                {
+                    "file": self.__filename,
+                    "line": lineNumber + 1,
+                    "offset": offset,
+                    "code": code,
+                    "args": args,
+                }
+            )
+    
+    def __reportInvalidSyntax(self):
+        """
+        Private method to report a syntax error.
+        """
+        exc_type, exc = sys.exc_info()[:2]
+        if len(exc.args) > 1:
+            offset = exc.args[1]
+            if len(offset) > 2:
+                offset = offset[1:3]
+        else:
+            offset = (1, 0)
+        self.__error(offset[0] - 1, offset[1] or 0,
+                     'M901', exc_type.__name__, exc.args[0])
+    
+    def __generateTree(self):
+        """
+        Private method to generate an AST for our source.
+        
+        @return generated AST
+        @rtype ast.AST
+        """
+        return ast.parse("".join(self.__source), self.__filename)
+    
+    def run(self):
+        """
+        Public method to check the given source against functions
+        to be replaced by 'pathlib' equivalents.
+        """
+        if not self.__filename:
+            # don't do anything, if essential data is missing
+            return
+        
+        if not self.__checkCodes:
+            # don't do anything, if no codes were selected
+            return
+        
+        try:
+            self.__tree = self.__generateTree()
+        except (SyntaxError, TypeError):
+            self.__reportInvalidSyntax()
+            return
+        
+        visitor = PathlibVisitor(self.__checkForReplacement)
+        visitor.visit(self.__tree)
+    
+    def __checkForReplacement(self, node, name):
+        """
+        Private method to check the given node for the need for a
+        replacement.
+        
+        @param node reference to the AST node to check
+        @type ast.AST
+        @param name resolved name of the node
+        @type str
+        """
+        try:
+            errorCode = self.Function2Code[name]
+            self.__error(node.lineno - 1, node.col_offset, errorCode)
+        except KeyError:
+            # name is not in our list of replacements
+            pass
+
+
+class PathlibVisitor(ast.NodeVisitor):
+    """
+    Class to traverse the AST node tree and check for potential issues.
+    """
+    def __init__(self, checkCallback):
+        """
+        Constructor
+        
+        @param checkCallback callback function taking a reference to the
+            AST node and the resolved name
+        @type func
+        """
+        super(PathlibVisitor, self).__init__()
+        
+        self.__checkCallback = checkCallback
+        self.__importAlias = {}
+    
+    def visit_ImportFrom(self, node):
+        """
+        Public method handle the ImportFrom AST node.
+        
+        @param node reference to the ImportFrom AST node
+        @type ast.ImportFrom
+        """
+        for imp in node.names:
+            if imp.asname:
+                self.__importAlias[imp.asname] = f"{node.module}.{imp.name}"
+            else:
+                self.__importAlias[imp.name] = f"{node.module}.{imp.name}"
+
+    def visit_Import(self, node):
+        """
+        Public method to handle the Import AST node.
+        
+        @param node reference to the Import AST node
+        @type ast.Import
+        """
+        for imp in node.names:
+            if imp.asname:
+                self.__importAlias[imp.asname] = imp.name
+
+    def visit_Call(self, node):
+        """
+        Public method to handle the Call AST node.
+        
+        @param node reference to the Call AST node
+        @type ast.Call
+        """
+        nameResolver = NameResolver(self.__importAlias)
+        nameResolver.visit(node.func)
+        
+        self.__checkCallback(node, nameResolver.name())
+
+
+class NameResolver(ast.NodeVisitor):
+    """
+    Class to resolve a Name or Attribute node.
+    """
+    def __init__(self, importAlias):
+        """
+        Constructor
+        
+        @param importAlias reference to the import aliases dictionary
+        @type dict
+        """
+        self.__importAlias = importAlias
+        self.__names = []
+    
+    def name(self):
+        """
+        Public method to resolve the name.
+        
+        @return resolved name
+        @rtype str
+        """
+        try:
+            attr = self.__importAlias[self.__names[-1]]
+            self.__names[-1] = attr
+        except (KeyError, IndexError):
+            # do nothing if there is no such name or the names list is empty
+            pass
+        
+        return ".".join(reversed(self.__names))
+    
+    def visit_Name(self, node):
+        """
+        Public method to handle the Name AST node.
+        
+        @param node reference to the Name AST node
+        @type ast.Name
+        """
+        self.__names.append(node.id)
+    
+    def visit_Attribute(self, node):
+        """
+        Public method to handle the Attribute AST node.
+        
+        @param node reference to the Attribute AST node
+        @type ast.Attribute
+        """
+        try:
+            self.__names.append(node.attr)
+            self.__names.append(node.value.id)
+        except AttributeError:
+            self.generic_visit(node)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/PathLib/__init__.py	Sun Mar 21 14:17:16 2021 +0100
@@ -0,0 +1,9 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+"""
+Package implementing the checker for functions that can be replaced by use of
+the pathlib module.
+"""
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py	Sun Mar 21 14:17:16 2021 +0100
@@ -0,0 +1,100 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2020 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+
+"""
+Module implementing message translations for the code style plugin messages
+(miscellaneous part).
+"""
+
+from PyQt5.QtCore import QCoreApplication
+
+_pathlibMessages = {
+    "P101": QCoreApplication.translate(
+        "PathlibChecker",
+        "os.chmod('foo', 0o444) should be replaced by foo_path.chmod(0o444)"),
+    "P102": QCoreApplication.translate(
+        "PathlibChecker",
+        "os.mkdir('foo') should be replaced by foo_path.mkdir()"),
+    "P103": QCoreApplication.translate(
+        "PathlibChecker",
+        "os.makedirs('foo/bar') should be replaced by "
+        "bar_path.mkdir(parents=True)"),
+    "P104": QCoreApplication.translate(
+        "PathlibChecker",
+        "os.rename('foo', 'bar') should be replaced by "
+        "foo_path.rename(Path('bar'))"),
+    "P105": QCoreApplication.translate(
+        "PathlibChecker",
+        "os.replace('foo', 'bar') should be replaced by "
+        "foo_path.replace(Path('bar'))"),
+    "P106": QCoreApplication.translate(
+        "PathlibChecker",
+        "os.rmdir('foo') should be replaced by foo_path.rmdir()"),
+    "P107": QCoreApplication.translate(
+        "PathlibChecker",
+        "os.remove('foo') should be replaced by foo_path.unlink()"),
+    "P108": QCoreApplication.translate(
+        "PathlibChecker",
+        "os.unlink('foo'') should be replaced by foo_path.unlink()"),
+    "P109": QCoreApplication.translate(
+        "PathlibChecker",
+        "os.getcwd() should be replaced by Path.cwd()"),
+    "P110": QCoreApplication.translate(
+        "PathlibChecker",
+        "os.readlink('foo') should be replaced by foo_path.readlink()"),
+    "P111": QCoreApplication.translate(
+        "PathlibChecker",
+        "os.stat('foo') should be replaced by foo_path.stat() or "
+        "foo_path.owner() or foo_path.group()"),
+    
+    "P201": QCoreApplication.translate(
+        "PathlibChecker",
+        "os.path.abspath('foo') should be replaced by foo_path.resolve()"),
+    "P202": QCoreApplication.translate(
+        "PathlibChecker",
+        "os.path.exists('foo') should be replaced by foo_path.exists()"),
+    "P203": QCoreApplication.translate(
+        "PathlibChecker",
+        "os.path.expanduser('~/foo') should be replaced by "
+        "foo_path.expanduser()"),
+    "P204": QCoreApplication.translate(
+        "PathlibChecker",
+        "os.path.isdir('foo') should be replaced by foo_path.is_dir()"),
+    "P205": QCoreApplication.translate(
+        "PathlibChecker",
+        "os.path.isfile('foo') should be replaced by foo_path.is_file()"),
+    "P206": QCoreApplication.translate(
+        "PathlibChecker",
+        "os.path.islink('foo') should be replaced by foo_path.is_symlink()"),
+    "P207": QCoreApplication.translate(
+        "PathlibChecker",
+        "os.path.isabs('foo') should be replaced by foo_path.is_absolute()"),
+    "P208": QCoreApplication.translate(
+        "PathlibChecker",
+        "os.path.join('foo', 'bar') should be replaced by "
+        "foo_path / 'bar'"),
+    "P209": QCoreApplication.translate(
+        "PathlibChecker",
+        "os.path.basename('foo/bar') should be replaced by bar_path.name"),
+    "P210": QCoreApplication.translate(
+        "PathlibChecker",
+        "os.path.dirname('foo/bar') should be replaced by bar_path.parent"),
+    "P211": QCoreApplication.translate(
+        "PathlibChecker",
+        "os.path.samefile('foo', 'bar') should be replaced by "
+        "foo_path.samefile(bar_path)"),
+    "P212": QCoreApplication.translate(
+        "PathlibChecker",
+        "os.path.splitext('foo.bar') should be replaced by foo_path.suffix"),
+    
+    "P301": QCoreApplication.translate(
+        "PathlibChecker",
+        "open('foo') should be replaced by Path('foo').open()"),
+    
+    "P401": QCoreApplication.translate(
+        "PathlibChecker",
+        "py.path.local is in maintenance mode, use pathlib instead"),
+}
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/Security/SecurityChecker.py	Wed Mar 17 19:54:32 2021 +0100
+++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/Security/SecurityChecker.py	Sun Mar 21 14:17:16 2021 +0100
@@ -223,8 +223,7 @@
         @return generated AST
         @rtype ast.AST
         """
-        source = "".join(self.__source)
-        return compile(source, self.__filename, 'exec', ast.PyCF_ONLY_AST)
+        return ast.parse("".join(self.__source), self.__filename)
     
     def getConfig(self):
         """
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/translations.py	Wed Mar 17 19:54:32 2021 +0100
+++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/translations.py	Sun Mar 21 14:17:16 2021 +0100
@@ -9,9 +9,6 @@
 
 from PyQt5.QtCore import QCoreApplication
 
-from .Security.translations import (
-    _securityMessages, _securityMessagesSampleArgs
-)
 from .Annotations.translations import (
     _annotationsMessages, _annotationsMessagesSampleArgs
 )
@@ -25,6 +22,10 @@
     _miscellaneousMessages, _miscellaneousMessagesSampleArgs
 )
 from .Naming.translations import _namingStyleMessages
+from .PathLib.translations import _pathlibMessages
+from .Security.translations import (
+    _securityMessages, _securityMessagesSampleArgs
+)
 
 _messages = {
     ##################################################################
@@ -478,24 +479,27 @@
 
 messageCatalogs = (
     _messages,
-    _securityMessages,
     _annotationsMessages,
     _complexityMessages,
     _docStyleMessages,
     _miscellaneousMessages,
     _namingStyleMessages,
+    _pathlibMessages,
+    _securityMessages,
 )
 
 messageSampleArgsCatalog = (
     _messages_sample_args,
-    _securityMessagesSampleArgs,
     _annotationsMessagesSampleArgs,
     _complexityMessagesSampleArgs,
     _docStyleMessagesSampleArgs,
     _miscellaneousMessagesSampleArgs,
+    _securityMessagesSampleArgs,
 )
 
 
+# TODO: change this to use the initial character (= class) of the message code
+#       to select the appropriate catalog (observe FIX as code category)
 def getTranslatedMessage(messageCode, messageArgs, example=False):
     """
     Module function to get a translated and formatted message for a
--- a/eric6/i18n/eric6_cs.ts	Wed Mar 17 19:54:32 2021 +0100
+++ b/eric6/i18n/eric6_cs.ts	Sun Mar 21 14:17:16 2021 +0100
@@ -3061,14 +3061,19 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="88"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="91"/>
         <source>Warnings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="88"/>
+        <source>Security</source>
+        <translation type="unfinished">Bezpečnost</translation>
+    </message>
+    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="85"/>
-        <source>Security</source>
-        <translation type="unfinished">Bezpečnost</translation>
+        <source>&apos;pathlib&apos; Usage</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -3548,7 +3553,7 @@
 <context>
     <name>CodeStyleChecker</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="538"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="542"/>
         <source>No message defined for code &apos;{0}&apos;.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3711,12 +3716,12 @@
         <translation type="unfinished">Zpráva</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="126"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="129"/>
         <source>PEP-257</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="127"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="130"/>
         <source>Eric</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3741,7 +3746,7 @@
         <translation type="unfinished">Stisknout pro zobrazení všech souborů, které obsahují problém</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="246"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="249"/>
         <source>Error: {0}</source>
         <translation type="unfinished">Chyby: {0}</translation>
     </message>
@@ -3751,7 +3756,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1044"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1049"/>
         <source>No issues found.</source>
         <translation type="unfinished">Žádné problémy nenalezeny.</translation>
     </message>
@@ -3776,12 +3781,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="968"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="973"/>
         <source>{0} (ignored)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="861"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="866"/>
         <source>Preparing files...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3791,12 +3796,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="219"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="222"/>
         <source>Errors</source>
         <translation type="unfinished">Chyby</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="900"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="905"/>
         <source>Transferring data...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3901,7 +3906,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1047"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1052"/>
         <source>No files found (check your ignore list).</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4211,12 +4216,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2004"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2009"/>
         <source>Commented Code Whitelist Pattern</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2004"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2009"/>
         <source>Enter a Commented Code Whitelist Pattern</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4280,142 +4285,142 @@
 <context>
     <name>CodeStyleFixer</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="301"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="302"/>
         <source>Triple single quotes converted to triple double quotes.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="304"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="305"/>
         <source>Introductory quotes corrected to be {0}&quot;&quot;&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="307"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="308"/>
         <source>Single line docstring put on one line.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="310"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="311"/>
         <source>Period added to summary line.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="337"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="338"/>
         <source>Blank line before function/method docstring removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="316"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="317"/>
         <source>Blank line inserted before class docstring.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="319"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="320"/>
         <source>Blank line inserted after class docstring.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="322"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="323"/>
         <source>Blank line inserted after docstring summary.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="325"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="326"/>
         <source>Blank line inserted after last paragraph of docstring.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="328"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="329"/>
         <source>Leading quotes put on separate line.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="331"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="332"/>
         <source>Trailing quotes put on separate line.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="334"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="335"/>
         <source>Blank line before class docstring removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="340"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="341"/>
         <source>Blank line after class docstring removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="343"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="344"/>
         <source>Blank line after function/method docstring removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="346"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="347"/>
         <source>Blank line after last paragraph removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="349"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="350"/>
         <source>Tab converted to 4 spaces.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="352"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="353"/>
         <source>Indentation adjusted to be a multiple of four.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="355"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="356"/>
         <source>Indentation of continuation line corrected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="358"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="359"/>
         <source>Indentation of closing bracket corrected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="361"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="362"/>
         <source>Missing indentation of continuation line corrected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="364"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="365"/>
         <source>Closing bracket aligned to opening bracket.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="367"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="368"/>
         <source>Indentation level changed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="370"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="371"/>
         <source>Indentation level of hanging indentation changed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="373"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="374"/>
         <source>Visual indentation corrected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="388"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="389"/>
         <source>Extraneous whitespace removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="385"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="386"/>
         <source>Missing whitespace added.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="391"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="392"/>
         <source>Whitespace around comment sign corrected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="395"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="396"/>
         <source>%n blank line(s) inserted.</source>
         <translation type="unfinished">
             <numerusform></numerusform>
@@ -4424,7 +4429,7 @@
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="398"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="399"/>
         <source>%n superfluous lines removed</source>
         <translation type="unfinished">
             <numerusform></numerusform>
@@ -4433,72 +4438,72 @@
         </translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="402"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="403"/>
         <source>Superfluous blank lines removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="405"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="406"/>
         <source>Superfluous blank lines after function decorator removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="408"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="409"/>
         <source>Imports were put on separate lines.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="411"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="412"/>
         <source>Long lines have been shortened.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="414"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="415"/>
         <source>Redundant backslash in brackets removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="420"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="421"/>
         <source>Compound statement corrected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="423"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="424"/>
         <source>Comparison to None/True/False corrected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="426"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="427"/>
         <source>&apos;{0}&apos; argument added.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="429"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="430"/>
         <source>&apos;{0}&apos; argument removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="432"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="433"/>
         <source>Whitespace stripped from end of line.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="435"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="436"/>
         <source>newline added to end of file.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="438"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="439"/>
         <source>Superfluous trailing blank lines removed from end of file.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="441"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="442"/>
         <source>&apos;&lt;&gt;&apos; replaced by &apos;!=&apos;.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="445"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="446"/>
         <source>Could not save the file! Skipping it. Reason: {0}</source>
         <translation type="unfinished"></translation>
     </message>
@@ -11795,7 +11800,7 @@
         <translation>Editovat breakpoint...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5699"/>
+        <location filename="../QScintilla/Editor.py" line="5702"/>
         <source>Enable breakpoint</source>
         <translation>Aktivovat breakpoint</translation>
     </message>
@@ -11875,197 +11880,197 @@
         <translation>Soubor je modifikován</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4841"/>
+        <location filename="../QScintilla/Editor.py" line="4844"/>
         <source>Autocompletion</source>
         <translation>Autodoplňování</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4841"/>
+        <location filename="../QScintilla/Editor.py" line="4844"/>
         <source>Autocompletion is not available because there is no autocompletion source set.</source>
         <translation>Autodoplňování není dostupné protože zdrojová část autodoplňování nebyla nalezena.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5702"/>
+        <location filename="../QScintilla/Editor.py" line="5705"/>
         <source>Disable breakpoint</source>
         <translation>Deaktivovat breakpoint</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6077"/>
+        <location filename="../QScintilla/Editor.py" line="6080"/>
         <source>Code Coverage</source>
         <translation>Pokrytí kódu</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6077"/>
+        <location filename="../QScintilla/Editor.py" line="6080"/>
         <source>Please select a coverage file</source>
         <translation>Prosím, vyberte soubor s pokrytím kódu</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6140"/>
+        <location filename="../QScintilla/Editor.py" line="6143"/>
         <source>Show Code Coverage Annotations</source>
         <translation>Zobrazit poznámky pokrytí kódu</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6133"/>
+        <location filename="../QScintilla/Editor.py" line="6136"/>
         <source>All lines have been covered.</source>
         <translation>Všechny řádky byly pokryty.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6140"/>
+        <location filename="../QScintilla/Editor.py" line="6143"/>
         <source>There is no coverage file available.</source>
         <translation>Soubor s pokrytím není dostupný.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6257"/>
+        <location filename="../QScintilla/Editor.py" line="6260"/>
         <source>Profile Data</source>
         <translation>Profilovat data</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6257"/>
+        <location filename="../QScintilla/Editor.py" line="6260"/>
         <source>Please select a profile file</source>
         <translation>Prosím, vyberte soubor s profilem</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6419"/>
+        <location filename="../QScintilla/Editor.py" line="6422"/>
         <source>Syntax Error</source>
         <translation>Chyba syntaxe</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6419"/>
+        <location filename="../QScintilla/Editor.py" line="6422"/>
         <source>No syntax error message available.</source>
         <translation>Hlášení syntaktické chyby není dostupné.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6808"/>
+        <location filename="../QScintilla/Editor.py" line="6811"/>
         <source>Macro Name</source>
         <translation>Název makra</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6808"/>
+        <location filename="../QScintilla/Editor.py" line="6811"/>
         <source>Select a macro name:</source>
         <translation>Vyberte název makra:</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6836"/>
+        <location filename="../QScintilla/Editor.py" line="6839"/>
         <source>Load macro file</source>
         <translation>Načíst soubor makra</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6878"/>
+        <location filename="../QScintilla/Editor.py" line="6881"/>
         <source>Macro files (*.macro)</source>
         <translation>Macro soubory (*.macro)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6858"/>
+        <location filename="../QScintilla/Editor.py" line="6861"/>
         <source>Error loading macro</source>
         <translation>Chyba při načítání makra</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6878"/>
+        <location filename="../QScintilla/Editor.py" line="6881"/>
         <source>Save macro file</source>
         <translation>Uložit soubor s makrem</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6895"/>
+        <location filename="../QScintilla/Editor.py" line="6898"/>
         <source>Save macro</source>
         <translation>Uložit makro</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6910"/>
+        <location filename="../QScintilla/Editor.py" line="6913"/>
         <source>Error saving macro</source>
         <translation>Chyba při ukládání makra</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6923"/>
+        <location filename="../QScintilla/Editor.py" line="6926"/>
         <source>Start Macro Recording</source>
         <translation>Spustit záznam makra</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6923"/>
+        <location filename="../QScintilla/Editor.py" line="6926"/>
         <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="6949"/>
+        <location filename="../QScintilla/Editor.py" line="6952"/>
         <source>Macro Recording</source>
         <translation>Záznam makra</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6949"/>
+        <location filename="../QScintilla/Editor.py" line="6952"/>
         <source>Enter name of the macro:</source>
         <translation>Vložte název makra:</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7119"/>
+        <location filename="../QScintilla/Editor.py" line="7122"/>
         <source>File changed</source>
         <translation>Soubor změněn</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7454"/>
+        <location filename="../QScintilla/Editor.py" line="7457"/>
         <source>Drop Error</source>
         <translation>Zahodit chybu</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7475"/>
+        <location filename="../QScintilla/Editor.py" line="7478"/>
         <source>Resources</source>
         <translation>Zdroje</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7477"/>
+        <location filename="../QScintilla/Editor.py" line="7480"/>
         <source>Add file...</source>
         <translation>Přidat soubor...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7479"/>
+        <location filename="../QScintilla/Editor.py" line="7482"/>
         <source>Add files...</source>
         <translation>Přidat soubory...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7481"/>
-        <source>Add aliased file...</source>
-        <translation>Přidat zástupce souboru...</translation>
-    </message>
-    <message>
         <location filename="../QScintilla/Editor.py" line="7484"/>
+        <source>Add aliased file...</source>
+        <translation>Přidat zástupce souboru...</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Editor.py" line="7487"/>
         <source>Add localized resource...</source>
         <translation>Přidat lokalizované resource...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7488"/>
+        <location filename="../QScintilla/Editor.py" line="7491"/>
         <source>Add resource frame</source>
         <translation>Přidat resource frame</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7507"/>
+        <location filename="../QScintilla/Editor.py" line="7510"/>
         <source>Add file resource</source>
         <translation>Přidat soubor resource</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7523"/>
+        <location filename="../QScintilla/Editor.py" line="7526"/>
         <source>Add file resources</source>
         <translation>Přidat soubory resource</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7550"/>
+        <location filename="../QScintilla/Editor.py" line="7553"/>
         <source>Add aliased file resource</source>
         <translation>Přidat zástupce souboru resource</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7616"/>
+        <location filename="../QScintilla/Editor.py" line="7619"/>
         <source>Package Diagram</source>
         <translation>Diagram balíčku</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7616"/>
+        <location filename="../QScintilla/Editor.py" line="7619"/>
         <source>Include class attributes?</source>
         <translation>Včetně atributů třídy?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7652"/>
+        <location filename="../QScintilla/Editor.py" line="7655"/>
         <source>Application Diagram</source>
         <translation>Diagram aplikace</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7652"/>
+        <location filename="../QScintilla/Editor.py" line="7655"/>
         <source>Include module names?</source>
         <translation>Včetně jmen modulů?</translation>
     </message>
@@ -12085,12 +12090,12 @@
         <translation>Nebyl zadán forám exportu. Zrušeno....</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7638"/>
+        <location filename="../QScintilla/Editor.py" line="7641"/>
         <source>Imports Diagram</source>
         <translation>Importovat diagram</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7638"/>
+        <location filename="../QScintilla/Editor.py" line="7641"/>
         <source>Include imports from external modules?</source>
         <translation>Zahrnout importy z externích modulů?</translation>
     </message>
@@ -12160,7 +12165,7 @@
         <translation>Použít Pygments lexer.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7981"/>
+        <location filename="../QScintilla/Editor.py" line="7991"/>
         <source>Check spelling...</source>
         <translation>Zatrhnout kontrolu...</translation>
     </message>
@@ -12170,12 +12175,12 @@
         <translation>Zatrhnout výběr kontroly...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7984"/>
+        <location filename="../QScintilla/Editor.py" line="7994"/>
         <source>Add to dictionary</source>
         <translation>Přidat do slovníku</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7986"/>
+        <location filename="../QScintilla/Editor.py" line="7996"/>
         <source>Ignore All</source>
         <translation>Ignorovat vše</translation>
     </message>
@@ -12215,32 +12220,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="6849"/>
+        <location filename="../QScintilla/Editor.py" line="6852"/>
         <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="6858"/>
+        <location filename="../QScintilla/Editor.py" line="6861"/>
         <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="6910"/>
+        <location filename="../QScintilla/Editor.py" line="6913"/>
         <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="7313"/>
+        <location filename="../QScintilla/Editor.py" line="7316"/>
         <source>{0} (ro)</source>
         <translation>{0} (ro)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7454"/>
+        <location filename="../QScintilla/Editor.py" line="7457"/>
         <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="7550"/>
+        <location filename="../QScintilla/Editor.py" line="7553"/>
         <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>
@@ -12270,22 +12275,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="6895"/>
+        <location filename="../QScintilla/Editor.py" line="6898"/>
         <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="6696"/>
+        <location filename="../QScintilla/Editor.py" line="6699"/>
         <source>Warning: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6703"/>
+        <location filename="../QScintilla/Editor.py" line="6706"/>
         <source>Error: {0}</source>
         <translation type="unfinished">Chyby: {0}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7115"/>
+        <location filename="../QScintilla/Editor.py" line="7118"/>
         <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>
@@ -12310,27 +12315,27 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8402"/>
+        <location filename="../QScintilla/Editor.py" line="8412"/>
         <source>Sort Lines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8402"/>
+        <location filename="../QScintilla/Editor.py" line="8412"/>
         <source>The selection contains illegal data for a numerical sort.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6631"/>
+        <location filename="../QScintilla/Editor.py" line="6634"/>
         <source>Warning</source>
         <translation type="unfinished">Varování</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6631"/>
+        <location filename="../QScintilla/Editor.py" line="6634"/>
         <source>No warning messages available.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6693"/>
+        <location filename="../QScintilla/Editor.py" line="6696"/>
         <source>Style: {0}</source>
         <translation type="unfinished"></translation>
     </message>
@@ -12370,32 +12375,32 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4983"/>
+        <location filename="../QScintilla/Editor.py" line="4986"/>
         <source>Auto-Completion Provider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4983"/>
+        <location filename="../QScintilla/Editor.py" line="4986"/>
         <source>The completion list provider &apos;{0}&apos; was already registered. Ignoring duplicate request.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5265"/>
+        <location filename="../QScintilla/Editor.py" line="5268"/>
         <source>Call-Tips Provider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5265"/>
+        <location filename="../QScintilla/Editor.py" line="5268"/>
         <source>The call-tips provider &apos;{0}&apos; was already registered. Ignoring duplicate request.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8491"/>
+        <location filename="../QScintilla/Editor.py" line="8501"/>
         <source>Register Mouse Click Handler</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8491"/>
+        <location filename="../QScintilla/Editor.py" line="8501"/>
         <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>
@@ -12425,12 +12430,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8612"/>
+        <location filename="../QScintilla/Editor.py" line="8622"/>
         <source>EditorConfig Properties</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8612"/>
+        <location filename="../QScintilla/Editor.py" line="8622"/>
         <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>
@@ -12470,12 +12475,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7109"/>
+        <location filename="../QScintilla/Editor.py" line="7112"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has been changed while it was opened in eric. Reread it?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8806"/>
+        <location filename="../QScintilla/Editor.py" line="8816"/>
         <source>Generate Docstring</source>
         <translation type="unfinished"></translation>
     </message>
@@ -48401,599 +48406,599 @@
 <context>
     <name>MiniEditor</name>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="546"/>
+        <location filename="../QScintilla/MiniEditor.py" line="561"/>
         <source>New</source>
         <translation>Nový</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="546"/>
+        <location filename="../QScintilla/MiniEditor.py" line="561"/>
         <source>&amp;New</source>
         <translation>&amp;Nový</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="546"/>
+        <location filename="../QScintilla/MiniEditor.py" line="561"/>
         <source>Ctrl+N</source>
         <comment>File|New</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="552"/>
-        <source>Open an empty editor window</source>
-        <translation>Otevřít prázdné editační okno</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="553"/>
-        <source>&lt;b&gt;New&lt;/b&gt;&lt;p&gt;An empty editor window will be created.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Nový&lt;/b&gt;&lt;p&gt;Bude otevřeno prázdné editační okno.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="560"/>
-        <source>Open</source>
-        <translation>Otevřít</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="560"/>
-        <source>&amp;Open...</source>
-        <translation>&amp;Otevřít...</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="560"/>
-        <source>Ctrl+O</source>
-        <comment>File|Open</comment>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="566"/>
-        <source>Open a file</source>
-        <translation>Otevřít soubor</translation>
-    </message>
-    <message>
         <location filename="../QScintilla/MiniEditor.py" line="567"/>
-        <source>&lt;b&gt;Open a file&lt;/b&gt;&lt;p&gt;You will be asked for the name of a file to be opened.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Otevřít soubor&lt;/b&gt;&lt;p&gt;Budete dotázáni na jméno souboru, který se má otevřít do editačního okna.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="574"/>
-        <source>Save</source>
-        <translation>Uložit</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="574"/>
-        <source>&amp;Save</source>
-        <translation>&amp;Uložit</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="574"/>
-        <source>Ctrl+S</source>
-        <comment>File|Save</comment>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="580"/>
-        <source>Save the current file</source>
-        <translation>Uložit aktuální soubor</translation>
+        <source>Open an empty editor window</source>
+        <translation>Otevřít prázdné editační okno</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="568"/>
+        <source>&lt;b&gt;New&lt;/b&gt;&lt;p&gt;An empty editor window will be created.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Nový&lt;/b&gt;&lt;p&gt;Bude otevřeno prázdné editační okno.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="575"/>
+        <source>Open</source>
+        <translation>Otevřít</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="575"/>
+        <source>&amp;Open...</source>
+        <translation>&amp;Otevřít...</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="575"/>
+        <source>Ctrl+O</source>
+        <comment>File|Open</comment>
+        <translation></translation>
     </message>
     <message>
         <location filename="../QScintilla/MiniEditor.py" line="581"/>
-        <source>&lt;b&gt;Save File&lt;/b&gt;&lt;p&gt;Save the contents of current editor window.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Uložit soubor&lt;/b&gt;&lt;p&gt;Uložit obsah aktuálního editačního okna.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="588"/>
-        <source>Save as</source>
-        <translation>Uložit jako</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="588"/>
-        <source>Save &amp;as...</source>
-        <translation>Uložit j&amp;ako...</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="588"/>
-        <source>Shift+Ctrl+S</source>
-        <comment>File|Save As</comment>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="594"/>
-        <source>Save the current file to a new one</source>
-        <translation>Uložit aktuální soubor do nového</translation>
+        <source>Open a file</source>
+        <translation>Otevřít soubor</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="582"/>
+        <source>&lt;b&gt;Open a file&lt;/b&gt;&lt;p&gt;You will be asked for the name of a file to be opened.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Otevřít soubor&lt;/b&gt;&lt;p&gt;Budete dotázáni na jméno souboru, který se má otevřít do editačního okna.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="589"/>
+        <source>Save</source>
+        <translation>Uložit</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="589"/>
+        <source>&amp;Save</source>
+        <translation>&amp;Uložit</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="589"/>
+        <source>Ctrl+S</source>
+        <comment>File|Save</comment>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="595"/>
+        <source>Save the current file</source>
+        <translation>Uložit aktuální soubor</translation>
     </message>
     <message>
         <location filename="../QScintilla/MiniEditor.py" line="596"/>
+        <source>&lt;b&gt;Save File&lt;/b&gt;&lt;p&gt;Save the contents of current editor window.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Uložit soubor&lt;/b&gt;&lt;p&gt;Uložit obsah aktuálního editačního okna.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="603"/>
+        <source>Save as</source>
+        <translation>Uložit jako</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="603"/>
+        <source>Save &amp;as...</source>
+        <translation>Uložit j&amp;ako...</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="603"/>
+        <source>Shift+Ctrl+S</source>
+        <comment>File|Save As</comment>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="609"/>
+        <source>Save the current file to a new one</source>
+        <translation>Uložit aktuální soubor do nového</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="611"/>
         <source>&lt;b&gt;Save File as&lt;/b&gt;&lt;p&gt;Save the contents of current editor window to a new file. The file can be entered in a file selection dialog.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Uložit soubor jako&lt;/b&gt;&lt;p&gt;Uložit obsah aktuálního editačního okna do nového souboru. Název souboru bude zadán v dialogu výběru souboru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="619"/>
+        <location filename="../QScintilla/MiniEditor.py" line="634"/>
         <source>Close</source>
         <translation>Zavřít</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="619"/>
+        <location filename="../QScintilla/MiniEditor.py" line="634"/>
         <source>&amp;Close</source>
         <translation>&amp;Zavřít</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="619"/>
+        <location filename="../QScintilla/MiniEditor.py" line="634"/>
         <source>Ctrl+W</source>
         <comment>File|Close</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="625"/>
+        <location filename="../QScintilla/MiniEditor.py" line="640"/>
         <source>Close the editor window</source>
         <translation>Zavřít editační okno</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="626"/>
+        <location filename="../QScintilla/MiniEditor.py" line="641"/>
         <source>&lt;b&gt;Close Window&lt;/b&gt;&lt;p&gt;Close the current window.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Zavřít okno&lt;/b&gt;&lt;p&gt;Zavřít aktuální okno.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="665"/>
-        <source>Undo</source>
-        <translation>Vrátit</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="665"/>
-        <source>&amp;Undo</source>
-        <translation>&amp;Vrátit</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="665"/>
-        <source>Ctrl+Z</source>
-        <comment>Edit|Undo</comment>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="665"/>
-        <source>Alt+Backspace</source>
-        <comment>Edit|Undo</comment>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="672"/>
-        <source>Undo the last change</source>
-        <translation>Vrátit poslední změnu</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="673"/>
-        <source>&lt;b&gt;Undo&lt;/b&gt;&lt;p&gt;Undo the last change done in the current editor.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Undo&lt;/b&gt;&lt;p&gt;Vrátit poslední změnu v aktuálním editačním okně.&lt;/p&gt;</translation>
-    </message>
-    <message>
         <location filename="../QScintilla/MiniEditor.py" line="680"/>
-        <source>Redo</source>
-        <translation>Znovu použít</translation>
+        <source>Undo</source>
+        <translation>Vrátit</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="680"/>
+        <source>&amp;Undo</source>
+        <translation>&amp;Vrátit</translation>
     </message>
     <message>
         <location filename="../QScintilla/MiniEditor.py" line="680"/>
-        <source>&amp;Redo</source>
-        <translation>&amp;Znovu použít</translation>
+        <source>Ctrl+Z</source>
+        <comment>Edit|Undo</comment>
+        <translation></translation>
     </message>
     <message>
         <location filename="../QScintilla/MiniEditor.py" line="680"/>
-        <source>Ctrl+Shift+Z</source>
-        <comment>Edit|Redo</comment>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="686"/>
-        <source>Redo the last change</source>
-        <translation>Znovu použít poslední změnu</translation>
+        <source>Alt+Backspace</source>
+        <comment>Edit|Undo</comment>
+        <translation></translation>
     </message>
     <message>
         <location filename="../QScintilla/MiniEditor.py" line="687"/>
-        <source>&lt;b&gt;Redo&lt;/b&gt;&lt;p&gt;Redo the last change done in the current editor.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Redo&lt;/b&gt;&lt;p&gt;Znovu použít poslení změnu, která byla provedena v aktuálním editačním okně.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="694"/>
-        <source>Cut</source>
-        <translation>Vyjmout</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="694"/>
-        <source>Cu&amp;t</source>
-        <translation>Vyjmou&amp;t</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="694"/>
-        <source>Ctrl+X</source>
-        <comment>Edit|Cut</comment>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="694"/>
-        <source>Shift+Del</source>
-        <comment>Edit|Cut</comment>
+        <source>Undo the last change</source>
+        <translation>Vrátit poslední změnu</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="688"/>
+        <source>&lt;b&gt;Undo&lt;/b&gt;&lt;p&gt;Undo the last change done in the current editor.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Undo&lt;/b&gt;&lt;p&gt;Vrátit poslední změnu v aktuálním editačním okně.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="695"/>
+        <source>Redo</source>
+        <translation>Znovu použít</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="695"/>
+        <source>&amp;Redo</source>
+        <translation>&amp;Znovu použít</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="695"/>
+        <source>Ctrl+Shift+Z</source>
+        <comment>Edit|Redo</comment>
         <translation></translation>
     </message>
     <message>
         <location filename="../QScintilla/MiniEditor.py" line="701"/>
-        <source>Cut the selection</source>
-        <translation>Vyjmout výběr</translation>
+        <source>Redo the last change</source>
+        <translation>Znovu použít poslední změnu</translation>
     </message>
     <message>
         <location filename="../QScintilla/MiniEditor.py" line="702"/>
-        <source>&lt;b&gt;Cut&lt;/b&gt;&lt;p&gt;Cut the selected text of the current editor to the clipboard.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Vyjmout&lt;/b&gt;&lt;p&gt;Vyjme vybraný text z aktuálního editačního okna a vloží jej do schránky.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="710"/>
-        <source>Copy</source>
-        <translation>Kopírovat</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="710"/>
-        <source>&amp;Copy</source>
-        <translation>&amp;Kopírovat</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="710"/>
-        <source>Ctrl+C</source>
-        <comment>Edit|Copy</comment>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="710"/>
-        <source>Ctrl+Ins</source>
-        <comment>Edit|Copy</comment>
-        <translation></translation>
+        <source>&lt;b&gt;Redo&lt;/b&gt;&lt;p&gt;Redo the last change done in the current editor.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Redo&lt;/b&gt;&lt;p&gt;Znovu použít poslení změnu, která byla provedena v aktuálním editačním okně.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="709"/>
+        <source>Cut</source>
+        <translation>Vyjmout</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="709"/>
+        <source>Cu&amp;t</source>
+        <translation>Vyjmou&amp;t</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="709"/>
+        <source>Ctrl+X</source>
+        <comment>Edit|Cut</comment>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="709"/>
+        <source>Shift+Del</source>
+        <comment>Edit|Cut</comment>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="716"/>
+        <source>Cut the selection</source>
+        <translation>Vyjmout výběr</translation>
     </message>
     <message>
         <location filename="../QScintilla/MiniEditor.py" line="717"/>
+        <source>&lt;b&gt;Cut&lt;/b&gt;&lt;p&gt;Cut the selected text of the current editor to the clipboard.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Vyjmout&lt;/b&gt;&lt;p&gt;Vyjme vybraný text z aktuálního editačního okna a vloží jej do schránky.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="725"/>
+        <source>Copy</source>
+        <translation>Kopírovat</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="725"/>
+        <source>&amp;Copy</source>
+        <translation>&amp;Kopírovat</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="725"/>
+        <source>Ctrl+C</source>
+        <comment>Edit|Copy</comment>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="725"/>
+        <source>Ctrl+Ins</source>
+        <comment>Edit|Copy</comment>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="732"/>
         <source>Copy the selection</source>
         <translation>Kopírovat výběr</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="718"/>
-        <source>&lt;b&gt;Copy&lt;/b&gt;&lt;p&gt;Copy the selected text of the current editor to the clipboard.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Kopírovat&lt;/b&gt;&lt;p&gt;Zkopíruje vybraný text v aktuálním editačním okně a uloží jej do schránky.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="726"/>
-        <source>Paste</source>
-        <translation>Vložit</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="726"/>
-        <source>&amp;Paste</source>
-        <translation>V&amp;ložit</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="726"/>
-        <source>Ctrl+V</source>
-        <comment>Edit|Paste</comment>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="726"/>
-        <source>Shift+Ins</source>
-        <comment>Edit|Paste</comment>
-        <translation></translation>
-    </message>
-    <message>
         <location filename="../QScintilla/MiniEditor.py" line="733"/>
+        <source>&lt;b&gt;Copy&lt;/b&gt;&lt;p&gt;Copy the selected text of the current editor to the clipboard.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Kopírovat&lt;/b&gt;&lt;p&gt;Zkopíruje vybraný text v aktuálním editačním okně a uloží jej do schránky.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="741"/>
+        <source>Paste</source>
+        <translation>Vložit</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="741"/>
+        <source>&amp;Paste</source>
+        <translation>V&amp;ložit</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="741"/>
+        <source>Ctrl+V</source>
+        <comment>Edit|Paste</comment>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="741"/>
+        <source>Shift+Ins</source>
+        <comment>Edit|Paste</comment>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="748"/>
         <source>Paste the last cut/copied text</source>
         <translation>Vložit text ze schránky</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="735"/>
-        <source>&lt;b&gt;Paste&lt;/b&gt;&lt;p&gt;Paste the last cut/copied text from the clipboard to the current editor.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Vložit&lt;/b&gt;&lt;p&gt;Vloží text, který byl uložen do schránky při předchozím kroku Vyjmout nebo Kopírovat.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="743"/>
-        <source>Clear</source>
-        <translation>Vyčistit</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="743"/>
-        <source>Cl&amp;ear</source>
-        <translation>Vyči&amp;stit</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="743"/>
-        <source>Alt+Shift+C</source>
-        <comment>Edit|Clear</comment>
-        <translation></translation>
-    </message>
-    <message>
         <location filename="../QScintilla/MiniEditor.py" line="750"/>
+        <source>&lt;b&gt;Paste&lt;/b&gt;&lt;p&gt;Paste the last cut/copied text from the clipboard to the current editor.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Vložit&lt;/b&gt;&lt;p&gt;Vloží text, který byl uložen do schránky při předchozím kroku Vyjmout nebo Kopírovat.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="758"/>
+        <source>Clear</source>
+        <translation>Vyčistit</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="758"/>
+        <source>Cl&amp;ear</source>
+        <translation>Vyči&amp;stit</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="758"/>
+        <source>Alt+Shift+C</source>
+        <comment>Edit|Clear</comment>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="765"/>
         <source>Clear all text</source>
         <translation>Vyčistit všechen text</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="751"/>
+        <location filename="../QScintilla/MiniEditor.py" line="766"/>
         <source>&lt;b&gt;Clear&lt;/b&gt;&lt;p&gt;Delete all text of the current editor.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Vyčistit&lt;/b&gt;&lt;p&gt;Smazat všechnen text v aktuálním editoru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2358"/>
+        <location filename="../QScintilla/MiniEditor.py" line="2373"/>
         <source>About</source>
         <translation>O aplikaci</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2358"/>
+        <location filename="../QScintilla/MiniEditor.py" line="2373"/>
         <source>&amp;About</source>
         <translation>O &amp;aplikaci</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2362"/>
+        <location filename="../QScintilla/MiniEditor.py" line="2377"/>
         <source>Display information about this software</source>
         <translation>Zobrazit informace a tomto software</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2364"/>
+        <location filename="../QScintilla/MiniEditor.py" line="2379"/>
         <source>&lt;b&gt;About&lt;/b&gt;&lt;p&gt;Display some information about this software.&lt;/p&gt;</source>
         <translation>&lt;b&gt;O aplikaci&lt;/b&gt;&lt;p&gt;Zobrazí se informace o tomto software.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2370"/>
+        <location filename="../QScintilla/MiniEditor.py" line="2385"/>
         <source>About Qt</source>
         <translation>O Qt</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2370"/>
+        <location filename="../QScintilla/MiniEditor.py" line="2385"/>
         <source>About &amp;Qt</source>
         <translation>O &amp;Qt</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2374"/>
+        <location filename="../QScintilla/MiniEditor.py" line="2389"/>
         <source>Display information about the Qt toolkit</source>
         <translation>Zobrazit informace o Qt toolkitu</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2376"/>
+        <location filename="../QScintilla/MiniEditor.py" line="2391"/>
         <source>&lt;b&gt;About Qt&lt;/b&gt;&lt;p&gt;Display some information about the Qt toolkit.&lt;/p&gt;</source>
         <translation>&lt;b&gt;O Qt&lt;/b&gt;&lt;p&gt;Zobrazit informace o Qt toolkitu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2406"/>
+        <location filename="../QScintilla/MiniEditor.py" line="2421"/>
         <source>&amp;File</source>
         <translation>S&amp;oubor</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2418"/>
+        <location filename="../QScintilla/MiniEditor.py" line="2433"/>
         <source>&amp;Edit</source>
         <translation>&amp;Edit</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2444"/>
+        <location filename="../QScintilla/MiniEditor.py" line="2459"/>
         <source>&amp;Help</source>
         <translation>&amp;Nápověda</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2521"/>
+        <location filename="../QScintilla/MiniEditor.py" line="2536"/>
         <source>&lt;p&gt;This part of the status bar displays the line number of the editor.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Tato část status baru zobrazuje číslo řádku v editoru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2528"/>
+        <location filename="../QScintilla/MiniEditor.py" line="2543"/>
         <source>&lt;p&gt;This part of the status bar displays the cursor position of the editor.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Tato část status baru zobrazuje pozici kurzoru v editoru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2545"/>
+        <location filename="../QScintilla/MiniEditor.py" line="2560"/>
         <source>Ready</source>
         <translation>Hotovo</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2627"/>
+        <location filename="../QScintilla/MiniEditor.py" line="2642"/>
         <source>File loaded</source>
         <translation>Soubor načten</translation>
     </message>
     <message>
+        <location filename="../QScintilla/MiniEditor.py" line="3089"/>
+        <source>Untitled</source>
+        <translation>Beze jména</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="2757"/>
+        <source>Mini Editor</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="3130"/>
+        <source>Select all</source>
+        <translation>Vybrat vše</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="3131"/>
+        <source>Deselect all</source>
+        <translation>Zrušit celý výběr</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="3145"/>
+        <source>Languages</source>
+        <translation>Jazyky</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="3148"/>
+        <source>No Language</source>
+        <translation>Žádný jazyk</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="2614"/>
+        <source>Open File</source>
+        <translation>Otevřít soubor</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="2728"/>
+        <source>File saved</source>
+        <translation>Soubor uložen</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="2529"/>
+        <source>&lt;p&gt;This part of the status bar displays an indication of the editors files writability.&lt;/p&gt;</source>
+        <translation>&lt;p&gt;Tato část statusbaru zobrazuje indikátor práva zápisu editoru do souboru.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="2398"/>
+        <source>What&apos;s This?</source>
+        <translation>Co je to?</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="2398"/>
+        <source>&amp;What&apos;s This?</source>
+        <translation>&amp;Co je to?</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="2398"/>
+        <source>Shift+F1</source>
+        <comment>Help|What&apos;s This?&apos;</comment>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="2404"/>
+        <source>Context sensitive help</source>
+        <translation>Kontextově senzitivní nápověda</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="2405"/>
+        <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="../QScintilla/MiniEditor.py" line="2471"/>
+        <source>File</source>
+        <translation>Soubor</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="2484"/>
+        <source>Edit</source>
+        <translation>Editovat</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="2494"/>
+        <source>Find</source>
+        <translation>Hledat</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="2508"/>
+        <source>Help</source>
+        <translation>Nápověda</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="648"/>
+        <source>Print</source>
+        <translation>Tisk</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="648"/>
+        <source>&amp;Print</source>
+        <translation>&amp;Tisk</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="648"/>
+        <source>Ctrl+P</source>
+        <comment>File|Print</comment>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="654"/>
+        <source>Print the current file</source>
+        <translation>Tisk aktuálního souboru</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="3049"/>
+        <source>Printing...</source>
+        <translation>Tisk...</translation>
+    </message>
+    <message>
         <location filename="../QScintilla/MiniEditor.py" line="3070"/>
-        <source>Untitled</source>
-        <translation>Beze jména</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2742"/>
-        <source>Mini Editor</source>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="3111"/>
-        <source>Select all</source>
-        <translation>Vybrat vše</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="3112"/>
-        <source>Deselect all</source>
-        <translation>Zrušit celý výběr</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="3126"/>
-        <source>Languages</source>
-        <translation>Jazyky</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="3129"/>
-        <source>No Language</source>
-        <translation>Žádný jazyk</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2599"/>
-        <source>Open File</source>
-        <translation>Otevřít soubor</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2713"/>
-        <source>File saved</source>
-        <translation>Soubor uložen</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2514"/>
-        <source>&lt;p&gt;This part of the status bar displays an indication of the editors files writability.&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Tato část statusbaru zobrazuje indikátor práva zápisu editoru do souboru.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2383"/>
-        <source>What&apos;s This?</source>
-        <translation>Co je to?</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2383"/>
-        <source>&amp;What&apos;s This?</source>
-        <translation>&amp;Co je to?</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2383"/>
-        <source>Shift+F1</source>
-        <comment>Help|What&apos;s This?&apos;</comment>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2389"/>
-        <source>Context sensitive help</source>
-        <translation>Kontextově senzitivní nápověda</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2390"/>
-        <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="../QScintilla/MiniEditor.py" line="2456"/>
-        <source>File</source>
-        <translation>Soubor</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2469"/>
-        <source>Edit</source>
-        <translation>Editovat</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2479"/>
-        <source>Find</source>
-        <translation>Hledat</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2493"/>
-        <source>Help</source>
-        <translation>Nápověda</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="633"/>
-        <source>Print</source>
-        <translation>Tisk</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="633"/>
-        <source>&amp;Print</source>
-        <translation>&amp;Tisk</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="633"/>
-        <source>Ctrl+P</source>
-        <comment>File|Print</comment>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="639"/>
-        <source>Print the current file</source>
-        <translation>Tisk aktuálního souboru</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="3030"/>
-        <source>Printing...</source>
-        <translation>Tisk...</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="3051"/>
         <source>Printing completed</source>
         <translation>Tisk je hotov</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="3053"/>
+        <location filename="../QScintilla/MiniEditor.py" line="3072"/>
         <source>Error while printing</source>
         <translation>Chyba během tisku</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="3056"/>
+        <location filename="../QScintilla/MiniEditor.py" line="3075"/>
         <source>Printing aborted</source>
         <translation>Tisk byl zrušen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="640"/>
+        <location filename="../QScintilla/MiniEditor.py" line="655"/>
         <source>&lt;b&gt;Print File&lt;/b&gt;&lt;p&gt;Print the contents of the current file.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Tisk souboru&lt;/b&gt;&lt;p&gt;Tisk obsahu aktuálního souboru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="647"/>
+        <location filename="../QScintilla/MiniEditor.py" line="662"/>
         <source>Print Preview</source>
         <translation>Náhled tisku</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="652"/>
+        <location filename="../QScintilla/MiniEditor.py" line="667"/>
         <source>Print preview of the current file</source>
         <translation>Náhled tisku aktuálního souboru</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="654"/>
+        <location filename="../QScintilla/MiniEditor.py" line="669"/>
         <source>&lt;b&gt;Print Preview&lt;/b&gt;&lt;p&gt;Print preview of the current file.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Náhkled tisku&lt;/b&gt;&lt;p&gt;Náhkled tisku aktuálního souboru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="3153"/>
+        <location filename="../QScintilla/MiniEditor.py" line="3172"/>
         <source>Guessed</source>
         <translation>Odhadem</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="3175"/>
+        <location filename="../QScintilla/MiniEditor.py" line="3194"/>
         <source>Alternatives</source>
         <translation>Alternativy</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="3199"/>
+        <location filename="../QScintilla/MiniEditor.py" line="3218"/>
         <source>Pygments Lexer</source>
         <translation>Pygments Lexer</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="3199"/>
+        <location filename="../QScintilla/MiniEditor.py" line="3218"/>
         <source>Select the Pygments lexer to apply.</source>
         <translation>Použít Pygments lexer.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="468"/>
+        <location filename="../QScintilla/MiniEditor.py" line="483"/>
         <source>Line: {0:5}</source>
         <translation>Řádek: {0:5}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="472"/>
+        <location filename="../QScintilla/MiniEditor.py" line="487"/>
         <source>Pos: {0:5}</source>
         <translation>Poz: {0:5}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2599"/>
+        <location filename="../QScintilla/MiniEditor.py" line="2614"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be opened.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor &lt;b&gt;{0}&lt;/b&gt; nelze otevřít.&lt;br /&gt;Důvod: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2706"/>
+        <location filename="../QScintilla/MiniEditor.py" line="2721"/>
         <source>Save File</source>
         <translation>Uložit soubor</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2706"/>
+        <location filename="../QScintilla/MiniEditor.py" line="2721"/>
         <source>&lt;p&gt;The 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;Soubor &lt;b&gt;{0}&lt;/b&gt; nelze uložit.&lt;br /&gt;Důvod: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2742"/>
+        <location filename="../QScintilla/MiniEditor.py" line="2757"/>
         <source>{0}[*] - {1}</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="3171"/>
+        <location filename="../QScintilla/MiniEditor.py" line="3190"/>
         <source>Alternatives ({0})</source>
         <translation>Alternativy ({0})</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2572"/>
+        <location filename="../QScintilla/MiniEditor.py" line="2587"/>
         <source>The document has unsaved changes.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -49013,77 +49018,77 @@
         <translation type="obsolete">eric5 Mini Editor {6 ?}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="604"/>
+        <location filename="../QScintilla/MiniEditor.py" line="619"/>
         <source>Save Copy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="604"/>
+        <location filename="../QScintilla/MiniEditor.py" line="619"/>
         <source>Save &amp;Copy...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="609"/>
+        <location filename="../QScintilla/MiniEditor.py" line="624"/>
         <source>Save a copy of the current file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="611"/>
+        <location filename="../QScintilla/MiniEditor.py" line="626"/>
         <source>&lt;b&gt;Save Copy&lt;/b&gt;&lt;p&gt;Save a copy of the contents of current editor window. The file can be entered in a file selection dialog.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="3716"/>
+        <location filename="../QScintilla/MiniEditor.py" line="3735"/>
         <source>EditorConfig Properties</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="3716"/>
+        <location filename="../QScintilla/MiniEditor.py" line="3735"/>
         <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>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2725"/>
+        <location filename="../QScintilla/MiniEditor.py" line="2740"/>
         <source>[*] - {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="487"/>
+        <location filename="../QScintilla/MiniEditor.py" line="502"/>
         <source>Language: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2436"/>
+        <location filename="../QScintilla/MiniEditor.py" line="2451"/>
         <source>&amp;View</source>
         <translation type="unfinished">Poh&amp;led</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2486"/>
+        <location filename="../QScintilla/MiniEditor.py" line="2501"/>
         <source>View</source>
         <translation type="unfinished">Pohled</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2506"/>
+        <location filename="../QScintilla/MiniEditor.py" line="2521"/>
         <source>&lt;p&gt;This part of the status bar displays the editor language.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2539"/>
+        <location filename="../QScintilla/MiniEditor.py" line="2554"/>
         <source>&lt;p&gt;This part of the status bar allows zooming the editor.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="398"/>
+        <location filename="../QScintilla/MiniEditor.py" line="413"/>
         <source>About eric Mini Editor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="398"/>
+        <location filename="../QScintilla/MiniEditor.py" line="413"/>
         <source>The eric Mini Editor is an editor component based on QScintilla. It may be used for simple editing tasks, that don&apos;t need the power of a full blown editor.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2572"/>
+        <location filename="../QScintilla/MiniEditor.py" line="2587"/>
         <source>eric Mini Editor</source>
         <translation type="unfinished"></translation>
     </message>
@@ -51360,6 +51365,134 @@
     </message>
 </context>
 <context>
+    <name>PathlibChecker</name>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="15"/>
+        <source>os.chmod(&apos;foo&apos;, 0o444) should be replaced by foo_path.chmod(0o444)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="18"/>
+        <source>os.mkdir(&apos;foo&apos;) should be replaced by foo_path.mkdir()</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="21"/>
+        <source>os.makedirs(&apos;foo/bar&apos;) should be replaced by bar_path.mkdir(parents=True)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="25"/>
+        <source>os.rename(&apos;foo&apos;, &apos;bar&apos;) should be replaced by foo_path.rename(Path(&apos;bar&apos;))</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="29"/>
+        <source>os.replace(&apos;foo&apos;, &apos;bar&apos;) should be replaced by foo_path.replace(Path(&apos;bar&apos;))</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="33"/>
+        <source>os.rmdir(&apos;foo&apos;) should be replaced by foo_path.rmdir()</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="36"/>
+        <source>os.remove(&apos;foo&apos;) should be replaced by foo_path.unlink()</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="39"/>
+        <source>os.unlink(&apos;foo&apos;&apos;) should be replaced by foo_path.unlink()</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="42"/>
+        <source>os.getcwd() should be replaced by Path.cwd()</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="45"/>
+        <source>os.readlink(&apos;foo&apos;) should be replaced by foo_path.readlink()</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="48"/>
+        <source>os.stat(&apos;foo&apos;) should be replaced by foo_path.stat() or foo_path.owner() or foo_path.group()</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="53"/>
+        <source>os.path.abspath(&apos;foo&apos;) should be replaced by foo_path.resolve()</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="56"/>
+        <source>os.path.exists(&apos;foo&apos;) should be replaced by foo_path.exists()</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="59"/>
+        <source>os.path.expanduser(&apos;~/foo&apos;) should be replaced by foo_path.expanduser()</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="63"/>
+        <source>os.path.isdir(&apos;foo&apos;) should be replaced by foo_path.is_dir()</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="66"/>
+        <source>os.path.isfile(&apos;foo&apos;) should be replaced by foo_path.is_file()</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="69"/>
+        <source>os.path.islink(&apos;foo&apos;) should be replaced by foo_path.is_symlink()</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="72"/>
+        <source>os.path.isabs(&apos;foo&apos;) should be replaced by foo_path.is_absolute()</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="75"/>
+        <source>os.path.join(&apos;foo&apos;, &apos;bar&apos;) should be replaced by foo_path / &apos;bar&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="79"/>
+        <source>os.path.basename(&apos;foo/bar&apos;) should be replaced by bar_path.name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="82"/>
+        <source>os.path.dirname(&apos;foo/bar&apos;) should be replaced by bar_path.parent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="85"/>
+        <source>os.path.samefile(&apos;foo&apos;, &apos;bar&apos;) should be replaced by foo_path.samefile(bar_path)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="89"/>
+        <source>os.path.splitext(&apos;foo.bar&apos;) should be replaced by foo_path.suffix</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="93"/>
+        <source>open(&apos;foo&apos;) should be replaced by Path(&apos;foo&apos;).open()</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="97"/>
+        <source>py.path.local is in maintenance mode, use pathlib instead</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>PersonalDataDialog</name>
     <message>
         <location filename="../WebBrowser/PersonalInformationManager/PersonalDataDialog.ui" line="14"/>
@@ -54367,12 +54500,12 @@
         <translation type="obsolete">Uložit uživatelská nastavení projektu</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1055"/>
+        <location filename="../Project/Project.py" line="1058"/>
         <source>Read project session</source>
         <translation>Načíst relaci projektu</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1259"/>
+        <location filename="../Project/Project.py" line="1262"/>
         <source>Please save the project first.</source>
         <translation>Prosím, nejdříve uložte projekt.</translation>
     </message>
@@ -54412,92 +54545,92 @@
         <translation type="obsolete">Smazat nastavení debuggeru</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1418"/>
+        <location filename="../Project/Project.py" line="1421"/>
         <source>Add Language</source>
         <translation>Přidat jazyk</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1544"/>
+        <location filename="../Project/Project.py" line="1547"/>
         <source>Delete translation</source>
         <translation>Smazat překlad</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1709"/>
+        <location filename="../Project/Project.py" line="1712"/>
         <source>Add file</source>
         <translation>Přidat soubor</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1841"/>
+        <location filename="../Project/Project.py" line="1844"/>
         <source>The target directory must not be empty.</source>
         <translation>Cílový adresář nesmí být prázdný.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1852"/>
+        <location filename="../Project/Project.py" line="1855"/>
         <source>Add directory</source>
         <translation>Přidat adresář</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1852"/>
+        <location filename="../Project/Project.py" line="1855"/>
         <source>The source directory must not be empty.</source>
         <translation>Cílový adresář nesmí být prázdný.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1989"/>
+        <location filename="../Project/Project.py" line="1992"/>
         <source>Rename file</source>
         <translation>Přejmenovat soubor</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2013"/>
+        <location filename="../Project/Project.py" line="2016"/>
         <source>Rename File</source>
         <translation>Přejmenovat soubor</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2263"/>
+        <location filename="../Project/Project.py" line="2266"/>
         <source>Delete file</source>
         <translation>Smazat soubor</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2293"/>
+        <location filename="../Project/Project.py" line="2296"/>
         <source>Delete directory</source>
         <translation>Smazat adresář</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2388"/>
+        <location filename="../Project/Project.py" line="2391"/>
         <source>Create project directory</source>
         <translation>Vytvořit adresář projektu</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3008"/>
+        <location filename="../Project/Project.py" line="3011"/>
         <source>New Project</source>
         <translation>Nový projekt</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2508"/>
+        <location filename="../Project/Project.py" line="2511"/>
         <source>Add existing files to the project?</source>
         <translation>Přidat existující soubory do projektu?</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2635"/>
+        <location filename="../Project/Project.py" line="2638"/>
         <source>Would you like to edit the VCS command options?</source>
         <translation>Chcete editovat parametry VCS příkazu?</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3881"/>
+        <location filename="../Project/Project.py" line="3884"/>
         <source>New project</source>
         <translation>Nový projekt</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2578"/>
+        <location filename="../Project/Project.py" line="2581"/>
         <source>Shall the project file be added to the repository?</source>
         <translation>Má být projekt přidán do repozitáře?</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2607"/>
+        <location filename="../Project/Project.py" line="2610"/>
         <source>Select version control system for the project</source>
         <translation>Výběr verzovacího systému projektu</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3895"/>
+        <location filename="../Project/Project.py" line="3898"/>
         <source>Open project</source>
         <translation>Otevřít projekt</translation>
     </message>
@@ -54507,32 +54640,32 @@
         <translation type="obsolete">Soubory projektu (*.e4p)</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3932"/>
+        <location filename="../Project/Project.py" line="3935"/>
         <source>Save project as</source>
         <translation>Uložit projekt jako</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3171"/>
+        <location filename="../Project/Project.py" line="3174"/>
         <source>Save File</source>
         <translation>Uložit soubor</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3207"/>
+        <location filename="../Project/Project.py" line="3210"/>
         <source>Close Project</source>
         <translation>Zavřít projekt</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3207"/>
+        <location filename="../Project/Project.py" line="3210"/>
         <source>The current project has unsaved changes.</source>
         <translation>Aktuální projekt obsahuje neuložené změny.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3384"/>
+        <location filename="../Project/Project.py" line="3387"/>
         <source>Syntax errors detected</source>
         <translation>Zjištěny syntaktické chyby</translation>
     </message>
     <message numerus="yes">
-        <location filename="../Project/Project.py" line="3384"/>
+        <location filename="../Project/Project.py" line="3387"/>
         <source>The project contains %n file(s) with syntax errors.</source>
         <translation>
             <numerusform>Projekt obsahuje %n soubor se syntaktickými chybami.</numerusform>
@@ -54541,212 +54674,212 @@
         </translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3881"/>
+        <location filename="../Project/Project.py" line="3884"/>
         <source>&amp;New...</source>
         <translation>&amp;Nový...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3886"/>
+        <location filename="../Project/Project.py" line="3889"/>
         <source>Generate a new project</source>
         <translation>Vygenerovat nový projekt</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3887"/>
+        <location filename="../Project/Project.py" line="3890"/>
         <source>&lt;b&gt;New...&lt;/b&gt;&lt;p&gt;This opens a dialog for entering the info for a new project.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Nový...&lt;/b&gt;&lt;p&gt;Otevře se dialogové okno pro zadání informací o novém projektu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3895"/>
+        <location filename="../Project/Project.py" line="3898"/>
         <source>&amp;Open...</source>
         <translation>&amp;Otevřít...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3900"/>
+        <location filename="../Project/Project.py" line="3903"/>
         <source>Open an existing project</source>
         <translation>Otevřít existující projekt</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3901"/>
+        <location filename="../Project/Project.py" line="3904"/>
         <source>&lt;b&gt;Open...&lt;/b&gt;&lt;p&gt;This opens an existing project.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Otevřít....&lt;/b&gt;&lt;p&gt;Otevře existující projekt.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3908"/>
+        <location filename="../Project/Project.py" line="3911"/>
         <source>Close project</source>
         <translation>Zavřít projekt</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3908"/>
+        <location filename="../Project/Project.py" line="3911"/>
         <source>&amp;Close</source>
         <translation>&amp;Zavřít</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3912"/>
+        <location filename="../Project/Project.py" line="3915"/>
         <source>Close the current project</source>
         <translation>Uzavře aktuální projekt</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3913"/>
+        <location filename="../Project/Project.py" line="3916"/>
         <source>&lt;b&gt;Close&lt;/b&gt;&lt;p&gt;This closes the current project.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Zavřít&lt;/b&gt;&lt;p&gt;Aktuální projekt se uzavře.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3920"/>
+        <location filename="../Project/Project.py" line="3923"/>
         <source>Save project</source>
         <translation>Uložit projekt</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4112"/>
+        <location filename="../Project/Project.py" line="4115"/>
         <source>&amp;Save</source>
         <translation>&amp;Uložit</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3924"/>
+        <location filename="../Project/Project.py" line="3927"/>
         <source>Save the current project</source>
         <translation>Uložit aktuální projekt</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3925"/>
+        <location filename="../Project/Project.py" line="3928"/>
         <source>&lt;b&gt;Save&lt;/b&gt;&lt;p&gt;This saves the current project.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Uložit&lt;/b&gt;&lt;p&gt;Aktuální projekt se uloží.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3932"/>
+        <location filename="../Project/Project.py" line="3935"/>
         <source>Save &amp;as...</source>
         <translation>Uložit j&amp;ako...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3936"/>
+        <location filename="../Project/Project.py" line="3939"/>
         <source>Save the current project to a new file</source>
         <translation>Uloží aktuální projekt do nového souboru</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3938"/>
+        <location filename="../Project/Project.py" line="3941"/>
         <source>&lt;b&gt;Save as&lt;/b&gt;&lt;p&gt;This saves the current project to a new file.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Uložit jako&lt;/b&gt;&lt;p&gt;Uloží aktuální projekt do nového souboru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3947"/>
+        <location filename="../Project/Project.py" line="3950"/>
         <source>Add files to project</source>
         <translation>Přidat soubory do projektu</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3947"/>
+        <location filename="../Project/Project.py" line="3950"/>
         <source>Add &amp;files...</source>
         <translation>&amp;Přidat soubory...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3952"/>
+        <location filename="../Project/Project.py" line="3955"/>
         <source>Add files to the current project</source>
         <translation>Přidat soubory do aktuálního projektu</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3954"/>
+        <location filename="../Project/Project.py" line="3957"/>
         <source>&lt;b&gt;Add files...&lt;/b&gt;&lt;p&gt;This opens a dialog for adding files to the current project. The place to add is determined by the file extension.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Přidat soubory...&lt;/b&gt;&lt;p&gt;Otevře dialog pri přidání souborů do aktuálního projektu. Místo pro přidání je definováno extenzí souborů.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3963"/>
+        <location filename="../Project/Project.py" line="3966"/>
         <source>Add directory to project</source>
         <translation>Přidat adresář do projektu</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3963"/>
+        <location filename="../Project/Project.py" line="3966"/>
         <source>Add directory...</source>
         <translation>Přidat adresář...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3968"/>
+        <location filename="../Project/Project.py" line="3971"/>
         <source>Add a directory to the current project</source>
         <translation>Přidat adresář do aktuálního projektu</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3970"/>
+        <location filename="../Project/Project.py" line="3973"/>
         <source>&lt;b&gt;Add directory...&lt;/b&gt;&lt;p&gt;This opens a dialog for adding a directory to the current project.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Přidat adresář...&lt;/b&gt;&lt;p&gt;Otevře dialog pro přičtení adresáře do aktuálního projektu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3978"/>
+        <location filename="../Project/Project.py" line="3981"/>
         <source>Add translation to project</source>
         <translation>Přidat překlad do projektu</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3978"/>
+        <location filename="../Project/Project.py" line="3981"/>
         <source>Add &amp;translation...</source>
         <translation>Přida&amp;t překlad...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3983"/>
+        <location filename="../Project/Project.py" line="3986"/>
         <source>Add a translation to the current project</source>
         <translation>Přidat překlad do aktuálního projektu</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3985"/>
+        <location filename="../Project/Project.py" line="3988"/>
         <source>&lt;b&gt;Add translation...&lt;/b&gt;&lt;p&gt;This opens a dialog for add a translation to the current project.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Přidat překlad&lt;/b&gt;&lt;p&gt;Otevře dialog pro přidání překladu do aktuálního projektu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3993"/>
+        <location filename="../Project/Project.py" line="3996"/>
         <source>Search new files</source>
         <translation>Hledat nové soubory</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3993"/>
+        <location filename="../Project/Project.py" line="3996"/>
         <source>Searc&amp;h new files...</source>
         <translation>&amp;Hledat nové soubory...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3997"/>
+        <location filename="../Project/Project.py" line="4000"/>
         <source>Search new files in the project directory.</source>
         <translation>Hledat nové soubory v adresáři projektu.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4023"/>
+        <location filename="../Project/Project.py" line="4026"/>
         <source>Project properties</source>
         <translation>Nastavení projektu</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4023"/>
+        <location filename="../Project/Project.py" line="4026"/>
         <source>&amp;Properties...</source>
         <translation>&amp;Natavení...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4028"/>
+        <location filename="../Project/Project.py" line="4031"/>
         <source>Show the project properties</source>
         <translation>Zobrazit nastavení projektu</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4029"/>
+        <location filename="../Project/Project.py" line="4032"/>
         <source>&lt;b&gt;Properties...&lt;/b&gt;&lt;p&gt;This shows a dialog to edit the project properties.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Nastavení...&lt;/b&gt;&lt;p&gt;Zobrazí dialog s editací nastavení projektu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4036"/>
+        <location filename="../Project/Project.py" line="4039"/>
         <source>User project properties</source>
         <translation>Uživatelská nastavení projektu</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4036"/>
+        <location filename="../Project/Project.py" line="4039"/>
         <source>&amp;User Properties...</source>
         <translation>Uživat&amp;elská nastavení...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4041"/>
+        <location filename="../Project/Project.py" line="4044"/>
         <source>Show the user specific project properties</source>
         <translation>Zobrazit uživatelem definovaná nastavení projektu</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4043"/>
+        <location filename="../Project/Project.py" line="4046"/>
         <source>&lt;b&gt;User Properties...&lt;/b&gt;&lt;p&gt;This shows a dialog to edit the user specific project properties.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Uživatelská nastavení...&lt;/b&gt;&lt;p&gt;Zobrazí dialog s editací uživatelských nastavení projektu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4051"/>
+        <location filename="../Project/Project.py" line="4054"/>
         <source>Filetype Associations</source>
         <translation>Asociace typů souborů</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4051"/>
+        <location filename="../Project/Project.py" line="4054"/>
         <source>Filetype Associations...</source>
         <translation>Asociace typů souborů...</translation>
     </message>
@@ -54756,367 +54889,367 @@
         <translation type="obsolete">Zobrazit asociace typů souborů</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4087"/>
+        <location filename="../Project/Project.py" line="4090"/>
         <source>Debugger Properties</source>
         <translation>Nastavení debugeru</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4087"/>
+        <location filename="../Project/Project.py" line="4090"/>
         <source>Debugger &amp;Properties...</source>
         <translation>Nastavení &amp;debuggeru...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4091"/>
+        <location filename="../Project/Project.py" line="4094"/>
         <source>Show the debugger properties</source>
         <translation>Zobrazit nastavení debugeru</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4092"/>
+        <location filename="../Project/Project.py" line="4095"/>
         <source>&lt;b&gt;Debugger Properties...&lt;/b&gt;&lt;p&gt;This shows a dialog to edit project specific debugger settings.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Nastavení debugeru...&lt;/b&gt;&lt;p&gt;Zobrazí dialog s editací nastavení debugeru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4100"/>
+        <location filename="../Project/Project.py" line="4103"/>
         <source>Load</source>
         <translation>Načíst</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4100"/>
+        <location filename="../Project/Project.py" line="4103"/>
         <source>&amp;Load</source>
         <translation>&amp;Načíst</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4104"/>
+        <location filename="../Project/Project.py" line="4107"/>
         <source>Load the debugger properties</source>
         <translation>Načíst nastavení debugeru</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4105"/>
+        <location filename="../Project/Project.py" line="4108"/>
         <source>&lt;b&gt;Load Debugger Properties&lt;/b&gt;&lt;p&gt;This loads the project specific debugger settings.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Načíst nastavení debugeru&lt;/b&gt;&lt;p&gt;Načtou se nastavení debugeru do projektu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4112"/>
+        <location filename="../Project/Project.py" line="4115"/>
         <source>Save</source>
         <translation>Uložit</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4116"/>
+        <location filename="../Project/Project.py" line="4119"/>
         <source>Save the debugger properties</source>
         <translation>Uložit nastavení debugeru</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4117"/>
+        <location filename="../Project/Project.py" line="4120"/>
         <source>&lt;b&gt;Save Debugger Properties&lt;/b&gt;&lt;p&gt;This saves the project specific debugger settings.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Uložit nastavení debugeru&lt;/b&gt;&lt;p&gt;Uloží nastavení debugeru definovaná v projektu..&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4124"/>
+        <location filename="../Project/Project.py" line="4127"/>
         <source>Delete</source>
         <translation>Smazat</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4124"/>
+        <location filename="../Project/Project.py" line="4127"/>
         <source>&amp;Delete</source>
         <translation>Sma&amp;zat</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4128"/>
+        <location filename="../Project/Project.py" line="4131"/>
         <source>Delete the debugger properties</source>
         <translation>Smazat nastavení debugeru</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4129"/>
+        <location filename="../Project/Project.py" line="4132"/>
         <source>&lt;b&gt;Delete Debugger Properties&lt;/b&gt;&lt;p&gt;This deletes the file containing the project specific debugger settings.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Smazat nastavení debugeru&lt;/b&gt;&lt;p&gt;Smaže se soubor obsahující nastavení debugeru v daném projektu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4137"/>
+        <location filename="../Project/Project.py" line="4140"/>
         <source>Reset</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4137"/>
+        <location filename="../Project/Project.py" line="4140"/>
         <source>&amp;Reset</source>
         <translation>&amp;Reset</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4141"/>
+        <location filename="../Project/Project.py" line="4144"/>
         <source>Reset the debugger properties</source>
         <translation>Reset nastavení debugeru</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4142"/>
+        <location filename="../Project/Project.py" line="4145"/>
         <source>&lt;b&gt;Reset Debugger Properties&lt;/b&gt;&lt;p&gt;This resets the project specific debugger settings.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Reset nastavení debugeru&lt;/b&gt;&lt;p&gt;Zresetuje nastavení debugeru v projektu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4151"/>
+        <location filename="../Project/Project.py" line="4154"/>
         <source>Load session</source>
         <translation>Načíst relaci</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4155"/>
+        <location filename="../Project/Project.py" line="4158"/>
         <source>Load the projects session file.</source>
         <translation>Načíst soubor s relací projektu.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4156"/>
+        <location filename="../Project/Project.py" line="4159"/>
         <source>&lt;b&gt;Load session&lt;/b&gt;&lt;p&gt;This loads the projects session file. The session consists of the following data.&lt;br&gt;- all open source files&lt;br&gt;- all breakpoint&lt;br&gt;- the commandline arguments&lt;br&gt;- the working directory&lt;br&gt;- the exception reporting flag&lt;/p&gt;</source>
         <translation>&lt;b&gt;Načíst relaci&lt;/b&gt;&lt;p&gt;Načte soubor s relací projektu. Relace obsahuje následující údaje:&lt;br&gt;- všechny otevřené zdrojové soubory&lt;br&gt;- všechny breakpointy&lt;br&gt;- argumenty příkazové řádky &lt;br&gt;- pracovní adresář&lt;br&gt;- příznak výjimky&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4169"/>
+        <location filename="../Project/Project.py" line="4172"/>
         <source>Save session</source>
         <translation>Uložit relaci</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4173"/>
+        <location filename="../Project/Project.py" line="4176"/>
         <source>Save the projects session file.</source>
         <translation>Uložit soubor s relací projektu.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4174"/>
+        <location filename="../Project/Project.py" line="4177"/>
         <source>&lt;b&gt;Save session&lt;/b&gt;&lt;p&gt;This saves the projects session file. The session consists of the following data.&lt;br&gt;- all open source files&lt;br&gt;- all breakpoint&lt;br&gt;- the commandline arguments&lt;br&gt;- the working directory&lt;br&gt;- the exception reporting flag&lt;/p&gt;</source>
         <translation>&lt;b&gt;Uložit relaci&lt;/b&gt;&lt;p&gt;Uloží soubor s relací projektu. Relace obsahuje následující údaje:&lt;br&gt;- všechny otevřené zdrojové soubory&lt;br&gt;- všechny breakpointy&lt;br&gt;- argumenty příkazové řádky &lt;br&gt;- pracovní adresář&lt;br&gt;- příznak výjimky&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4187"/>
+        <location filename="../Project/Project.py" line="4190"/>
         <source>Delete session</source>
         <translation>Smazat relaci</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4191"/>
+        <location filename="../Project/Project.py" line="4194"/>
         <source>Delete the projects session file.</source>
         <translation>Smaže soubor s relací projektu.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4192"/>
+        <location filename="../Project/Project.py" line="4195"/>
         <source>&lt;b&gt;Delete session&lt;/b&gt;&lt;p&gt;This deletes the projects session file&lt;/p&gt;</source>
         <translation>&lt;b&gt;Smazat relaci&lt;/b&gt;&lt;p&gt;Smaže soubor s relací projektu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4201"/>
+        <location filename="../Project/Project.py" line="4204"/>
         <source>Code Metrics</source>
         <translation>Metriky kódu</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4201"/>
+        <location filename="../Project/Project.py" line="4204"/>
         <source>&amp;Code Metrics...</source>
         <translation>Metriky &amp;kódu...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4205"/>
+        <location filename="../Project/Project.py" line="4208"/>
         <source>Show some code metrics for the project.</source>
         <translation>Zobrazit metriky kódu projektu.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4207"/>
+        <location filename="../Project/Project.py" line="4210"/>
         <source>&lt;b&gt;Code Metrics...&lt;/b&gt;&lt;p&gt;This shows some code metrics for all Python files in the project.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Metriky kódu...&lt;/b&gt;&lt;p&gt;Zobrazí se metriky kódu všech python souborů v projektu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4215"/>
+        <location filename="../Project/Project.py" line="4218"/>
         <source>Python Code Coverage</source>
         <translation>Pokrytí python kódu</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4215"/>
+        <location filename="../Project/Project.py" line="4218"/>
         <source>Code Co&amp;verage...</source>
         <translation>Pokr&amp;ytí kódu...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4219"/>
+        <location filename="../Project/Project.py" line="4222"/>
         <source>Show code coverage information for the project.</source>
         <translation>Zobrazit informace pokrytí kódu projektu.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4221"/>
+        <location filename="../Project/Project.py" line="4224"/>
         <source>&lt;b&gt;Code Coverage...&lt;/b&gt;&lt;p&gt;This shows the code coverage information for all Python files in the project.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Pokrytí kódu...&lt;/b&gt;&lt;p&gt;Zobrazí informace o pokrytí kódu ve všech python souborech projektu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5105"/>
+        <location filename="../Project/Project.py" line="5108"/>
         <source>Profile Data</source>
         <translation>Profilovat data</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4229"/>
+        <location filename="../Project/Project.py" line="4232"/>
         <source>&amp;Profile Data...</source>
         <translation>&amp;Profilovat data...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4233"/>
+        <location filename="../Project/Project.py" line="4236"/>
         <source>Show profiling data for the project.</source>
         <translation>Zobrazit profilování dat projektu.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4235"/>
+        <location filename="../Project/Project.py" line="4238"/>
         <source>&lt;b&gt;Profile Data...&lt;/b&gt;&lt;p&gt;This shows the profiling data for the project.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Profilovat data&lt;/b&gt;&lt;p&gt;Zobrazí se profilování dat projektu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5159"/>
+        <location filename="../Project/Project.py" line="5162"/>
         <source>Application Diagram</source>
         <translation>Diagram aplikace</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4244"/>
+        <location filename="../Project/Project.py" line="4247"/>
         <source>&amp;Application Diagram...</source>
         <translation>Diagram &amp;aplikace...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4248"/>
+        <location filename="../Project/Project.py" line="4251"/>
         <source>Show a diagram of the project.</source>
         <translation>Zobrazit diagram projektu.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4250"/>
+        <location filename="../Project/Project.py" line="4253"/>
         <source>&lt;b&gt;Application Diagram...&lt;/b&gt;&lt;p&gt;This shows a diagram of the project.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Diagram aplikace...&lt;/b&gt;&lt;p&gt;Zobrazí diagram projektu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4375"/>
+        <location filename="../Project/Project.py" line="4378"/>
         <source>&amp;Project</source>
         <translation>&amp;Projekt</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4376"/>
+        <location filename="../Project/Project.py" line="4379"/>
         <source>Open &amp;Recent Projects</source>
         <translation>Otevřít poslední p&amp;rojekty</translation>
     </message>
     <message>
+        <location filename="../Project/Project.py" line="4384"/>
+        <source>&amp;Version Control</source>
+        <translation>Kontrola &amp;verzí</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4388"/>
+        <source>Chec&amp;k</source>
+        <translation>Zkontro&amp;lovat</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4390"/>
+        <source>Sho&amp;w</source>
+        <translation>Zo&amp;brazit</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4391"/>
+        <source>&amp;Diagrams</source>
+        <translation>&amp;Diagramy</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4380"/>
+        <source>Session</source>
+        <translation>Relace</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4393"/>
+        <source>Source &amp;Documentation</source>
+        <translation>Zd&amp;rojová dokumentace</translation>
+    </message>
+    <message>
         <location filename="../Project/Project.py" line="4381"/>
-        <source>&amp;Version Control</source>
-        <translation>Kontrola &amp;verzí</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4385"/>
-        <source>Chec&amp;k</source>
-        <translation>Zkontro&amp;lovat</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4387"/>
-        <source>Sho&amp;w</source>
-        <translation>Zo&amp;brazit</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4388"/>
-        <source>&amp;Diagrams</source>
-        <translation>&amp;Diagramy</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4377"/>
-        <source>Session</source>
-        <translation>Relace</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4390"/>
-        <source>Source &amp;Documentation</source>
-        <translation>Zd&amp;rojová dokumentace</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4378"/>
         <source>Debugger</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4389"/>
+        <location filename="../Project/Project.py" line="4392"/>
         <source>Pac&amp;kagers</source>
         <translation>Balíč&amp;ky</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4515"/>
+        <location filename="../Project/Project.py" line="4518"/>
         <source>Project</source>
         <translation>Projekt</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4581"/>
+        <location filename="../Project/Project.py" line="4584"/>
         <source>&amp;Clear</source>
         <translation>&amp;Vyčistit</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4754"/>
+        <location filename="../Project/Project.py" line="4757"/>
         <source>Search New Files</source>
         <translation>Hledat nové soubory</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4754"/>
+        <location filename="../Project/Project.py" line="4757"/>
         <source>There were no new files found to be added.</source>
         <translation>Nebyly nalezeny žádné soubory, které je možné přidat.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4902"/>
+        <location filename="../Project/Project.py" line="4905"/>
         <source>Version Control System</source>
         <translation>Version Control System</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5032"/>
+        <location filename="../Project/Project.py" line="5035"/>
         <source>Coverage Data</source>
         <translation>Datové pokrytí</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5082"/>
+        <location filename="../Project/Project.py" line="5085"/>
         <source>There is no main script defined for the current project. Aborting</source>
         <translation>V aktuálním projektu nebyl určen hlavní skript. Zrušeno</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5055"/>
+        <location filename="../Project/Project.py" line="5058"/>
         <source>Code Coverage</source>
         <translation>Pokrytí kódu</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5055"/>
+        <location filename="../Project/Project.py" line="5058"/>
         <source>Please select a coverage file</source>
         <translation>Prosím, vyberte soubor pokrytí</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5105"/>
+        <location filename="../Project/Project.py" line="5108"/>
         <source>Please select a profile file</source>
         <translation>Prosím, vyberte soubor s profilem</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5159"/>
+        <location filename="../Project/Project.py" line="5162"/>
         <source>Include module names?</source>
         <translation>Včetně jmen modulů?</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5354"/>
+        <location filename="../Project/Project.py" line="5357"/>
         <source>Create Package List</source>
         <translation>Vytvořit seznam balíčků</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4273"/>
+        <location filename="../Project/Project.py" line="4276"/>
         <source>Create &amp;Package List</source>
         <translation type="unfinished">Vytvořit Plugin &amp;archiv</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5625"/>
+        <location filename="../Project/Project.py" line="5628"/>
         <source>Create Plugin Archive</source>
         <translation>Vytvořit Plugin archiv</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5303"/>
+        <location filename="../Project/Project.py" line="5306"/>
         <source>&lt;p&gt;The file &lt;b&gt;PKGLIST&lt;/b&gt; already exists.&lt;/p&gt;&lt;p&gt;Overwrite it?&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor &lt;b&gt;PKGLIST&lt;/b&gt; již existuje.&lt;/p&gt;&lt;p&gt;Přepsat jej?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5373"/>
+        <location filename="../Project/Project.py" line="5376"/>
         <source>The project does not have a main script defined. Aborting...</source>
         <translation>Projekt nemá definován hlavní skript. Zrušeno...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1740"/>
+        <location filename="../Project/Project.py" line="1743"/>
         <source>&lt;p&gt;The source directory doesn&apos;t contain any files belonging to the selected category.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Zdrojový adresář neobsahuje žádné soubory související s danou kategorií.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3008"/>
+        <location filename="../Project/Project.py" line="3011"/>
         <source>Select Version Control System</source>
         <translation>Vybrat Version Control System</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2614"/>
+        <location filename="../Project/Project.py" line="2617"/>
         <source>None</source>
         <translation>None</translation>
     </message>
@@ -55126,42 +55259,42 @@
         <translation>Zaregistrovat typ projektu</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4289"/>
+        <location filename="../Project/Project.py" line="4292"/>
         <source>Create Plugin &amp;Archives</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1418"/>
+        <location filename="../Project/Project.py" line="1421"/>
         <source>You have to specify a translation pattern first.</source>
         <translation>Nejdříve musíte specifikovat vzor překladu.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2716"/>
+        <location filename="../Project/Project.py" line="2719"/>
         <source>Translation Pattern</source>
         <translation>Vzor překladu</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2716"/>
+        <location filename="../Project/Project.py" line="2719"/>
         <source>Enter the path pattern for translation files (use &apos;%language%&apos; in place of the language code):</source>
         <translation>Zadejte vzor cesty pro soubory s překlady (použijte  &apos;%language%&apos; na místě s kódem jazyka):</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4069"/>
+        <location filename="../Project/Project.py" line="4072"/>
         <source>Lexer Associations</source>
         <translation>Spojení lexeru</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4069"/>
+        <location filename="../Project/Project.py" line="4072"/>
         <source>Lexer Associations...</source>
         <translation>Spojení lexeru...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4073"/>
+        <location filename="../Project/Project.py" line="4076"/>
         <source>Show the project lexer associations (overriding defaults)</source>
         <translation>Zobrazit spojení lexeru projektu (přepíše výchozí)</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4075"/>
+        <location filename="../Project/Project.py" line="4078"/>
         <source>&lt;b&gt;Lexer Associations...&lt;/b&gt;&lt;p&gt;This shows a dialog to edit the lexer associations of the project. These associations override the global lexer associations. Lexers are used to highlight the editor text.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Spojení lexeru...&lt;/b&gt;&lt;p&gt;Zobrazuje dialog s editací spojení lexeru projektu. Tato spojení přepisují globální lexer spojení. Lexer je použit pro zvýraznění textu v editoru.&lt;/p&gt;</translation>
     </message>
@@ -55176,17 +55309,17 @@
         <translation>Python3 soubory (*.py *.py3);;Python3 GUI soubory (*.pyw *.pyw3);;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="834"/>
+        <location filename="../Project/Project.py" line="837"/>
         <source>&lt;p&gt;The project file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor projektu &lt;b&gt;{0}&lt;/b&gt; nelze načíst.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="935"/>
+        <location filename="../Project/Project.py" line="938"/>
         <source>&lt;p&gt;The project file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Do souboru projektu &lt;b&gt;{0}&lt;/b&gt; nelze zapisovat.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="980"/>
+        <location filename="../Project/Project.py" line="983"/>
         <source>&lt;p&gt;The user specific project properties file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Uživatelská nastavení projektu &lt;b&gt;{0}&lt;/b&gt; nelze načíst.&lt;/p&gt;</translation>
     </message>
@@ -55196,7 +55329,7 @@
         <translation type="obsolete">&lt;p&gt;Do souboru s uživatelskými nastaveními  &lt;b&gt;{0}&lt;/b&gt; nelze zapisovat.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1055"/>
+        <location filename="../Project/Project.py" line="1058"/>
         <source>&lt;p&gt;The project session file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor s relací projektu &lt;b&gt;{0}&lt;/b&gt; nelze načíst.&lt;/p&gt;</translation>
     </message>
@@ -55206,12 +55339,12 @@
         <translation type="obsolete">&lt;p&gt;Do souboru s relací projektu &lt;b&gt;{0}&lt;/b&gt; nelze zapisovat.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1105"/>
+        <location filename="../Project/Project.py" line="1108"/>
         <source>&lt;p&gt;The project session file &lt;b&gt;{0}&lt;/b&gt; could not be deleted.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor s relací projektu &lt;b&gt;{0}&lt;/b&gt; nelze smazat.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1141"/>
+        <location filename="../Project/Project.py" line="1144"/>
         <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>
@@ -55221,7 +55354,7 @@
         <translation type="obsolete">&lt;p&gt;Do souboru s úlohami &lt;b&gt;{0}&lt;/b&gt; nelze zapisovat.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1224"/>
+        <location filename="../Project/Project.py" line="1227"/>
         <source>&lt;p&gt;The project debugger properties file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor s nastaveními debuggeru &lt;b&gt;{0}&lt;/b&gt; nelze načíst.&lt;/p&gt;</translation>
     </message>
@@ -55231,87 +55364,87 @@
         <translation type="obsolete">&lt;p&gt;Do souboru s nastaveními debuggeru &lt;b&gt;{0}&lt;/b&gt; nelze zapisovat.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1274"/>
+        <location filename="../Project/Project.py" line="1277"/>
         <source>&lt;p&gt;The project debugger properties file &lt;b&gt;{0}&lt;/b&gt; could not be deleted.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor s nastaveními debuggeru &lt;b&gt;{0}&lt;/b&gt; nelze smazat.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1773"/>
+        <location filename="../Project/Project.py" line="1776"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; already exists.&lt;/p&gt;&lt;p&gt;Overwrite it?&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor &lt;b&gt;{0}&lt;/b&gt; již existuje.&lt;/p&gt;&lt;p&gt;Má se přepsat?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3171"/>
+        <location filename="../Project/Project.py" line="3174"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor &lt;b&gt;{0}&lt;/b&gt; již existuje.&lt;/p&gt;&lt;p&gt;Má se přepsat?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2013"/>
+        <location filename="../Project/Project.py" line="2016"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be renamed.&lt;br /&gt;Reason: {1}&lt;/p&gt;</source>
         <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="../Project/Project.py" line="2388"/>
+        <location filename="../Project/Project.py" line="2391"/>
         <source>&lt;p&gt;The project directory &lt;b&gt;{0}&lt;/b&gt; could not be created.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Adresář projektu &lt;b&gt;{0}&lt;/b&gt; nelze vytvořit.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4902"/>
+        <location filename="../Project/Project.py" line="4905"/>
         <source>&lt;p&gt;The selected VCS &lt;b&gt;{0}&lt;/b&gt; could not be found.&lt;br/&gt;Disabling version control.&lt;/p&gt;&lt;p&gt;{1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Vybrané VCS &lt;b&gt;{0}&lt;/b&gt; nebylo nalezeno.&lt;br/&gt;Kontrola verzí vypnuta.&lt;/p&gt;&lt;p&gt;{1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5354"/>
+        <location filename="../Project/Project.py" line="5357"/>
         <source>&lt;p&gt;The file &lt;b&gt;PKGLIST&lt;/b&gt; could not be created.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor &lt;b&gt;PKGLIST&lt;/b&gt; nelze vytvořit.&lt;/p&gt;&lt;p&gt;Důvod: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5513"/>
+        <location filename="../Project/Project.py" line="5516"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be stored in the archive. Ignoring it.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor &lt;b&gt;{0}&lt;/b&gt; nelze uložit do archivu. Ingorováno.&lt;/p&gt;&lt;p&gt;Důvod: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5584"/>
+        <location filename="../Project/Project.py" line="5587"/>
         <source>&lt;p&gt;The plugin file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Plugin soubor &lt;b&gt;{0}&lt;/b&gt; nelze přečíst.&lt;/p&gt;&lt;p&gt;Důvod: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1696"/>
+        <location filename="../Project/Project.py" line="1699"/>
         <source>&lt;p&gt;The selected file &lt;b&gt;{0}&lt;/b&gt; could not be added to &lt;b&gt;{1}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Reason: {2}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Vybraný soubor &lt;b&gt;{0}&lt;/b&gt; nelze přidat do &lt;b&gt;{1}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Důvod: {2}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1755"/>
+        <location filename="../Project/Project.py" line="1758"/>
         <source>&lt;p&gt;The target directory &lt;b&gt;{0}&lt;/b&gt; could not be created.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Cílový adresář &lt;b&gt;{0}&lt;/b&gt; nelze vytvořit.&lt;/p&gt;&lt;p&gt;Důvod: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2474"/>
+        <location filename="../Project/Project.py" line="2477"/>
         <source>Create main script</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2474"/>
+        <location filename="../Project/Project.py" line="2477"/>
         <source>&lt;p&gt;The mainscript &lt;b&gt;{0}&lt;/b&gt; could not be created.&lt;br/&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4258"/>
+        <location filename="../Project/Project.py" line="4261"/>
         <source>Load Diagram</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4258"/>
+        <location filename="../Project/Project.py" line="4261"/>
         <source>&amp;Load Diagram...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4262"/>
+        <location filename="../Project/Project.py" line="4265"/>
         <source>Load a diagram from file.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4264"/>
+        <location filename="../Project/Project.py" line="4267"/>
         <source>&lt;b&gt;Load Diagram...&lt;/b&gt;&lt;p&gt;This loads a diagram from file.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -55336,12 +55469,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4890"/>
+        <location filename="../Project/Project.py" line="4893"/>
         <source>&lt;p&gt;The selected VCS &lt;b&gt;{0}&lt;/b&gt; could not be found. &lt;br/&gt;Reverting override.&lt;/p&gt;&lt;p&gt;{1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5625"/>
+        <location filename="../Project/Project.py" line="5628"/>
         <source>&lt;p&gt;The plugin file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt; &lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -55366,193 +55499,193 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2978"/>
+        <location filename="../Project/Project.py" line="2981"/>
         <source>Create project management directory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2978"/>
+        <location filename="../Project/Project.py" line="2981"/>
         <source>&lt;p&gt;The project directory &lt;b&gt;{0}&lt;/b&gt; is not writable.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4008"/>
+        <location filename="../Project/Project.py" line="4011"/>
         <source>Alt+Ctrl+P</source>
         <comment>Project|Search Project File</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4014"/>
+        <location filename="../Project/Project.py" line="4017"/>
         <source>Search for a file in the project list of files.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4016"/>
+        <location filename="../Project/Project.py" line="4019"/>
         <source>&lt;b&gt;Search Project File&lt;/b&gt;&lt;p&gt;This searches for a file in the project list of files.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4008"/>
+        <location filename="../Project/Project.py" line="4011"/>
         <source>Search Project File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4008"/>
+        <location filename="../Project/Project.py" line="4011"/>
         <source>Search Project File...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5409"/>
+        <location filename="../Project/Project.py" line="5412"/>
         <source>Create Plugin Archives</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4306"/>
+        <location filename="../Project/Project.py" line="4309"/>
         <source>Create Plugin Archives (Snapshot)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4306"/>
+        <location filename="../Project/Project.py" line="4309"/>
         <source>Create Plugin Archives (&amp;Snapshot)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5387"/>
+        <location filename="../Project/Project.py" line="5390"/>
         <source>Select package lists:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5405"/>
+        <location filename="../Project/Project.py" line="5408"/>
         <source>Creating plugin archives...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5405"/>
+        <location filename="../Project/Project.py" line="5408"/>
         <source>Abort</source>
         <translation type="unfinished">Přerušit</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5405"/>
+        <location filename="../Project/Project.py" line="5408"/>
         <source>%v/%m Archives</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5421"/>
+        <location filename="../Project/Project.py" line="5424"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5398"/>
+        <location filename="../Project/Project.py" line="5401"/>
         <source>&lt;p&gt;No package list files (PKGLIST*) available or selected. Aborting...&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5449"/>
+        <location filename="../Project/Project.py" line="5452"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; is not ready yet.&lt;/p&gt;&lt;p&gt;Please rework it and delete the&apos;; initial_list&apos; line of the header.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3999"/>
+        <location filename="../Project/Project.py" line="4002"/>
         <source>&lt;b&gt;Search new files...&lt;/b&gt;&lt;p&gt;This searches for new files (sources, *.ui, *.idl, *.proto) in the project directory and registered subdirectories.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4057"/>
+        <location filename="../Project/Project.py" line="4060"/>
         <source>&lt;b&gt;Filetype Associations...&lt;/b&gt;&lt;p&gt;This shows a dialog to edit the file type associations of the project. These associations determine the type (source, form, interface, protocol or others) with a filename pattern. They are used when adding a file to the project and when performing a search for new files.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1544"/>
+        <location filename="../Project/Project.py" line="1547"/>
         <source>&lt;p&gt;The selected translation file &lt;b&gt;{0}&lt;/b&gt; could not be deleted.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2263"/>
+        <location filename="../Project/Project.py" line="2266"/>
         <source>&lt;p&gt;The selected file &lt;b&gt;{0}&lt;/b&gt; could not be deleted.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2293"/>
+        <location filename="../Project/Project.py" line="2296"/>
         <source>&lt;p&gt;The selected directory &lt;b&gt;{0}&lt;/b&gt; could not be deleted.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2789"/>
+        <location filename="../Project/Project.py" line="2792"/>
         <source>Create Makefile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2789"/>
+        <location filename="../Project/Project.py" line="2792"/>
         <source>&lt;p&gt;The makefile &lt;b&gt;{0}&lt;/b&gt; could not be created.&lt;br/&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5810"/>
+        <location filename="../Project/Project.py" line="5813"/>
         <source>Execute Make</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4327"/>
+        <location filename="../Project/Project.py" line="4330"/>
         <source>&amp;Execute Make</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4331"/>
+        <location filename="../Project/Project.py" line="4334"/>
         <source>Perform a &apos;make&apos; run.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4333"/>
+        <location filename="../Project/Project.py" line="4336"/>
         <source>&lt;b&gt;Execute Make&lt;/b&gt;&lt;p&gt;This performs a &apos;make&apos; run to rebuild the configured target.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5791"/>
-        <source>Test for Changes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4341"/>
-        <source>&amp;Test for Changes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4345"/>
-        <source>Question &apos;make&apos;, if a rebuild is needed.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4347"/>
-        <source>&lt;b&gt;Test for Changes&lt;/b&gt;&lt;p&gt;This questions &apos;make&apos;, if a rebuild of the configured target is necessary.&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4392"/>
-        <source>Make</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="5739"/>
-        <source>The make process did not start.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="5784"/>
-        <source>The make process crashed.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Project/Project.py" line="5794"/>
+        <source>Test for Changes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4344"/>
+        <source>&amp;Test for Changes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4348"/>
+        <source>Question &apos;make&apos;, if a rebuild is needed.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4350"/>
+        <source>&lt;b&gt;Test for Changes&lt;/b&gt;&lt;p&gt;This questions &apos;make&apos;, if a rebuild of the configured target is necessary.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4395"/>
+        <source>Make</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="5742"/>
+        <source>The make process did not start.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="5787"/>
+        <source>The make process crashed.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="5797"/>
         <source>&lt;p&gt;There are changes that require the configured make target &lt;b&gt;{0}&lt;/b&gt; to be rebuilt.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5799"/>
+        <location filename="../Project/Project.py" line="5802"/>
         <source>&lt;p&gt;There are changes that require the default make target to be rebuilt.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5810"/>
+        <location filename="../Project/Project.py" line="5813"/>
         <source>The makefile contains errors.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -55567,7 +55700,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4380"/>
+        <location filename="../Project/Project.py" line="4383"/>
         <source>Project-T&amp;ools</source>
         <translation type="unfinished"></translation>
     </message>
@@ -55597,112 +55730,112 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4278"/>
+        <location filename="../Project/Project.py" line="4281"/>
         <source>Create an initial PKGLIST file for an eric plugin.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4280"/>
+        <location filename="../Project/Project.py" line="4283"/>
         <source>&lt;b&gt;Create Package List&lt;/b&gt;&lt;p&gt;This creates an initial list of files to include in an eric plugin archive. The list is created from the project file.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4294"/>
+        <location filename="../Project/Project.py" line="4297"/>
         <source>Create eric plugin archive files.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4296"/>
+        <location filename="../Project/Project.py" line="4299"/>
         <source>&lt;b&gt;Create Plugin Archives&lt;/b&gt;&lt;p&gt;This creates eric plugin archive files using the list of files given in a PKGLIST* file. The archive name is built from the main script name if not designated in the package list file.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4311"/>
+        <location filename="../Project/Project.py" line="4314"/>
         <source>Create eric plugin archive files (snapshot releases).</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4313"/>
+        <location filename="../Project/Project.py" line="4316"/>
         <source>&lt;b&gt;Create Plugin Archives (Snapshot)&lt;/b&gt;&lt;p&gt;This creates eric plugin archive files using the list of files given in the PKGLIST* file. The archive name is built from the main script name if not designated in the package list file. The version entry of the main script is modified to reflect a snapshot release.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5477"/>
+        <location filename="../Project/Project.py" line="5480"/>
         <source>&lt;p&gt;The eric plugin archive file &lt;b&gt;{0}&lt;/b&gt; could not be created.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5532"/>
+        <location filename="../Project/Project.py" line="5535"/>
         <source>&lt;p&gt;The eric plugin archive files were created with some errors.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5540"/>
+        <location filename="../Project/Project.py" line="5543"/>
         <source>&lt;p&gt;The eric plugin archive files were created successfully.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="834"/>
+        <location filename="../Project/Project.py" line="837"/>
         <source>Read Project File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="935"/>
+        <location filename="../Project/Project.py" line="938"/>
         <source>Save Project File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="980"/>
+        <location filename="../Project/Project.py" line="983"/>
         <source>Read User Project Properties</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1030"/>
+        <location filename="../Project/Project.py" line="1033"/>
         <source>Read Project Session</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1073"/>
+        <location filename="../Project/Project.py" line="1076"/>
         <source>Save Project Session</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1105"/>
+        <location filename="../Project/Project.py" line="1108"/>
         <source>Delete Project Session</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1141"/>
+        <location filename="../Project/Project.py" line="1144"/>
         <source>Read Tasks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1224"/>
+        <location filename="../Project/Project.py" line="1227"/>
         <source>Read Debugger Properties</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1241"/>
+        <location filename="../Project/Project.py" line="1244"/>
         <source>Save Debugger Properties</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1274"/>
+        <location filename="../Project/Project.py" line="1277"/>
         <source>Delete Debugger Properties</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3155"/>
+        <location filename="../Project/Project.py" line="3158"/>
         <source>Project Files (*.epj);;XML Project Files (*.e4p)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3147"/>
+        <location filename="../Project/Project.py" line="3150"/>
         <source>Project Files (*.epj)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4055"/>
+        <location filename="../Project/Project.py" line="4058"/>
         <source>Show the project file type associations</source>
         <translation type="unfinished"></translation>
     </message>
@@ -92333,417 +92466,417 @@
 <context>
     <name>pycodestyle</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="33"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="34"/>
         <source>indentation contains mixed spaces and tabs</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="36"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="37"/>
         <source>indentation is not a multiple of four</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="39"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="40"/>
         <source>expected an indented block</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="42"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="43"/>
         <source>unexpected indentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="45"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="46"/>
         <source>indentation is not a multiple of four (comment)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="48"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="49"/>
         <source>expected an indented block (comment)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="51"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="52"/>
         <source>unexpected indentation (comment)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="57"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="58"/>
         <source>continuation line indentation is not a multiple of four</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="60"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="61"/>
         <source>continuation line missing indentation or outdented</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="63"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="64"/>
         <source>closing bracket does not match indentation of opening bracket&apos;s line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="67"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="68"/>
         <source>closing bracket does not match visual indentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="70"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="71"/>
         <source>continuation line with same indent as next logical line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="73"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="74"/>
         <source>continuation line over-indented for hanging indent</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="76"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="77"/>
         <source>continuation line over-indented for visual indent</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="79"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="80"/>
         <source>continuation line under-indented for visual indent</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="82"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="83"/>
         <source>visually indented line with same indent as next logical line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="85"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="86"/>
         <source>continuation line unaligned for hanging indent</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="88"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="89"/>
         <source>closing bracket is missing indentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="91"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="92"/>
         <source>indentation contains tabs</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="94"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="95"/>
         <source>whitespace after &apos;{0}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="103"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="104"/>
         <source>whitespace before &apos;{0}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="106"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="107"/>
         <source>multiple spaces before operator</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="109"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="110"/>
         <source>multiple spaces after operator</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="112"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="113"/>
         <source>tab before operator</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="115"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="116"/>
         <source>tab after operator</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="118"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="119"/>
         <source>missing whitespace around operator</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="121"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="122"/>
         <source>missing whitespace around arithmetic operator</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="124"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="125"/>
         <source>missing whitespace around bitwise or shift operator</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="127"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="128"/>
         <source>missing whitespace around modulo operator</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="130"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="131"/>
         <source>missing whitespace after &apos;{0}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="133"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="134"/>
         <source>multiple spaces after &apos;{0}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="136"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="137"/>
         <source>tab after &apos;{0}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="139"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="140"/>
         <source>unexpected spaces around keyword / parameter equals</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="145"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="146"/>
         <source>at least two spaces before inline comment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="148"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="149"/>
         <source>inline comment should start with &apos;# &apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="151"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="152"/>
         <source>block comment should start with &apos;# &apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="154"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="155"/>
         <source>too many leading &apos;#&apos; for block comment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="157"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="158"/>
         <source>multiple spaces after keyword</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="160"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="161"/>
         <source>multiple spaces before keyword</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="163"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="164"/>
         <source>tab after keyword</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="166"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="167"/>
         <source>tab before keyword</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="169"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="170"/>
         <source>missing whitespace after keyword</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="172"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="173"/>
         <source>trailing whitespace</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="175"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="176"/>
         <source>no newline at end of file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="178"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="179"/>
         <source>blank line contains whitespace</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="203"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="204"/>
         <source>too many blank lines ({0})</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="190"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="191"/>
         <source>blank lines found after function decorator</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="206"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="207"/>
         <source>blank line at end of file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="209"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="210"/>
         <source>multiple imports on one line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="212"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="213"/>
         <source>module level import not at top of file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="215"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="216"/>
         <source>line too long ({0} &gt; {1} characters)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="218"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="219"/>
         <source>the backslash is redundant between brackets</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="221"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="222"/>
         <source>line break before binary operator</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="230"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="231"/>
         <source>.has_key() is deprecated, use &apos;in&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="233"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="234"/>
         <source>deprecated form of raising exception</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="236"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="237"/>
         <source>&apos;&lt;&gt;&apos; is deprecated, use &apos;!=&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="239"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="240"/>
         <source>backticks are deprecated, use &apos;repr()&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="248"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="249"/>
         <source>multiple statements on one line (colon)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="251"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="252"/>
         <source>multiple statements on one line (semicolon)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="254"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="255"/>
         <source>statement ends with a semicolon</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="257"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="258"/>
         <source>multiple statements on one line (def)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="263"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="264"/>
         <source>comparison to {0} should be {1}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="266"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="267"/>
         <source>test for membership should be &apos;not in&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="269"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="270"/>
         <source>test for object identity should be &apos;is not&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="272"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="273"/>
         <source>do not compare types, use &apos;isinstance()&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="278"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="279"/>
         <source>do not assign a lambda expression, use a def</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="281"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="282"/>
         <source>ambiguous variable name &apos;{0}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="284"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="285"/>
         <source>ambiguous class definition &apos;{0}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="287"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="288"/>
         <source>ambiguous function definition &apos;{0}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="290"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="291"/>
         <source>{0}: {1}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="293"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="294"/>
         <source>{0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="275"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="276"/>
         <source>do not use bare except</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="193"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="194"/>
         <source>expected {0} blank lines after class or function definition, found {1}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="245"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="246"/>
         <source>&apos;async&apos; and &apos;await&apos; are reserved keywords starting with Python 3.7</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="142"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="143"/>
         <source>missing whitespace around parameter equals</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="184"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="185"/>
         <source>expected {0} blank lines, found {1}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="197"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="198"/>
         <source>expected {0} blank lines before a nested definition, found {1}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="224"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="225"/>
         <source>line break after binary operator</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="242"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="243"/>
         <source>invalid escape sequence &apos;\{0}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="200"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="201"/>
         <source>too many blank lines ({0}) before a nested definition, expected {1}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="187"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="188"/>
         <source>too many blank lines ({0}), expected {1}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="54"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="55"/>
         <source>over-indented</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="227"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="228"/>
         <source>doc line too long ({0} &gt; {1} characters)</source>
         <translation type="unfinished"></translation>
     </message>
Binary file eric6/i18n/eric6_de.qm has changed
--- a/eric6/i18n/eric6_de.ts	Wed Mar 17 19:54:32 2021 +0100
+++ b/eric6/i18n/eric6_de.ts	Sun Mar 21 14:17:16 2021 +0100
@@ -3022,14 +3022,19 @@
         <translation>Benennung</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="88"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="91"/>
         <source>Warnings</source>
         <translation>Warnungen</translation>
     </message>
     <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="88"/>
+        <source>Security</source>
+        <translation>Sicherheit</translation>
+    </message>
+    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="85"/>
-        <source>Security</source>
-        <translation>Sicherheit</translation>
+        <source>&apos;pathlib&apos; Usage</source>
+        <translation>&apos;pathlib&apos; Verwendung</translation>
     </message>
 </context>
 <context>
@@ -3480,7 +3485,7 @@
 <context>
     <name>CodeStyleChecker</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="538"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="542"/>
         <source>No message defined for code &apos;{0}&apos;.</source>
         <translation>Keine Nachricht für &apos;{0}&apos; definiert.</translation>
     </message>
@@ -3649,12 +3654,12 @@
         <translation>Nachricht</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="126"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="129"/>
         <source>PEP-257</source>
         <translation>PEP-257</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="127"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="130"/>
         <source>Eric</source>
         <translation>Eric</translation>
     </message>
@@ -3679,7 +3684,7 @@
         <translation>Drücken, um alle Dateien mit Problemen anzuzeigen</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="246"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="249"/>
         <source>Error: {0}</source>
         <translation>Fehler: {0}</translation>
     </message>
@@ -3689,7 +3694,7 @@
         <translation>Lösung: {0}</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1044"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1049"/>
         <source>No issues found.</source>
         <translation>Keine Probleme gefunden.</translation>
     </message>
@@ -3714,12 +3719,12 @@
         <translation>Ignorierte anzeigen</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="968"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="973"/>
         <source>{0} (ignored)</source>
         <translation>{0} (ignoriert)</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="861"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="866"/>
         <source>Preparing files...</source>
         <translation>Bereite Dateien vor...</translation>
     </message>
@@ -3729,12 +3734,12 @@
         <translation>Gib die maximal erlaubte Codekomplexität ein (McCabe: 10)</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="219"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="222"/>
         <source>Errors</source>
         <translation>Fehler</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="900"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="905"/>
         <source>Transferring data...</source>
         <translation>Übertrage Daten...</translation>
     </message>
@@ -3839,7 +3844,7 @@
         <translation>Standards lösc&amp;hen</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1047"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1052"/>
         <source>No files found (check your ignore list).</source>
         <translation>Keine Dateien gefunden (überprüfe die Ignorierliste).</translation>
     </message>
@@ -4149,12 +4154,12 @@
         <translation>Drücken um ein Muster zur &apos;Commented Code&apos; Whitelist hinzuzufügen</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2004"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2009"/>
         <source>Commented Code Whitelist Pattern</source>
         <translation>&apos;Commented Code&apos; Whitelist Muster</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2004"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2009"/>
         <source>Enter a Commented Code Whitelist Pattern</source>
         <translation>Ein &apos;Commented Code&apos; Whitelist Muster eingeben</translation>
     </message>
@@ -4218,142 +4223,142 @@
 <context>
     <name>CodeStyleFixer</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="301"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="302"/>
         <source>Triple single quotes converted to triple double quotes.</source>
         <translation>Dreifache Einfachanführungszeichen in dreifache Doppelanführungszeichen umgewandelt.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="304"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="305"/>
         <source>Introductory quotes corrected to be {0}&quot;&quot;&quot;</source>
         <translation>Einleitende Anführungszeichen in {0}&quot;&quot;&quot; korrigiert</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="307"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="308"/>
         <source>Single line docstring put on one line.</source>
         <translation>Einzeiligen Docstring auf eine Zeile gebracht.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="310"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="311"/>
         <source>Period added to summary line.</source>
         <translation>Punkt an die Zusammenfassungszeile angefügt.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="337"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="338"/>
         <source>Blank line before function/method docstring removed.</source>
         <translation>Leerzeile vor Funktions-/Methodendocstring entfernt.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="316"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="317"/>
         <source>Blank line inserted before class docstring.</source>
         <translation>Leerzeile vor Klassendocstring eingefügt.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="319"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="320"/>
         <source>Blank line inserted after class docstring.</source>
         <translation>Leerzeile nach Klassendocstring eingefügt.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="322"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="323"/>
         <source>Blank line inserted after docstring summary.</source>
         <translation>Leerzeile nach Docstring Zusammenfassung eingefügt.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="325"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="326"/>
         <source>Blank line inserted after last paragraph of docstring.</source>
         <translation>Leerzeile nach letztem Abschnitt des Docstring eingefügt.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="328"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="329"/>
         <source>Leading quotes put on separate line.</source>
         <translation>Einleitende Anführungszeichen auf separate Zeile gesetzt.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="331"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="332"/>
         <source>Trailing quotes put on separate line.</source>
         <translation>Schließende Anführungszeichen auf separate Zeile gesetzt.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="334"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="335"/>
         <source>Blank line before class docstring removed.</source>
         <translation>Leerzeile vor Klassendocstring entfernt.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="340"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="341"/>
         <source>Blank line after class docstring removed.</source>
         <translation>Leerzeile nach Klassendocstring entfernt.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="343"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="344"/>
         <source>Blank line after function/method docstring removed.</source>
         <translation>Leerzeile nach Funktions-/Methodendocstring entfernt.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="346"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="347"/>
         <source>Blank line after last paragraph removed.</source>
         <translation>Leerzeile nach letzten Abschnitt entfernt.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="349"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="350"/>
         <source>Tab converted to 4 spaces.</source>
         <translation>Tabulator in 4 Leerzeichen gewandelt.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="352"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="353"/>
         <source>Indentation adjusted to be a multiple of four.</source>
         <translation>Einrückung auf ein Vielfaches von vier korrigiert.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="355"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="356"/>
         <source>Indentation of continuation line corrected.</source>
         <translation>Einrückung der Fortsetzungszeile korrigiert.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="358"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="359"/>
         <source>Indentation of closing bracket corrected.</source>
         <translation>Einrückung der schließenden Klammer korrigiert.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="361"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="362"/>
         <source>Missing indentation of continuation line corrected.</source>
         <translation>Fehlende Einrückung der Fortsetzungszeile korrigiert.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="364"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="365"/>
         <source>Closing bracket aligned to opening bracket.</source>
         <translation>Schließende Klammer an öffnender Klammer ausgerichtet.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="367"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="368"/>
         <source>Indentation level changed.</source>
         <translation>Einrückungsebene geändert.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="370"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="371"/>
         <source>Indentation level of hanging indentation changed.</source>
         <translation>Einrückungsebene der hängenden Einrückung geändert.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="373"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="374"/>
         <source>Visual indentation corrected.</source>
         <translation>Visuelle Einrückung korrigiert.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="388"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="389"/>
         <source>Extraneous whitespace removed.</source>
         <translation>Überzählige Leerzeichen gelöscht.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="385"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="386"/>
         <source>Missing whitespace added.</source>
         <translation>Fehlende Leerzeichen eingefügt.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="391"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="392"/>
         <source>Whitespace around comment sign corrected.</source>
         <translation>Leerzeichen um Kommentarzeichen korrigiert.</translation>
     </message>
     <message numerus="yes">
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="395"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="396"/>
         <source>%n blank line(s) inserted.</source>
         <translation>
             <numerusform>Eine Leerzeile eingefügt.</numerusform>
@@ -4361,7 +4366,7 @@
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="398"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="399"/>
         <source>%n superfluous lines removed</source>
         <translation>
             <numerusform>Eine überflüssige Zeile gelöscht</numerusform>
@@ -4369,72 +4374,72 @@
         </translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="402"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="403"/>
         <source>Superfluous blank lines removed.</source>
         <translation>Überflüssige Leerzeilen gelöscht.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="405"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="406"/>
         <source>Superfluous blank lines after function decorator removed.</source>
         <translation>Überflüssige Leerzeilen nach Funktionsdekorator gelöscht.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="408"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="409"/>
         <source>Imports were put on separate lines.</source>
         <translation>Imports wurden auf separate Zeilen verteilt.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="411"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="412"/>
         <source>Long lines have been shortened.</source>
         <translation>Lange Zeilen wurden gekürzt.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="414"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="415"/>
         <source>Redundant backslash in brackets removed.</source>
         <translation>Redundante Backslashes in Klammern entfernt.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="420"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="421"/>
         <source>Compound statement corrected.</source>
         <translation>Compund Statement korrigiert.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="423"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="424"/>
         <source>Comparison to None/True/False corrected.</source>
         <translation>Vergleich mit None/True/False korrigiert.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="426"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="427"/>
         <source>&apos;{0}&apos; argument added.</source>
         <translation>&apos;{0}&apos; Argument hinzugefügt.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="429"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="430"/>
         <source>&apos;{0}&apos; argument removed.</source>
         <translation>&apos;{0}&apos; Argument entfernt.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="432"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="433"/>
         <source>Whitespace stripped from end of line.</source>
         <translation>Leerzeichen am Zeilenende entfernt.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="435"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="436"/>
         <source>newline added to end of file.</source>
         <translation>Zeilenvorschub am Dateiende angefügt.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="438"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="439"/>
         <source>Superfluous trailing blank lines removed from end of file.</source>
         <translation>Überflüssige Leerzeilen am Dateiende gelöscht.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="441"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="442"/>
         <source>&apos;&lt;&gt;&apos; replaced by &apos;!=&apos;.</source>
         <translation>„&lt;&gt;“ durch „!=“ ersetzt.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="445"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="446"/>
         <source>Could not save the file! Skipping it. Reason: {0}</source>
         <translation>Datei konnte nicht gespeichert werden! Ursache: {0}</translation>
     </message>
@@ -11269,7 +11274,7 @@
         <translation>Drucken abgebrochen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7119"/>
+        <location filename="../QScintilla/Editor.py" line="7122"/>
         <source>File changed</source>
         <translation>Datei geändert</translation>
     </message>
@@ -11334,57 +11339,57 @@
         <translation>Zurück zum letzten gesichert Zustand</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6808"/>
+        <location filename="../QScintilla/Editor.py" line="6811"/>
         <source>Macro Name</source>
         <translation>Makro Name</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6808"/>
+        <location filename="../QScintilla/Editor.py" line="6811"/>
         <source>Select a macro name:</source>
         <translation>Wähle einen Makro Namen:</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6878"/>
+        <location filename="../QScintilla/Editor.py" line="6881"/>
         <source>Macro files (*.macro)</source>
         <translation>Makrodateien (*.macro)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6836"/>
+        <location filename="../QScintilla/Editor.py" line="6839"/>
         <source>Load macro file</source>
         <translation>Lade Makrodatei</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6858"/>
+        <location filename="../QScintilla/Editor.py" line="6861"/>
         <source>Error loading macro</source>
         <translation>Fehler beim Makro Laden</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6878"/>
+        <location filename="../QScintilla/Editor.py" line="6881"/>
         <source>Save macro file</source>
         <translation>Makrodatei schreiben</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6895"/>
+        <location filename="../QScintilla/Editor.py" line="6898"/>
         <source>Save macro</source>
         <translation>Makro speichern</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6910"/>
+        <location filename="../QScintilla/Editor.py" line="6913"/>
         <source>Error saving macro</source>
         <translation>Fehler beim Makro speichern</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6923"/>
+        <location filename="../QScintilla/Editor.py" line="6926"/>
         <source>Start Macro Recording</source>
         <translation>Makroaufzeichnung starten</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6949"/>
+        <location filename="../QScintilla/Editor.py" line="6952"/>
         <source>Macro Recording</source>
         <translation>Makroaufzeichnung</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6949"/>
+        <location filename="../QScintilla/Editor.py" line="6952"/>
         <source>Enter name of the macro:</source>
         <translation>Gib einen Namen für das Makro ein:</translation>
     </message>
@@ -11434,42 +11439,42 @@
         <translation>Haltepunkt bearbeiten...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5699"/>
+        <location filename="../QScintilla/Editor.py" line="5702"/>
         <source>Enable breakpoint</source>
         <translation>Haltepunkt aktivieren</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5702"/>
+        <location filename="../QScintilla/Editor.py" line="5705"/>
         <source>Disable breakpoint</source>
         <translation>Haltepunkt deaktivieren</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6077"/>
+        <location filename="../QScintilla/Editor.py" line="6080"/>
         <source>Code Coverage</source>
         <translation>Quelltext Abdeckung</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6077"/>
+        <location filename="../QScintilla/Editor.py" line="6080"/>
         <source>Please select a coverage file</source>
         <translation>Bitte wählen Sie eine Datei mit Abdeckungsdaten</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6257"/>
+        <location filename="../QScintilla/Editor.py" line="6260"/>
         <source>Profile Data</source>
         <translation>Profildaten</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6257"/>
+        <location filename="../QScintilla/Editor.py" line="6260"/>
         <source>Please select a profile file</source>
         <translation>Bitte wählen Sie eine Datei mit Profildaten</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4841"/>
+        <location filename="../QScintilla/Editor.py" line="4844"/>
         <source>Autocompletion</source>
         <translation>Automatische Vervollständigung</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4841"/>
+        <location filename="../QScintilla/Editor.py" line="4844"/>
         <source>Autocompletion is not available because there is no autocompletion source set.</source>
         <translation>Die automatische Vervollständigung ist nicht verfügbar, da keine Quelle gesetzt ist.</translation>
     </message>
@@ -11499,7 +11504,7 @@
         <translation>Autom. Speicherung aktiv</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7454"/>
+        <location filename="../QScintilla/Editor.py" line="7457"/>
         <source>Drop Error</source>
         <translation>Drop Fehler</translation>
     </message>
@@ -11509,12 +11514,12 @@
         <translation>Zeige Syntaxfehlermeldung</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6419"/>
+        <location filename="../QScintilla/Editor.py" line="6422"/>
         <source>Syntax Error</source>
         <translation>Syntaxfehler</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6419"/>
+        <location filename="../QScintilla/Editor.py" line="6422"/>
         <source>No syntax error message available.</source>
         <translation>Keine Syntaxfehlermeldung verfügbar.</translation>
     </message>
@@ -11544,17 +11549,17 @@
         <translation>Vorige nichtabgedeckte Zeile</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6140"/>
+        <location filename="../QScintilla/Editor.py" line="6143"/>
         <source>Show Code Coverage Annotations</source>
         <translation>Zeilen ohne Abdeckung Markieren</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6133"/>
+        <location filename="../QScintilla/Editor.py" line="6136"/>
         <source>All lines have been covered.</source>
         <translation>Alle Zeilen sind abgedeckt.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6140"/>
+        <location filename="../QScintilla/Editor.py" line="6143"/>
         <source>There is no coverage file available.</source>
         <translation>Es gibt keine Datei mit Abdeckungsinformationen.</translation>
     </message>
@@ -11564,22 +11569,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="6849"/>
+        <location filename="../QScintilla/Editor.py" line="6852"/>
         <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="6858"/>
+        <location filename="../QScintilla/Editor.py" line="6861"/>
         <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="6910"/>
+        <location filename="../QScintilla/Editor.py" line="6913"/>
         <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="7454"/>
+        <location filename="../QScintilla/Editor.py" line="7457"/>
         <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>
@@ -11619,82 +11624,82 @@
         <translation>Keine Sprache</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7313"/>
+        <location filename="../QScintilla/Editor.py" line="7316"/>
         <source>{0} (ro)</source>
         <translation>{0} (ro)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7475"/>
+        <location filename="../QScintilla/Editor.py" line="7478"/>
         <source>Resources</source>
         <translation>Ressourcen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7477"/>
+        <location filename="../QScintilla/Editor.py" line="7480"/>
         <source>Add file...</source>
         <translation>Datei hinzufügen...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7479"/>
+        <location filename="../QScintilla/Editor.py" line="7482"/>
         <source>Add files...</source>
         <translation>Dateien hinzufügen...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7481"/>
-        <source>Add aliased file...</source>
-        <translation>Aliased-Datei hinzufügen...</translation>
-    </message>
-    <message>
         <location filename="../QScintilla/Editor.py" line="7484"/>
+        <source>Add aliased file...</source>
+        <translation>Aliased-Datei hinzufügen...</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Editor.py" line="7487"/>
         <source>Add localized resource...</source>
         <translation>Lokalisierte Ressource hinzufügen...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7507"/>
+        <location filename="../QScintilla/Editor.py" line="7510"/>
         <source>Add file resource</source>
         <translation>Dateiressource hinzufügen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7523"/>
+        <location filename="../QScintilla/Editor.py" line="7526"/>
         <source>Add file resources</source>
         <translation>Dateiressourcen hinzufügen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7550"/>
+        <location filename="../QScintilla/Editor.py" line="7553"/>
         <source>Add aliased file resource</source>
         <translation>Aliased-Dateiressourcen hinzufügen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7550"/>
+        <location filename="../QScintilla/Editor.py" line="7553"/>
         <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="7616"/>
+        <location filename="../QScintilla/Editor.py" line="7619"/>
         <source>Package Diagram</source>
         <translation>Package-Diagramm</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7616"/>
+        <location filename="../QScintilla/Editor.py" line="7619"/>
         <source>Include class attributes?</source>
         <translation>Klassenattribute anzeigen?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7652"/>
+        <location filename="../QScintilla/Editor.py" line="7655"/>
         <source>Application Diagram</source>
         <translation>Applikations-Diagramm</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7652"/>
+        <location filename="../QScintilla/Editor.py" line="7655"/>
         <source>Include module names?</source>
         <translation>Modulnamen anzeigen?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7488"/>
+        <location filename="../QScintilla/Editor.py" line="7491"/>
         <source>Add resource frame</source>
         <translation>Ressourcenrahmen hinzufügen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6923"/>
+        <location filename="../QScintilla/Editor.py" line="6926"/>
         <source>Macro recording is already active. Start new?</source>
         <translation>Eine Makroaufzeichnung ist bereits aktiv. Neu starten?</translation>
     </message>
@@ -11744,12 +11749,12 @@
         <translation>Kein Exportformat angegeben. Abbruch...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7638"/>
+        <location filename="../QScintilla/Editor.py" line="7641"/>
         <source>Imports Diagram</source>
         <translation>Imports Diagramm</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7638"/>
+        <location filename="../QScintilla/Editor.py" line="7641"/>
         <source>Include imports from external modules?</source>
         <translation>Imports externer Module anzeigen?</translation>
     </message>
@@ -11824,7 +11829,7 @@
         <translation>Wähle den anzuwendenden Pygments Lexer.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7981"/>
+        <location filename="../QScintilla/Editor.py" line="7991"/>
         <source>Check spelling...</source>
         <translation>Rechtschreibprüfung...</translation>
     </message>
@@ -11834,12 +11839,12 @@
         <translation>Rechtschreibprüfung für Auswahl...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7984"/>
+        <location filename="../QScintilla/Editor.py" line="7994"/>
         <source>Add to dictionary</source>
         <translation>Zum Wörterbuch hinzufügen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7986"/>
+        <location filename="../QScintilla/Editor.py" line="7996"/>
         <source>Ignore All</source>
         <translation>Alle ignorieren</translation>
     </message>
@@ -11884,22 +11889,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="6895"/>
+        <location filename="../QScintilla/Editor.py" line="6898"/>
         <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="6696"/>
+        <location filename="../QScintilla/Editor.py" line="6699"/>
         <source>Warning: {0}</source>
         <translation>Warnung: {0}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6703"/>
+        <location filename="../QScintilla/Editor.py" line="6706"/>
         <source>Error: {0}</source>
         <translation>Fehler: {0}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7115"/>
+        <location filename="../QScintilla/Editor.py" line="7118"/>
         <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>
@@ -11924,27 +11929,27 @@
         <translation>Vorherige Änderung</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8402"/>
+        <location filename="../QScintilla/Editor.py" line="8412"/>
         <source>Sort Lines</source>
         <translation>Zeilen sortieren</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8402"/>
+        <location filename="../QScintilla/Editor.py" line="8412"/>
         <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="6631"/>
+        <location filename="../QScintilla/Editor.py" line="6634"/>
         <source>Warning</source>
         <translation>Warnung</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6631"/>
+        <location filename="../QScintilla/Editor.py" line="6634"/>
         <source>No warning messages available.</source>
         <translation>Keine Warnmeldungen verfügbar.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6693"/>
+        <location filename="../QScintilla/Editor.py" line="6696"/>
         <source>Style: {0}</source>
         <translation>Stil: {0}</translation>
     </message>
@@ -11979,32 +11984,32 @@
         <translation>Vervollständigen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4983"/>
+        <location filename="../QScintilla/Editor.py" line="4986"/>
         <source>Auto-Completion Provider</source>
         <translation>Provider für automatische Vervollständigungen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4983"/>
+        <location filename="../QScintilla/Editor.py" line="4986"/>
         <source>The completion list provider &apos;{0}&apos; was already registered. Ignoring duplicate request.</source>
         <translation>Der Provider für automatische Vervollständigungen namens &apos;{0}&apos; ist bereits registriert. Die Wiederholung wird ignoriert.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5265"/>
+        <location filename="../QScintilla/Editor.py" line="5268"/>
         <source>Call-Tips Provider</source>
         <translation>Calltipps-Provider</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5265"/>
+        <location filename="../QScintilla/Editor.py" line="5268"/>
         <source>The call-tips provider &apos;{0}&apos; was already registered. Ignoring duplicate request.</source>
         <translation>Der Calltipps-Provider namens &apos;{0}&apos; ist bereits registriert. Die Wiederholung wird ignoriert.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8491"/>
+        <location filename="../QScintilla/Editor.py" line="8501"/>
         <source>Register Mouse Click Handler</source>
         <translation>Maus Klick Handler registrieren</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8491"/>
+        <location filename="../QScintilla/Editor.py" line="8501"/>
         <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>
@@ -12034,12 +12039,12 @@
         <translation>Auswahl in Konsole ausführen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8612"/>
+        <location filename="../QScintilla/Editor.py" line="8622"/>
         <source>EditorConfig Properties</source>
         <translation>EditorConfig Eigenschaften</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8612"/>
+        <location filename="../QScintilla/Editor.py" line="8622"/>
         <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>
@@ -12079,12 +12084,12 @@
         <translation>Sprachen für Rechtschreibprüfung</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7109"/>
+        <location filename="../QScintilla/Editor.py" line="7112"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has been changed while it was opened in eric. 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 eric geöffnet war. Neu einlesen?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8806"/>
+        <location filename="../QScintilla/Editor.py" line="8816"/>
         <source>Generate Docstring</source>
         <translation>Docstring erzeugen</translation>
     </message>
@@ -45080,674 +45085,674 @@
 <context>
     <name>MiniEditor</name>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="546"/>
+        <location filename="../QScintilla/MiniEditor.py" line="561"/>
         <source>New</source>
         <translation>Neu</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="546"/>
+        <location filename="../QScintilla/MiniEditor.py" line="561"/>
         <source>&amp;New</source>
         <translation>&amp;Neu</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="546"/>
+        <location filename="../QScintilla/MiniEditor.py" line="561"/>
         <source>Ctrl+N</source>
         <comment>File|New</comment>
         <translation>Ctrl+N</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="552"/>
+        <location filename="../QScintilla/MiniEditor.py" line="567"/>
         <source>Open an empty editor window</source>
         <translation>Öffnet ein leeres Editorfenster</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="553"/>
+        <location filename="../QScintilla/MiniEditor.py" line="568"/>
         <source>&lt;b&gt;New&lt;/b&gt;&lt;p&gt;An empty editor window will be created.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Neu&lt;/b&gt;&lt;p&gt;Ein neues Editorfenster wird geöffnet.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="560"/>
+        <location filename="../QScintilla/MiniEditor.py" line="575"/>
         <source>Open</source>
         <translation>Öffnen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="560"/>
+        <location filename="../QScintilla/MiniEditor.py" line="575"/>
         <source>&amp;Open...</source>
         <translation>&amp;Öffnen...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="560"/>
+        <location filename="../QScintilla/MiniEditor.py" line="575"/>
         <source>Ctrl+O</source>
         <comment>File|Open</comment>
         <translation>Ctrl+O</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="566"/>
+        <location filename="../QScintilla/MiniEditor.py" line="581"/>
         <source>Open a file</source>
         <translation>Datei öffnen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="567"/>
+        <location filename="../QScintilla/MiniEditor.py" line="582"/>
         <source>&lt;b&gt;Open a file&lt;/b&gt;&lt;p&gt;You will be asked for the name of a file to be opened.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Datei öffnen&lt;/b&gt;&lt;p&gt;Sie werden nach dem Namen einer Datei gefragt, die geöffnet werden soll.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="574"/>
+        <location filename="../QScintilla/MiniEditor.py" line="589"/>
         <source>Save</source>
         <translation>Speichern</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="574"/>
+        <location filename="../QScintilla/MiniEditor.py" line="589"/>
         <source>&amp;Save</source>
         <translation>&amp;Speichern</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="574"/>
+        <location filename="../QScintilla/MiniEditor.py" line="589"/>
         <source>Ctrl+S</source>
         <comment>File|Save</comment>
         <translation>Ctrl+S</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="580"/>
+        <location filename="../QScintilla/MiniEditor.py" line="595"/>
         <source>Save the current file</source>
         <translation>Speichert die aktuelle Datei</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="581"/>
-        <source>&lt;b&gt;Save File&lt;/b&gt;&lt;p&gt;Save the contents of current editor window.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Datei speichern&lt;/b&gt;&lt;p&gt;Dies speichert den Inhalt des aktuellen Editorfensters.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="588"/>
-        <source>Save as</source>
-        <translation>Speichern unter</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="588"/>
-        <source>Save &amp;as...</source>
-        <translation>Speichern &amp;unter...</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="588"/>
-        <source>Shift+Ctrl+S</source>
-        <comment>File|Save As</comment>
-        <translation>Shift+Ctrl+S</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="594"/>
-        <source>Save the current file to a new one</source>
-        <translation>Speichere die aktuelle Datei unter neuem Namen</translation>
-    </message>
-    <message>
         <location filename="../QScintilla/MiniEditor.py" line="596"/>
+        <source>&lt;b&gt;Save File&lt;/b&gt;&lt;p&gt;Save the contents of current editor window.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Datei speichern&lt;/b&gt;&lt;p&gt;Dies speichert den Inhalt des aktuellen Editorfensters.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="603"/>
+        <source>Save as</source>
+        <translation>Speichern unter</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="603"/>
+        <source>Save &amp;as...</source>
+        <translation>Speichern &amp;unter...</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="603"/>
+        <source>Shift+Ctrl+S</source>
+        <comment>File|Save As</comment>
+        <translation>Shift+Ctrl+S</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="609"/>
+        <source>Save the current file to a new one</source>
+        <translation>Speichere die aktuelle Datei unter neuem Namen</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="611"/>
         <source>&lt;b&gt;Save File as&lt;/b&gt;&lt;p&gt;Save the contents of current editor window to a new file. The file can be entered in a file selection dialog.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Speichen unter&lt;/b&gt;&lt;p&gt;Dies speichert den Inhalt des aktuellen Editors in eine neue Datei. Die Datei kann mit einem Dateiauswahldialog eingegeben werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="619"/>
+        <location filename="../QScintilla/MiniEditor.py" line="634"/>
         <source>Close</source>
         <translation>Schließen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="619"/>
+        <location filename="../QScintilla/MiniEditor.py" line="634"/>
         <source>&amp;Close</source>
         <translation>Schl&amp;ießen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="619"/>
+        <location filename="../QScintilla/MiniEditor.py" line="634"/>
         <source>Ctrl+W</source>
         <comment>File|Close</comment>
         <translation>Ctrl+W</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="625"/>
+        <location filename="../QScintilla/MiniEditor.py" line="640"/>
         <source>Close the editor window</source>
         <translation>Schließt das Editorfenster</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="626"/>
+        <location filename="../QScintilla/MiniEditor.py" line="641"/>
         <source>&lt;b&gt;Close Window&lt;/b&gt;&lt;p&gt;Close the current window.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Fenster schließen&lt;/b&gt;&lt;p&gt;Dies schließt das aktuelle Editorfenster.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="665"/>
+        <location filename="../QScintilla/MiniEditor.py" line="680"/>
         <source>Undo</source>
         <translation>Rückgängig</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="665"/>
+        <location filename="../QScintilla/MiniEditor.py" line="680"/>
         <source>&amp;Undo</source>
         <translation>&amp;Rückgängig</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="665"/>
+        <location filename="../QScintilla/MiniEditor.py" line="680"/>
         <source>Ctrl+Z</source>
         <comment>Edit|Undo</comment>
         <translation>Ctrl+Z</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="665"/>
+        <location filename="../QScintilla/MiniEditor.py" line="680"/>
         <source>Alt+Backspace</source>
         <comment>Edit|Undo</comment>
         <translation>Alt+Backspace</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="672"/>
+        <location filename="../QScintilla/MiniEditor.py" line="687"/>
         <source>Undo the last change</source>
         <translation>Die letzte Änderung rückgängig machen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="673"/>
+        <location filename="../QScintilla/MiniEditor.py" line="688"/>
         <source>&lt;b&gt;Undo&lt;/b&gt;&lt;p&gt;Undo the last change done in the current editor.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Rückgängig&lt;/b&gt;&lt;p&gt;Dies macht die letzte Änderung des aktuellen Editors rückgängig.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="680"/>
+        <location filename="../QScintilla/MiniEditor.py" line="695"/>
         <source>Redo</source>
         <translation>Wiederherstellen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="680"/>
+        <location filename="../QScintilla/MiniEditor.py" line="695"/>
         <source>&amp;Redo</source>
         <translation>Wieder&amp;herstellen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="680"/>
+        <location filename="../QScintilla/MiniEditor.py" line="695"/>
         <source>Ctrl+Shift+Z</source>
         <comment>Edit|Redo</comment>
         <translation>Ctrl+Shift+Z</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="686"/>
+        <location filename="../QScintilla/MiniEditor.py" line="701"/>
         <source>Redo the last change</source>
         <translation>Die letzte Änderung wiederherstellen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="687"/>
-        <source>&lt;b&gt;Redo&lt;/b&gt;&lt;p&gt;Redo the last change done in the current editor.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Wiederherstellen&lt;/b&gt;&lt;p&gt;Dies stellt die letzte Änderung des aktuellen Editors wieder her.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="694"/>
-        <source>Cut</source>
-        <translation>Ausschneiden</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="694"/>
-        <source>Cu&amp;t</source>
-        <translation>&amp;Ausschneiden</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="694"/>
-        <source>Ctrl+X</source>
-        <comment>Edit|Cut</comment>
-        <translation>Ctrl+X</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="694"/>
-        <source>Shift+Del</source>
-        <comment>Edit|Cut</comment>
-        <translation>Shift+Del</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="701"/>
-        <source>Cut the selection</source>
-        <translation>Schneidet die Auswahl aus</translation>
-    </message>
-    <message>
         <location filename="../QScintilla/MiniEditor.py" line="702"/>
-        <source>&lt;b&gt;Cut&lt;/b&gt;&lt;p&gt;Cut the selected text of the current editor to the clipboard.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Ausschneiden&lt;/b&gt;&lt;p&gt;Dies schneidet den ausgewählten Text des aktuellen Editors aus und legt ihn in der Zwischenablage ab.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="710"/>
-        <source>Copy</source>
-        <translation>Kopieren</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="710"/>
-        <source>&amp;Copy</source>
-        <translation>&amp;Kopieren</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="710"/>
-        <source>Ctrl+C</source>
-        <comment>Edit|Copy</comment>
-        <translation>Ctrl+C</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="710"/>
-        <source>Ctrl+Ins</source>
-        <comment>Edit|Copy</comment>
-        <translation>Ctrl+Einfg</translation>
+        <source>&lt;b&gt;Redo&lt;/b&gt;&lt;p&gt;Redo the last change done in the current editor.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Wiederherstellen&lt;/b&gt;&lt;p&gt;Dies stellt die letzte Änderung des aktuellen Editors wieder her.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="709"/>
+        <source>Cut</source>
+        <translation>Ausschneiden</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="709"/>
+        <source>Cu&amp;t</source>
+        <translation>&amp;Ausschneiden</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="709"/>
+        <source>Ctrl+X</source>
+        <comment>Edit|Cut</comment>
+        <translation>Ctrl+X</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="709"/>
+        <source>Shift+Del</source>
+        <comment>Edit|Cut</comment>
+        <translation>Shift+Del</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="716"/>
+        <source>Cut the selection</source>
+        <translation>Schneidet die Auswahl aus</translation>
     </message>
     <message>
         <location filename="../QScintilla/MiniEditor.py" line="717"/>
+        <source>&lt;b&gt;Cut&lt;/b&gt;&lt;p&gt;Cut the selected text of the current editor to the clipboard.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Ausschneiden&lt;/b&gt;&lt;p&gt;Dies schneidet den ausgewählten Text des aktuellen Editors aus und legt ihn in der Zwischenablage ab.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="725"/>
+        <source>Copy</source>
+        <translation>Kopieren</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="725"/>
+        <source>&amp;Copy</source>
+        <translation>&amp;Kopieren</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="725"/>
+        <source>Ctrl+C</source>
+        <comment>Edit|Copy</comment>
+        <translation>Ctrl+C</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="725"/>
+        <source>Ctrl+Ins</source>
+        <comment>Edit|Copy</comment>
+        <translation>Ctrl+Einfg</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="732"/>
         <source>Copy the selection</source>
         <translation>Kopiert die Auswahl</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="718"/>
+        <location filename="../QScintilla/MiniEditor.py" line="733"/>
         <source>&lt;b&gt;Copy&lt;/b&gt;&lt;p&gt;Copy the selected text of the current editor to the clipboard.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Kopieren&lt;/b&gt;&lt;p&gt;Dies kopiert den ausgewählten Text des aktuellen Editors in die Zwischenablage.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="726"/>
+        <location filename="../QScintilla/MiniEditor.py" line="741"/>
         <source>Paste</source>
         <translation>Einfügen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="726"/>
+        <location filename="../QScintilla/MiniEditor.py" line="741"/>
         <source>&amp;Paste</source>
         <translation>Ein&amp;fügen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="726"/>
+        <location filename="../QScintilla/MiniEditor.py" line="741"/>
         <source>Ctrl+V</source>
         <comment>Edit|Paste</comment>
         <translation>Ctrl+V</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="726"/>
+        <location filename="../QScintilla/MiniEditor.py" line="741"/>
         <source>Shift+Ins</source>
         <comment>Edit|Paste</comment>
         <translation>Shift+Ins</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="733"/>
+        <location filename="../QScintilla/MiniEditor.py" line="748"/>
         <source>Paste the last cut/copied text</source>
         <translation>Fügt den Inhalt der Zwischenablage ein</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="735"/>
-        <source>&lt;b&gt;Paste&lt;/b&gt;&lt;p&gt;Paste the last cut/copied text from the clipboard to the current editor.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Einfügen&lt;/b&gt;&lt;p&gt;Dies fügt den zuletzt ausgeschnittenen/kopierten Text aus der Zwischenablage in den aktuellen Editor ein.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="743"/>
-        <source>Clear</source>
-        <translation>Löschen</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="743"/>
-        <source>Cl&amp;ear</source>
-        <translation>All&amp;es löschen</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="743"/>
-        <source>Alt+Shift+C</source>
-        <comment>Edit|Clear</comment>
-        <translation>Alt+Shift+C</translation>
-    </message>
-    <message>
         <location filename="../QScintilla/MiniEditor.py" line="750"/>
+        <source>&lt;b&gt;Paste&lt;/b&gt;&lt;p&gt;Paste the last cut/copied text from the clipboard to the current editor.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Einfügen&lt;/b&gt;&lt;p&gt;Dies fügt den zuletzt ausgeschnittenen/kopierten Text aus der Zwischenablage in den aktuellen Editor ein.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="758"/>
+        <source>Clear</source>
+        <translation>Löschen</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="758"/>
+        <source>Cl&amp;ear</source>
+        <translation>All&amp;es löschen</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="758"/>
+        <source>Alt+Shift+C</source>
+        <comment>Edit|Clear</comment>
+        <translation>Alt+Shift+C</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="765"/>
         <source>Clear all text</source>
         <translation>Löscht den gesamten Text</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="751"/>
+        <location filename="../QScintilla/MiniEditor.py" line="766"/>
         <source>&lt;b&gt;Clear&lt;/b&gt;&lt;p&gt;Delete all text of the current editor.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Alles Löschen&lt;/b&gt;&lt;p&gt;Dies löscht den gesamten Text des aktuellen Editors.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2358"/>
+        <location filename="../QScintilla/MiniEditor.py" line="2373"/>
         <source>About</source>
         <translation>Über</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2358"/>
+        <location filename="../QScintilla/MiniEditor.py" line="2373"/>
         <source>&amp;About</source>
         <translation>&amp;Über</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2362"/>
+        <location filename="../QScintilla/MiniEditor.py" line="2377"/>
         <source>Display information about this software</source>
         <translation>Zeigt Informationen zu diesem Programm an</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2364"/>
+        <location filename="../QScintilla/MiniEditor.py" line="2379"/>
         <source>&lt;b&gt;About&lt;/b&gt;&lt;p&gt;Display some information about this software.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Über&lt;/b&gt;&lt;p&gt;Zeigt einige Informationen über dieses Programm an.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2370"/>
+        <location filename="../QScintilla/MiniEditor.py" line="2385"/>
         <source>About Qt</source>
         <translation>Über Qt</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2370"/>
+        <location filename="../QScintilla/MiniEditor.py" line="2385"/>
         <source>About &amp;Qt</source>
         <translation>Über &amp;Qt</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2374"/>
-        <source>Display information about the Qt toolkit</source>
-        <translation>Zeige Informationen über das Qt-Toolkit an</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2376"/>
-        <source>&lt;b&gt;About Qt&lt;/b&gt;&lt;p&gt;Display some information about the Qt toolkit.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Über Qt&lt;/b&gt;&lt;p&gt;Zeige Informationen über das Qt-Toolkit an.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2406"/>
-        <source>&amp;File</source>
-        <translation>&amp;Datei</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2418"/>
-        <source>&amp;Edit</source>
-        <translation>&amp;Bearbeiten</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2444"/>
-        <source>&amp;Help</source>
-        <translation>&amp;Hilfe</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2521"/>
-        <source>&lt;p&gt;This part of the status bar displays the line number of the editor.&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Dieser Teil der Statusleiste zeigt die Zeilennummer des Editors an.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2528"/>
-        <source>&lt;p&gt;This part of the status bar displays the cursor position of the editor.&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Dieser Teil der Statusleiste zeigt die Cursorposition des Editors an.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2545"/>
-        <source>Ready</source>
-        <translation>Bereit</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2627"/>
-        <source>File loaded</source>
-        <translation>Datei geladen</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="3070"/>
-        <source>Untitled</source>
-        <translation>Unbenannt</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2742"/>
-        <source>{0}[*] - {1}</source>
-        <translation>{0} [*] – {1}</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2742"/>
-        <source>Mini Editor</source>
-        <translation>Mini Editor</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="3111"/>
-        <source>Select all</source>
-        <translation>Alles auswählen</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="3112"/>
-        <source>Deselect all</source>
-        <translation>Auswahl aufheben</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="3126"/>
-        <source>Languages</source>
-        <translation>Sprachen</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="3129"/>
-        <source>No Language</source>
-        <translation>Keine Sprache</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2599"/>
-        <source>Open File</source>
-        <translation>Datei öffnen</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2713"/>
-        <source>File saved</source>
-        <translation>Datei gespeichert</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2514"/>
-        <source>&lt;p&gt;This part of the status bar displays an indication of the editors files writability.&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Dieser Teil der Statusleiste zeigt an, ob die Datei geschrieben werden kann.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2383"/>
-        <source>What&apos;s This?</source>
-        <translation>Was ist das?</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2383"/>
-        <source>&amp;What&apos;s This?</source>
-        <translation>&amp;Was ist das?</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2383"/>
-        <source>Shift+F1</source>
-        <comment>Help|What&apos;s This?&apos;</comment>
-        <translation>Shift+F1</translation>
-    </message>
-    <message>
         <location filename="../QScintilla/MiniEditor.py" line="2389"/>
+        <source>Display information about the Qt toolkit</source>
+        <translation>Zeige Informationen über das Qt-Toolkit an</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="2391"/>
+        <source>&lt;b&gt;About Qt&lt;/b&gt;&lt;p&gt;Display some information about the Qt toolkit.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Über Qt&lt;/b&gt;&lt;p&gt;Zeige Informationen über das Qt-Toolkit an.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="2421"/>
+        <source>&amp;File</source>
+        <translation>&amp;Datei</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="2433"/>
+        <source>&amp;Edit</source>
+        <translation>&amp;Bearbeiten</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="2459"/>
+        <source>&amp;Help</source>
+        <translation>&amp;Hilfe</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="2536"/>
+        <source>&lt;p&gt;This part of the status bar displays the line number of the editor.&lt;/p&gt;</source>
+        <translation>&lt;p&gt;Dieser Teil der Statusleiste zeigt die Zeilennummer des Editors an.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="2543"/>
+        <source>&lt;p&gt;This part of the status bar displays the cursor position of the editor.&lt;/p&gt;</source>
+        <translation>&lt;p&gt;Dieser Teil der Statusleiste zeigt die Cursorposition des Editors an.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="2560"/>
+        <source>Ready</source>
+        <translation>Bereit</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="2642"/>
+        <source>File loaded</source>
+        <translation>Datei geladen</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="3089"/>
+        <source>Untitled</source>
+        <translation>Unbenannt</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="2757"/>
+        <source>{0}[*] - {1}</source>
+        <translation>{0} [*] – {1}</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="2757"/>
+        <source>Mini Editor</source>
+        <translation>Mini Editor</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="3130"/>
+        <source>Select all</source>
+        <translation>Alles auswählen</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="3131"/>
+        <source>Deselect all</source>
+        <translation>Auswahl aufheben</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="3145"/>
+        <source>Languages</source>
+        <translation>Sprachen</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="3148"/>
+        <source>No Language</source>
+        <translation>Keine Sprache</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="2614"/>
+        <source>Open File</source>
+        <translation>Datei öffnen</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="2728"/>
+        <source>File saved</source>
+        <translation>Datei gespeichert</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="2529"/>
+        <source>&lt;p&gt;This part of the status bar displays an indication of the editors files writability.&lt;/p&gt;</source>
+        <translation>&lt;p&gt;Dieser Teil der Statusleiste zeigt an, ob die Datei geschrieben werden kann.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="2398"/>
+        <source>What&apos;s This?</source>
+        <translation>Was ist das?</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="2398"/>
+        <source>&amp;What&apos;s This?</source>
+        <translation>&amp;Was ist das?</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="2398"/>
+        <source>Shift+F1</source>
+        <comment>Help|What&apos;s This?&apos;</comment>
+        <translation>Shift+F1</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="2404"/>
         <source>Context sensitive help</source>
         <translation>Kontextsensitive Hilfe</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2390"/>
+        <location filename="../QScintilla/MiniEditor.py" line="2405"/>
         <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="../QScintilla/MiniEditor.py" line="2456"/>
+        <location filename="../QScintilla/MiniEditor.py" line="2471"/>
         <source>File</source>
         <translation>Datei</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2469"/>
+        <location filename="../QScintilla/MiniEditor.py" line="2484"/>
         <source>Edit</source>
         <translation>Bearbeiten</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2479"/>
+        <location filename="../QScintilla/MiniEditor.py" line="2494"/>
         <source>Find</source>
         <translation>Suchen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2493"/>
+        <location filename="../QScintilla/MiniEditor.py" line="2508"/>
         <source>Help</source>
         <translation>Hilfe</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="633"/>
+        <location filename="../QScintilla/MiniEditor.py" line="648"/>
         <source>Print</source>
         <translation>Drucken</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="633"/>
+        <location filename="../QScintilla/MiniEditor.py" line="648"/>
         <source>&amp;Print</source>
         <translation>&amp;Drucken</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="633"/>
+        <location filename="../QScintilla/MiniEditor.py" line="648"/>
         <source>Ctrl+P</source>
         <comment>File|Print</comment>
         <translation>Ctrl+P</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="639"/>
-        <source>Print the current file</source>
-        <translation>Druckt die aktuelle Datei</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="3030"/>
-        <source>Printing...</source>
-        <translation>Drucke...</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="3051"/>
-        <source>Printing completed</source>
-        <translation>Drucken beendet</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="3053"/>
-        <source>Error while printing</source>
-        <translation>Fehler beim Drucken</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="3056"/>
-        <source>Printing aborted</source>
-        <translation>Drucken abgebrochen</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="640"/>
-        <source>&lt;b&gt;Print File&lt;/b&gt;&lt;p&gt;Print the contents of the current file.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Datei drucken&lt;/b&gt;&lt;p&gt;Dies druckt den Inhalt der aktuellen Datei.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="647"/>
-        <source>Print Preview</source>
-        <translation>Druckvorschau</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="652"/>
-        <source>Print preview of the current file</source>
-        <translation>Druckvorschau der aktuellen Datei</translation>
-    </message>
-    <message>
         <location filename="../QScintilla/MiniEditor.py" line="654"/>
+        <source>Print the current file</source>
+        <translation>Druckt die aktuelle Datei</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="3049"/>
+        <source>Printing...</source>
+        <translation>Drucke...</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="3070"/>
+        <source>Printing completed</source>
+        <translation>Drucken beendet</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="3072"/>
+        <source>Error while printing</source>
+        <translation>Fehler beim Drucken</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="3075"/>
+        <source>Printing aborted</source>
+        <translation>Drucken abgebrochen</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="655"/>
+        <source>&lt;b&gt;Print File&lt;/b&gt;&lt;p&gt;Print the contents of the current file.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Datei drucken&lt;/b&gt;&lt;p&gt;Dies druckt den Inhalt der aktuellen Datei.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="662"/>
+        <source>Print Preview</source>
+        <translation>Druckvorschau</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="667"/>
+        <source>Print preview of the current file</source>
+        <translation>Druckvorschau der aktuellen Datei</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="669"/>
         <source>&lt;b&gt;Print Preview&lt;/b&gt;&lt;p&gt;Print preview of the current file.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Druckvorschau&lt;/b&gt;&lt;p&gt;Zeift eine Druckvorschau der aktuellen Datei.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="3153"/>
+        <location filename="../QScintilla/MiniEditor.py" line="3172"/>
         <source>Guessed</source>
         <translation>Ermittelt</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="3175"/>
+        <location filename="../QScintilla/MiniEditor.py" line="3194"/>
         <source>Alternatives</source>
         <translation>Alternativen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="3171"/>
+        <location filename="../QScintilla/MiniEditor.py" line="3190"/>
         <source>Alternatives ({0})</source>
         <translation>Alternativen ({0})</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="3199"/>
+        <location filename="../QScintilla/MiniEditor.py" line="3218"/>
         <source>Pygments Lexer</source>
         <translation>Pygments Lexer</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="3199"/>
+        <location filename="../QScintilla/MiniEditor.py" line="3218"/>
         <source>Select the Pygments lexer to apply.</source>
         <translation>Wähle den anzuwendenden Pygments Lexer.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="468"/>
+        <location filename="../QScintilla/MiniEditor.py" line="483"/>
         <source>Line: {0:5}</source>
         <translation>Zeile: {0:5}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="472"/>
-        <source>Pos: {0:5}</source>
-        <translation>Pos: {0:5}</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2599"/>
-        <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be opened.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Die Datei &lt;b&gt;{0}&lt;/b&gt; konnte nicht geöffnet werden.&lt;p&gt;&lt;p&gt;Ursache: {1}&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2706"/>
-        <source>Save File</source>
-        <translation>Datei speichern</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2706"/>
-        <source>&lt;p&gt;The 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 Datei &lt;b&gt;{0}&lt;/b&gt; konnte nicht gesichert werden.&lt;br/&gt;Grund: {1}&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2572"/>
-        <source>The document has unsaved changes.</source>
-        <translation>Das Dokument hat ungesicherte Änderungen.</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="604"/>
-        <source>Save Copy</source>
-        <translation>Kopie speichern</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="604"/>
-        <source>Save &amp;Copy...</source>
-        <translation>&amp;Kopie speichern...</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="609"/>
-        <source>Save a copy of the current file</source>
-        <translation>Speichert eine Kopie der aktuellen Datei</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="611"/>
-        <source>&lt;b&gt;Save Copy&lt;/b&gt;&lt;p&gt;Save a copy of the contents of current editor window. The file can be entered in a file selection dialog.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Kopie speichern&lt;/b&gt;&lt;p&gt;Speichern einer Kopie des Inhalts des aktuellen Editorfensters. Die Datei kann mit einem Dateiauswahldialog eingegeben werden.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="3716"/>
-        <source>EditorConfig Properties</source>
-        <translation>EditorConfig Eigenschaften</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="3716"/>
-        <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>
-    <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2725"/>
-        <source>[*] - {0}</source>
-        <translation>[*] - {0}</translation>
-    </message>
-    <message>
         <location filename="../QScintilla/MiniEditor.py" line="487"/>
+        <source>Pos: {0:5}</source>
+        <translation>Pos: {0:5}</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="2614"/>
+        <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be opened.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
+        <translation>&lt;p&gt;Die Datei &lt;b&gt;{0}&lt;/b&gt; konnte nicht geöffnet werden.&lt;p&gt;&lt;p&gt;Ursache: {1}&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="2721"/>
+        <source>Save File</source>
+        <translation>Datei speichern</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="2721"/>
+        <source>&lt;p&gt;The 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 Datei &lt;b&gt;{0}&lt;/b&gt; konnte nicht gesichert werden.&lt;br/&gt;Grund: {1}&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="2587"/>
+        <source>The document has unsaved changes.</source>
+        <translation>Das Dokument hat ungesicherte Änderungen.</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="619"/>
+        <source>Save Copy</source>
+        <translation>Kopie speichern</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="619"/>
+        <source>Save &amp;Copy...</source>
+        <translation>&amp;Kopie speichern...</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="624"/>
+        <source>Save a copy of the current file</source>
+        <translation>Speichert eine Kopie der aktuellen Datei</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="626"/>
+        <source>&lt;b&gt;Save Copy&lt;/b&gt;&lt;p&gt;Save a copy of the contents of current editor window. The file can be entered in a file selection dialog.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Kopie speichern&lt;/b&gt;&lt;p&gt;Speichern einer Kopie des Inhalts des aktuellen Editorfensters. Die Datei kann mit einem Dateiauswahldialog eingegeben werden.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="3735"/>
+        <source>EditorConfig Properties</source>
+        <translation>EditorConfig Eigenschaften</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="3735"/>
+        <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>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="2740"/>
+        <source>[*] - {0}</source>
+        <translation>[*] - {0}</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/MiniEditor.py" line="502"/>
         <source>Language: {0}</source>
         <translation>Sprache: {0}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2436"/>
+        <location filename="../QScintilla/MiniEditor.py" line="2451"/>
         <source>&amp;View</source>
         <translation>&amp;Ansicht</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2486"/>
+        <location filename="../QScintilla/MiniEditor.py" line="2501"/>
         <source>View</source>
         <translation>Ansicht</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2506"/>
+        <location filename="../QScintilla/MiniEditor.py" line="2521"/>
         <source>&lt;p&gt;This part of the status bar displays the editor language.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Dieser Teil der Statusleiste zeigt die Sprache des Editors an.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2539"/>
+        <location filename="../QScintilla/MiniEditor.py" line="2554"/>
         <source>&lt;p&gt;This part of the status bar allows zooming the editor.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Dieser Teil der Statusleiste ermöglicht das Zoomen des Editors.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="398"/>
+        <location filename="../QScintilla/MiniEditor.py" line="413"/>
         <source>About eric Mini Editor</source>
         <translation>Über den eric Mini Editor</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="398"/>
+        <location filename="../QScintilla/MiniEditor.py" line="413"/>
         <source>The eric Mini Editor is an editor component based on QScintilla. It may be used for simple editing tasks, that don&apos;t need the power of a full blown editor.</source>
         <translation>Der eric Mini-Editor ist eine Editorkomponente, die auf QScintilla basiert. Sie kann für einfachere Editieraufgaben, die keinen ausgewachsenen Editor benötigen, verwendet werden.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="2572"/>
+        <location filename="../QScintilla/MiniEditor.py" line="2587"/>
         <source>eric Mini Editor</source>
         <translation>eric Mini Editor</translation>
     </message>
@@ -47945,6 +47950,134 @@
     </message>
 </context>
 <context>
+    <name>PathlibChecker</name>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="15"/>
+        <source>os.chmod(&apos;foo&apos;, 0o444) should be replaced by foo_path.chmod(0o444)</source>
+        <translation>os.chmod(&apos;foo&apos;, 0o444) sollte durch foo_path.chmod(0o444) ersetzt werden</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="18"/>
+        <source>os.mkdir(&apos;foo&apos;) should be replaced by foo_path.mkdir()</source>
+        <translation>os.mkdir(&apos;foo&apos;) sollte durch foo_path.mkdir() ersetzt werden</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="21"/>
+        <source>os.makedirs(&apos;foo/bar&apos;) should be replaced by bar_path.mkdir(parents=True)</source>
+        <translation>os.makedirs(&apos;foo/bar&apos;) sollte durch bar_path.mkdir(parents=True) ersetzt werden</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="25"/>
+        <source>os.rename(&apos;foo&apos;, &apos;bar&apos;) should be replaced by foo_path.rename(Path(&apos;bar&apos;))</source>
+        <translation>os.rename(&apos;foo&apos;, &apos;bar&apos;) sollte durch foo_path.rename(Path(&apos;bar&apos;)) ersetzt werden</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="29"/>
+        <source>os.replace(&apos;foo&apos;, &apos;bar&apos;) should be replaced by foo_path.replace(Path(&apos;bar&apos;))</source>
+        <translation>os.replace(&apos;foo&apos;, &apos;bar&apos;) sollte durch foo_path.replace(Path(&apos;bar&apos;)) ersetzt werden</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="33"/>
+        <source>os.rmdir(&apos;foo&apos;) should be replaced by foo_path.rmdir()</source>
+        <translation>os.rmdir(&apos;foo&apos;) sollte durch foo_path.rmdir() ersetzt werden</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="36"/>
+        <source>os.remove(&apos;foo&apos;) should be replaced by foo_path.unlink()</source>
+        <translation>os.remove(&apos;foo&apos;) sollte durch foo_path.unlink() ersetzt werden</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="39"/>
+        <source>os.unlink(&apos;foo&apos;&apos;) should be replaced by foo_path.unlink()</source>
+        <translation>os.unlink(&apos;foo&apos;&apos;) sollte durch foo_path.unlink() ersetzt werden</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="42"/>
+        <source>os.getcwd() should be replaced by Path.cwd()</source>
+        <translation>os.getcwd() sollte durch Path.cwd() ersetzt werden</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="45"/>
+        <source>os.readlink(&apos;foo&apos;) should be replaced by foo_path.readlink()</source>
+        <translation>os.readlink(&apos;foo&apos;) sollte durch foo_path.readlink() ersetzt werden</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="48"/>
+        <source>os.stat(&apos;foo&apos;) should be replaced by foo_path.stat() or foo_path.owner() or foo_path.group()</source>
+        <translation>os.stat(&apos;foo&apos;) sollte durch foo_path.stat() oder foo_path.owner() oder foo_path.group() ersetzt werden</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="53"/>
+        <source>os.path.abspath(&apos;foo&apos;) should be replaced by foo_path.resolve()</source>
+        <translation>os.path.abspath(&apos;foo&apos;) sollte durch foo_path.resolve() ersetzt werden</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="56"/>
+        <source>os.path.exists(&apos;foo&apos;) should be replaced by foo_path.exists()</source>
+        <translation>os.path.exists(&apos;foo&apos;) sollte durch foo_path.exists() ersetzt werden</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="59"/>
+        <source>os.path.expanduser(&apos;~/foo&apos;) should be replaced by foo_path.expanduser()</source>
+        <translation>os.path.expanduser(&apos;~/foo&apos;) sollte durch foo_path.expanduser() ersetzt werden</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="63"/>
+        <source>os.path.isdir(&apos;foo&apos;) should be replaced by foo_path.is_dir()</source>
+        <translation>os.path.isdir(&apos;foo&apos;) sollte durch foo_path.is_dir() ersetzt werden</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="66"/>
+        <source>os.path.isfile(&apos;foo&apos;) should be replaced by foo_path.is_file()</source>
+        <translation>os.path.isfile(&apos;foo&apos;) sollte durch foo_path.is_file() ersetzt werden</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="69"/>
+        <source>os.path.islink(&apos;foo&apos;) should be replaced by foo_path.is_symlink()</source>
+        <translation>os.path.islink(&apos;foo&apos;) sollte durch foo_path.is_symlink() ersetzt werden</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="72"/>
+        <source>os.path.isabs(&apos;foo&apos;) should be replaced by foo_path.is_absolute()</source>
+        <translation>os.path.isabs(&apos;foo&apos;) sollte durch foo_path.is_absolute() ersetzt werden</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="75"/>
+        <source>os.path.join(&apos;foo&apos;, &apos;bar&apos;) should be replaced by foo_path / &apos;bar&apos;</source>
+        <translation>os.path.join(&apos;foo&apos;, &apos;bar&apos;) sollte durch foo_path / &apos;bar&apos; ersetzt werden</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="79"/>
+        <source>os.path.basename(&apos;foo/bar&apos;) should be replaced by bar_path.name</source>
+        <translation>os.path.basename(&apos;foo/bar&apos;) sollte durch bar_path.name ersetzt werden</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="82"/>
+        <source>os.path.dirname(&apos;foo/bar&apos;) should be replaced by bar_path.parent</source>
+        <translation>os.path.dirname(&apos;foo/bar&apos;) sollte durch bar_path.parent ersetzt werden</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="85"/>
+        <source>os.path.samefile(&apos;foo&apos;, &apos;bar&apos;) should be replaced by foo_path.samefile(bar_path)</source>
+        <translation>os.path.samefile(&apos;foo&apos;, &apos;bar&apos;) sollte durch foo_path.samefile(bar_path) ersetzt werden</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="89"/>
+        <source>os.path.splitext(&apos;foo.bar&apos;) should be replaced by foo_path.suffix</source>
+        <translation>os.path.splitext(&apos;foo.bar&apos;) sollte durch foo_path.suffix ersetzt werden</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="93"/>
+        <source>open(&apos;foo&apos;) should be replaced by Path(&apos;foo&apos;).open()</source>
+        <translation>open(&apos;foo&apos;) sollte durch Path(&apos;foo&apos;).open() ersetzt werden</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="97"/>
+        <source>py.path.local is in maintenance mode, use pathlib instead</source>
+        <translation>py.path.local ist im Wartungsmodus. Verwende stattdessen pathlib</translation>
+    </message>
+</context>
+<context>
     <name>PersonalDataDialog</name>
     <message>
         <location filename="../WebBrowser/PersonalInformationManager/PersonalDataDialog.ui" line="14"/>
@@ -50834,502 +50967,502 @@
 <context>
     <name>Project</name>
     <message>
-        <location filename="../Project/Project.py" line="1544"/>
+        <location filename="../Project/Project.py" line="1547"/>
         <source>Delete translation</source>
         <translation>Übersetzung löschen</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1709"/>
+        <location filename="../Project/Project.py" line="1712"/>
         <source>Add file</source>
         <translation>Datei hinzufügen</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2263"/>
+        <location filename="../Project/Project.py" line="2266"/>
         <source>Delete file</source>
         <translation>Datei löschen</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2388"/>
+        <location filename="../Project/Project.py" line="2391"/>
         <source>Create project directory</source>
         <translation>Projektverzeichnis erstellen</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3895"/>
+        <location filename="../Project/Project.py" line="3898"/>
         <source>Open project</source>
         <translation>Projekt öffnen</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3932"/>
+        <location filename="../Project/Project.py" line="3935"/>
         <source>Save project as</source>
         <translation>Projekt speichern unter</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3171"/>
+        <location filename="../Project/Project.py" line="3174"/>
         <source>Save File</source>
         <translation>Datei speichern</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3207"/>
+        <location filename="../Project/Project.py" line="3210"/>
         <source>Close Project</source>
         <translation>Projekt schließen</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3207"/>
+        <location filename="../Project/Project.py" line="3210"/>
         <source>The current project has unsaved changes.</source>
         <translation>Das aktuelle Projekt hat ungesicherte Änderungen.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4112"/>
+        <location filename="../Project/Project.py" line="4115"/>
         <source>&amp;Save</source>
         <translation>&amp;Speichern</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3881"/>
+        <location filename="../Project/Project.py" line="3884"/>
         <source>New project</source>
         <translation>Neues Projekt</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3881"/>
+        <location filename="../Project/Project.py" line="3884"/>
         <source>&amp;New...</source>
         <translation>&amp;Neu...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3886"/>
+        <location filename="../Project/Project.py" line="3889"/>
         <source>Generate a new project</source>
         <translation>Erstelle ein neues Projekt</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3887"/>
+        <location filename="../Project/Project.py" line="3890"/>
         <source>&lt;b&gt;New...&lt;/b&gt;&lt;p&gt;This opens a dialog for entering the info for a new project.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Neu...&lt;/b&gt;&lt;p&gt;Dies öffnet einen Dialog zur Eingabe der Informationen des neuen Projektes.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3895"/>
+        <location filename="../Project/Project.py" line="3898"/>
         <source>&amp;Open...</source>
         <translation>&amp;Öffnen...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3900"/>
+        <location filename="../Project/Project.py" line="3903"/>
         <source>Open an existing project</source>
         <translation>Öffnet ein bestehendes Projekt</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3901"/>
+        <location filename="../Project/Project.py" line="3904"/>
         <source>&lt;b&gt;Open...&lt;/b&gt;&lt;p&gt;This opens an existing project.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Öffnen...&lt;/b&gt;&lt;p&gt;Dies öffnet ein bestehendes Projekt.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3908"/>
+        <location filename="../Project/Project.py" line="3911"/>
         <source>Close project</source>
         <translation>Projekt schließen</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3908"/>
+        <location filename="../Project/Project.py" line="3911"/>
         <source>&amp;Close</source>
         <translation>Schl&amp;ießen</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3912"/>
+        <location filename="../Project/Project.py" line="3915"/>
         <source>Close the current project</source>
         <translation>Schließt das aktuelle Projekt</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3913"/>
+        <location filename="../Project/Project.py" line="3916"/>
         <source>&lt;b&gt;Close&lt;/b&gt;&lt;p&gt;This closes the current project.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Schließen&lt;/b&gt;&lt;p&gt;Dies schließt das aktuelle Projekt.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3920"/>
+        <location filename="../Project/Project.py" line="3923"/>
         <source>Save project</source>
         <translation>Projekt speichern</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3924"/>
+        <location filename="../Project/Project.py" line="3927"/>
         <source>Save the current project</source>
         <translation>Speichert das aktuelle Projekt</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3925"/>
+        <location filename="../Project/Project.py" line="3928"/>
         <source>&lt;b&gt;Save&lt;/b&gt;&lt;p&gt;This saves the current project.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Speichern&lt;/b&gt;&lt;p&gt;Dies speichert das aktuelle Projekt.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3936"/>
+        <location filename="../Project/Project.py" line="3939"/>
         <source>Save the current project to a new file</source>
         <translation>Speichert das aktuelle Projekt in eine neue Datei</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3938"/>
+        <location filename="../Project/Project.py" line="3941"/>
         <source>&lt;b&gt;Save as&lt;/b&gt;&lt;p&gt;This saves the current project to a new file.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Speichern unter&lt;/b&gt;&lt;p&gt;Dies speichert das aktuelle Projekt in eine neue Datei.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3978"/>
+        <location filename="../Project/Project.py" line="3981"/>
         <source>Add translation to project</source>
         <translation>Übersetzung zum Projekt hinzufügen</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3978"/>
+        <location filename="../Project/Project.py" line="3981"/>
         <source>Add &amp;translation...</source>
         <translation>&amp;Übersetzung hinzufügen...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3983"/>
+        <location filename="../Project/Project.py" line="3986"/>
         <source>Add a translation to the current project</source>
         <translation>Eine Übersetzung zum aktuellen Projekt hinzufügen</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3985"/>
+        <location filename="../Project/Project.py" line="3988"/>
         <source>&lt;b&gt;Add translation...&lt;/b&gt;&lt;p&gt;This opens a dialog for add a translation to the current project.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Übersetzung hinzufügen...&lt;/b&gt;&lt;p&gt;Dies öffnet einen Dialog, mit dem eine Übersetzung zum aktuellen Projekt hinzugefügt werden kann.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4023"/>
+        <location filename="../Project/Project.py" line="4026"/>
         <source>Project properties</source>
         <translation>Projekteigenschaften</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4023"/>
+        <location filename="../Project/Project.py" line="4026"/>
         <source>&amp;Properties...</source>
         <translation>&amp;Eigenschaften...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4028"/>
+        <location filename="../Project/Project.py" line="4031"/>
         <source>Show the project properties</source>
         <translation>Zeigt die Projekteigenschaften an</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4029"/>
+        <location filename="../Project/Project.py" line="4032"/>
         <source>&lt;b&gt;Properties...&lt;/b&gt;&lt;p&gt;This shows a dialog to edit the project properties.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Eigenschaften...&lt;/b&gt;&lt;p&gt;Dies zeigt einen Dialog an, mit dem die Projekteigenschaften bearbeitet werden können.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4376"/>
+        <location filename="../Project/Project.py" line="4379"/>
         <source>Open &amp;Recent Projects</source>
         <translation>Zu&amp;letzt geöffnete Projekte</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1841"/>
+        <location filename="../Project/Project.py" line="1844"/>
         <source>The target directory must not be empty.</source>
         <translation>Das Zielverzeichnis darf nicht leer sein.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3993"/>
+        <location filename="../Project/Project.py" line="3996"/>
         <source>Search new files</source>
         <translation>Neue Dateien suchen</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3993"/>
+        <location filename="../Project/Project.py" line="3996"/>
         <source>Searc&amp;h new files...</source>
         <translation>Neue &amp;Dateien suchen...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3997"/>
+        <location filename="../Project/Project.py" line="4000"/>
         <source>Search new files in the project directory.</source>
         <translation>Sucht neue Dateien im Projektverzeichnis.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1852"/>
+        <location filename="../Project/Project.py" line="1855"/>
         <source>Add directory</source>
         <translation>Verzeichnis hinzufügen</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1852"/>
+        <location filename="../Project/Project.py" line="1855"/>
         <source>The source directory must not be empty.</source>
         <translation>Das Quellverzeichnis darf nicht leer sein.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1418"/>
+        <location filename="../Project/Project.py" line="1421"/>
         <source>Add Language</source>
         <translation>Sprache hinzufügen</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3932"/>
+        <location filename="../Project/Project.py" line="3935"/>
         <source>Save &amp;as...</source>
         <translation>Speichern &amp;unter...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4902"/>
+        <location filename="../Project/Project.py" line="4905"/>
         <source>Version Control System</source>
         <translation>Versionskontrollsystem</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4754"/>
+        <location filename="../Project/Project.py" line="4757"/>
         <source>Search New Files</source>
         <translation>Neue Dateien suchen</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4754"/>
+        <location filename="../Project/Project.py" line="4757"/>
         <source>There were no new files found to be added.</source>
         <translation>Es wurden keine neuen Dateien gefunden.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1055"/>
+        <location filename="../Project/Project.py" line="1058"/>
         <source>Read project session</source>
         <translation>Projektsitzung lesen</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1259"/>
+        <location filename="../Project/Project.py" line="1262"/>
         <source>Please save the project first.</source>
         <translation>Bitte speichern Sie zuerst das Projekt.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4151"/>
+        <location filename="../Project/Project.py" line="4154"/>
         <source>Load session</source>
         <translation>Sitzung laden</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4155"/>
+        <location filename="../Project/Project.py" line="4158"/>
         <source>Load the projects session file.</source>
         <translation>Laden der Projektsitzung.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4169"/>
+        <location filename="../Project/Project.py" line="4172"/>
         <source>Save session</source>
         <translation>Sitzung speichern</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4173"/>
+        <location filename="../Project/Project.py" line="4176"/>
         <source>Save the projects session file.</source>
         <translation>Speichern der Projektsitzung.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4156"/>
+        <location filename="../Project/Project.py" line="4159"/>
         <source>&lt;b&gt;Load session&lt;/b&gt;&lt;p&gt;This loads the projects session file. The session consists of the following data.&lt;br&gt;- all open source files&lt;br&gt;- all breakpoint&lt;br&gt;- the commandline arguments&lt;br&gt;- the working directory&lt;br&gt;- the exception reporting flag&lt;/p&gt;</source>
         <translation>&lt;b&gt;Sitzung laden&lt;/b&gt;&lt;p&gt;Dies lädt eine Projektsitzungsdatei. Die Sitzung enthält die folgenden Daten.&lt;br&gt;- alle offenen Quelltextdateien&lt;br&gt;- alle Haltepunkte&lt;br&gt;- die Kommandozeilenparameter&lt;br&gt;- das Arbeitsverzeichnis&lt;br&gt;- das Ausnahmemeldungsflag&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4174"/>
+        <location filename="../Project/Project.py" line="4177"/>
         <source>&lt;b&gt;Save session&lt;/b&gt;&lt;p&gt;This saves the projects session file. The session consists of the following data.&lt;br&gt;- all open source files&lt;br&gt;- all breakpoint&lt;br&gt;- the commandline arguments&lt;br&gt;- the working directory&lt;br&gt;- the exception reporting flag&lt;/p&gt;</source>
         <translation>&lt;b&gt;Sitzung speichern&lt;/b&gt;&lt;p&gt;Dies speichert eine Projektsitzungsdatei. Die Sitzung enthält die folgenden Daten.&lt;br&gt;- alle offenen Quelltextdateien&lt;br&gt;- alle Haltepunkte&lt;br&gt;- die Kommandozeilenparameter&lt;br&gt;- das Arbeitsverzeichnis&lt;br&gt;- das Ausnahmemeldungsflag&lt;/p&gt;</translation>
     </message>
     <message>
+        <location filename="../Project/Project.py" line="4393"/>
+        <source>Source &amp;Documentation</source>
+        <translation>&amp;Quelltextdokumentation</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4388"/>
+        <source>Chec&amp;k</source>
+        <translation>&amp;Prüfen</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4204"/>
+        <source>Code Metrics</source>
+        <translation>Quelltextmetriken</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4204"/>
+        <source>&amp;Code Metrics...</source>
+        <translation>&amp;Quelltextmetriken...</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4208"/>
+        <source>Show some code metrics for the project.</source>
+        <translation>Zeige einige Quelltextmetriken für das Projekt.</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4210"/>
+        <source>&lt;b&gt;Code Metrics...&lt;/b&gt;&lt;p&gt;This shows some code metrics for all Python files in the project.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Quelltextmetriken...&lt;/b&gt;&lt;p&gt;Dies zeigt einige Quelltextmetriken für alle Python-Dateien des Projektes.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4218"/>
+        <source>Python Code Coverage</source>
+        <translation>Python-Quelltext-Abdeckung</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4218"/>
+        <source>Code Co&amp;verage...</source>
+        <translation>&amp;Quelltext Abdeckung...</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4222"/>
+        <source>Show code coverage information for the project.</source>
+        <translation>Zeige die Quelltextabdeckung für das Projekt.</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4224"/>
+        <source>&lt;b&gt;Code Coverage...&lt;/b&gt;&lt;p&gt;This shows the code coverage information for all Python files in the project.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Quelltext Abdeckung...&lt;/b&gt;&lt;p&gt;Dies zeigt die Quelltextabdeckung für alle Python-Dateien des Projektes an.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="5108"/>
+        <source>Profile Data</source>
+        <translation>Profildaten</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4232"/>
+        <source>&amp;Profile Data...</source>
+        <translation>&amp;Profildaten...</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4236"/>
+        <source>Show profiling data for the project.</source>
+        <translation>Zeige Profildaten des aktuellen Projektes.</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4238"/>
+        <source>&lt;b&gt;Profile Data...&lt;/b&gt;&lt;p&gt;This shows the profiling data for the project.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Profildaten...&lt;/b&gt;&lt;p&gt;Dies zeigt die Profildaten des Projektes.&lt;/p&gt;</translation>
+    </message>
+    <message>
         <location filename="../Project/Project.py" line="4390"/>
-        <source>Source &amp;Documentation</source>
-        <translation>&amp;Quelltextdokumentation</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4385"/>
-        <source>Chec&amp;k</source>
-        <translation>&amp;Prüfen</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4201"/>
-        <source>Code Metrics</source>
-        <translation>Quelltextmetriken</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4201"/>
-        <source>&amp;Code Metrics...</source>
-        <translation>&amp;Quelltextmetriken...</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4205"/>
-        <source>Show some code metrics for the project.</source>
-        <translation>Zeige einige Quelltextmetriken für das Projekt.</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4207"/>
-        <source>&lt;b&gt;Code Metrics...&lt;/b&gt;&lt;p&gt;This shows some code metrics for all Python files in the project.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Quelltextmetriken...&lt;/b&gt;&lt;p&gt;Dies zeigt einige Quelltextmetriken für alle Python-Dateien des Projektes.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4215"/>
-        <source>Python Code Coverage</source>
-        <translation>Python-Quelltext-Abdeckung</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4215"/>
-        <source>Code Co&amp;verage...</source>
-        <translation>&amp;Quelltext Abdeckung...</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4219"/>
-        <source>Show code coverage information for the project.</source>
-        <translation>Zeige die Quelltextabdeckung für das Projekt.</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4221"/>
-        <source>&lt;b&gt;Code Coverage...&lt;/b&gt;&lt;p&gt;This shows the code coverage information for all Python files in the project.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Quelltext Abdeckung...&lt;/b&gt;&lt;p&gt;Dies zeigt die Quelltextabdeckung für alle Python-Dateien des Projektes an.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="5105"/>
-        <source>Profile Data</source>
-        <translation>Profildaten</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4229"/>
-        <source>&amp;Profile Data...</source>
-        <translation>&amp;Profildaten...</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4233"/>
-        <source>Show profiling data for the project.</source>
-        <translation>Zeige Profildaten des aktuellen Projektes.</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4235"/>
-        <source>&lt;b&gt;Profile Data...&lt;/b&gt;&lt;p&gt;This shows the profiling data for the project.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Profildaten...&lt;/b&gt;&lt;p&gt;Dies zeigt die Profildaten des Projektes.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4387"/>
         <source>Sho&amp;w</source>
         <translation>&amp;Zeige</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5082"/>
+        <location filename="../Project/Project.py" line="5085"/>
         <source>There is no main script defined for the current project. Aborting</source>
         <translation>Für das aktuelle Projekt ist kein Hauptskript festgelegt. Abbruch</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5032"/>
+        <location filename="../Project/Project.py" line="5035"/>
         <source>Coverage Data</source>
         <translation>Quelltext Abdeckungsdaten</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4381"/>
+        <location filename="../Project/Project.py" line="4384"/>
         <source>&amp;Version Control</source>
         <translation>&amp;Versionskontrolle</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5159"/>
+        <location filename="../Project/Project.py" line="5162"/>
         <source>Application Diagram</source>
         <translation>Applikations-Diagramm</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4244"/>
+        <location filename="../Project/Project.py" line="4247"/>
         <source>&amp;Application Diagram...</source>
         <translation>&amp;Applikations-Diagramm...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4248"/>
+        <location filename="../Project/Project.py" line="4251"/>
         <source>Show a diagram of the project.</source>
         <translation>Zeigt ein Diagramm des Projektes.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4250"/>
+        <location filename="../Project/Project.py" line="4253"/>
         <source>&lt;b&gt;Application Diagram...&lt;/b&gt;&lt;p&gt;This shows a diagram of the project.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Applikations-Diagramm...&lt;/b&gt;&lt;p&gt;Dies zeigt ein Diagramm des Projektes.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4388"/>
+        <location filename="../Project/Project.py" line="4391"/>
         <source>&amp;Diagrams</source>
         <translation>&amp;Diagramme</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5055"/>
+        <location filename="../Project/Project.py" line="5058"/>
         <source>Code Coverage</source>
         <translation>Quelltext Abdeckung</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5055"/>
+        <location filename="../Project/Project.py" line="5058"/>
         <source>Please select a coverage file</source>
         <translation>Bitte wählen Sie eine Datei mit Abdeckungsdaten</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5105"/>
+        <location filename="../Project/Project.py" line="5108"/>
         <source>Please select a profile file</source>
         <translation>Bitte wählen Sie eine Datei mit Profildaten</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3963"/>
+        <location filename="../Project/Project.py" line="3966"/>
         <source>Add directory to project</source>
         <translation>Verzeichnis zum Projekt hinzufügen</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3963"/>
+        <location filename="../Project/Project.py" line="3966"/>
         <source>Add directory...</source>
         <translation>Verzeichnis hinzufügen...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3968"/>
+        <location filename="../Project/Project.py" line="3971"/>
         <source>Add a directory to the current project</source>
         <translation>Füge den Inhalt eines Verzeichnisses zum Projekt hinzu</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3970"/>
+        <location filename="../Project/Project.py" line="3973"/>
         <source>&lt;b&gt;Add directory...&lt;/b&gt;&lt;p&gt;This opens a dialog for adding a directory to the current project.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Verzeichnis hinzufügen&lt;/b&gt;&lt;p&gt;Dies öffnet einen Dialog, mit dem ein Verzeichnis bzw. der Inhalt eines Verzeichnisses zum aktuellen Projekt hinzugefügt werden kann.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1989"/>
+        <location filename="../Project/Project.py" line="1992"/>
         <source>Rename file</source>
         <translation>Datei umbenennen</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2013"/>
+        <location filename="../Project/Project.py" line="2016"/>
         <source>Rename File</source>
         <translation>Datei umbenennen</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2578"/>
+        <location filename="../Project/Project.py" line="2581"/>
         <source>Shall the project file be added to the repository?</source>
         <translation>Soll die Projektdatei zum Repository hinzugefügt werden?</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3008"/>
+        <location filename="../Project/Project.py" line="3011"/>
         <source>New Project</source>
         <translation>Neues Projekt</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2508"/>
+        <location filename="../Project/Project.py" line="2511"/>
         <source>Add existing files to the project?</source>
         <translation>Existierende Dateien dem Projekt hinzufügen?</translation>
     </message>
     <message>
-        <location file