Extended the unit test module to allow to rerun only failed tests of the last.

Sat, 17 Dec 2011 19:13:19 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 17 Dec 2011 19:13:19 +0100
changeset 1499
b4d0457afb15
parent 1497
94f27ede4186
child 1500
6ce6deb421cf

Extended the unit test module to allow to rerun only failed tests of the last.

APIs/Python3/eric5.api file | annotate | diff | comparison | revisions
DebugClients/Python/DCTestResult.py file | annotate | diff | comparison | revisions
DebugClients/Python/DebugClientBase.py file | annotate | diff | comparison | revisions
DebugClients/Python3/DCTestResult.py file | annotate | diff | comparison | revisions
DebugClients/Python3/DebugClientBase.py file | annotate | diff | comparison | revisions
Debugger/DebugServer.py file | annotate | diff | comparison | revisions
Debugger/DebuggerInterfaceNone.py file | annotate | diff | comparison | revisions
Debugger/DebuggerInterfacePython.py file | annotate | diff | comparison | revisions
Debugger/DebuggerInterfacePython3.py file | annotate | diff | comparison | revisions
Debugger/DebuggerInterfaceRuby.py file | annotate | diff | comparison | revisions
Documentation/Help/source.qch file | annotate | diff | comparison | revisions
Documentation/Help/source.qhp file | annotate | diff | comparison | revisions
Documentation/Source/eric5.Debugger.DebugServer.html file | annotate | diff | comparison | revisions
Documentation/Source/eric5.Debugger.DebuggerInterfaceNone.html file | annotate | diff | comparison | revisions
Documentation/Source/eric5.Debugger.DebuggerInterfacePython.html file | annotate | diff | comparison | revisions
Documentation/Source/eric5.Debugger.DebuggerInterfacePython3.html file | annotate | diff | comparison | revisions
Documentation/Source/eric5.Debugger.DebuggerInterfaceRuby.html file | annotate | diff | comparison | revisions
Documentation/Source/eric5.PyUnit.UnittestDialog.html file | annotate | diff | comparison | revisions
Documentation/Source/eric5.UI.UserInterface.html file | annotate | diff | comparison | revisions
PyUnit/UnittestDialog.py file | annotate | diff | comparison | revisions
UI/UserInterface.py file | annotate | diff | comparison | revisions
changelog file | annotate | diff | comparison | revisions
i18n/eric5_cs.ts file | annotate | diff | comparison | revisions
i18n/eric5_de.qm file | annotate | diff | comparison | revisions
i18n/eric5_de.ts file | annotate | diff | comparison | revisions
i18n/eric5_en.ts file | annotate | diff | comparison | revisions
i18n/eric5_es.ts file | annotate | diff | comparison | revisions
i18n/eric5_fr.ts file | annotate | diff | comparison | revisions
i18n/eric5_it.ts file | annotate | diff | comparison | revisions
i18n/eric5_ru.ts file | annotate | diff | comparison | revisions
i18n/eric5_tr.ts file | annotate | diff | comparison | revisions
i18n/eric5_zh_CN.GB2312.ts file | annotate | diff | comparison | revisions
icons/default/unittestRerunFailed.png file | annotate | diff | comparison | revisions
--- a/APIs/Python3/eric5.api	Sat Dec 17 16:03:53 2011 +0100
+++ b/APIs/Python3/eric5.api	Sat Dec 17 19:13:19 2011 +0100
@@ -662,11 +662,11 @@
 eric5.Debugger.DebugServer.DebugServer.clientUtPrepared?4(result, exceptionType, exceptionValue)
 eric5.Debugger.DebugServer.DebugServer.clientUtStartTest?4(testname, doc)
 eric5.Debugger.DebugServer.DebugServer.clientUtStopTest?4()
-eric5.Debugger.DebugServer.DebugServer.clientUtTestErrored?4(testname, traceback)
-eric5.Debugger.DebugServer.DebugServer.clientUtTestFailed?4(testname, traceback)
-eric5.Debugger.DebugServer.DebugServer.clientUtTestFailedExpected?4(testname, traceback)
-eric5.Debugger.DebugServer.DebugServer.clientUtTestSkipped?4(testname, reason)
-eric5.Debugger.DebugServer.DebugServer.clientUtTestSucceededUnexpected?4(testname)
+eric5.Debugger.DebugServer.DebugServer.clientUtTestErrored?4(testname, traceback, id)
+eric5.Debugger.DebugServer.DebugServer.clientUtTestFailed?4(testname, traceback, id)
+eric5.Debugger.DebugServer.DebugServer.clientUtTestFailedExpected?4(testname, traceback, id)
+eric5.Debugger.DebugServer.DebugServer.clientUtTestSkipped?4(testname, reason, id)
+eric5.Debugger.DebugServer.DebugServer.clientUtTestSucceededUnexpected?4(testname, id)
 eric5.Debugger.DebugServer.DebugServer.clientVariable?7
 eric5.Debugger.DebugServer.DebugServer.clientVariables?7
 eric5.Debugger.DebugServer.DebugServer.clientWatchConditionError?7
@@ -703,7 +703,7 @@
 eric5.Debugger.DebugServer.DebugServer.remoteStepOver?4()
 eric5.Debugger.DebugServer.DebugServer.remoteStepQuit?4()
 eric5.Debugger.DebugServer.DebugServer.remoteThreadList?4()
-eric5.Debugger.DebugServer.DebugServer.remoteUTPrepare?4(fn, tn, tfn, cov, covname, coverase, clientType="")
+eric5.Debugger.DebugServer.DebugServer.remoteUTPrepare?4(fn, tn, tfn, failed, cov, covname, coverase, clientType="")
 eric5.Debugger.DebugServer.DebugServer.remoteUTRun?4()
 eric5.Debugger.DebugServer.DebugServer.remoteUTStop?4()
 eric5.Debugger.DebugServer.DebugServer.shutdownServer?4()
@@ -809,7 +809,7 @@
 eric5.Debugger.DebuggerInterfaceNone.DebuggerInterfaceNone.remoteStepOver?4()
 eric5.Debugger.DebuggerInterfaceNone.DebuggerInterfaceNone.remoteStepQuit?4()
 eric5.Debugger.DebuggerInterfaceNone.DebuggerInterfaceNone.remoteThreadList?4()
-eric5.Debugger.DebuggerInterfaceNone.DebuggerInterfaceNone.remoteUTPrepare?4(fn, tn, tfn, cov, covname, coverase)
+eric5.Debugger.DebuggerInterfaceNone.DebuggerInterfaceNone.remoteUTPrepare?4(fn, tn, tfn, failed, cov, covname, coverase)
 eric5.Debugger.DebuggerInterfaceNone.DebuggerInterfaceNone.remoteUTRun?4()
 eric5.Debugger.DebuggerInterfaceNone.DebuggerInterfaceNone.remoteUTStop?4()
 eric5.Debugger.DebuggerInterfaceNone.DebuggerInterfaceNone.remoteWatchpoint?4(cond, set, temp=False)
@@ -850,7 +850,7 @@
 eric5.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteStepOver?4()
 eric5.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteStepQuit?4()
 eric5.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteThreadList?4()
-eric5.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteUTPrepare?4(fn, tn, tfn, cov, covname, coverase)
+eric5.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteUTPrepare?4(fn, tn, tfn, failed, cov, covname, coverase)
 eric5.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteUTRun?4()
 eric5.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteUTStop?4()
 eric5.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteWatchpoint?4(cond, set, temp=False)
@@ -891,7 +891,7 @@
 eric5.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.remoteStepOver?4()
 eric5.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.remoteStepQuit?4()
 eric5.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.remoteThreadList?4()
-eric5.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.remoteUTPrepare?4(fn, tn, tfn, cov, covname, coverase)
+eric5.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.remoteUTPrepare?4(fn, tn, tfn, failed, cov, covname, coverase)
 eric5.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.remoteUTRun?4()
 eric5.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.remoteUTStop?4()
 eric5.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.remoteWatchpoint?4(cond, set, temp=False)
@@ -933,7 +933,7 @@
 eric5.Debugger.DebuggerInterfaceRuby.DebuggerInterfaceRuby.remoteStepOver?4()
 eric5.Debugger.DebuggerInterfaceRuby.DebuggerInterfaceRuby.remoteStepQuit?4()
 eric5.Debugger.DebuggerInterfaceRuby.DebuggerInterfaceRuby.remoteThreadList?4()
-eric5.Debugger.DebuggerInterfaceRuby.DebuggerInterfaceRuby.remoteUTPrepare?4(fn, tn, tfn, cov, covname, coverase)
+eric5.Debugger.DebuggerInterfaceRuby.DebuggerInterfaceRuby.remoteUTPrepare?4(fn, tn, tfn, failed, cov, covname, coverase)
 eric5.Debugger.DebuggerInterfaceRuby.DebuggerInterfaceRuby.remoteUTRun?4()
 eric5.Debugger.DebuggerInterfaceRuby.DebuggerInterfaceRuby.remoteUTStop?4()
 eric5.Debugger.DebuggerInterfaceRuby.DebuggerInterfaceRuby.remoteWatchpoint?4(cond, set, temp=False)
@@ -5377,6 +5377,7 @@
 eric5.PyUnit.UnittestDialog.QtTestResult.startTest?4(test)
 eric5.PyUnit.UnittestDialog.QtTestResult.stopTest?4(test)
 eric5.PyUnit.UnittestDialog.QtTestResult?1(parent)
+eric5.PyUnit.UnittestDialog.UnittestDialog.hasFailedTests?4()
 eric5.PyUnit.UnittestDialog.UnittestDialog.insertProg?4(prog)
 eric5.PyUnit.UnittestDialog.UnittestDialog.insertTestName?4(testName)
 eric5.PyUnit.UnittestDialog.UnittestDialog.keyPressEvent?4(evt)
@@ -5384,17 +5385,18 @@
 eric5.PyUnit.UnittestDialog.UnittestDialog.on_errorsListWidget_currentTextChanged?4(text)
 eric5.PyUnit.UnittestDialog.UnittestDialog.on_errorsListWidget_itemDoubleClicked?4(lbitem)
 eric5.PyUnit.UnittestDialog.UnittestDialog.on_fileDialogButton_clicked?4()
-eric5.PyUnit.UnittestDialog.UnittestDialog.on_startButton_clicked?4()
+eric5.PyUnit.UnittestDialog.UnittestDialog.on_startButton_clicked?4(failedOnly=False)
 eric5.PyUnit.UnittestDialog.UnittestDialog.on_stopButton_clicked?4()
 eric5.PyUnit.UnittestDialog.UnittestDialog.on_testsuiteComboBox_editTextChanged?4(txt)
-eric5.PyUnit.UnittestDialog.UnittestDialog.testErrored?4(test, exc)
-eric5.PyUnit.UnittestDialog.UnittestDialog.testFailed?4(test, exc)
-eric5.PyUnit.UnittestDialog.UnittestDialog.testFailedExpected?4(test, exc)
+eric5.PyUnit.UnittestDialog.UnittestDialog.testErrored?4(test, exc, id)
+eric5.PyUnit.UnittestDialog.UnittestDialog.testFailed?4(test, exc, id)
+eric5.PyUnit.UnittestDialog.UnittestDialog.testFailedExpected?4(test, exc, id)
 eric5.PyUnit.UnittestDialog.UnittestDialog.testFinished?4()
-eric5.PyUnit.UnittestDialog.UnittestDialog.testSkipped?4(test, reason)
+eric5.PyUnit.UnittestDialog.UnittestDialog.testSkipped?4(test, reason, id)
 eric5.PyUnit.UnittestDialog.UnittestDialog.testStarted?4(test, doc)
-eric5.PyUnit.UnittestDialog.UnittestDialog.testSucceededUnexpected?4(test)
+eric5.PyUnit.UnittestDialog.UnittestDialog.testSucceededUnexpected?4(test, id)
 eric5.PyUnit.UnittestDialog.UnittestDialog.unittestFile?7
+eric5.PyUnit.UnittestDialog.UnittestDialog.unittestStopped?7
 eric5.PyUnit.UnittestDialog.UnittestDialog?1(prog=None, dbs=None, ui=None, fromEric=False, parent=None, name=None)
 eric5.PyUnit.UnittestDialog.UnittestWindow.eventFilter?4(obj, event)
 eric5.PyUnit.UnittestDialog.UnittestWindow?1(prog=None, parent=None)
--- a/DebugClients/Python/DCTestResult.py	Sat Dec 17 16:03:53 2011 +0100
+++ b/DebugClients/Python/DCTestResult.py	Sat Dec 17 19:13:19 2011 +0100
@@ -41,7 +41,7 @@
         TestResult.addFailure(self, test, err)
         tracebackLines = self._exc_info_to_string(err, test)
         self.parent.write('%s%s\n' % (ResponseUTTestFailed,
-            unicode((unicode(test), tracebackLines))))
+            unicode((unicode(test), tracebackLines, test.id()))))
         
     def addError(self, test, err):
         """
@@ -53,7 +53,7 @@
         TestResult.addError(self, test, err)
         tracebackLines = self._exc_info_to_string(err, test)
         self.parent.write('%s%s\n' % (ResponseUTTestErrored,
-            unicode((unicode(test), tracebackLines))))
+            unicode((unicode(test), tracebackLines, test.id()))))
         
     def addSkip(self, test, reason):
         """
@@ -64,7 +64,7 @@
         """
         TestResult.addSkip(self, test, reason)
         self.parent.write('%s%s\n' % (ResponseUTTestSkipped,
-            str((str(test), reason))))
+            str((str(test), reason, test.id()))))
         
     def addExpectedFailure(self, test, err):
         """
@@ -76,7 +76,7 @@
         TestResult.addExpectedFailure(self, test, err)
         tracebackLines = self._exc_info_to_string(err, test)
         self.parent.write('%s%s\n' % (ResponseUTTestFailedExpected,
-            str((str(test), tracebackLines))))
+            str((str(test), tracebackLines, test.id()))))
         
     def addUnexpectedSuccess(self, test):
         """
@@ -85,7 +85,8 @@
         @param test reference to the test object
         """
         TestResult.addUnexpectedSuccess(self, test)
-        self.parent.write('%s%s\n' % (ResponseUTTestSucceededUnexpected, str(test)))
+        self.parent.write('%s%s\n' % (ResponseUTTestSucceededUnexpected,
+            str((str(test), test.id()))))
         
     def startTest(self, test):
         """
--- a/DebugClients/Python/DebugClientBase.py	Sat Dec 17 16:03:53 2011 +0100
+++ b/DebugClients/Python/DebugClientBase.py	Sat Dec 17 19:13:19 2011 +0100
@@ -781,9 +781,10 @@
                 return
             
             if cmd == DebugProtocol.RequestUTPrepare:
-                fn, tn, tfn, cov, covname, erase = arg.split('|')
+                fn, tn, tfn, failed, cov, covname, erase = arg.split('|')
                 sys.path.insert(0, os.path.dirname(os.path.abspath(fn)))
                 os.chdir(sys.path[0])
+                failed = eval(failed)
 
                 # set the system exception handling function to ensure, that
                 # we report on all unhandled exceptions
@@ -793,8 +794,12 @@
                     import unittest
                     utModule = __import__(tn)
                     try:
-                        self.test = unittest.defaultTestLoader\
-                                    .loadTestsFromName(tfn, utModule)
+                        if failed:
+                            self.test = unittest.defaultTestLoader\
+                                        .loadTestsFromNames(failed, utModule)
+                        else:
+                            self.test = unittest.defaultTestLoader\
+                                        .loadTestsFromName(tfn, utModule)
                     except AttributeError:
                         self.test = unittest.defaultTestLoader\
                                     .loadTestsFromModule(utModule)
--- a/DebugClients/Python3/DCTestResult.py	Sat Dec 17 16:03:53 2011 +0100
+++ b/DebugClients/Python3/DCTestResult.py	Sat Dec 17 19:13:19 2011 +0100
@@ -41,7 +41,7 @@
         TestResult.addFailure(self, test, err)
         tracebackLines = self._exc_info_to_string(err, test)
         self.parent.write('{0}{1}\n'.format(ResponseUTTestFailed,
-            str((str(test), tracebackLines))))
+            str((str(test), tracebackLines, test.id()))))
         
     def addError(self, test, err):
         """
@@ -53,7 +53,7 @@
         TestResult.addError(self, test, err)
         tracebackLines = self._exc_info_to_string(err, test)
         self.parent.write('{0}{1}\n'.format(ResponseUTTestErrored,
-            str((str(test), tracebackLines))))
+            str((str(test), tracebackLines, test.id()))))
         
     def addSkip(self, test, reason):
         """
@@ -64,7 +64,7 @@
         """
         TestResult.addSkip(self, test, reason)
         self.parent.write('{0}{1}\n'.format(ResponseUTTestSkipped,
-            str((str(test), reason))))
+            str((str(test), reason, test.id()))))
         
     def addExpectedFailure(self, test, err):
         """
@@ -76,7 +76,7 @@
         TestResult.addExpectedFailure(self, test, err)
         tracebackLines = self._exc_info_to_string(err, test)
         self.parent.write('{0}{1}\n'.format(ResponseUTTestFailedExpected,
-            str((str(test), tracebackLines))))
+            str((str(test), tracebackLines, test.id()))))
         
     def addUnexpectedSuccess(self, test):
         """
@@ -85,7 +85,8 @@
         @param test reference to the test object
         """
         TestResult.addUnexpectedSuccess(self, test)
-        self.parent.write('{0}{1}\n'.format(ResponseUTTestSucceededUnexpected, str(test)))
+        self.parent.write('{0}{1}\n'.format(ResponseUTTestSucceededUnexpected,
+            str((str(test), test.id()))))
         
     def startTest(self, test):
         """
--- a/DebugClients/Python3/DebugClientBase.py	Sat Dec 17 16:03:53 2011 +0100
+++ b/DebugClients/Python3/DebugClientBase.py	Sat Dec 17 19:13:19 2011 +0100
@@ -779,9 +779,10 @@
                 return
             
             if cmd == DebugProtocol.RequestUTPrepare:
-                fn, tn, tfn, cov, covname, erase = arg.split('|')
+                fn, tn, tfn, failed, cov, covname, erase = arg.split('|')
                 sys.path.insert(0, os.path.dirname(os.path.abspath(fn)))
                 os.chdir(sys.path[0])
+                failed = eval(failed)
 
                 # set the system exception handling function to ensure, that
                 # we report on all unhandled exceptions
@@ -791,8 +792,12 @@
                     import unittest
                     utModule = imp.load_source(tn, fn)
                     try:
-                        self.test = unittest.defaultTestLoader\
-                                    .loadTestsFromName(tfn, utModule)
+                        if failed:
+                            self.test = unittest.defaultTestLoader\
+                                        .loadTestsFromNames(failed, utModule)
+                        else:
+                            self.test = unittest.defaultTestLoader\
+                                        .loadTestsFromName(tfn, utModule)
                     except AttributeError:
                         self.test = unittest.defaultTestLoader\
                                     .loadTestsFromModule(utModule)
--- a/Debugger/DebugServer.py	Sat Dec 17 16:03:53 2011 +0100
+++ b/Debugger/DebugServer.py	Sat Dec 17 19:13:19 2011 +0100
@@ -85,15 +85,15 @@
     @signal utStartTest(testname, testdocu) emitted after the client has started
             a test
     @signal utStopTest() emitted after the client has finished a test
-    @signal utTestFailed(testname, exc_info) emitted after the client reported
+    @signal utTestFailed(testname, exc_info, id) emitted after the client reported
             a failed test
-    @signal utTestErrored(testname, exc_info) emitted after the client reported
+    @signal utTestErrored(testname, exc_info, id) emitted after the client reported
             an errored test
-    @signal utTestSkipped(testname, reason) emitted after the client reported
+    @signal utTestSkipped(testname, reason, id) emitted after the client reported
             a skipped test
-    @signal utTestFailedExpected(testname, exc_info) emitted after the client reported
+    @signal utTestFailedExpected(testname, exc_info, id) emitted after the client reported
             an expected test failure
-    @signal utTestSucceededUnexpected(testname) emitted after the client reported
+    @signal utTestSucceededUnexpected(testname, id) emitted after the client reported
             an unexpected test success
     """
     clientClearBreak = pyqtSignal(str, int)
@@ -122,11 +122,11 @@
     utPrepared = pyqtSignal(int, str, str)
     utStartTest = pyqtSignal(str, str)
     utStopTest = pyqtSignal()
-    utTestFailed = pyqtSignal(str, str)
-    utTestErrored = pyqtSignal(str, str)
-    utTestSkipped = pyqtSignal(str, str)
-    utTestFailedExpected = pyqtSignal(str, str)
-    utTestSucceededUnexpected = pyqtSignal(str)
+    utTestFailed = pyqtSignal(str, str, str)
+    utTestErrored = pyqtSignal(str, str, str)
+    utTestSkipped = pyqtSignal(str, str, str)
+    utTestFailedExpected = pyqtSignal(str, str, str)
+    utTestSucceededUnexpected = pyqtSignal(str, str)
     utFinished = pyqtSignal()
     passiveDebugStarted = pyqtSignal(str, bool)
     
@@ -1014,14 +1014,16 @@
         """
         self.debuggerInterface.remoteCompletion(text)
 
-    def remoteUTPrepare(self, fn, tn, tfn, cov, covname, coverase, clientType=""):
+    def remoteUTPrepare(self, fn, tn, tfn, failed, cov, covname, coverase, clientType=""):
         """
         Public method to prepare a new unittest run.
         
         @param fn the filename to load (string)
         @param tn the testname to load (string)
         @param tfn the test function name to load tests from (string)
-        @param cov flag indicating collection of coverage data is requested
+        @param failed list of failed test, if only failed test should be run
+                (list of strings)
+        @param cov flag indicating collection of coverage data is requested (boolean)
         @param covname filename to be used to assemble the coverage caches
                 filename (string)
         @param coverase flag indicating erasure of coverage data is requested (boolean)
@@ -1037,7 +1039,8 @@
             self.__setClientType('Python3')    # assume it is a Python3 file
         self.startClient(False)
         
-        self.debuggerInterface.remoteUTPrepare(fn, tn, tfn, cov, covname, coverase)
+        self.debuggerInterface.remoteUTPrepare(
+            fn, tn, tfn, failed, cov, covname, coverase)
         self.debugging = False
         self.running = True
         
@@ -1260,49 +1263,54 @@
         """
         self.utStopTest.emit()
         
-    def clientUtTestFailed(self, testname, traceback):
+    def clientUtTestFailed(self, testname, traceback, id):
         """
         Public method to process the client test failed info.
         
         @param testname name of the test (string)
         @param traceback lines of traceback info (list of strings)
+        @param id id of the test (string)
         """
-        self.utTestFailed.emit(testname, traceback)
+        self.utTestFailed.emit(testname, traceback, id)
         
-    def clientUtTestErrored(self, testname, traceback):
+    def clientUtTestErrored(self, testname, traceback, id):
         """
         Public method to process the client test errored info.
         
         @param testname name of the test (string)
         @param traceback lines of traceback info (list of strings)
+        @param id id of the test (string)
         """
-        self.utTestErrored.emit(testname, traceback)
+        self.utTestErrored.emit(testname, traceback, id)
         
-    def clientUtTestSkipped(self, testname, reason):
+    def clientUtTestSkipped(self, testname, reason, id):
         """
         Public method to process the client test skipped info.
         
         @param testname name of the test (string)
         @param reason reason for skipping the test (string)
+        @param id id of the test (string)
         """
-        self.utTestSkipped.emit(testname, reason)
+        self.utTestSkipped.emit(testname, reason, id)
         
-    def clientUtTestFailedExpected(self, testname, traceback):
+    def clientUtTestFailedExpected(self, testname, traceback, id):
         """
         Public method to process the client test failed expected info.
         
         @param testname name of the test (string)
         @param traceback lines of traceback info (list of strings)
+        @param id id of the test (string)
         """
-        self.utTestFailedExpected.emit(testname, traceback)
+        self.utTestFailedExpected.emit(testname, traceback, id)
         
-    def clientUtTestSucceededUnexpected(self, testname):
+    def clientUtTestSucceededUnexpected(self, testname, id):
         """
         Public method to process the client test succeeded unexpected info.
         
         @param testname name of the test (string)
+        @param id id of the test (string)
         """
-        self.utTestSucceededUnexpected.emit(testname)
+        self.utTestSucceededUnexpected.emit(testname, id)
         
     def clientUtFinished(self):
         """
--- a/Debugger/DebuggerInterfaceNone.py	Sat Dec 17 16:03:53 2011 +0100
+++ b/Debugger/DebuggerInterfaceNone.py	Sat Dec 17 19:13:19 2011 +0100
@@ -363,17 +363,19 @@
         """
         return
         
-    def remoteUTPrepare(self, fn, tn, tfn, cov, covname, coverase):
+    def remoteUTPrepare(self, fn, tn, tfn, failed, cov, covname, coverase):
         """
         Public method to prepare a new unittest run.
         
         @param fn the filename to load (string)
         @param tn the testname to load (string)
         @param tfn the test function name to load tests from (string)
-        @param cov flag indicating collection of coverage data is requested
+        @param failed list of failed test, if only failed test should be run
+                (list of strings)
+        @param cov flag indicating collection of coverage data is requested (boolean)
         @param covname filename to be used to assemble the coverage caches
-                filename
-        @param coverase flag indicating erasure of coverage data is requested
+                filename (string)
+        @param coverase flag indicating erasure of coverage data is requested (boolean)
         """
         return
         
--- a/Debugger/DebuggerInterfacePython.py	Sat Dec 17 16:03:53 2011 +0100
+++ b/Debugger/DebuggerInterfacePython.py	Sat Dec 17 19:13:19 2011 +0100
@@ -707,23 +707,26 @@
         """
         self.__sendCommand("{0}{1}\n".format(DebugProtocol.RequestCompletion, text))
         
-    def remoteUTPrepare(self, fn, tn, tfn, cov, covname, coverase):
+    def remoteUTPrepare(self, fn, tn, tfn, failed, cov, covname, coverase):
         """
         Public method to prepare a new unittest run.
         
         @param fn the filename to load (string)
         @param tn the testname to load (string)
         @param tfn the test function name to load tests from (string)
-        @param cov flag indicating collection of coverage data is requested
+        @param failed list of failed test, if only failed test should be run
+                (list of strings)
+        @param cov flag indicating collection of coverage data is requested (boolean)
         @param covname filename to be used to assemble the coverage caches
-                filename
-        @param coverase flag indicating erasure of coverage data is requested
+                filename (string)
+        @param coverase flag indicating erasure of coverage data is requested (boolean)
         """
         self.__scriptName = os.path.abspath(fn)
         
         fn = self.translate(os.path.abspath(fn), False)
-        self.__sendCommand('{0}{1}|{2}|{3}|{4:d}|{5}|{6:d}\n'.format(
-            DebugProtocol.RequestUTPrepare, fn, tn, tfn, cov, covname, coverase))
+        self.__sendCommand('{0}{1}|{2}|{3}|{4}|{5:d}|{6}|{7:d}\n'.format(
+            DebugProtocol.RequestUTPrepare, fn, tn, tfn, str(failed),
+            cov, covname, coverase))
         
     def remoteUTRun(self):
         """
@@ -946,28 +949,28 @@
                     continue
                 
                 if resp == DebugProtocol.ResponseUTTestFailed:
-                    testname, traceback = eval(evalArg)
-                    self.debugServer.clientUtTestFailed(testname, traceback)
+                    testname, traceback, id = eval(evalArg)
+                    self.debugServer.clientUtTestFailed(testname, traceback, id)
                     continue
                 
                 if resp == DebugProtocol.ResponseUTTestErrored:
-                    testname, traceback = eval(evalArg)
-                    self.debugServer.clientUtTestErrored(testname, traceback)
+                    testname, traceback, id = eval(evalArg)
+                    self.debugServer.clientUtTestErrored(testname, traceback, id)
                     continue
                 
                 if resp == DebugProtocol.ResponseUTTestSkipped:
-                    testname, reason = eval(line[eoc:-1])
-                    self.debugServer.clientUtTestSkipped(testname, reason)
+                    testname, reason, id = eval(line[eoc:-1])
+                    self.debugServer.clientUtTestSkipped(testname, reason, id)
                     continue
                 
                 if resp == DebugProtocol.ResponseUTTestFailedExpected:
-                    testname, traceback = eval(line[eoc:-1])
-                    self.debugServer.clientUtTestFailedExpected(testname, traceback)
+                    testname, traceback, id = eval(line[eoc:-1])
+                    self.debugServer.clientUtTestFailedExpected(testname, traceback, id)
                     continue
                 
                 if resp == DebugProtocol.ResponseUTTestSucceededUnexpected:
-                    testname = line[eoc:-1]
-                    self.debugServer.clientUtTestSucceededUnexpected(testname)
+                    testname, id = eval(line[eoc:-1])
+                    self.debugServer.clientUtTestSucceededUnexpected(testname, id)
                     continue
                 
                 if resp == DebugProtocol.ResponseUTFinished:
--- a/Debugger/DebuggerInterfacePython3.py	Sat Dec 17 16:03:53 2011 +0100
+++ b/Debugger/DebuggerInterfacePython3.py	Sat Dec 17 19:13:19 2011 +0100
@@ -703,23 +703,26 @@
         """
         self.__sendCommand("{0}{1}\n".format(DebugProtocol.RequestCompletion, text))
     
-    def remoteUTPrepare(self, fn, tn, tfn, cov, covname, coverase):
+    def remoteUTPrepare(self, fn, tn, tfn, failed, cov, covname, coverase):
         """
         Public method to prepare a new unittest run.
         
         @param fn the filename to load (string)
         @param tn the testname to load (string)
         @param tfn the test function name to load tests from (string)
-        @param cov flag indicating collection of coverage data is requested
+        @param failed list of failed test, if only failed test should be run
+                (list of strings)
+        @param cov flag indicating collection of coverage data is requested (boolean)
         @param covname filename to be used to assemble the coverage caches
-                filename
-        @param coverase flag indicating erasure of coverage data is requested
+                filename (string)
+        @param coverase flag indicating erasure of coverage data is requested (boolean)
         """
         self.__scriptName = os.path.abspath(fn)
         
         fn = self.translate(os.path.abspath(fn), False)
-        self.__sendCommand('{0}{1}|{2}|{3}|{4:d}|{5}|{6:d}\n'.format(
-            DebugProtocol.RequestUTPrepare, fn, tn, tfn, cov, covname, coverase))
+        self.__sendCommand('{0}{1}|{2}|{3}|{4}|{5:d}|{6}|{7:d}\n'.format(
+            DebugProtocol.RequestUTPrepare, fn, tn, tfn, str(failed),
+            cov, covname, coverase))
     
     def remoteUTRun(self):
         """
@@ -945,28 +948,28 @@
                     continue
                 
                 if resp == DebugProtocol.ResponseUTTestFailed:
-                    testname, traceback = eval(line[eoc:-1])
-                    self.debugServer.clientUtTestFailed(testname, traceback)
+                    testname, traceback, id = eval(line[eoc:-1])
+                    self.debugServer.clientUtTestFailed(testname, traceback, id)
                     continue
                 
                 if resp == DebugProtocol.ResponseUTTestErrored:
-                    testname, traceback = eval(line[eoc:-1])
-                    self.debugServer.clientUtTestErrored(testname, traceback)
+                    testname, traceback, id = eval(line[eoc:-1])
+                    self.debugServer.clientUtTestErrored(testname, traceback, id)
                     continue
                 
                 if resp == DebugProtocol.ResponseUTTestSkipped:
-                    testname, reason = eval(line[eoc:-1])
-                    self.debugServer.clientUtTestSkipped(testname, reason)
+                    testname, reason, id = eval(line[eoc:-1])
+                    self.debugServer.clientUtTestSkipped(testname, reason, id)
                     continue
                 
                 if resp == DebugProtocol.ResponseUTTestFailedExpected:
-                    testname, traceback = eval(line[eoc:-1])
-                    self.debugServer.clientUtTestFailedExpected(testname, traceback)
+                    testname, traceback, id = eval(line[eoc:-1])
+                    self.debugServer.clientUtTestFailedExpected(testname, traceback, id)
                     continue
                 
                 if resp == DebugProtocol.ResponseUTTestSucceededUnexpected:
-                    testname = line[eoc:-1]
-                    self.debugServer.clientUtTestSucceededUnexpected(testname)
+                    testname, id = eval(line[eoc:-1])
+                    self.debugServer.clientUtTestSucceededUnexpected(testname, id)
                     continue
                 
                 if resp == DebugProtocol.ResponseUTFinished:
--- a/Debugger/DebuggerInterfaceRuby.py	Sat Dec 17 16:03:53 2011 +0100
+++ b/Debugger/DebuggerInterfaceRuby.py	Sat Dec 17 19:13:19 2011 +0100
@@ -659,17 +659,19 @@
         """
         self.__sendCommand("{0}{1}\n".format(DebugProtocol.RequestCompletion, text))
         
-    def remoteUTPrepare(self, fn, tn, tfn, cov, covname, coverase):
+    def remoteUTPrepare(self, fn, tn, tfn, failed, cov, covname, coverase):
         """
         Public method to prepare a new unittest run.
         
         @param fn the filename to load (string)
         @param tn the testname to load (string)
         @param tfn the test function name to load tests from (string)
-        @param cov flag indicating collection of coverage data is requested
+        @param failed list of failed test, if only failed test should be run
+                (list of strings)
+        @param cov flag indicating collection of coverage data is requested (boolean)
         @param covname filename to be used to assemble the coverage caches
-                filename
-        @param coverase flag indicating erasure of coverage data is requested
+                filename (string)
+        @param coverase flag indicating erasure of coverage data is requested (boolean)
         """
         raise NotImplementedError("Interface not available.")
         
Binary file Documentation/Help/source.qch has changed
--- a/Documentation/Help/source.qhp	Sat Dec 17 16:03:53 2011 +0100
+++ b/Documentation/Help/source.qhp	Sat Dec 17 19:13:19 2011 +0100
@@ -1281,6 +1281,7 @@
       <keyword name="UnittestDialog.__setRunningMode" id="UnittestDialog.__setRunningMode" ref="eric5.PyUnit.UnittestDialog.html#UnittestDialog.__setRunningMode" />
       <keyword name="UnittestDialog.__setStoppedMode" id="UnittestDialog.__setStoppedMode" ref="eric5.PyUnit.UnittestDialog.html#UnittestDialog.__setStoppedMode" />
       <keyword name="UnittestDialog.__showSource" id="UnittestDialog.__showSource" ref="eric5.PyUnit.UnittestDialog.html#UnittestDialog.__showSource" />
+      <keyword name="UnittestDialog.hasFailedTests" id="UnittestDialog.hasFailedTests" ref="eric5.PyUnit.UnittestDialog.html#UnittestDialog.hasFailedTests" />
       <keyword name="UnittestDialog.insertProg" id="UnittestDialog.insertProg" ref="eric5.PyUnit.UnittestDialog.html#UnittestDialog.insertProg" />
       <keyword name="UnittestDialog.insertTestName" id="UnittestDialog.insertTestName" ref="eric5.PyUnit.UnittestDialog.html#UnittestDialog.insertTestName" />
       <keyword name="UnittestDialog.keyPressEvent" id="UnittestDialog.keyPressEvent" ref="eric5.PyUnit.UnittestDialog.html#UnittestDialog.keyPressEvent" />
@@ -4346,8 +4347,10 @@
       <keyword name="UserInterface.__toolsConfiguration" id="UserInterface.__toolsConfiguration" ref="eric5.UI.UserInterface.html#UserInterface.__toolsConfiguration" />
       <keyword name="UserInterface.__unittest" id="UserInterface.__unittest" ref="eric5.UI.UserInterface.html#UserInterface.__unittest" />
       <keyword name="UserInterface.__unittestProject" id="UserInterface.__unittestProject" ref="eric5.UI.UserInterface.html#UserInterface.__unittestProject" />
+      <keyword name="UserInterface.__unittestRerunFailed" id="UserInterface.__unittestRerunFailed" ref="eric5.UI.UserInterface.html#UserInterface.__unittestRerunFailed" />
       <keyword name="UserInterface.__unittestRestart" id="UserInterface.__unittestRestart" ref="eric5.UI.UserInterface.html#UserInterface.__unittestRestart" />
       <keyword name="UserInterface.__unittestScript" id="UserInterface.__unittestScript" ref="eric5.UI.UserInterface.html#UserInterface.__unittestScript" />
+      <keyword name="UserInterface.__unittestStopped" id="UserInterface.__unittestStopped" ref="eric5.UI.UserInterface.html#UserInterface.__unittestStopped" />
       <keyword name="UserInterface.__updateExternalToolsActions" id="UserInterface.__updateExternalToolsActions" ref="eric5.UI.UserInterface.html#UserInterface.__updateExternalToolsActions" />
       <keyword name="UserInterface.__updateVersionsUrls" id="UserInterface.__updateVersionsUrls" ref="eric5.UI.UserInterface.html#UserInterface.__updateVersionsUrls" />
       <keyword name="UserInterface.__versionCheckResult" id="UserInterface.__versionCheckResult" ref="eric5.UI.UserInterface.html#UserInterface.__versionCheckResult" />
--- a/Documentation/Source/eric5.Debugger.DebugServer.html	Sat Dec 17 16:03:53 2011 +0100
+++ b/Documentation/Source/eric5.Debugger.DebugServer.html	Sat Dec 17 19:13:19 2011 +0100
@@ -152,23 +152,23 @@
 </dd><dt>utStopTest()</dt>
 <dd>
 emitted after the client has finished a test
-</dd><dt>utTestErrored(testname, exc_info)</dt>
+</dd><dt>utTestErrored(testname, exc_info, id)</dt>
 <dd>
 emitted after the client reported
             an errored test
-</dd><dt>utTestFailed(testname, exc_info)</dt>
+</dd><dt>utTestFailed(testname, exc_info, id)</dt>
 <dd>
 emitted after the client reported
             a failed test
-</dd><dt>utTestFailedExpected(testname, exc_info)</dt>
+</dd><dt>utTestFailedExpected(testname, exc_info, id)</dt>
 <dd>
 emitted after the client reported
             an expected test failure
-</dd><dt>utTestSkipped(testname, reason)</dt>
+</dd><dt>utTestSkipped(testname, reason, id)</dt>
 <dd>
 emitted after the client reported
             a skipped test
-</dd><dt>utTestSucceededUnexpected(testname)</dt>
+</dd><dt>utTestSucceededUnexpected(testname, id)</dt>
 <dd>
 emitted after the client reported
             an unexpected test success
@@ -831,7 +831,7 @@
         Public method to process the client stop test info.
 </p><a NAME="DebugServer.clientUtTestErrored" ID="DebugServer.clientUtTestErrored"></a>
 <h4>DebugServer.clientUtTestErrored</h4>
-<b>clientUtTestErrored</b>(<i>testname, traceback</i>)
+<b>clientUtTestErrored</b>(<i>testname, traceback, id</i>)
 <p>
         Public method to process the client test errored info.
 </p><dl>
@@ -841,10 +841,13 @@
 </dd><dt><i>traceback</i></dt>
 <dd>
 lines of traceback info (list of strings)
+</dd><dt><i>id</i></dt>
+<dd>
+id of the test (string)
 </dd>
 </dl><a NAME="DebugServer.clientUtTestFailed" ID="DebugServer.clientUtTestFailed"></a>
 <h4>DebugServer.clientUtTestFailed</h4>
-<b>clientUtTestFailed</b>(<i>testname, traceback</i>)
+<b>clientUtTestFailed</b>(<i>testname, traceback, id</i>)
 <p>
         Public method to process the client test failed info.
 </p><dl>
@@ -854,10 +857,13 @@
 </dd><dt><i>traceback</i></dt>
 <dd>
 lines of traceback info (list of strings)
+</dd><dt><i>id</i></dt>
+<dd>
+id of the test (string)
 </dd>
 </dl><a NAME="DebugServer.clientUtTestFailedExpected" ID="DebugServer.clientUtTestFailedExpected"></a>
 <h4>DebugServer.clientUtTestFailedExpected</h4>
-<b>clientUtTestFailedExpected</b>(<i>testname, traceback</i>)
+<b>clientUtTestFailedExpected</b>(<i>testname, traceback, id</i>)
 <p>
         Public method to process the client test failed expected info.
 </p><dl>
@@ -867,10 +873,13 @@
 </dd><dt><i>traceback</i></dt>
 <dd>
 lines of traceback info (list of strings)
+</dd><dt><i>id</i></dt>
+<dd>
+id of the test (string)
 </dd>
 </dl><a NAME="DebugServer.clientUtTestSkipped" ID="DebugServer.clientUtTestSkipped"></a>
 <h4>DebugServer.clientUtTestSkipped</h4>
-<b>clientUtTestSkipped</b>(<i>testname, reason</i>)
+<b>clientUtTestSkipped</b>(<i>testname, reason, id</i>)
 <p>
         Public method to process the client test skipped info.
 </p><dl>
@@ -880,16 +889,22 @@
 </dd><dt><i>reason</i></dt>
 <dd>
 reason for skipping the test (string)
+</dd><dt><i>id</i></dt>
+<dd>
+id of the test (string)
 </dd>
 </dl><a NAME="DebugServer.clientUtTestSucceededUnexpected" ID="DebugServer.clientUtTestSucceededUnexpected"></a>
 <h4>DebugServer.clientUtTestSucceededUnexpected</h4>
-<b>clientUtTestSucceededUnexpected</b>(<i>testname</i>)
+<b>clientUtTestSucceededUnexpected</b>(<i>testname, id</i>)
 <p>
         Public method to process the client test succeeded unexpected info.
 </p><dl>
 <dt><i>testname</i></dt>
 <dd>
 name of the test (string)
+</dd><dt><i>id</i></dt>
+<dd>
+id of the test (string)
 </dd>
 </dl><a NAME="DebugServer.getBreakPointModel" ID="DebugServer.getBreakPointModel"></a>
 <h4>DebugServer.getBreakPointModel</h4>
@@ -1348,7 +1363,7 @@
         Public method to request the list of threads from the client.
 </p><a NAME="DebugServer.remoteUTPrepare" ID="DebugServer.remoteUTPrepare"></a>
 <h4>DebugServer.remoteUTPrepare</h4>
-<b>remoteUTPrepare</b>(<i>fn, tn, tfn, cov, covname, coverase, clientType=""</i>)
+<b>remoteUTPrepare</b>(<i>fn, tn, tfn, failed, cov, covname, coverase, clientType=""</i>)
 <p>
         Public method to prepare a new unittest run.
 </p><dl>
@@ -1361,9 +1376,13 @@
 </dd><dt><i>tfn</i></dt>
 <dd>
 the test function name to load tests from (string)
+</dd><dt><i>failed</i></dt>
+<dd>
+list of failed test, if only failed test should be run
+                (list of strings)
 </dd><dt><i>cov</i></dt>
 <dd>
-flag indicating collection of coverage data is requested
+flag indicating collection of coverage data is requested (boolean)
 </dd><dt><i>covname</i></dt>
 <dd>
 filename to be used to assemble the coverage caches
--- a/Documentation/Source/eric5.Debugger.DebuggerInterfaceNone.html	Sat Dec 17 16:03:53 2011 +0100
+++ b/Documentation/Source/eric5.Debugger.DebuggerInterfaceNone.html	Sat Dec 17 19:13:19 2011 +0100
@@ -548,7 +548,7 @@
         Public method to request the list of threads from the client.
 </p><a NAME="DebuggerInterfaceNone.remoteUTPrepare" ID="DebuggerInterfaceNone.remoteUTPrepare"></a>
 <h4>DebuggerInterfaceNone.remoteUTPrepare</h4>
-<b>remoteUTPrepare</b>(<i>fn, tn, tfn, cov, covname, coverase</i>)
+<b>remoteUTPrepare</b>(<i>fn, tn, tfn, failed, cov, covname, coverase</i>)
 <p>
         Public method to prepare a new unittest run.
 </p><dl>
@@ -561,16 +561,20 @@
 </dd><dt><i>tfn</i></dt>
 <dd>
 the test function name to load tests from (string)
+</dd><dt><i>failed</i></dt>
+<dd>
+list of failed test, if only failed test should be run
+                (list of strings)
 </dd><dt><i>cov</i></dt>
 <dd>
-flag indicating collection of coverage data is requested
+flag indicating collection of coverage data is requested (boolean)
 </dd><dt><i>covname</i></dt>
 <dd>
 filename to be used to assemble the coverage caches
-                filename
+                filename (string)
 </dd><dt><i>coverase</i></dt>
 <dd>
-flag indicating erasure of coverage data is requested
+flag indicating erasure of coverage data is requested (boolean)
 </dd>
 </dl><a NAME="DebuggerInterfaceNone.remoteUTRun" ID="DebuggerInterfaceNone.remoteUTRun"></a>
 <h4>DebuggerInterfaceNone.remoteUTRun</h4>
--- a/Documentation/Source/eric5.Debugger.DebuggerInterfacePython.html	Sat Dec 17 16:03:53 2011 +0100
+++ b/Documentation/Source/eric5.Debugger.DebuggerInterfacePython.html	Sat Dec 17 19:13:19 2011 +0100
@@ -645,7 +645,7 @@
         Public method to request the list of threads from the client.
 </p><a NAME="DebuggerInterfacePython.remoteUTPrepare" ID="DebuggerInterfacePython.remoteUTPrepare"></a>
 <h4>DebuggerInterfacePython.remoteUTPrepare</h4>
-<b>remoteUTPrepare</b>(<i>fn, tn, tfn, cov, covname, coverase</i>)
+<b>remoteUTPrepare</b>(<i>fn, tn, tfn, failed, cov, covname, coverase</i>)
 <p>
         Public method to prepare a new unittest run.
 </p><dl>
@@ -658,16 +658,20 @@
 </dd><dt><i>tfn</i></dt>
 <dd>
 the test function name to load tests from (string)
+</dd><dt><i>failed</i></dt>
+<dd>
+list of failed test, if only failed test should be run
+                (list of strings)
 </dd><dt><i>cov</i></dt>
 <dd>
-flag indicating collection of coverage data is requested
+flag indicating collection of coverage data is requested (boolean)
 </dd><dt><i>covname</i></dt>
 <dd>
 filename to be used to assemble the coverage caches
-                filename
+                filename (string)
 </dd><dt><i>coverase</i></dt>
 <dd>
-flag indicating erasure of coverage data is requested
+flag indicating erasure of coverage data is requested (boolean)
 </dd>
 </dl><a NAME="DebuggerInterfacePython.remoteUTRun" ID="DebuggerInterfacePython.remoteUTRun"></a>
 <h4>DebuggerInterfacePython.remoteUTRun</h4>
--- a/Documentation/Source/eric5.Debugger.DebuggerInterfacePython3.html	Sat Dec 17 16:03:53 2011 +0100
+++ b/Documentation/Source/eric5.Debugger.DebuggerInterfacePython3.html	Sat Dec 17 19:13:19 2011 +0100
@@ -645,7 +645,7 @@
         Public method to request the list of threads from the client.
 </p><a NAME="DebuggerInterfacePython3.remoteUTPrepare" ID="DebuggerInterfacePython3.remoteUTPrepare"></a>
 <h4>DebuggerInterfacePython3.remoteUTPrepare</h4>
-<b>remoteUTPrepare</b>(<i>fn, tn, tfn, cov, covname, coverase</i>)
+<b>remoteUTPrepare</b>(<i>fn, tn, tfn, failed, cov, covname, coverase</i>)
 <p>
         Public method to prepare a new unittest run.
 </p><dl>
@@ -658,16 +658,20 @@
 </dd><dt><i>tfn</i></dt>
 <dd>
 the test function name to load tests from (string)
+</dd><dt><i>failed</i></dt>
+<dd>
+list of failed test, if only failed test should be run
+                (list of strings)
 </dd><dt><i>cov</i></dt>
 <dd>
-flag indicating collection of coverage data is requested
+flag indicating collection of coverage data is requested (boolean)
 </dd><dt><i>covname</i></dt>
 <dd>
 filename to be used to assemble the coverage caches
-                filename
+                filename (string)
 </dd><dt><i>coverase</i></dt>
 <dd>
-flag indicating erasure of coverage data is requested
+flag indicating erasure of coverage data is requested (boolean)
 </dd>
 </dl><a NAME="DebuggerInterfacePython3.remoteUTRun" ID="DebuggerInterfacePython3.remoteUTRun"></a>
 <h4>DebuggerInterfacePython3.remoteUTRun</h4>
--- a/Documentation/Source/eric5.Debugger.DebuggerInterfaceRuby.html	Sat Dec 17 16:03:53 2011 +0100
+++ b/Documentation/Source/eric5.Debugger.DebuggerInterfaceRuby.html	Sat Dec 17 19:13:19 2011 +0100
@@ -639,7 +639,7 @@
         Public method to request the list of threads from the client.
 </p><a NAME="DebuggerInterfaceRuby.remoteUTPrepare" ID="DebuggerInterfaceRuby.remoteUTPrepare"></a>
 <h4>DebuggerInterfaceRuby.remoteUTPrepare</h4>
-<b>remoteUTPrepare</b>(<i>fn, tn, tfn, cov, covname, coverase</i>)
+<b>remoteUTPrepare</b>(<i>fn, tn, tfn, failed, cov, covname, coverase</i>)
 <p>
         Public method to prepare a new unittest run.
 </p><dl>
@@ -652,16 +652,20 @@
 </dd><dt><i>tfn</i></dt>
 <dd>
 the test function name to load tests from (string)
+</dd><dt><i>failed</i></dt>
+<dd>
+list of failed test, if only failed test should be run
+                (list of strings)
 </dd><dt><i>cov</i></dt>
 <dd>
-flag indicating collection of coverage data is requested
+flag indicating collection of coverage data is requested (boolean)
 </dd><dt><i>covname</i></dt>
 <dd>
 filename to be used to assemble the coverage caches
-                filename
+                filename (string)
 </dd><dt><i>coverase</i></dt>
 <dd>
-flag indicating erasure of coverage data is requested
+flag indicating erasure of coverage data is requested (boolean)
 </dd>
 </dl><a NAME="DebuggerInterfaceRuby.remoteUTRun" ID="DebuggerInterfaceRuby.remoteUTRun"></a>
 <h4>DebuggerInterfaceRuby.remoteUTRun</h4>
--- a/Documentation/Source/eric5.PyUnit.UnittestDialog.html	Sat Dec 17 16:03:53 2011 +0100
+++ b/Documentation/Source/eric5.PyUnit.UnittestDialog.html	Sat Dec 17 19:13:19 2011 +0100
@@ -199,6 +199,9 @@
 <dt>unittestFile(str, int, int)</dt>
 <dd>
 emitted to show the source of a unittest file
+</dd><dt>unittestStopped()</dt>
+<dd>
+emitted after a unit test was run
 </dd>
 </dl>
 <h3>Derived from</h3>
@@ -232,6 +235,9 @@
 <td><a href="#UnittestDialog.__showSource">__showSource</a></td>
 <td>Private slot to show the source of a traceback in an eric5 editor.</td>
 </tr><tr>
+<td><a href="#UnittestDialog.hasFailedTests">hasFailedTests</a></td>
+<td>Public method to check, if there are failed tests from the last run.</td>
+</tr><tr>
 <td><a href="#UnittestDialog.insertProg">insertProg</a></td>
 <td>Public slot to insert the filename prog into the testsuiteComboBox object.</td>
 </tr><tr>
@@ -269,7 +275,7 @@
 <td>Public method called if a test fails.</td>
 </tr><tr>
 <td><a href="#UnittestDialog.testFailedExpected">testFailedExpected</a></td>
-<td>Public method called if a test fails expected.</td>
+<td>Public method called if a test fails expectedly.</td>
 </tr><tr>
 <td><a href="#UnittestDialog.testFinished">testFinished</a></td>
 <td>Public method called if a test has finished.</td>
@@ -359,7 +365,17 @@
 <b>__showSource</b>(<i></i>)
 <p>
         Private slot to show the source of a traceback in an eric5 editor.
-</p><a NAME="UnittestDialog.insertProg" ID="UnittestDialog.insertProg"></a>
+</p><a NAME="UnittestDialog.hasFailedTests" ID="UnittestDialog.hasFailedTests"></a>
+<h4>UnittestDialog.hasFailedTests</h4>
+<b>hasFailedTests</b>(<i></i>)
+<p>
+        Public method to check, if there are failed tests from the last run.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+flag indicating the presence of failed tests (boolean)
+</dd>
+</dl><a NAME="UnittestDialog.insertProg" ID="UnittestDialog.insertProg"></a>
 <h4>UnittestDialog.insertProg</h4>
 <b>insertProg</b>(<i>prog</i>)
 <p>
@@ -431,10 +447,15 @@
         Private slot to open a file dialog.
 </p><a NAME="UnittestDialog.on_startButton_clicked" ID="UnittestDialog.on_startButton_clicked"></a>
 <h4>UnittestDialog.on_startButton_clicked</h4>
-<b>on_startButton_clicked</b>(<i></i>)
+<b>on_startButton_clicked</b>(<i>failedOnly=False</i>)
 <p>
         Public slot to start the test.
-</p><a NAME="UnittestDialog.on_stopButton_clicked" ID="UnittestDialog.on_stopButton_clicked"></a>
+</p><dl>
+<dt><i>failedOnly=</i></dt>
+<dd>
+flag indicating to run only failed tests (boolean)
+</dd>
+</dl><a NAME="UnittestDialog.on_stopButton_clicked" ID="UnittestDialog.on_stopButton_clicked"></a>
 <h4>UnittestDialog.on_stopButton_clicked</h4>
 <b>on_stopButton_clicked</b>(<i></i>)
 <p>
@@ -451,42 +472,51 @@
 </dd>
 </dl><a NAME="UnittestDialog.testErrored" ID="UnittestDialog.testErrored"></a>
 <h4>UnittestDialog.testErrored</h4>
-<b>testErrored</b>(<i>test, exc</i>)
+<b>testErrored</b>(<i>test, exc, id</i>)
 <p>
         Public method called if a test errors.
 </p><dl>
 <dt><i>test</i></dt>
 <dd>
-name of the failed test (string)
+name of the test (string)
 </dd><dt><i>exc</i></dt>
 <dd>
 string representation of the exception (string)
+</dd><dt><i>id</i></dt>
+<dd>
+id of the test (string)
 </dd>
 </dl><a NAME="UnittestDialog.testFailed" ID="UnittestDialog.testFailed"></a>
 <h4>UnittestDialog.testFailed</h4>
-<b>testFailed</b>(<i>test, exc</i>)
+<b>testFailed</b>(<i>test, exc, id</i>)
 <p>
         Public method called if a test fails.
 </p><dl>
 <dt><i>test</i></dt>
 <dd>
-name of the failed test (string)
+name of the test (string)
 </dd><dt><i>exc</i></dt>
 <dd>
 string representation of the exception (string)
+</dd><dt><i>id</i></dt>
+<dd>
+id of the test (string)
 </dd>
 </dl><a NAME="UnittestDialog.testFailedExpected" ID="UnittestDialog.testFailedExpected"></a>
 <h4>UnittestDialog.testFailedExpected</h4>
-<b>testFailedExpected</b>(<i>test, exc</i>)
+<b>testFailedExpected</b>(<i>test, exc, id</i>)
 <p>
-        Public method called if a test fails expected.
+        Public method called if a test fails expectedly.
 </p><dl>
 <dt><i>test</i></dt>
 <dd>
-name of the failed test (string)
+name of the test (string)
 </dd><dt><i>exc</i></dt>
 <dd>
 string representation of the exception (string)
+</dd><dt><i>id</i></dt>
+<dd>
+id of the test (string)
 </dd>
 </dl><a NAME="UnittestDialog.testFinished" ID="UnittestDialog.testFinished"></a>
 <h4>UnittestDialog.testFinished</h4>
@@ -497,16 +527,19 @@
         <b>Note</b>: It is also called if it has already failed or errored.
 </p><a NAME="UnittestDialog.testSkipped" ID="UnittestDialog.testSkipped"></a>
 <h4>UnittestDialog.testSkipped</h4>
-<b>testSkipped</b>(<i>test, reason</i>)
+<b>testSkipped</b>(<i>test, reason, id</i>)
 <p>
         Public method called if a test was skipped.
 </p><dl>
 <dt><i>test</i></dt>
 <dd>
-name of the failed test (string)
+name of the test (string)
 </dd><dt><i>reason</i></dt>
 <dd>
 reason for skipping the test (string)
+</dd><dt><i>id</i></dt>
+<dd>
+id of the test (string)
 </dd>
 </dl><a NAME="UnittestDialog.testStarted" ID="UnittestDialog.testStarted"></a>
 <h4>UnittestDialog.testStarted</h4>
@@ -523,13 +556,16 @@
 </dd>
 </dl><a NAME="UnittestDialog.testSucceededUnexpected" ID="UnittestDialog.testSucceededUnexpected"></a>
 <h4>UnittestDialog.testSucceededUnexpected</h4>
-<b>testSucceededUnexpected</b>(<i>test</i>)
+<b>testSucceededUnexpected</b>(<i>test, id</i>)
 <p>
         Public method called if a test succeeds unexpectedly.
 </p><dl>
 <dt><i>test</i></dt>
 <dd>
-name of the failed test (string)
+name of the test (string)
+</dd><dt><i>id</i></dt>
+<dd>
+id of the test (string)
 </dd>
 </dl>
 <div align="right"><a href="#top">Up</a></div>
--- a/Documentation/Source/eric5.UI.UserInterface.html	Sat Dec 17 16:03:53 2011 +0100
+++ b/Documentation/Source/eric5.UI.UserInterface.html	Sat Dec 17 19:13:19 2011 +0100
@@ -605,12 +605,18 @@
 <td><a href="#UserInterface.__unittestProject">__unittestProject</a></td>
 <td>Private slot for displaying the unittest dialog and run the current project.</td>
 </tr><tr>
+<td><a href="#UserInterface.__unittestRerunFailed">__unittestRerunFailed</a></td>
+<td>Private slot to display the unittest dialog and rerun all failed tests of the last run.</td>
+</tr><tr>
 <td><a href="#UserInterface.__unittestRestart">__unittestRestart</a></td>
-<td>Private slot to display the unittest dialog and rerun the last test.</td>
+<td>Private slot to display the unittest dialog and rerun the last unit test.</td>
 </tr><tr>
 <td><a href="#UserInterface.__unittestScript">__unittestScript</a></td>
 <td>Private slot for displaying the unittest dialog and run the current script.</td>
 </tr><tr>
+<td><a href="#UserInterface.__unittestStopped">__unittestStopped</a></td>
+<td>Private slot to handle the end of a unit test run.</td>
+</tr><tr>
 <td><a href="#UserInterface.__updateExternalToolsActions">__updateExternalToolsActions</a></td>
 <td>Private method to update the external tools actions for the current tool group.</td>
 </tr><tr>
@@ -1757,11 +1763,17 @@
 <b>__unittestProject</b>(<i></i>)
 <p>
         Private slot for displaying the unittest dialog and run the current project.
+</p><a NAME="UserInterface.__unittestRerunFailed" ID="UserInterface.__unittestRerunFailed"></a>
+<h4>UserInterface.__unittestRerunFailed</h4>
+<b>__unittestRerunFailed</b>(<i></i>)
+<p>
+        Private slot to display the unittest dialog and rerun all failed tests
+        of the last run.
 </p><a NAME="UserInterface.__unittestRestart" ID="UserInterface.__unittestRestart"></a>
 <h4>UserInterface.__unittestRestart</h4>
 <b>__unittestRestart</b>(<i></i>)
 <p>
-        Private slot to display the unittest dialog and rerun the last test.
+        Private slot to display the unittest dialog and rerun the last unit test.
 </p><a NAME="UserInterface.__unittestScript" ID="UserInterface.__unittestScript"></a>
 <h4>UserInterface.__unittestScript</h4>
 <b>__unittestScript</b>(<i>prog=None</i>)
@@ -1772,7 +1784,12 @@
 <dd>
 the python program to be opened
 </dd>
-</dl><a NAME="UserInterface.__updateExternalToolsActions" ID="UserInterface.__updateExternalToolsActions"></a>
+</dl><a NAME="UserInterface.__unittestStopped" ID="UserInterface.__unittestStopped"></a>
+<h4>UserInterface.__unittestStopped</h4>
+<b>__unittestStopped</b>(<i></i>)
+<p>
+        Private slot to handle the end of a unit test run.
+</p><a NAME="UserInterface.__updateExternalToolsActions" ID="UserInterface.__updateExternalToolsActions"></a>
 <h4>UserInterface.__updateExternalToolsActions</h4>
 <b>__updateExternalToolsActions</b>(<i></i>)
 <p>
--- a/PyUnit/UnittestDialog.py	Sat Dec 17 16:03:53 2011 +0100
+++ b/PyUnit/UnittestDialog.py	Sat Dec 17 19:13:19 2011 +0100
@@ -37,8 +37,10 @@
     Class implementing the UI to the pyunit package.
     
     @signal unittestFile(str, int, int) emitted to show the source of a unittest file
+    @signal unittestStopped() emitted after a unit test was run
     """
     unittestFile = pyqtSignal(str, int, int)
+    unittestStopped = pyqtSignal()
     
     def __init__(self, prog=None, dbs=None, ui=None, fromEric=False, parent=None,
                  name=None):
@@ -65,6 +67,13 @@
         self.startButton.setWhatsThis(self.trUtf8(
             """<b>Start Test</b>"""
             """<p>This button starts the selected testsuite.</p>"""))
+        self.startFailedButton = self.buttonBox.addButton(
+            self.trUtf8("Rerun Failed"), QDialogButtonBox.ActionRole)
+        self.startFailedButton.setToolTip(
+            self.trUtf8("Reruns failed tests of the selected testsuite"))
+        self.startFailedButton.setWhatsThis(self.trUtf8(
+            """<b>Rerun Failed</b>"""
+            """<p>This button reruns all failed tests of the selected testsuite.</p>"""))
         self.stopButton = self.buttonBox.addButton(
             self.trUtf8("Stop"), QDialogButtonBox.ActionRole)
         self.stopButton.setToolTip(self.trUtf8("Stop the running unittest"))
@@ -73,6 +82,7 @@
             """<p>This button stops a running unittest.</p>"""))
         self.stopButton.setEnabled(False)
         self.startButton.setDefault(True)
+        self.startFailedButton.setEnabled(False)
         
         self.dbs = dbs
         self.__fromEric = fromEric
@@ -104,6 +114,8 @@
             self.trUtf8("^Error: "),
         ]
         
+        self.__failedTests = []
+        
         # now connect the debug server signals if called from the eric5 IDE
         if self.dbs:
             self.dbs.utPrepared.connect(self.__UTPrepared)
@@ -200,7 +212,10 @@
         """
         if self.dbs:
             exts = self.dbs.getExtensions("Python2")
-            if txt.endswith(exts):
+            flags = Utilities.extractFlagsFromFile(txt)
+            if txt.endswith(exts) or \
+               ("FileType" in flags and
+                flags["FileType"] in ["Python", "Python2"]):
                 self.coverageCheckBox.setChecked(False)
                 self.coverageCheckBox.setEnabled(False)
                 self.localCheckBox.setChecked(False)
@@ -220,11 +235,15 @@
             self.on_startButton_clicked()
         elif button == self.stopButton:
             self.on_stopButton_clicked()
+        elif button == self.startFailedButton:
+            self.on_startButton_clicked(failedOnly=True)
         
     @pyqtSlot()
-    def on_startButton_clicked(self):
+    def on_startButton_clicked(self, failedOnly=False):
         """
         Public slot to start the test.
+        
+        @keyparam failedOnly flag indicating to run only failed tests (boolean)
         """
         if self.running:
             return
@@ -266,7 +285,13 @@
                     clientType = "Python2"
                 else:
                     clientType = ""
+            if failedOnly and self.__failedTests:
+                failed = [t.split(".", 1)[1] for t in self.__failedTests]
+            else:
+                failed = []
+            self.__failedTests = []
             self.dbs.remoteUTPrepare(prog, self.testName, testFunctionName,
+                failed,
                 self.coverageCheckBox.isChecked(), mainScript,
                 self.coverageEraseCheckBox.isChecked(), clientType=clientType)
         else:
@@ -285,8 +310,13 @@
             try:
                 module = __import__(self.testName)
                 try:
-                    test = unittest.defaultTestLoader.loadTestsFromName(
-                        testFunctionName, module)
+                    if failedOnly and self.__failedTests:
+                        test = unittest.defaultTestLoader.loadTestsFromNames(
+                            [t.split(".", 1)[1] for t in self.__failedTests],
+                            module)
+                    else:
+                        test = unittest.defaultTestLoader.loadTestsFromName(
+                            testFunctionName, module)
                 except AttributeError:
                     test = unittest.defaultTestLoader.loadTestsFromModule(module)
             except:
@@ -318,6 +348,7 @@
             
             self.testResult = QtTestResult(self)
             self.totalTests = test.countTestCases()
+            self.__failedTests = []
             self.__setRunningMode()
             if cover:
                 cover.start()
@@ -420,8 +451,14 @@
         self.running = False
         
         self.startButton.setEnabled(True)
+        self.startFailedButton.setEnabled(bool(self.__failedTests))
         self.stopButton.setEnabled(False)
-        self.startButton.setDefault(True)
+        if self.__failedTests:
+            self.startFailedButton.setDefault(True)
+            self.startButton.setDefault(False)
+        else:
+            self.startFailedButton.setDefault(False)
+            self.startButton.setDefault(True)
         if self.runCount == 1:
             self.sbLabel.setText(self.trUtf8("Ran {0} test in {1:.3f}s")
                 .format(self.runCount, self.timeTaken))
@@ -429,39 +466,46 @@
             self.sbLabel.setText(self.trUtf8("Ran {0} tests in {1:.3f}s")
                 .format(self.runCount, self.timeTaken))
         self.progressLed.off()
+        
+        self.unittestStopped.emit()
 
-    def testFailed(self, test, exc):
+    def testFailed(self, test, exc, id):
         """
         Public method called if a test fails.
         
-        @param test name of the failed test (string)
+        @param test name of the test (string)
         @param exc string representation of the exception (string)
+        @param id id of the test (string)
         """
         self.failCount += 1
         self.progressCounterFailureCount.setText(str(self.failCount))
         itm = QListWidgetItem(self.trUtf8("Failure: {0}").format(test))
         itm.setData(Qt.UserRole, (test, exc))
         self.errorsListWidget.insertItem(0, itm)
+        self.__failedTests.append(id)
         
-    def testErrored(self, test, exc):
+    def testErrored(self, test, exc, id):
         """
         Public method called if a test errors.
         
-        @param test name of the failed test (string)
+        @param test name of the test (string)
         @param exc string representation of the exception (string)
+        @param id id of the test (string)
         """
         self.errorCount += 1
         self.progressCounterErrorCount.setText(str(self.errorCount))
         itm = QListWidgetItem(self.trUtf8("Error: {0}").format(test))
         itm.setData(Qt.UserRole, (test, exc))
         self.errorsListWidget.insertItem(0, itm)
+        self.__failedTests.append(id)
         
-    def testSkipped(self, test, reason):
+    def testSkipped(self, test, reason, id):
         """
         Public method called if a test was skipped.
         
-        @param test name of the failed test (string)
+        @param test name of the test (string)
         @param reason reason for skipping the test (string)
+        @param id id of the test (string)
         """
         self.skippedCount += 1
         self.progressCounterSkippedCount.setText(str(self.skippedCount))
@@ -469,12 +513,13 @@
         itm.setForeground(Qt.blue)
         self.testsListWidget.insertItem(1, itm)
         
-    def testFailedExpected(self, test, exc):
+    def testFailedExpected(self, test, exc, id):
         """
-        Public method called if a test fails expected.
+        Public method called if a test fails expectedly.
         
-        @param test name of the failed test (string)
+        @param test name of the test (string)
         @param exc string representation of the exception (string)
+        @param id id of the test (string)
         """
         self.expectedFailureCount += 1
         self.progressCounterExpectedFailureCount.setText(str(self.expectedFailureCount))
@@ -482,11 +527,12 @@
         itm.setForeground(Qt.blue)
         self.testsListWidget.insertItem(1, itm)
         
-    def testSucceededUnexpected(self, test):
+    def testSucceededUnexpected(self, test, id):
         """
         Public method called if a test succeeds unexpectedly.
         
-        @param test name of the failed test (string)
+        @param test name of the test (string)
+        @param id id of the test (string)
         """
         self.unexpectedSuccessCount += 1
         self.progressCounterUnexpectedSuccessCount.setText(
@@ -586,6 +632,14 @@
         if fmatch:
             fn, ln = fmatch.group(1, 2)
             self.unittestFile.emit(fn, int(ln), 1)
+    
+    def hasFailedTests(self):
+        """
+        Public method to check, if there are failed tests from the last run.
+        
+        @return flag indicating the presence of failed tests (boolean)
+        """
+        return bool(self.__failedTests)
 
 
 class QtTestResult(unittest.TestResult):
@@ -612,7 +666,7 @@
         """
         super().addFailure(test, err)
         tracebackLines = self._exc_info_to_string(err, test)
-        self.parent.testFailed(str(test), tracebackLines)
+        self.parent.testFailed(str(test), tracebackLines, test.id())
         
     def addError(self, test, err):
         """
@@ -623,7 +677,7 @@
         """
         super().addError(test, err)
         tracebackLines = self._exc_info_to_string(err, test)
-        self.parent.testErrored(str(test), tracebackLines)
+        self.parent.testErrored(str(test), tracebackLines, test.id())
         
     def addSkip(self, test, reason):
         """
@@ -633,7 +687,7 @@
         @param reason reason for skipping the test (string)
         """
         super().addSkip(test, reason)
-        self.parent.testSkipped(str(test), reason)
+        self.parent.testSkipped(str(test), reason, test.id())
         
     def addExpectedFailure(self, test, err):
         """
@@ -644,7 +698,7 @@
         """
         super().addExpectedFailure(test, err)
         tracebackLines = self._exc_info_to_string(err, test)
-        self.parent.testFailedExpected(str(test), tracebackLines)
+        self.parent.testFailedExpected(str(test), tracebackLines, test.id())
         
     def addUnexpectedSuccess(self, test):
         """
@@ -653,7 +707,7 @@
         @param test reference to the test object
         """
         super().addUnexpectedSuccess(test)
-        self.parent.testSucceededUnexpected(str(test))
+        self.parent.testSucceededUnexpected(str(test), test.id())
         
     def startTest(self, test):
         """
--- a/UI/UserInterface.py	Sat Dec 17 16:03:53 2011 +0100
+++ b/UI/UserInterface.py	Sat Dec 17 19:13:19 2011 +0100
@@ -1764,6 +1764,20 @@
         self.utRestartAct.setEnabled(False)
         self.actions.append(self.utRestartAct)
         
+        self.utRerunFailedAct = E5Action(self.trUtf8('Unittest Rerun Failed'),
+            UI.PixmapCache.getIcon("unittestRerunFailed.png"),
+            self.trUtf8('Rerun Failed Tests...'),
+            0, 0, self.utActGrp, 'unittest_rerun_failed')
+        self.utRerunFailedAct.setStatusTip(self.trUtf8(
+            'Rerun failed tests of the last run'))
+        self.utRerunFailedAct.setWhatsThis(self.trUtf8(
+            """<b>Rerun Failed Tests</b>"""
+            """<p>Rerun all tests that failed during the last unittest run.</p>"""
+        ))
+        self.utRerunFailedAct.triggered[()].connect(self.__unittestRerunFailed)
+        self.utRerunFailedAct.setEnabled(False)
+        self.actions.append(self.utRerunFailedAct)
+        
         self.utScriptAct = E5Action(self.trUtf8('Unittest Script'),
             UI.PixmapCache.getIcon("unittestScript.png"),
             self.trUtf8('Unittest &Script...'),
@@ -2268,6 +2282,8 @@
         self.__menus["unittest"].addAction(self.utDialogAct)
         self.__menus["unittest"].addSeparator()
         self.__menus["unittest"].addAction(self.utRestartAct)
+        self.__menus["unittest"].addAction(self.utRerunFailedAct)
+        self.__menus["unittest"].addSeparator()
         self.__menus["unittest"].addAction(self.utScriptAct)
         self.__menus["unittest"].addAction(self.utProjectAct)
         
@@ -2431,6 +2447,8 @@
         unittesttb.addAction(self.utDialogAct)
         unittesttb.addSeparator()
         unittesttb.addAction(self.utRestartAct)
+        unittesttb.addAction(self.utRerunFailedAct)
+        unittesttb.addSeparator()
         unittesttb.addAction(self.utScriptAct)
         unittesttb.addAction(self.utProjectAct)
         self.toolbarManager.addToolBar(unittesttb, unittesttb.windowTitle())
@@ -3993,6 +4011,14 @@
             self.unittestDialog = UnittestDialog(
                 None, self.debuggerUI.debugServer, self, fromEric=True)
             self.unittestDialog.unittestFile.connect(self.viewmanager.setFileLine)
+            self.unittestDialog.unittestStopped.connect(self.__unittestStopped)
+    
+    def __unittestStopped(self):
+        """
+        Private slot to handle the end of a unit test run.
+        """
+        self.utRerunFailedAct.setEnabled(self.unittestDialog.hasFailedTests())
+        self.utRestartAct.setEnabled(True)
     
     def __unittest(self):
         """
@@ -4021,7 +4047,8 @@
         self.unittestDialog.insertProg(prog)
         self.unittestDialog.show()
         self.unittestDialog.raise_()
-        self.utRestartAct.setEnabled(True)
+        self.utRestartAct.setEnabled(False)
+        self.utRerunFailedAct.setEnabled(False)
         
     def __unittestProject(self):
         """
@@ -4045,17 +4072,28 @@
         self.unittestDialog.insertProg(prog)
         self.unittestDialog.show()
         self.unittestDialog.raise_()
-        self.utRestartAct.setEnabled(True)
+        self.utRestartAct.setEnabled(False)
+        self.utRerunFailedAct.setEnabled(False)
         
     def __unittestRestart(self):
         """
-        Private slot to display the unittest dialog and rerun the last test.
+        Private slot to display the unittest dialog and rerun the last unit test.
         """
         self.__createUnitTestDialog()
         self.unittestDialog.show()
         self.unittestDialog.raise_()
         self.unittestDialog.on_startButton_clicked()
         
+    def __unittestRerunFailed(self):
+        """
+        Private slot to display the unittest dialog and rerun all failed tests
+        of the last run.
+        """
+        self.__createUnitTestDialog()
+        self.unittestDialog.show()
+        self.unittestDialog.raise_()
+        self.unittestDialog.on_startButton_clicked(failedOnly=True)
+        
     def __designer(self, fn=None, version=0):
         """
         Private slot to start the Qt-Designer executable.
@@ -5136,6 +5174,7 @@
         self.utProjectAct.setEnabled(False)
         if not self.utEditorOpen:
             self.utRestartAct.setEnabled(False)
+            self.utRerunFailedAct.setEnabled(False)
         self.utProjectOpen = False
         
     def __programChange(self, fn):
@@ -5161,6 +5200,7 @@
         self.utEditorOpen = False
         if not self.utProjectOpen:
             self.utRestartAct.setEnabled(False)
+            self.utRerunFailedAct.setEnabled(False)
         self.__setWindowCaption(editor="")
         
     def __editorOpened(self, fn):
--- a/changelog	Sat Dec 17 16:03:53 2011 +0100
+++ b/changelog	Sat Dec 17 19:13:19 2011 +0100
@@ -2,11 +2,11 @@
 ----------
 Version 5.2-snapshot-2011mmdd:
 - bug fixes
-- enhancements of the debugger
+- Debugger
   -- extended debugger to show class variables
   -- extended debugger to ignore exceptions occuring in lines having a
      '__IGNORE_EXCEPTION__' line flag set
-- enhancements of the editor
+- Editor
   -- added an action to preview the file in the eric web browser. File name
      extension to support this feature can be configured on the
      Editor->Filehandling page
@@ -16,14 +16,14 @@
   -- added a syntax check while typing function
   -- added source navigation function for Python 2, Python 3 and Ruby sources
   -- added support for QScintilla 2.6 (and newer)
-- enhancements of the cooperation functions
+- Cooperation Functions
   -- added code to the cooperation functions to support IPv6
-- enhancements of the source browser
+- Source Browser
   -- show class attributes, class methods and static methods with different icons
   -- added context menu for attributes
-- enhancements of the source documentor
+- Source Documentor
   -- introduced separate sections for class methods and static methods
-- enhancements of the version control system interfaces
+- Version Control System Interfaces
   -- all
      --- made "Show Log" behave like "Show Limited Log" and removed the later
      --- added context menu actions to select/deselect all commitable items
@@ -36,21 +36,23 @@
      --- added support for importing patches
      --- added support for exporting patches
      --- added configuration option to create backup files when reverting changes
-- enhancements of the web browser
+- Web Browser
   -- added the "Do Not Track" feature
   -- added code to indicate invalid SSL certificates in the URL entry and the SSL
      info dialog
   -- added a dialog to show RSS feeds
   -- added a dialog to show some information about the current site
-- enhancements of the tools
+- Tools
   -- API files generator
      --- added code to write base class information to be used by the
          eric assistant plug-in
-- enhancements of the plug-in manager tools
+- Plug-in Manager Tools
   -- added code to download and install plug-ins
-- enhancements of the tasks manager
+- Tasks Manager
   -- made tasks manager forget about global file tasks when file is closed
      (configurable via configuration dialog)
+- Unit Test
+  -- extended the unit test module to allow to rerun only failed tests of the last
 - other enhancements
   -- added an action to launch another instantiation of eric5
 
--- a/i18n/eric5_cs.ts	Sat Dec 17 16:03:53 2011 +0100
+++ b/i18n/eric5_cs.ts	Sat Dec 17 19:13:19 2011 +0100
@@ -36,42 +36,42 @@
 <context>
     <name>AboutPlugin</name>
     <message>
-        <location filename="Plugins/PluginAbout.py" line="81"/>
+        <location filename="Plugins/PluginAbout.py" line="82"/>
         <source>Display information about this software</source>
         <translation>Zobrazit informace a tomto software</translation>
     </message>
     <message>
-        <location filename="Plugins/PluginAbout.py" line="89"/>
+        <location filename="Plugins/PluginAbout.py" line="91"/>
         <source>About Qt</source>
         <translation>O Qt</translation>
     </message>
     <message>
-        <location filename="Plugins/PluginAbout.py" line="89"/>
+        <location filename="Plugins/PluginAbout.py" line="91"/>
         <source>About &amp;Qt</source>
         <translation>O &amp;Qt</translation>
     </message>
     <message>
-        <location filename="Plugins/PluginAbout.py" line="92"/>
-        <source>Display information about the Qt toolkit</source>
-        <translation>Zobrazit informace o Qt toolkitu</translation>
-    </message>
-    <message>
         <location filename="Plugins/PluginAbout.py" line="94"/>
+        <source>Display information about the Qt toolkit</source>
+        <translation>Zobrazit informace o Qt toolkitu</translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginAbout.py" line="96"/>
         <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="Plugins/PluginAbout.py" line="77"/>
+        <location filename="Plugins/PluginAbout.py" line="78"/>
         <source>About {0}</source>
         <translation>O aplikaci {0}</translation>
     </message>
     <message>
-        <location filename="Plugins/PluginAbout.py" line="77"/>
+        <location filename="Plugins/PluginAbout.py" line="78"/>
         <source>&amp;About {0}</source>
         <translation>O &amp;aplikaci {0}</translation>
     </message>
     <message>
-        <location filename="Plugins/PluginAbout.py" line="82"/>
+        <location filename="Plugins/PluginAbout.py" line="83"/>
         <source>&lt;b&gt;About {0}&lt;/b&gt;&lt;p&gt;Display some information about this software.&lt;/p&gt;</source>
         <translation>&lt;b&gt;O aplikaci {0}&lt;/b&gt;&lt;p&gt;Zobrazí informace o tomto software.&lt;/p&gt;</translation>
     </message>
@@ -3823,17 +3823,17 @@
         <translation>Spojení z ilegálního hosta</translation>
     </message>
     <message>
-        <location filename="Debugger/DebugServer.py" line="1320"/>
+        <location filename="Debugger/DebugServer.py" line="1328"/>
         <source>Passive debug connection received</source>
         <translation>Spojení pasivního debugeru přijato</translation>
     </message>
     <message>
-        <location filename="Debugger/DebugServer.py" line="1334"/>
+        <location filename="Debugger/DebugServer.py" line="1342"/>
         <source>Passive debug connection closed</source>
         <translation>Spojení pasivního debugeru uzavřeno</translation>
     </message>
     <message>
-        <location filename="Debugger/DebugServer.py" line="1162"/>
+        <location filename="Debugger/DebugServer.py" line="1165"/>
         <source>
 Not connected
 </source>
@@ -4931,22 +4931,22 @@
         <translation></translation>
     </message>
     <message>
-        <location filename="Debugger/DebuggerInterfacePython.py" line="744"/>
+        <location filename="Debugger/DebuggerInterfacePython.py" line="747"/>
         <source>Parent Process</source>
         <translation>Rodičovský proces</translation>
     </message>
     <message>
-        <location filename="Debugger/DebuggerInterfacePython.py" line="744"/>
+        <location filename="Debugger/DebuggerInterfacePython.py" line="747"/>
         <source>Child process</source>
         <translation>Dětský proces</translation>
     </message>
     <message>
-        <location filename="Debugger/DebuggerInterfacePython.py" line="745"/>
+        <location filename="Debugger/DebuggerInterfacePython.py" line="748"/>
         <source>Client forking</source>
         <translation>Větvení klienta</translation>
     </message>
     <message>
-        <location filename="Debugger/DebuggerInterfacePython.py" line="745"/>
+        <location filename="Debugger/DebuggerInterfacePython.py" line="748"/>
         <source>Select the fork branch to follow.</source>
         <translation>Pokračovat ve fork větvi.</translation>
     </message>
@@ -4969,22 +4969,22 @@
         <translation>&lt;p&gt;Debugovací backend nelze spustit.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Debugger/DebuggerInterfacePython3.py" line="740"/>
+        <location filename="Debugger/DebuggerInterfacePython3.py" line="743"/>
         <source>Parent Process</source>
         <translation>Rodičovský proces</translation>
     </message>
     <message>
-        <location filename="Debugger/DebuggerInterfacePython3.py" line="740"/>
+        <location filename="Debugger/DebuggerInterfacePython3.py" line="743"/>
         <source>Child process</source>
         <translation>Dětský proces</translation>
     </message>
     <message>
-        <location filename="Debugger/DebuggerInterfacePython3.py" line="741"/>
+        <location filename="Debugger/DebuggerInterfacePython3.py" line="744"/>
         <source>Client forking</source>
         <translation>Větvení klienta</translation>
     </message>
     <message>
-        <location filename="Debugger/DebuggerInterfacePython3.py" line="741"/>
+        <location filename="Debugger/DebuggerInterfacePython3.py" line="744"/>
         <source>Select the fork branch to follow.</source>
         <translation>Pokračovat ve fork větvi.</translation>
     </message>
@@ -7210,7 +7210,7 @@
         <translation>Editovat breakpoint...</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4226"/>
+        <location filename="QScintilla/Editor.py" line="4227"/>
         <source>Enable breakpoint</source>
         <translation>Aktivovat breakpoint</translation>
     </message>
@@ -7300,122 +7300,122 @@
         <translation>Soubor je modifikován</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="3738"/>
+        <location filename="QScintilla/Editor.py" line="3737"/>
         <source>Autocompletion</source>
         <translation>Autodoplňování</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="3738"/>
+        <location filename="QScintilla/Editor.py" line="3737"/>
         <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="4229"/>
+        <location filename="QScintilla/Editor.py" line="4230"/>
         <source>Disable breakpoint</source>
         <translation>Deaktivovat breakpoint</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4546"/>
+        <location filename="QScintilla/Editor.py" line="4547"/>
         <source>Code Coverage</source>
         <translation>Pokrytí kódu</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4546"/>
+        <location filename="QScintilla/Editor.py" line="4547"/>
         <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="4592"/>
+        <location filename="QScintilla/Editor.py" line="4593"/>
         <source>Show Code Coverage Annotations</source>
         <translation>Zobrazit poznámky pokrytí kódu</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4588"/>
+        <location filename="QScintilla/Editor.py" line="4589"/>
         <source>All lines have been covered.</source>
         <translation>Všechny řádky byly pokryty.</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4592"/>
+        <location filename="QScintilla/Editor.py" line="4593"/>
         <source>There is no coverage file available.</source>
         <translation>Soubor s pokrytím není dostupný.</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4684"/>
+        <location filename="QScintilla/Editor.py" line="4685"/>
         <source>Profile Data</source>
         <translation>Profilovat data</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4684"/>
+        <location filename="QScintilla/Editor.py" line="4685"/>
         <source>Please select a profile file</source>
         <translation>Prosím, vyberte soubor s profilem</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4814"/>
+        <location filename="QScintilla/Editor.py" line="4815"/>
         <source>Syntax Error</source>
         <translation>Chyba syntaxe</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4814"/>
+        <location filename="QScintilla/Editor.py" line="4815"/>
         <source>No syntax error message available.</source>
         <translation>Hlášení syntaktické chyby není dostupné.</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5039"/>
+        <location filename="QScintilla/Editor.py" line="5040"/>
         <source>Macro Name</source>
         <translation>Název makra</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5039"/>
+        <location filename="QScintilla/Editor.py" line="5040"/>
         <source>Select a macro name:</source>
         <translation>Vyberte název makra:</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5067"/>
+        <location filename="QScintilla/Editor.py" line="5068"/>
         <source>Load macro file</source>
         <translation>Načíst soubor makra</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5107"/>
+        <location filename="QScintilla/Editor.py" line="5108"/>
         <source>Macro files (*.macro)</source>
         <translation>Macro soubory (*.macro)</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5088"/>
+        <location filename="QScintilla/Editor.py" line="5089"/>
         <source>Error loading macro</source>
         <translation>Chyba při načítání makra</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5107"/>
+        <location filename="QScintilla/Editor.py" line="5108"/>
         <source>Save macro file</source>
         <translation>Uložit soubor s makrem</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5124"/>
+        <location filename="QScintilla/Editor.py" line="5125"/>
         <source>Save macro</source>
         <translation>Uložit makro</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5139"/>
+        <location filename="QScintilla/Editor.py" line="5140"/>
         <source>Error saving macro</source>
         <translation>Chyba při ukládání makra</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5150"/>
+        <location filename="QScintilla/Editor.py" line="5151"/>
         <source>Start Macro Recording</source>
         <translation>Spustit záznam makra</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5150"/>
+        <location filename="QScintilla/Editor.py" line="5151"/>
         <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="5175"/>
+        <location filename="QScintilla/Editor.py" line="5176"/>
         <source>Macro Recording</source>
         <translation>Záznam makra</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5175"/>
+        <location filename="QScintilla/Editor.py" line="5176"/>
         <source>Enter name of the macro:</source>
         <translation>Vložte název makra:</translation>
     </message>
@@ -7425,77 +7425,77 @@
         <translation type="obsolete">&lt;br&gt;&lt;b&gt;Pozor:&lt;/b&gt; Ztratíte všechny změny pokud jej znovu otevřete.</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5300"/>
+        <location filename="QScintilla/Editor.py" line="5301"/>
         <source>File changed</source>
         <translation>Soubor změněn</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5496"/>
+        <location filename="QScintilla/Editor.py" line="5497"/>
         <source>Drop Error</source>
         <translation>Zahodit chybu</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5514"/>
+        <location filename="QScintilla/Editor.py" line="5515"/>
         <source>Resources</source>
         <translation>Zdroje</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5516"/>
+        <location filename="QScintilla/Editor.py" line="5517"/>
         <source>Add file...</source>
         <translation>Přidat soubor...</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5518"/>
+        <location filename="QScintilla/Editor.py" line="5519"/>
         <source>Add files...</source>
         <translation>Přidat soubory...</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5520"/>
+        <location filename="QScintilla/Editor.py" line="5521"/>
         <source>Add aliased file...</source>
         <translation>Přidat zástupce souboru...</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5522"/>
+        <location filename="QScintilla/Editor.py" line="5523"/>
         <source>Add localized resource...</source>
         <translation>Přidat lokalizované resource...</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5525"/>
+        <location filename="QScintilla/Editor.py" line="5526"/>
         <source>Add resource frame</source>
         <translation>Přidat resource frame</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5543"/>
+        <location filename="QScintilla/Editor.py" line="5544"/>
         <source>Add file resource</source>
         <translation>Přidat soubor resource</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5559"/>
+        <location filename="QScintilla/Editor.py" line="5560"/>
         <source>Add file resources</source>
         <translation>Přidat soubory resource</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5586"/>
+        <location filename="QScintilla/Editor.py" line="5587"/>
         <source>Add aliased file resource</source>
         <translation>Přidat zástupce souboru resource</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5647"/>
+        <location filename="QScintilla/Editor.py" line="5648"/>
         <source>Package Diagram</source>
         <translation>Diagram balíčku</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5647"/>
+        <location filename="QScintilla/Editor.py" line="5648"/>
         <source>Include class attributes?</source>
         <translation>Včetně atributů třídy?</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5676"/>
+        <location filename="QScintilla/Editor.py" line="5677"/>
         <source>Application Diagram</source>
         <translation>Diagram aplikace</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5676"/>
+        <location filename="QScintilla/Editor.py" line="5677"/>
         <source>Include module names?</source>
         <translation>Včetně jmen modulů?</translation>
     </message>
@@ -7515,12 +7515,12 @@
         <translation>Nebyl zadán forám exportu. Zrušeno....</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5664"/>
+        <location filename="QScintilla/Editor.py" line="5665"/>
         <source>Imports Diagram</source>
         <translation>Importovat diagram</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5664"/>
+        <location filename="QScintilla/Editor.py" line="5665"/>
         <source>Include imports from external modules?</source>
         <translation>Zahrnout importy z externích modulů?</translation>
     </message>
@@ -7595,7 +7595,7 @@
         <translation>Použít Pygments lexer.</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5914"/>
+        <location filename="QScintilla/Editor.py" line="5915"/>
         <source>Check spelling...</source>
         <translation>Zatrhnout kontrolu...</translation>
     </message>
@@ -7605,12 +7605,12 @@
         <translation>Zatrhnout výběr kontroly...</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5916"/>
+        <location filename="QScintilla/Editor.py" line="5917"/>
         <source>Add to dictionary</source>
         <translation>Přidat do slovníku</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5918"/>
+        <location filename="QScintilla/Editor.py" line="5919"/>
         <source>Ignore All</source>
         <translation>Ignorovat vše</translation>
     </message>
@@ -7655,12 +7655,12 @@
         <translation type="obsolete">&lt;p&gt;Soubor &lt;b&gt;{0}&lt;/b&gt; již existuje.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5081"/>
+        <location filename="QScintilla/Editor.py" line="5082"/>
         <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="5088"/>
+        <location filename="QScintilla/Editor.py" line="5089"/>
         <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>
@@ -7670,27 +7670,27 @@
         <translation type="obsolete">&lt;p&gt;Soubor s makrem &lt;b&gt;{0}&lt;/b&gt; již existuje.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5139"/>
+        <location filename="QScintilla/Editor.py" line="5140"/>
         <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="5291"/>
+        <location filename="QScintilla/Editor.py" line="5292"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has been changed while it was opened in eric5. Reread it?&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor &lt;b&gt;{0}&lt;/b&gt; byl změněn po té co již byl načten do eric5. Znovu načíst?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5379"/>
+        <location filename="QScintilla/Editor.py" line="5380"/>
         <source>{0} (ro)</source>
         <translation>{0} (ro)</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5496"/>
+        <location filename="QScintilla/Editor.py" line="5497"/>
         <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="5586"/>
+        <location filename="QScintilla/Editor.py" line="5587"/>
         <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>
@@ -7715,12 +7715,12 @@
         <translation>Vyčistit varování</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4940"/>
+        <location filename="QScintilla/Editor.py" line="4941"/>
         <source>py3flakes Warning</source>
         <translation>py3flakes varování</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4940"/>
+        <location filename="QScintilla/Editor.py" line="4941"/>
         <source>No py3flakes warning message available.</source>
         <translation>Varování py3flakes není dostupné.</translation>
     </message>
@@ -7730,42 +7730,42 @@
         <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="5124"/>
+        <location filename="QScintilla/Editor.py" line="5125"/>
         <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="4983"/>
+        <location filename="QScintilla/Editor.py" line="4984"/>
         <source>Warning: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4989"/>
+        <location filename="QScintilla/Editor.py" line="4990"/>
         <source>Error: {0}</source>
         <translation type="unfinished">Chyby: {0}</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5296"/>
+        <location filename="QScintilla/Editor.py" line="5297"/>
         <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>
     <message>
-        <location filename="QScintilla/Editor.py" line="3834"/>
+        <location filename="QScintilla/Editor.py" line="3833"/>
         <source>Activating Auto-Completion Provider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="3834"/>
+        <location filename="QScintilla/Editor.py" line="3833"/>
         <source>Auto-completion provider cannot be connected because there is already another one active. Please check your configuration.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4019"/>
+        <location filename="QScintilla/Editor.py" line="4018"/>
         <source>Activating Calltip Provider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4019"/>
+        <location filename="QScintilla/Editor.py" line="4018"/>
         <source>Calltip provider cannot be connected because there is already another one active. Please check your configuration.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -28524,7 +28524,7 @@
         <translation>Chcete editovat parametry VCS příkazu?</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="2874"/>
+        <location filename="Project/Project.py" line="2898"/>
         <source>New project</source>
         <translation>Nový projekt</translation>
     </message>
@@ -28539,7 +28539,7 @@
         <translation>Výběr verzovacího systému projektu</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="2887"/>
+        <location filename="Project/Project.py" line="2911"/>
         <source>Open project</source>
         <translation>Otevřít projekt</translation>
     </message>
@@ -28554,7 +28554,7 @@
         <translation>Soubory projektu (*.e4p)</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="2921"/>
+        <location filename="Project/Project.py" line="2945"/>
         <source>Save project as</source>
         <translation>Uložit projekt jako</translation>
     </message>
@@ -28593,587 +28593,587 @@
         </translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="2874"/>
+        <location filename="Project/Project.py" line="2898"/>
         <source>&amp;New...</source>
         <translation>&amp;Nový...</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="2878"/>
-        <source>Generate a new project</source>
-        <translation>Vygenerovat nový projekt</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="2879"/>
-        <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="2887"/>
-        <source>&amp;Open...</source>
-        <translation>&amp;Otevřít...</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="2891"/>
-        <source>Open an existing project</source>
-        <translation>Otevřít existující projekt</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="2892"/>
-        <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="2899"/>
-        <source>Close project</source>
-        <translation>Zavřít projekt</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="2899"/>
-        <source>&amp;Close</source>
-        <translation>&amp;Zavřít</translation>
-    </message>
-    <message>
         <location filename="Project/Project.py" line="2902"/>
-        <source>Close the current project</source>
-        <translation>Uzavře aktuální projekt</translation>
+        <source>Generate a new project</source>
+        <translation>Vygenerovat nový projekt</translation>
     </message>
     <message>
         <location filename="Project/Project.py" line="2903"/>
+        <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="2911"/>
+        <source>&amp;Open...</source>
+        <translation>&amp;Otevřít...</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="2915"/>
+        <source>Open an existing project</source>
+        <translation>Otevřít existující projekt</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="2916"/>
+        <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="2923"/>
+        <source>Close project</source>
+        <translation>Zavřít projekt</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="2923"/>
+        <source>&amp;Close</source>
+        <translation>&amp;Zavřít</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="2926"/>
+        <source>Close the current project</source>
+        <translation>Uzavře aktuální projekt</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="2927"/>
         <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="2910"/>
-        <source>Save project</source>
-        <translation>Uložit projekt</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3064"/>
-        <source>&amp;Save</source>
-        <translation>&amp;Uložit</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="2913"/>
-        <source>Save the current project</source>
-        <translation>Uložit aktuální projekt</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="2914"/>
-        <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="2921"/>
-        <source>Save &amp;as...</source>
-        <translation>Uložit j&amp;ako...</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="2924"/>
-        <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="2925"/>
-        <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="2934"/>
-        <source>Add files to project</source>
-        <translation>Přidat soubory do projektu</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="2934"/>
-        <source>Add &amp;files...</source>
-        <translation>&amp;Přidat soubory...</translation>
+        <source>Save project</source>
+        <translation>Uložit projekt</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3088"/>
+        <source>&amp;Save</source>
+        <translation>&amp;Uložit</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="2937"/>
+        <source>Save the current project</source>
+        <translation>Uložit aktuální projekt</translation>
     </message>
     <message>
         <location filename="Project/Project.py" line="2938"/>
-        <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="2939"/>
-        <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>
+        <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="2945"/>
+        <source>Save &amp;as...</source>
+        <translation>Uložit j&amp;ako...</translation>
     </message>
     <message>
         <location filename="Project/Project.py" line="2948"/>
-        <source>Add directory to project</source>
-        <translation>Přidat adresář do projektu</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="2948"/>
-        <source>Add directory...</source>
-        <translation>Přidat adresář...</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="2952"/>
-        <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="2954"/>
-        <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>
+        <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="2949"/>
+        <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="2958"/>
+        <source>Add files to project</source>
+        <translation>Přidat soubory do projektu</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="2958"/>
+        <source>Add &amp;files...</source>
+        <translation>&amp;Přidat soubory...</translation>
     </message>
     <message>
         <location filename="Project/Project.py" line="2962"/>
-        <source>Add translation to project</source>
-        <translation>Přidat překlad do projektu</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="2962"/>
-        <source>Add &amp;translation...</source>
-        <translation>Přida&amp;t překlad...</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="2966"/>
-        <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="2968"/>
-        <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="2976"/>
-        <source>Search new files</source>
-        <translation>Hledat nové soubory</translation>
+        <source>Add files to the current project</source>
+        <translation>Přidat soubory do aktuálního projektu</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="2963"/>
+        <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="2972"/>
+        <source>Add directory to project</source>
+        <translation>Přidat adresář do projektu</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="2972"/>
+        <source>Add directory...</source>
+        <translation>Přidat adresář...</translation>
     </message>
     <message>
         <location filename="Project/Project.py" line="2976"/>
-        <source>Searc&amp;h new files...</source>
-        <translation>&amp;Hledat nové soubory...</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="2979"/>
-        <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="2980"/>
-        <source>&lt;b&gt;Search new files...&lt;/b&gt;&lt;p&gt;This searches for new files (sources, *.ui, *.idl) in the project directory and registered subdirectories.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Hledat nové soubory...&lt;/b&gt;&lt;p&gt;Hledají se nové soubory (zdrojové, *.ui, *.idl) v adresáři projektu a v registrovaných podadresářích.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="2988"/>
-        <source>Project properties</source>
-        <translation>Nastavení projektu</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="2988"/>
-        <source>&amp;Properties...</source>
-        <translation>&amp;Natavení...</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="2991"/>
-        <source>Show the project properties</source>
-        <translation>Zobrazit nastavení projektu</translation>
+        <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="2978"/>
+        <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="2986"/>
+        <source>Add translation to project</source>
+        <translation>Přidat překlad do projektu</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="2986"/>
+        <source>Add &amp;translation...</source>
+        <translation>Přida&amp;t překlad...</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="2990"/>
+        <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="2992"/>
-        <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="2999"/>
-        <source>User project properties</source>
-        <translation>Uživatelská nastavení projektu</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="2999"/>
-        <source>&amp;User Properties...</source>
-        <translation>Uživat&amp;elská nastavení...</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3002"/>
-        <source>Show the user specific project properties</source>
-        <translation>Zobrazit uživatelem definovaná nastavení projektu</translation>
+        <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="3000"/>
+        <source>Search new files</source>
+        <translation>Hledat nové soubory</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3000"/>
+        <source>Searc&amp;h new files...</source>
+        <translation>&amp;Hledat nové soubory...</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3003"/>
+        <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="3004"/>
-        <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="3011"/>
-        <source>Filetype Associations</source>
-        <translation>Asociace typů souborů</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3011"/>
-        <source>Filetype Associations...</source>
-        <translation>Asociace typů souborů...</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3014"/>
-        <source>Show the project filetype associations</source>
-        <translation>Zobrazit asociace typů souborů</translation>
+        <source>&lt;b&gt;Search new files...&lt;/b&gt;&lt;p&gt;This searches for new files (sources, *.ui, *.idl) in the project directory and registered subdirectories.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Hledat nové soubory...&lt;/b&gt;&lt;p&gt;Hledají se nové soubory (zdrojové, *.ui, *.idl) v adresáři projektu a v registrovaných podadresářích.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3012"/>
+        <source>Project properties</source>
+        <translation>Nastavení projektu</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3012"/>
+        <source>&amp;Properties...</source>
+        <translation>&amp;Natavení...</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3015"/>
+        <source>Show the project properties</source>
+        <translation>Zobrazit nastavení projektu</translation>
     </message>
     <message>
         <location filename="Project/Project.py" line="3016"/>
+        <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="3023"/>
+        <source>User project properties</source>
+        <translation>Uživatelská nastavení projektu</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3023"/>
+        <source>&amp;User Properties...</source>
+        <translation>Uživat&amp;elská nastavení...</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3026"/>
+        <source>Show the user specific project properties</source>
+        <translation>Zobrazit uživatelem definovaná nastavení projektu</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3028"/>
+        <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="3035"/>
+        <source>Filetype Associations</source>
+        <translation>Asociace typů souborů</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3035"/>
+        <source>Filetype Associations...</source>
+        <translation>Asociace typů souborů...</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3038"/>
+        <source>Show the project filetype associations</source>
+        <translation>Zobrazit asociace typů souborů</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3040"/>
         <source>&lt;b&gt;Filetype Associations...&lt;/b&gt;&lt;p&gt;This shows a dialog to edit the filetype associations of the project. These associations determine the type (source, form, interface 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>&lt;b&gt;Asociace typů souborů...&lt;/b&gt;&lt;p&gt;Zobrazí se dialog s editací asociace typů souborů v projektu. Na základě vzorku souborového jména tyto asociace určují typ souboru (zdrojový kód, formulář, interface nebo jiné). Tyto asociace jsou použity při přidávání souborů do projektu a při vyhledávání.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3042"/>
+        <location filename="Project/Project.py" line="3066"/>
         <source>Debugger Properties</source>
         <translation>Nastavení debugeru</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3042"/>
+        <location filename="Project/Project.py" line="3066"/>
         <source>Debugger &amp;Properties...</source>
         <translation>Nastavení &amp;debuggeru...</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3045"/>
+        <location filename="Project/Project.py" line="3069"/>
         <source>Show the debugger properties</source>
         <translation>Zobrazit nastavení debugeru</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3046"/>
+        <location filename="Project/Project.py" line="3070"/>
         <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="3053"/>
+        <location filename="Project/Project.py" line="3077"/>
         <source>Load</source>
         <translation>Načíst</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3053"/>
+        <location filename="Project/Project.py" line="3077"/>
         <source>&amp;Load</source>
         <translation>&amp;Načíst</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3056"/>
+        <location filename="Project/Project.py" line="3080"/>
         <source>Load the debugger properties</source>
         <translation>Načíst nastavení debugeru</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3057"/>
+        <location filename="Project/Project.py" line="3081"/>
         <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="3064"/>
+        <location filename="Project/Project.py" line="3088"/>
         <source>Save</source>
         <translation>Uložit</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3067"/>
-        <source>Save the debugger properties</source>
-        <translation>Uložit nastavení debugeru</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3068"/>
-        <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="3075"/>
-        <source>Delete</source>
-        <translation>Smazat</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3075"/>
-        <source>&amp;Delete</source>
-        <translation>Sma&amp;zat</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3078"/>
-        <source>Delete the debugger properties</source>
-        <translation>Smazat nastavení debugeru</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3079"/>
-        <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="3087"/>
-        <source>Reset</source>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3087"/>
-        <source>&amp;Reset</source>
-        <translation>&amp;Reset</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3090"/>
-        <source>Reset the debugger properties</source>
-        <translation>Reset nastavení debugeru</translation>
-    </message>
-    <message>
         <location filename="Project/Project.py" line="3091"/>
-        <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="3100"/>
-        <source>Load session</source>
-        <translation>Načíst relaci</translation>
+        <source>Save the debugger properties</source>
+        <translation>Uložit nastavení debugeru</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3092"/>
+        <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="3099"/>
+        <source>Delete</source>
+        <translation>Smazat</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3099"/>
+        <source>&amp;Delete</source>
+        <translation>Sma&amp;zat</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3102"/>
+        <source>Delete the debugger properties</source>
+        <translation>Smazat nastavení debugeru</translation>
     </message>
     <message>
         <location filename="Project/Project.py" line="3103"/>
+        <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="3111"/>
+        <source>Reset</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3111"/>
+        <source>&amp;Reset</source>
+        <translation>&amp;Reset</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3114"/>
+        <source>Reset the debugger properties</source>
+        <translation>Reset nastavení debugeru</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3115"/>
+        <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="3124"/>
+        <source>Load session</source>
+        <translation>Načíst relaci</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3127"/>
         <source>Load the projects session file.</source>
         <translation>Načíst soubor s relací projektu.</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3104"/>
+        <location filename="Project/Project.py" line="3128"/>
         <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="3117"/>
+        <location filename="Project/Project.py" line="3141"/>
         <source>Save session</source>
         <translation>Uložit relaci</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3120"/>
+        <location filename="Project/Project.py" line="3144"/>
         <source>Save the projects session file.</source>
         <translation>Uložit soubor s relací projektu.</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3121"/>
+        <location filename="Project/Project.py" line="3145"/>
         <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="3134"/>
+        <location filename="Project/Project.py" line="3158"/>
         <source>Delete session</source>
         <translation>Smazat relaci</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3137"/>
+        <location filename="Project/Project.py" line="3161"/>
         <source>Delete the projects session file.</source>
         <translation>Smaže soubor s relací projektu.</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3138"/>
-        <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="3147"/>
-        <source>Code Metrics</source>
-        <translation>Metriky kódu</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3147"/>
-        <source>&amp;Code Metrics...</source>
-        <translation>Metriky &amp;kódu...</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3150"/>
-        <source>Show some code metrics for the project.</source>
-        <translation>Zobrazit metriky kódu projektu.</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3152"/>
-        <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="3159"/>
-        <source>Python Code Coverage</source>
-        <translation>Pokrytí python kódu</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3159"/>
-        <source>Code Co&amp;verage...</source>
-        <translation>Pokr&amp;ytí kódu...</translation>
-    </message>
-    <message>
         <location filename="Project/Project.py" line="3162"/>
+        <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="3171"/>
+        <source>Code Metrics</source>
+        <translation>Metriky kódu</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3171"/>
+        <source>&amp;Code Metrics...</source>
+        <translation>Metriky &amp;kódu...</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3174"/>
+        <source>Show some code metrics for the project.</source>
+        <translation>Zobrazit metriky kódu projektu.</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3176"/>
+        <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="3183"/>
+        <source>Python Code Coverage</source>
+        <translation>Pokrytí python kódu</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3183"/>
+        <source>Code Co&amp;verage...</source>
+        <translation>Pokr&amp;ytí kódu...</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3186"/>
         <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="3164"/>
+        <location filename="Project/Project.py" line="3188"/>
         <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="3844"/>
+        <location filename="Project/Project.py" line="3868"/>
         <source>Profile Data</source>
         <translation>Profilovat data</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3172"/>
+        <location filename="Project/Project.py" line="3196"/>
         <source>&amp;Profile Data...</source>
         <translation>&amp;Profilovat data...</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3175"/>
+        <location filename="Project/Project.py" line="3199"/>
         <source>Show profiling data for the project.</source>
         <translation>Zobrazit profilování dat projektu.</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3177"/>
+        <location filename="Project/Project.py" line="3201"/>
         <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="3897"/>
+        <location filename="Project/Project.py" line="3921"/>
         <source>Application Diagram</source>
         <translation>Diagram aplikace</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3184"/>
+        <location filename="Project/Project.py" line="3208"/>
         <source>&amp;Application Diagram...</source>
         <translation>Diagram &amp;aplikace...</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3187"/>
+        <location filename="Project/Project.py" line="3211"/>
         <source>Show a diagram of the project.</source>
         <translation>Zobrazit diagram projektu.</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3189"/>
+        <location filename="Project/Project.py" line="3213"/>
         <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="3261"/>
+        <location filename="Project/Project.py" line="3285"/>
         <source>&amp;Project</source>
         <translation>&amp;Projekt</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3262"/>
+        <location filename="Project/Project.py" line="3286"/>
         <source>Open &amp;Recent Projects</source>
         <translation>Otevřít poslední p&amp;rojekty</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3263"/>
+        <location filename="Project/Project.py" line="3287"/>
         <source>&amp;Version Control</source>
         <translation>Kontrola &amp;verzí</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3266"/>
+        <location filename="Project/Project.py" line="3290"/>
         <source>Chec&amp;k</source>
         <translation>Zkontro&amp;lovat</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3268"/>
+        <location filename="Project/Project.py" line="3292"/>
         <source>Sho&amp;w</source>
         <translation>Zo&amp;brazit</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3269"/>
+        <location filename="Project/Project.py" line="3293"/>
         <source>&amp;Diagrams</source>
         <translation>&amp;Diagramy</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3270"/>
+        <location filename="Project/Project.py" line="3294"/>
         <source>Session</source>
         <translation>Relace</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3271"/>
+        <location filename="Project/Project.py" line="3295"/>
         <source>Source &amp;Documentation</source>
         <translation>Zd&amp;rojová dokumentace</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3273"/>
+        <location filename="Project/Project.py" line="3297"/>
         <source>Debugger</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3274"/>
+        <location filename="Project/Project.py" line="3298"/>
         <source>Pac&amp;kagers</source>
         <translation>Balíč&amp;ky</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3376"/>
+        <location filename="Project/Project.py" line="3400"/>
         <source>Project</source>
         <translation>Projekt</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3437"/>
+        <location filename="Project/Project.py" line="3461"/>
         <source>&amp;Clear</source>
         <translation>&amp;Vyčistit</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3547"/>
+        <location filename="Project/Project.py" line="3571"/>
         <source>Search New Files</source>
         <translation>Hledat nové soubory</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3547"/>
+        <location filename="Project/Project.py" line="3571"/>
         <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="3685"/>
+        <location filename="Project/Project.py" line="3709"/>
         <source>Version Control System</source>
         <translation>Version Control System</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3777"/>
+        <location filename="Project/Project.py" line="3801"/>
         <source>Coverage Data</source>
         <translation>Datové pokrytí</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3823"/>
+        <location filename="Project/Project.py" line="3847"/>
         <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="3798"/>
+        <location filename="Project/Project.py" line="3822"/>
         <source>Code Coverage</source>
         <translation>Pokrytí kódu</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3798"/>
+        <location filename="Project/Project.py" line="3822"/>
         <source>Please select a coverage file</source>
         <translation>Prosím, vyberte soubor pokrytí</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3844"/>
+        <location filename="Project/Project.py" line="3868"/>
         <source>Please select a profile file</source>
         <translation>Prosím, vyberte soubor s profilem</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3897"/>
+        <location filename="Project/Project.py" line="3921"/>
         <source>Include module names?</source>
         <translation>Včetně jmen modulů?</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="4028"/>
+        <location filename="Project/Project.py" line="4052"/>
         <source>Create Package List</source>
         <translation>Vytvořit seznam balíčků</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3198"/>
+        <location filename="Project/Project.py" line="3222"/>
         <source>Create &amp;Package List</source>
         <translation>Vytvořit seznam &amp;balíčků</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="4188"/>
+        <location filename="Project/Project.py" line="4212"/>
         <source>Create Plugin Archive</source>
         <translation>Vytvořit Plugin archiv</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3212"/>
+        <location filename="Project/Project.py" line="3236"/>
         <source>Create Plugin &amp;Archive</source>
         <translation>Vytvořit Plugin &amp;archiv</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="4001"/>
+        <location filename="Project/Project.py" line="4025"/>
         <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="4045"/>
+        <location filename="Project/Project.py" line="4069"/>
         <source>&lt;p&gt;The file &lt;b&gt;PKGLIST&lt;/b&gt; does not exist. Aborting...&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor &lt;b&gt;PKGLIST&lt;/b&gt; neexistuje. Zrušeno...&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="4053"/>
+        <location filename="Project/Project.py" line="4077"/>
         <source>The project does not have a main script defined. Aborting...</source>
         <translation>Projekt nemá definován hlavní skript. Zrušeno...</translation>
     </message>
@@ -29198,12 +29198,12 @@
         <translation>Zaregistrovat typ projektu</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3227"/>
+        <location filename="Project/Project.py" line="3251"/>
         <source>Create Plugin Archive (Snapshot)</source>
         <translation>Vytvořit archiv pluginů (snímek)</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3227"/>
+        <location filename="Project/Project.py" line="3251"/>
         <source>Create Plugin Archive (&amp;Snapshot)</source>
         <translation>Vytvořit archiv pluginů (&amp;snímek)</translation>
     </message>
@@ -29223,22 +29223,22 @@
         <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="3026"/>
+        <location filename="Project/Project.py" line="3050"/>
         <source>Lexer Associations</source>
         <translation>Spojení lexeru</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3026"/>
+        <location filename="Project/Project.py" line="3050"/>
         <source>Lexer Associations...</source>
         <translation>Spojení lexeru...</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3029"/>
+        <location filename="Project/Project.py" line="3053"/>
         <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="3031"/>
+        <location filename="Project/Project.py" line="3055"/>
         <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>
@@ -29408,72 +29408,72 @@
         <translation type="obsolete">&lt;p&gt;Soubor &lt;b&gt;{0}&lt;/b&gt; již existuje.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3202"/>
+        <location filename="Project/Project.py" line="3226"/>
         <source>Create an initial PKGLIST file for an eric5 plugin.</source>
         <translation>Vytvořit počáteční soubor PKGLIST pro eric5 plugin.</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3204"/>
+        <location filename="Project/Project.py" line="3228"/>
         <source>&lt;b&gt;Create Package List&lt;/b&gt;&lt;p&gt;This creates an initial list of files to include in an eric5 plugin archive. The list is created from the project file.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Vytvořit seznam balíčků&lt;/b&gt;&lt;p&gt;Vytvoří počáteční seznam souborů pro vložení do eric5 plugin archivu. Seznam je vytvořen ze souboru projektu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3216"/>
+        <location filename="Project/Project.py" line="3240"/>
         <source>Create an eric5 plugin archive file.</source>
         <translation>Vytvořit soubor eric5 plugin archivu.</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3218"/>
+        <location filename="Project/Project.py" line="3242"/>
         <source>&lt;b&gt;Create Plugin Archive&lt;/b&gt;&lt;p&gt;This creates an eric5 plugin archive file using the list of files given in the PKGLIST file. The archive name is built from the main script name.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Vytvořit Plugin archiv&lt;/b&gt;&lt;p&gt;Vytvoří soubor s eric5 plugin archivem za použití seznamu souborů daných v PKGLIST souboru. Jméno archivu je odvozeno ze jména hlavního skriptu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3231"/>
+        <location filename="Project/Project.py" line="3255"/>
         <source>Create an eric5 plugin archive file (snapshot release).</source>
         <translation>Vytvoří se soubor eric5 plugin archívu (snímek vydání).</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3233"/>
+        <location filename="Project/Project.py" line="3257"/>
         <source>&lt;b&gt;Create Plugin Archive (Snapshot)&lt;/b&gt;&lt;p&gt;This creates an eric5 plugin archive file using the list of files given in the PKGLIST file. The archive name is built from the main script name. The version entry of the main script is modified to reflect a snapshot release.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Vytvořit Plugin archiv (Snímek)&lt;/b&gt;&lt;p&gt;Vytvoří soubor s eric5 plugin archivem za použití seznamu souborů daných v PKGLIST souboru. Údaj o verzi hlavního skriptu je změněn v souladu se snímkem vydání.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3676"/>
+        <location filename="Project/Project.py" line="3700"/>
         <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>&lt;p&gt;Vybrané VCS &lt;b&gt;{0}&lt;/b&gt; nebylo nalezeno.&lt;br/&gt;Navrácení do původního stavu.&lt;/p&gt;&lt;p&gt;{1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3685"/>
+        <location filename="Project/Project.py" line="3709"/>
         <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="4028"/>
+        <location filename="Project/Project.py" line="4052"/>
         <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="4065"/>
+        <location filename="Project/Project.py" line="4089"/>
         <source>&lt;p&gt;The file &lt;b&gt;PKGLIST&lt;/b&gt; could not be read.&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 načíst.&lt;/p&gt;&lt;p&gt;Důvod: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="4076"/>
+        <location filename="Project/Project.py" line="4100"/>
         <source>&lt;p&gt;The eric5 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>&lt;p&gt;Soubor s eric5 plugin archivem &lt;b&gt;{0}&lt;/b&gt; nelze vytvořit. Zrušeno...&lt;/p&gt;&lt;p&gt;Důvod: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="4096"/>
+        <location filename="Project/Project.py" line="4120"/>
         <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="4108"/>
+        <location filename="Project/Project.py" line="4132"/>
         <source>&lt;p&gt;The eric5 plugin archive file &lt;b&gt;{0}&lt;/b&gt; was created successfully.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor s eric5 plugin archivem &lt;b&gt;{0}&lt;/b&gt; byl úspěšně vytvořen.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="4188"/>
+        <location filename="Project/Project.py" line="4212"/>
         <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>
@@ -30578,57 +30578,57 @@
         <translation>Složit všechny adresáře</translation>
     </message>
     <message>
-        <location filename="Project/ProjectSourcesBrowser.py" line="698"/>
+        <location filename="Project/ProjectSourcesBrowser.py" line="700"/>
         <source>Delete files</source>
         <translation>Smazat soubory</translation>
     </message>
     <message>
-        <location filename="Project/ProjectSourcesBrowser.py" line="698"/>
+        <location filename="Project/ProjectSourcesBrowser.py" line="700"/>
         <source>Do you really want to delete these files from the project?</source>
         <translation>Opravdu chcete odebrat tyto soubory z projektu?</translation>
     </message>
     <message>
-        <location filename="Project/ProjectSourcesBrowser.py" line="769"/>
+        <location filename="Project/ProjectSourcesBrowser.py" line="771"/>
         <source>Code Coverage</source>
         <translation>Pokrytí kódu</translation>
     </message>
     <message>
-        <location filename="Project/ProjectSourcesBrowser.py" line="769"/>
+        <location filename="Project/ProjectSourcesBrowser.py" line="771"/>
         <source>Please select a coverage file</source>
         <translation>Prosím, vyberte soubor s pokrytím kódu</translation>
     </message>
     <message>
-        <location filename="Project/ProjectSourcesBrowser.py" line="822"/>
+        <location filename="Project/ProjectSourcesBrowser.py" line="824"/>
         <source>Profile Data</source>
         <translation>Profilovat data</translation>
     </message>
     <message>
-        <location filename="Project/ProjectSourcesBrowser.py" line="822"/>
+        <location filename="Project/ProjectSourcesBrowser.py" line="824"/>
         <source>Please select a profile file</source>
         <translation>Prosím, vyberte soubor s profilem</translation>
     </message>
     <message>
-        <location filename="Project/ProjectSourcesBrowser.py" line="858"/>
+        <location filename="Project/ProjectSourcesBrowser.py" line="860"/>
         <source>Class Diagram</source>
         <translation>Diagram třídy</translation>
     </message>
     <message>
-        <location filename="Project/ProjectSourcesBrowser.py" line="892"/>
+        <location filename="Project/ProjectSourcesBrowser.py" line="894"/>
         <source>Include class attributes?</source>
         <translation>Včetně atributů třídy?</translation>
     </message>
     <message>
-        <location filename="Project/ProjectSourcesBrowser.py" line="892"/>
+        <location filename="Project/ProjectSourcesBrowser.py" line="894"/>
         <source>Package Diagram</source>
         <translation>Diagram balíčku</translation>
     </message>
     <message>
-        <location filename="Project/ProjectSourcesBrowser.py" line="903"/>
+        <location filename="Project/ProjectSourcesBrowser.py" line="905"/>
         <source>Application Diagram</source>
         <translation>Diagram aplikace</translation>
     </message>
     <message>
-        <location filename="Project/ProjectSourcesBrowser.py" line="903"/>
+        <location filename="Project/ProjectSourcesBrowser.py" line="905"/>
         <source>Include module names?</source>
         <translation>Včetně jmen modulů?</translation>
     </message>
@@ -30638,17 +30638,17 @@
         <translation>Nový balíček...</translation>
     </message>
     <message>
-        <location filename="Project/ProjectSourcesBrowser.py" line="641"/>
+        <location filename="Project/ProjectSourcesBrowser.py" line="643"/>
         <source>Add new Python package</source>
         <translation>Přidat nový Python balíček</translation>
     </message>
     <message>
-        <location filename="Project/ProjectSourcesBrowser.py" line="875"/>
+        <location filename="Project/ProjectSourcesBrowser.py" line="877"/>
         <source>Imports Diagram</source>
         <translation>Importovat diagram</translation>
     </message>
     <message>
-        <location filename="Project/ProjectSourcesBrowser.py" line="875"/>
+        <location filename="Project/ProjectSourcesBrowser.py" line="877"/>
         <source>Include imports from external modules?</source>
         <translation>Zahrnout importy z externích modulů?</translation>
     </message>
@@ -30663,12 +30663,12 @@
         <translation>Kopírovat cestu do schránky</translation>
     </message>
     <message>
-        <location filename="Project/ProjectSourcesBrowser.py" line="628"/>
+        <location filename="Project/ProjectSourcesBrowser.py" line="630"/>
         <source>&lt;p&gt;The package directory &lt;b&gt;{0}&lt;/b&gt; could not be created. Aborting...&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Adresář balíčku &lt;b&gt;{0}&lt;/b&gt; nelze vytvořit. Zrušeno...&lt;/p&gt;&lt;p&gt;Důvod: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Project/ProjectSourcesBrowser.py" line="641"/>
+        <location filename="Project/ProjectSourcesBrowser.py" line="643"/>
         <source>&lt;p&gt;The package file &lt;b&gt;{0}&lt;/b&gt; could not be created. Aborting...&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor balíčku &lt;b&gt;{0}&lt;/b&gt; nelze vytvořit. Zrušeno...&lt;/p&gt;&lt;p&gt;Důvod: {1}&lt;/p&gt;</translation>
     </message>
@@ -34778,34 +34778,34 @@
 <context>
     <name>ShortcutsDialog</name>
     <message>
-        <location filename="Preferences/ShortcutsDialog.ui" line="13"/>
+        <location filename="Preferences/ShortcutsDialog.ui" line="14"/>
         <source>Keyboard Shortcuts</source>
         <translation>Klávesové zkratky</translation>
     </message>
     <message>
-        <location filename="Preferences/ShortcutsDialog.ui" line="97"/>
+        <location filename="Preferences/ShortcutsDialog.ui" line="98"/>
         <source>This list shows all keyboard shortcuts.</source>
         <translation>Tento seznam zobrazí všechny klávesové zkratky.</translation>
     </message>
     <message>
-        <location filename="Preferences/ShortcutsDialog.ui" line="100"/>
+        <location filename="Preferences/ShortcutsDialog.ui" line="101"/>
         <source>&lt;b&gt;Keyboard Shortcuts List&lt;/b&gt;
 &lt;p&gt;This list shows all keyboard shortcuts defined in the application. Double click an entry in order to change the respective shortcut. Alternatively, the shortcut might be changed by editing the key sequence in the respective column.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Seznam klávesových zkratek&lt;/b&gt;
 &lt;p&gt;Tento seznam zobrazuje klávesové zkratky definované v aplikaci. Dvojtý klik spustí mód změny vybrané zkratky. Alternativně je možné změnit klávesovou sekvenci zápisem v příslušném sloupci.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Preferences/ShortcutsDialog.ui" line="108"/>
+        <location filename="Preferences/ShortcutsDialog.ui" line="109"/>
         <source>Action</source>
         <translation>Akce</translation>
     </message>
     <message>
-        <location filename="Preferences/ShortcutsDialog.ui" line="113"/>
+        <location filename="Preferences/ShortcutsDialog.ui" line="114"/>
         <source>Shortcut</source>
         <translation>Zkratka</translation>
     </message>
     <message>
-        <location filename="Preferences/ShortcutsDialog.ui" line="118"/>
+        <location filename="Preferences/ShortcutsDialog.ui" line="119"/>
         <source>Alternativ</source>
         <translation>Alternativní</translation>
     </message>
@@ -34870,42 +34870,42 @@
         <translation>Editovat kláv.zkratky</translation>
     </message>
     <message>
-        <location filename="Preferences/ShortcutsDialog.ui" line="38"/>
+        <location filename="Preferences/ShortcutsDialog.ui" line="39"/>
         <source>Press to clear the search edit</source>
         <translation>Stisknout pro zrušení obsahu okna hledat</translation>
     </message>
     <message>
-        <location filename="Preferences/ShortcutsDialog.ui" line="31"/>
+        <location filename="Preferences/ShortcutsDialog.ui" line="32"/>
         <source>Enter the regular expression that should be contained in the shortcut action</source>
         <translation>Zadejte regulární výraz, který může být součástí akce klávesové zkratky</translation>
     </message>
     <message>
-        <location filename="Preferences/ShortcutsDialog.ui" line="21"/>
+        <location filename="Preferences/ShortcutsDialog.ui" line="22"/>
         <source>&amp;Filter:</source>
         <translation>&amp;Filtr:</translation>
     </message>
     <message>
-        <location filename="Preferences/ShortcutsDialog.ui" line="52"/>
+        <location filename="Preferences/ShortcutsDialog.ui" line="53"/>
         <source>Filter on</source>
         <translation>Filtr zapnut</translation>
     </message>
     <message>
-        <location filename="Preferences/ShortcutsDialog.ui" line="62"/>
+        <location filename="Preferences/ShortcutsDialog.ui" line="63"/>
         <source>&amp;Action</source>
         <translation>&amp;Akce</translation>
     </message>
     <message>
-        <location filename="Preferences/ShortcutsDialog.ui" line="75"/>
+        <location filename="Preferences/ShortcutsDialog.ui" line="76"/>
         <source>&amp;Shortcut or Alternative</source>
         <translation>&amp;Zkrazka nebo alternativa</translation>
     </message>
     <message>
-        <location filename="Preferences/ShortcutsDialog.ui" line="59"/>
+        <location filename="Preferences/ShortcutsDialog.ui" line="60"/>
         <source>Select to filter based on the actions</source>
         <translation>Vybrat filtr založený na akcích</translation>
     </message>
     <message>
-        <location filename="Preferences/ShortcutsDialog.ui" line="72"/>
+        <location filename="Preferences/ShortcutsDialog.ui" line="73"/>
         <source>Select to filter based on shortcut or alternative shortcut</source>
         <translation>Vybrat filtr založený na zkratkách nebo alternativních zkratkách</translation>
     </message>
@@ -44066,7 +44066,7 @@
 <context>
     <name>UnittestDialog</name>
     <message>
-        <location filename="PyUnit/UnittestDialog.py" line="330"/>
+        <location filename="PyUnit/UnittestDialog.py" line="374"/>
         <source>Unittest</source>
         <translation></translation>
     </message>
@@ -44221,97 +44221,97 @@
         <translation>V běhu</translation>
     </message>
     <message>
-        <location filename="PyUnit/UnittestDialog.py" line="59"/>
+        <location filename="PyUnit/UnittestDialog.py" line="64"/>
         <source>Start</source>
         <translation>Spustit</translation>
     </message>
     <message>
-        <location filename="PyUnit/UnittestDialog.py" line="61"/>
+        <location filename="PyUnit/UnittestDialog.py" line="66"/>
         <source>Start the selected testsuite</source>
         <translation>Spustit vybranou soupravu testů</translation>
     </message>
     <message>
-        <location filename="PyUnit/UnittestDialog.py" line="62"/>
-        <source>&lt;b&gt;Start Test&lt;/b&gt;&lt;p&gt;This button starts the selected testsuite.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Spustit test&lt;/b&gt;&lt;p&gt;Toto tlačítko spustí vybranou soupravu testů.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="PyUnit/UnittestDialog.py" line="65"/>
-        <source>Stop</source>
-        <translation>Zastavit</translation>
-    </message>
-    <message>
         <location filename="PyUnit/UnittestDialog.py" line="67"/>
+        <source>&lt;b&gt;Start Test&lt;/b&gt;&lt;p&gt;This button starts the selected testsuite.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Spustit test&lt;/b&gt;&lt;p&gt;Toto tlačítko spustí vybranou soupravu testů.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="PyUnit/UnittestDialog.py" line="77"/>
+        <source>Stop</source>
+        <translation>Zastavit</translation>
+    </message>
+    <message>
+        <location filename="PyUnit/UnittestDialog.py" line="79"/>
         <source>Stop the running unittest</source>
         <translation>Zastaví běžící unittest</translation>
     </message>
     <message>
-        <location filename="PyUnit/UnittestDialog.py" line="68"/>
+        <location filename="PyUnit/UnittestDialog.py" line="80"/>
         <source>&lt;b&gt;Stop Test&lt;/b&gt;&lt;p&gt;This button stops a running unittest.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Zastavit test&lt;/b&gt;&lt;p&gt;Toto tlačítko zastaví běžící unittest.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="PyUnit/UnittestDialog.py" line="99"/>
+        <location filename="PyUnit/UnittestDialog.py" line="113"/>
         <source>^Failure: </source>
         <translation>^Selhalo: </translation>
     </message>
     <message>
-        <location filename="PyUnit/UnittestDialog.py" line="100"/>
+        <location filename="PyUnit/UnittestDialog.py" line="114"/>
         <source>^Error: </source>
         <translation>^Chyby: </translation>
     </message>
     <message>
-        <location filename="PyUnit/UnittestDialog.py" line="221"/>
+        <location filename="PyUnit/UnittestDialog.py" line="253"/>
         <source>You must enter a test suite file.</source>
         <translation>Musíte zadat soubor soupravy testu.</translation>
     </message>
     <message>
-        <location filename="PyUnit/UnittestDialog.py" line="228"/>
+        <location filename="PyUnit/UnittestDialog.py" line="260"/>
         <source>Preparing Testsuite</source>
         <translation>Příprava soupravy testu</translation>
     </message>
     <message>
-        <location filename="PyUnit/UnittestDialog.py" line="395"/>
+        <location filename="PyUnit/UnittestDialog.py" line="439"/>
         <source>Running</source>
         <translation>Běží</translation>
     </message>
     <message>
-        <location filename="PyUnit/UnittestDialog.py" line="541"/>
+        <location filename="PyUnit/UnittestDialog.py" line="600"/>
         <source>Show Source</source>
         <translation>Zobrazit zdroj</translation>
     </message>
     <message>
-        <location filename="PyUnit/UnittestDialog.py" line="169"/>
+        <location filename="PyUnit/UnittestDialog.py" line="194"/>
         <source>Python Files (*.py);;All Files (*)</source>
         <translation>Python soubory (*.py);;Všechny soubory (*)</translation>
     </message>
     <message>
-        <location filename="PyUnit/UnittestDialog.py" line="165"/>
+        <location filename="PyUnit/UnittestDialog.py" line="190"/>
         <source>Python3 Files ({1});;Python2 Files ({0});;All Files (*)</source>
         <translation>Python3 soubory ({1});;Python2 soubory ({0});;Všechny soubory (*)</translation>
     </message>
     <message>
-        <location filename="PyUnit/UnittestDialog.py" line="330"/>
+        <location filename="PyUnit/UnittestDialog.py" line="374"/>
         <source>&lt;p&gt;Unable to run test &lt;b&gt;{0}&lt;/b&gt;.&lt;br&gt;{1}&lt;br&gt;{2}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Nelze spustit test &lt;b&gt;{0}&lt;/b&gt;.&lt;br&gt;{1}&lt;br&gt;{2}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="PyUnit/UnittestDialog.py" line="413"/>
+        <location filename="PyUnit/UnittestDialog.py" line="463"/>
         <source>Ran {0} test in {1:.3f}s</source>
         <translation>Doběhl {0} test za {1:.3f}s</translation>
     </message>
     <message>
-        <location filename="PyUnit/UnittestDialog.py" line="416"/>
+        <location filename="PyUnit/UnittestDialog.py" line="466"/>
         <source>Ran {0} tests in {1:.3f}s</source>
         <translation>Doběhlo {0} testů za {1:.3f}s</translation>
     </message>
     <message>
-        <location filename="PyUnit/UnittestDialog.py" line="429"/>
+        <location filename="PyUnit/UnittestDialog.py" line="482"/>
         <source>Failure: {0}</source>
         <translation>Selhalo: {0}</translation>
     </message>
     <message>
-        <location filename="PyUnit/UnittestDialog.py" line="442"/>
+        <location filename="PyUnit/UnittestDialog.py" line="497"/>
         <source>Error: {0}</source>
         <translation>Chyby: {0}</translation>
     </message>
@@ -44346,20 +44346,35 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="PyUnit/UnittestDialog.py" line="455"/>
+        <location filename="PyUnit/UnittestDialog.py" line="512"/>
         <source>    Skipped: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="PyUnit/UnittestDialog.py" line="468"/>
+        <location filename="PyUnit/UnittestDialog.py" line="526"/>
         <source>    Expected Failure</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="PyUnit/UnittestDialog.py" line="481"/>
+        <location filename="PyUnit/UnittestDialog.py" line="540"/>
         <source>    Unexpected Success</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="PyUnit/UnittestDialog.py" line="70"/>
+        <source>Rerun Failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="PyUnit/UnittestDialog.py" line="72"/>
+        <source>Reruns failed tests of the selected testsuite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="PyUnit/UnittestDialog.py" line="74"/>
+        <source>&lt;b&gt;Rerun Failed&lt;/b&gt;&lt;p&gt;This button reruns all failed tests of the selected testsuite.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UrlBar</name>
@@ -44420,748 +44435,748 @@
         <translation>Generování hlavního uživatelského rozhraní...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="287"/>
+        <location filename="UI/UserInterface.py" line="289"/>
         <source>Setting up connections...</source>
         <translation>Nastavení připojení...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="479"/>
+        <location filename="UI/UserInterface.py" line="458"/>
         <source>Initializing Tools...</source>
         <translation>Inicializace nástrojů...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="488"/>
+        <location filename="UI/UserInterface.py" line="467"/>
         <source>Registering Objects...</source>
         <translation>Registrování objektů...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="510"/>
+        <location filename="UI/UserInterface.py" line="487"/>
         <source>Initializing Actions...</source>
         <translation>Inicializace akcí...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="512"/>
+        <location filename="UI/UserInterface.py" line="489"/>
         <source>Initializing Menus...</source>
         <translation>Inicializace menu...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="514"/>
+        <location filename="UI/UserInterface.py" line="491"/>
         <source>Initializing Toolbars...</source>
         <translation>Inicializace nástrojových lišt...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="516"/>
+        <location filename="UI/UserInterface.py" line="493"/>
         <source>Initializing Statusbar...</source>
         <translation>Inicializace statusbaru...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="540"/>
+        <location filename="UI/UserInterface.py" line="517"/>
         <source>Initializing Single Application Server...</source>
         <translation>Inicializace jednouživatelského aplikačního serveru...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="619"/>
+        <location filename="UI/UserInterface.py" line="596"/>
         <source>Loading Style Sheet</source>
         <translation>Načtení kaskádového stylu</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1372"/>
+        <location filename="UI/UserInterface.py" line="1350"/>
         <source>Project-Viewer</source>
         <translation>Prohlížeč projektu</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1413"/>
+        <location filename="UI/UserInterface.py" line="1391"/>
         <source>Debug-Viewer</source>
         <translation>Prohlížeč debugeru</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1495"/>
+        <location filename="UI/UserInterface.py" line="1473"/>
         <source>Log-Viewer</source>
         <translation>Prohlížeč logu</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1515"/>
+        <location filename="UI/UserInterface.py" line="1493"/>
         <source>Task-Viewer</source>
         <translation>Prohlížeč úloh</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1535"/>
+        <location filename="UI/UserInterface.py" line="1513"/>
         <source>Template-Viewer</source>
         <translation>Prohlížeč šablon</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1433"/>
+        <location filename="UI/UserInterface.py" line="1411"/>
         <source>Shell</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1474"/>
+        <location filename="UI/UserInterface.py" line="1452"/>
         <source>File-Browser</source>
         <translation>Browser souborů</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1310"/>
+        <location filename="UI/UserInterface.py" line="1287"/>
         <source>Quit</source>
         <translation>Konec</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1310"/>
+        <location filename="UI/UserInterface.py" line="1287"/>
         <source>&amp;Quit</source>
         <translation>&amp;Konec</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1310"/>
+        <location filename="UI/UserInterface.py" line="1287"/>
         <source>Ctrl+Q</source>
         <comment>File|Quit</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1315"/>
+        <location filename="UI/UserInterface.py" line="1292"/>
         <source>Quit the IDE</source>
         <translation>Ukončit IDE</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1316"/>
+        <location filename="UI/UserInterface.py" line="1293"/>
         <source>&lt;b&gt;Quit the IDE&lt;/b&gt;&lt;p&gt;This quits the IDE. Any unsaved changes may be saved first. Any Python program being debugged will be stopped and the preferences will be written to disc.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Ukončit IDE&lt;/b&gt;&lt;p&gt;Ukončí se IDE. Nejdříve by se měly uložit neuložené změny. Python programy běžící v debug procesu budou ukončeny a nastavení budou uložena.&lt;/p&gt;</translation>
     </message>
     <message>
+        <location filename="UI/UserInterface.py" line="1319"/>
+        <source>Edit Profile</source>
+        <translation>Editační profil</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1324"/>
+        <source>Activate the edit view profile</source>
+        <translation>Aktivovat profil editace</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1325"/>
+        <source>&lt;b&gt;Edit Profile&lt;/b&gt;&lt;p&gt;Activate the &quot;Edit View Profile&quot;. Windows being shown, if this profile is active, may be configured with the &quot;View Profile Configuration&quot; dialog.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Editační profil&lt;/b&gt;&lt;p&gt;Aktivování skupiny &apos;Editační profil&apos;. Okna, která se v tomto profilu zobrazí lze nastavit v dialogu &apos;Konfigurace profilu pohledů&apos;.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1334"/>
+        <source>Debug Profile</source>
+        <translation>Debugovací profil</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1339"/>
+        <source>Activate the debug view profile</source>
+        <translation>Aktivovat debugovací profil</translation>
+    </message>
+    <message>
         <location filename="UI/UserInterface.py" line="1341"/>
-        <source>Edit Profile</source>
-        <translation>Editační profil</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1346"/>
-        <source>Activate the edit view profile</source>
-        <translation>Aktivovat profil editace</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1347"/>
-        <source>&lt;b&gt;Edit Profile&lt;/b&gt;&lt;p&gt;Activate the &quot;Edit View Profile&quot;. Windows being shown, if this profile is active, may be configured with the &quot;View Profile Configuration&quot; dialog.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Editační profil&lt;/b&gt;&lt;p&gt;Aktivování skupiny &apos;Editační profil&apos;. Okna, která se v tomto profilu zobrazí lze nastavit v dialogu &apos;Konfigurace profilu pohledů&apos;.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1356"/>
-        <source>Debug Profile</source>
-        <translation>Debugovací profil</translation>
+        <source>&lt;b&gt;Debug Profile&lt;/b&gt;&lt;p&gt;Activate the &quot;Debug View Profile&quot;. Windows being shown, if this profile is active, may be configured with the &quot;View Profile Configuration&quot; dialog.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Debugovací profil&lt;/b&gt;&lt;p&gt;Aktivování skupiny &apos;Debugovací profil&apos;. Okna, která se v tomto profilu zobrazí lze nastavit v dialogu &apos;Konfigurace profilu pohledů&apos;.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1350"/>
+        <source>&amp;Project-Viewer</source>
+        <translation>Prohlížeč &amp;projektu</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1352"/>
+        <source>Toggle the Project-Viewer window</source>
+        <translation>Přepnout okno Prohlížeč projektu</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1353"/>
+        <source>&lt;b&gt;Toggle the Project-Viewer window&lt;/b&gt;&lt;p&gt;If the Project-Viewer window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Přepnout okno Prohlížeč projektu&lt;/b&gt;&lt;p&gt;Pokud bylo okno skryto, tak se zobrazí. Pokud se zobrazovalo, tak se skryje.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1361"/>
+        <source>Activate Project-Viewer</source>
+        <translation>Aktivovat prohlížeč projektu</translation>
     </message>
     <message>
         <location filename="UI/UserInterface.py" line="1361"/>
-        <source>Activate the debug view profile</source>
-        <translation>Aktivovat debugovací profil</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1363"/>
-        <source>&lt;b&gt;Debug Profile&lt;/b&gt;&lt;p&gt;Activate the &quot;Debug View Profile&quot;. Windows being shown, if this profile is active, may be configured with the &quot;View Profile Configuration&quot; dialog.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Debugovací profil&lt;/b&gt;&lt;p&gt;Aktivování skupiny &apos;Debugovací profil&apos;. Okna, která se v tomto profilu zobrazí lze nastavit v dialogu &apos;Konfigurace profilu pohledů&apos;.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1372"/>
-        <source>&amp;Project-Viewer</source>
-        <translation>Prohlížeč &amp;projektu</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1374"/>
-        <source>Toggle the Project-Viewer window</source>
-        <translation>Přepnout okno Prohlížeč projektu</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1375"/>
-        <source>&lt;b&gt;Toggle the Project-Viewer window&lt;/b&gt;&lt;p&gt;If the Project-Viewer window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Přepnout okno Prohlížeč projektu&lt;/b&gt;&lt;p&gt;Pokud bylo okno skryto, tak se zobrazí. Pokud se zobrazovalo, tak se skryje.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1383"/>
-        <source>Activate Project-Viewer</source>
-        <translation>Aktivovat prohlížeč projektu</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1383"/>
         <source>Alt+Shift+P</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1424"/>
+        <location filename="UI/UserInterface.py" line="1402"/>
         <source>Alt+Shift+D</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1433"/>
+        <location filename="UI/UserInterface.py" line="1411"/>
         <source>&amp;Shell</source>
         <translation>&amp;Shell</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1435"/>
+        <location filename="UI/UserInterface.py" line="1413"/>
         <source>Toggle the Shell window</source>
         <translation>Zobrazit/skrýt Shell okno</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1436"/>
+        <location filename="UI/UserInterface.py" line="1414"/>
         <source>&lt;b&gt;Toggle the Shell window&lt;/b&gt;&lt;p&gt;If the Shell window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Zobrazit/skrýt Shell okno&lt;/b&gt;&lt;p&gt;Pokud je shell okno skryté zobrazí se. Pokud se okno zobrazuje, tak se skryje.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1445"/>
+        <location filename="UI/UserInterface.py" line="1423"/>
         <source>Activate Shell</source>
         <translation>Aktivovat Shell</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1445"/>
+        <location filename="UI/UserInterface.py" line="1423"/>
         <source>Alt+Shift+S</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1474"/>
+        <location filename="UI/UserInterface.py" line="1452"/>
         <source>File-&amp;Browser</source>
         <translation>&amp;Browser souborů</translation>
     </message>
     <message>
+        <location filename="UI/UserInterface.py" line="1454"/>
+        <source>Toggle the File-Browser window</source>
+        <translation>Zobrazit/skrýt browser souborů</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1455"/>
+        <source>&lt;b&gt;Toggle the File-Browser window&lt;/b&gt;&lt;p&gt;If the File-Browser window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Zobrazit/skrýt browser souborů&lt;/b&gt;&lt;p&gt;Pokud je okno skryté zobrazí se. Pokud se okno zobrazuje, tak se skryje.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1464"/>
+        <source>Activate File-Browser</source>
+        <translation>Aktivovat Browser souborů</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1464"/>
+        <source>Alt+Shift+F</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1473"/>
+        <source>&amp;Log-Viewer</source>
+        <translation>&amp;Log prohlížeč</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1475"/>
+        <source>Toggle the Log-Viewer window</source>
+        <translation>Zobrazit/skrýt Log prohlížeč</translation>
+    </message>
+    <message>
         <location filename="UI/UserInterface.py" line="1476"/>
-        <source>Toggle the File-Browser window</source>
-        <translation>Zobrazit/skrýt browser souborů</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1477"/>
-        <source>&lt;b&gt;Toggle the File-Browser window&lt;/b&gt;&lt;p&gt;If the File-Browser window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Zobrazit/skrýt browser souborů&lt;/b&gt;&lt;p&gt;Pokud je okno skryté zobrazí se. Pokud se okno zobrazuje, tak se skryje.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1486"/>
-        <source>Activate File-Browser</source>
-        <translation>Aktivovat Browser souborů</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1486"/>
-        <source>Alt+Shift+F</source>
-        <translation></translation>
+        <source>&lt;b&gt;Toggle the Log-Viewer window&lt;/b&gt;&lt;p&gt;If the Log-Viewer window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Zobrazit/skrýt Log prohlížeč&lt;/b&gt;&lt;p&gt;Pokud je okno skryté zobrazí se. Pokud se okno zobrazuje, tak se skryje.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1484"/>
+        <source>Activate Log-Viewer</source>
+        <translation>Aktivovat Log prohlížeč</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1484"/>
+        <source>Alt+Shift+G</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1493"/>
+        <source>T&amp;ask-Viewer</source>
+        <translation>Pr&amp;ohlížeč úloh</translation>
     </message>
     <message>
         <location filename="UI/UserInterface.py" line="1495"/>
-        <source>&amp;Log-Viewer</source>
-        <translation>&amp;Log prohlížeč</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1497"/>
-        <source>Toggle the Log-Viewer window</source>
-        <translation>Zobrazit/skrýt Log prohlížeč</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1498"/>
-        <source>&lt;b&gt;Toggle the Log-Viewer window&lt;/b&gt;&lt;p&gt;If the Log-Viewer window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Zobrazit/skrýt Log prohlížeč&lt;/b&gt;&lt;p&gt;Pokud je okno skryté zobrazí se. Pokud se okno zobrazuje, tak se skryje.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1506"/>
-        <source>Activate Log-Viewer</source>
-        <translation>Aktivovat Log prohlížeč</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1506"/>
-        <source>Alt+Shift+G</source>
+        <source>Toggle the Task-Viewer window</source>
+        <translation>Zobrazit/skrýt prohlížeč úloh</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1496"/>
+        <source>&lt;b&gt;Toggle the Task-Viewer window&lt;/b&gt;&lt;p&gt;If the Task-Viewer window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Zobrazit/skrýt prohlížeč úloh&lt;/b&gt;&lt;p&gt;Pokud je okno skryté zobrazí se. Pokud se okno zobrazuje, tak se skryje.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1504"/>
+        <source>Activate Task-Viewer</source>
+        <translation>Aktivovat prohlížeč úloh</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1504"/>
+        <source>Alt+Shift+T</source>
         <translation></translation>
     </message>
     <message>
         <location filename="UI/UserInterface.py" line="1515"/>
-        <source>T&amp;ask-Viewer</source>
-        <translation>Pr&amp;ohlížeč úloh</translation>
+        <source>Toggle the Template-Viewer window</source>
+        <translation>Zobrazit/skrýt prohlížeč šablon</translation>
     </message>
     <message>
         <location filename="UI/UserInterface.py" line="1517"/>
-        <source>Toggle the Task-Viewer window</source>
-        <translation>Zobrazit/skrýt prohlížeč úloh</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1518"/>
-        <source>&lt;b&gt;Toggle the Task-Viewer window&lt;/b&gt;&lt;p&gt;If the Task-Viewer window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Zobrazit/skrýt prohlížeč úloh&lt;/b&gt;&lt;p&gt;Pokud je okno skryté zobrazí se. Pokud se okno zobrazuje, tak se skryje.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1526"/>
-        <source>Activate Task-Viewer</source>
-        <translation>Aktivovat prohlížeč úloh</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1526"/>
-        <source>Alt+Shift+T</source>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1537"/>
-        <source>Toggle the Template-Viewer window</source>
-        <translation>Zobrazit/skrýt prohlížeč šablon</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1539"/>
         <source>&lt;b&gt;Toggle the Template-Viewer window&lt;/b&gt;&lt;p&gt;If the Template-Viewer window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Zobrazit/skrýt prohlížeč šablon&lt;/b&gt;&lt;p&gt;Pokud je okno skryté zobrazí se. Pokud se okno zobrazuje, tak se skryje.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1547"/>
+        <location filename="UI/UserInterface.py" line="1525"/>
         <source>Activate Template-Viewer</source>
         <translation>Aktivovat prohlížeč šablon</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1404"/>
+        <location filename="UI/UserInterface.py" line="1382"/>
         <source>Alt+Shift+M</source>
         <translation></translation>
     </message>
     <message>
+        <location filename="UI/UserInterface.py" line="1646"/>
+        <source>What&apos;s This?</source>
+        <translation>Co je to?</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1646"/>
+        <source>&amp;What&apos;s This?</source>
+        <translation>&amp;Co je to?</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1646"/>
+        <source>Shift+F1</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1651"/>
+        <source>Context sensitive help</source>
+        <translation>Kontextově senzitivní nápověda</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1652"/>
+        <source>&lt;b&gt;Display context sensitive help&lt;/b&gt;&lt;p&gt;In What&apos;s This? mode, the mouse cursor shows an arrow with a question mark, and you can click on the interface elements to get a short description of what they do and how to use them. In dialogs, this feature can be accessed using the context help button in the titlebar.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Zobrazit kontextově senzitivní nápovědu&lt;/b&gt;&lt;p&gt;V režimu &quot;Co je to?&quot; se nad různými prvky aplikace u kurzoru zobrazí otazník. Když pak kliknete na tyto prvky, zobrazí se krátký popis co daný prvek znamená a jak jej použít. V dialogových oknech se tato funkce spustí tlačítkem kontextové nápovědy na horní liště.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1663"/>
+        <source>Helpviewer</source>
+        <translation>Prohlížeč nápovědy</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1663"/>
+        <source>&amp;Helpviewer...</source>
+        <translation>Pro&amp;hlížeč nápovědy...</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1663"/>
+        <source>F1</source>
+        <translation></translation>
+    </message>
+    <message>
         <location filename="UI/UserInterface.py" line="1668"/>
-        <source>What&apos;s This?</source>
-        <translation>Co je to?</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1668"/>
-        <source>&amp;What&apos;s This?</source>
-        <translation>&amp;Co je to?</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1668"/>
-        <source>Shift+F1</source>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1673"/>
-        <source>Context sensitive help</source>
-        <translation>Kontextově senzitivní nápověda</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1674"/>
-        <source>&lt;b&gt;Display context sensitive help&lt;/b&gt;&lt;p&gt;In What&apos;s This? mode, the mouse cursor shows an arrow with a question mark, and you can click on the interface elements to get a short description of what they do and how to use them. In dialogs, this feature can be accessed using the context help button in the titlebar.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Zobrazit kontextově senzitivní nápovědu&lt;/b&gt;&lt;p&gt;V režimu &quot;Co je to?&quot; se nad různými prvky aplikace u kurzoru zobrazí otazník. Když pak kliknete na tyto prvky, zobrazí se krátký popis co daný prvek znamená a jak jej použít. V dialogových oknech se tato funkce spustí tlačítkem kontextové nápovědy na horní liště.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1685"/>
-        <source>Helpviewer</source>
-        <translation>Prohlížeč nápovědy</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1685"/>
-        <source>&amp;Helpviewer...</source>
-        <translation>Pro&amp;hlížeč nápovědy...</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1685"/>
-        <source>F1</source>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1690"/>
         <source>Open the helpviewer window</source>
         <translation>Otevřít okno prohlížeče nápovědy</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1708"/>
+        <location filename="UI/UserInterface.py" line="1686"/>
         <source>Show Versions</source>
         <translation>Zobrazit verze</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1708"/>
+        <location filename="UI/UserInterface.py" line="1686"/>
         <source>Show &amp;Versions</source>
         <translation>Zobrazit &amp;verze</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1710"/>
+        <location filename="UI/UserInterface.py" line="1688"/>
         <source>Display version information</source>
         <translation>Zobrazit informace o verzích</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1711"/>
+        <location filename="UI/UserInterface.py" line="1689"/>
         <source>&lt;b&gt;Show Versions&lt;/b&gt;&lt;p&gt;Display version information.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Zobrazit verze&lt;/b&gt;&lt;p&gt;Zobrazí informace o verzích.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1720"/>
+        <location filename="UI/UserInterface.py" line="1698"/>
         <source>Check for Updates</source>
         <translation>Zjistit aktualizace</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1718"/>
+        <location filename="UI/UserInterface.py" line="1696"/>
         <source>Check for &amp;Updates...</source>
         <translation>Zjistit akt&amp;ualizace...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2819"/>
+        <location filename="UI/UserInterface.py" line="2816"/>
         <source>Report Bug</source>
         <translation>Reportovat Bugy</translation>
     </message>
     <message>
+        <location filename="UI/UserInterface.py" line="1719"/>
+        <source>Report &amp;Bug...</source>
+        <translation>Reportovat &amp;Bugy...</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1721"/>
+        <source>Report a bug</source>
+        <translation>Reportovat bug</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1722"/>
+        <source>&lt;b&gt;Report Bug...&lt;/b&gt;&lt;p&gt;Opens a dialog to report a bug.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Reportovat bug...&lt;/b&gt;&lt;p&gt;Otevře se dialog pro reportování bugu.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="2433"/>
+        <source>Unittest</source>
+        <translation></translation>
+    </message>
+    <message>
         <location filename="UI/UserInterface.py" line="1741"/>
-        <source>Report &amp;Bug...</source>
-        <translation>Reportovat &amp;Bugy...</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1743"/>
-        <source>Report a bug</source>
-        <translation>Reportovat bug</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1744"/>
-        <source>&lt;b&gt;Report Bug...&lt;/b&gt;&lt;p&gt;Opens a dialog to report a bug.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Reportovat bug...&lt;/b&gt;&lt;p&gt;Otevře se dialog pro reportování bugu.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="2438"/>
-        <source>Unittest</source>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1763"/>
         <source>&amp;Unittest...</source>
         <translation>&amp;Unittest...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1767"/>
+        <location filename="UI/UserInterface.py" line="1745"/>
         <source>Start unittest dialog</source>
         <translation>Otevřít dialog unittestu</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1768"/>
+        <location filename="UI/UserInterface.py" line="1746"/>
         <source>&lt;b&gt;Unittest&lt;/b&gt;&lt;p&gt;Perform unit tests. The dialog gives you the ability to select and run a unittest suite.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Unittest&lt;/b&gt;&lt;p&gt;Provést unittesty. V dialogovém okně se nastaví který test se má provést.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1776"/>
+        <location filename="UI/UserInterface.py" line="1754"/>
         <source>Unittest Restart</source>
         <translation>Restart unittestu</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1776"/>
+        <location filename="UI/UserInterface.py" line="1754"/>
         <source>&amp;Restart Unittest...</source>
         <translation>&amp;Restart unittestu...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1780"/>
+        <location filename="UI/UserInterface.py" line="1758"/>
         <source>Restart last unittest</source>
         <translation>Restart posledního unittestu</translation>
     </message>
     <message>
+        <location filename="UI/UserInterface.py" line="1759"/>
+        <source>&lt;b&gt;Restart Unittest&lt;/b&gt;&lt;p&gt;Restart the unittest performed last.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Restart unittestu&lt;/b&gt;&lt;p&gt;Restartuje se poslední provedený unittest.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1781"/>
+        <source>Unittest Script</source>
+        <translation></translation>
+    </message>
+    <message>
         <location filename="UI/UserInterface.py" line="1781"/>
-        <source>&lt;b&gt;Restart Unittest&lt;/b&gt;&lt;p&gt;Restart the unittest performed last.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Restart unittestu&lt;/b&gt;&lt;p&gt;Restartuje se poslední provedený unittest.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1789"/>
-        <source>Unittest Script</source>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1789"/>
         <source>Unittest &amp;Script...</source>
         <translation>Unittest &amp;Script...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1793"/>
+        <location filename="UI/UserInterface.py" line="1785"/>
         <source>Run unittest with current script</source>
         <translation>Spustit unittest s aktuálním skriptem</translation>
     </message>
     <message>
+        <location filename="UI/UserInterface.py" line="1786"/>
+        <source>&lt;b&gt;Unittest Script&lt;/b&gt;&lt;p&gt;Run unittest with current script.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Unittest Script&lt;/b&gt;&lt;p&gt;Spustit unittest s aktuálním skriptem.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="4065"/>
+        <source>Unittest Project</source>
+        <translation>Unittest Projekt</translation>
+    </message>
+    <message>
         <location filename="UI/UserInterface.py" line="1794"/>
-        <source>&lt;b&gt;Unittest Script&lt;/b&gt;&lt;p&gt;Run unittest with current script.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Unittest Script&lt;/b&gt;&lt;p&gt;Spustit unittest s aktuálním skriptem.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="4044"/>
-        <source>Unittest Project</source>
-        <translation>Unittest Projekt</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1802"/>
         <source>Unittest &amp;Project...</source>
         <translation>Unittest &amp;Projekt...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1806"/>
+        <location filename="UI/UserInterface.py" line="1798"/>
         <source>Run unittest with current project</source>
         <translation>Spustit unittest s aktuálním projektem</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1807"/>
+        <location filename="UI/UserInterface.py" line="1799"/>
         <source>&lt;b&gt;Unittest Project&lt;/b&gt;&lt;p&gt;Run unittest with current project.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Unittest projekt&lt;/b&gt;&lt;p&gt;Spustit unittest s aktuálním projektem.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1823"/>
+        <location filename="UI/UserInterface.py" line="1815"/>
         <source>Qt-Designer 4</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1826"/>
+        <location filename="UI/UserInterface.py" line="1818"/>
         <source>Start Qt-Designer 4</source>
         <translation>Spustit Qt-Designer 4</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1827"/>
+        <location filename="UI/UserInterface.py" line="1819"/>
         <source>&lt;b&gt;Qt-Designer 4&lt;/b&gt;&lt;p&gt;Start Qt-Designer 4.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Qt-Designer 4&lt;/b&gt;&lt;p&gt;Spustit Qt-Designer 4.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1843"/>
+        <location filename="UI/UserInterface.py" line="1835"/>
         <source>Qt-Linguist 4</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1846"/>
+        <location filename="UI/UserInterface.py" line="1838"/>
         <source>Start Qt-Linguist 4</source>
         <translation>Spustit Qt-Linguist 4</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1847"/>
+        <location filename="UI/UserInterface.py" line="1839"/>
         <source>&lt;b&gt;Qt-Linguist 4&lt;/b&gt;&lt;p&gt;Start Qt-Linguist 4.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Qt-Linguist 4&lt;/b&gt;&lt;p&gt;Spustit Qt-Linguist 4.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1856"/>
+        <location filename="UI/UserInterface.py" line="1848"/>
         <source>UI Previewer</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1856"/>
+        <location filename="UI/UserInterface.py" line="1848"/>
         <source>&amp;UI Previewer...</source>
         <translation>&amp;UI Previewer...</translation>
     </message>
     <message>
+        <location filename="UI/UserInterface.py" line="1851"/>
+        <source>Start the UI Previewer</source>
+        <translation>Spustit UI Previewer</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1852"/>
+        <source>&lt;b&gt;UI Previewer&lt;/b&gt;&lt;p&gt;Start the UI Previewer.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;UI Previewer&lt;/b&gt;&lt;p&gt;Spustit UI Previewer.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1859"/>
+        <source>Translations Previewer</source>
+        <translation>Náhled překladů</translation>
+    </message>
+    <message>
         <location filename="UI/UserInterface.py" line="1859"/>
-        <source>Start the UI Previewer</source>
-        <translation>Spustit UI Previewer</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1860"/>
-        <source>&lt;b&gt;UI Previewer&lt;/b&gt;&lt;p&gt;Start the UI Previewer.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;UI Previewer&lt;/b&gt;&lt;p&gt;Spustit UI Previewer.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1867"/>
-        <source>Translations Previewer</source>
-        <translation>Náhled překladů</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1867"/>
         <source>&amp;Translations Previewer...</source>
         <translation>Náhled &amp;překladů...</translation>
     </message>
     <message>
+        <location filename="UI/UserInterface.py" line="1862"/>
+        <source>Start the Translations Previewer</source>
+        <translation>Spustit Previewer překladů</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1863"/>
+        <source>&lt;b&gt;Translations Previewer&lt;/b&gt;&lt;p&gt;Start the Translations Previewer.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Previewer překladů&lt;/b&gt;&lt;p&gt;Spustit Previewer překladů.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1870"/>
+        <source>Compare Files</source>
+        <translation>Porovnat soubory</translation>
+    </message>
+    <message>
         <location filename="UI/UserInterface.py" line="1870"/>
-        <source>Start the Translations Previewer</source>
-        <translation>Spustit Previewer překladů</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1871"/>
-        <source>&lt;b&gt;Translations Previewer&lt;/b&gt;&lt;p&gt;Start the Translations Previewer.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Previewer překladů&lt;/b&gt;&lt;p&gt;Spustit Previewer překladů.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1878"/>
-        <source>Compare Files</source>
-        <translation>Porovnat soubory</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1878"/>
         <source>&amp;Compare Files...</source>
         <translation>&amp;Porovnat soubory...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1893"/>
+        <location filename="UI/UserInterface.py" line="1885"/>
         <source>Compare two files</source>
         <translation>Porovnat dva soubory</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1882"/>
+        <location filename="UI/UserInterface.py" line="1874"/>
         <source>&lt;b&gt;Compare Files&lt;/b&gt;&lt;p&gt;Open a dialog to compare two files.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Porovnat soubory&lt;/b&gt;&lt;p&gt;Otevře dialog pro porovnání dvou souborů.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1889"/>
+        <location filename="UI/UserInterface.py" line="1881"/>
         <source>Compare Files side by side</source>
         <translation>Porovnat soubory stranu proti straně</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1889"/>
+        <location filename="UI/UserInterface.py" line="1881"/>
         <source>Compare Files &amp;side by side...</source>
         <translation>Porovnat soubory &amp;stranu proti straně...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1894"/>
+        <location filename="UI/UserInterface.py" line="1886"/>
         <source>&lt;b&gt;Compare Files side by side&lt;/b&gt;&lt;p&gt;Open a dialog to compare two files and show the result side by side.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Porovnat soubory stranu proti straně&lt;/b&gt;&lt;p&gt;Otevře dialog pro porovnání souborů a zobrazení rozdílů strany proti straně.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1950"/>
+        <location filename="UI/UserInterface.py" line="1942"/>
         <source>Preferences</source>
         <translation>Nastavení</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1950"/>
+        <location filename="UI/UserInterface.py" line="1942"/>
         <source>&amp;Preferences...</source>
         <translation>Na&amp;stavení...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1953"/>
+        <location filename="UI/UserInterface.py" line="1945"/>
         <source>Set the prefered configuration</source>
         <translation>Nastavení konfigurace</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1954"/>
+        <location filename="UI/UserInterface.py" line="1946"/>
         <source>&lt;b&gt;Preferences&lt;/b&gt;&lt;p&gt;Set the configuration items of the application with your prefered values.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Nastavení&lt;/b&gt;&lt;p&gt;Upravit konfiguraci aplikace podle požadavků uživatele.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1985"/>
+        <location filename="UI/UserInterface.py" line="1978"/>
         <source>Reload APIs</source>
         <translation>Obnovit API</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1985"/>
+        <location filename="UI/UserInterface.py" line="1978"/>
         <source>Reload &amp;APIs</source>
         <translation>Obnovit &amp;API</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1987"/>
+        <location filename="UI/UserInterface.py" line="1980"/>
         <source>Reload the API information</source>
         <translation>Obnovit API nastavení</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1988"/>
+        <location filename="UI/UserInterface.py" line="1981"/>
         <source>&lt;b&gt;Reload APIs&lt;/b&gt;&lt;p&gt;Reload the API information.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Obnovit API&lt;/b&gt;&lt;p&gt;Obnovit API nastavení.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2007"/>
+        <location filename="UI/UserInterface.py" line="2000"/>
         <source>View Profiles</source>
         <translation>Profily pohledů</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2007"/>
+        <location filename="UI/UserInterface.py" line="2000"/>
         <source>&amp;View Profiles...</source>
         <translation>Profily &amp;pohledů...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2010"/>
+        <location filename="UI/UserInterface.py" line="2003"/>
         <source>Configure view profiles</source>
         <translation>Konfigurace profilů pohledů</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2011"/>
+        <location filename="UI/UserInterface.py" line="2004"/>
         <source>&lt;b&gt;View Profiles&lt;/b&gt;&lt;p&gt;Configure the view profiles. With this dialog you may set the visibility of the various windows for the predetermined view profiles.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Profily pohledů&lt;/b&gt;&lt;p&gt;Konfigurace profilu pohledů. V tomto dialogu můžete nastavit zobrazování různých typů pohledů - editačních oken.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2033"/>
+        <location filename="UI/UserInterface.py" line="2026"/>
         <source>Keyboard Shortcuts</source>
         <translation>Klávesové zkratky</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2033"/>
+        <location filename="UI/UserInterface.py" line="2026"/>
         <source>Keyboard &amp;Shortcuts...</source>
         <translation>Klávesové &amp;zkratky...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2036"/>
+        <location filename="UI/UserInterface.py" line="2029"/>
         <source>Set the keyboard shortcuts</source>
         <translation>Nastavení klávesových zkratek</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2037"/>
+        <location filename="UI/UserInterface.py" line="2030"/>
         <source>&lt;b&gt;Keyboard Shortcuts&lt;/b&gt;&lt;p&gt;Set the keyboard shortcuts of the application with your prefered values.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Klávesové zkratky&lt;/b&gt;&lt;p&gt;Nastavení klávesových zkratek aplikace podle zvyklostí uživatele.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5083"/>
+        <location filename="UI/UserInterface.py" line="5121"/>
         <source>Export Keyboard Shortcuts</source>
         <translation>Exportovat klávesové zkratky</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2045"/>
+        <location filename="UI/UserInterface.py" line="2038"/>
         <source>&amp;Export Keyboard Shortcuts...</source>
         <translation>&amp;Exportovat klávesové zkratky...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2049"/>
+        <location filename="UI/UserInterface.py" line="2042"/>
         <source>Export the keyboard shortcuts</source>
         <translation>Export klávesových zkratek</translation>
     </message>
     <message>
+        <location filename="UI/UserInterface.py" line="2043"/>
+        <source>&lt;b&gt;Export Keyboard Shortcuts&lt;/b&gt;&lt;p&gt;Export the keyboard shortcuts of the application.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Export klávesových zkratek&lt;/b&gt;&lt;p&gt;Exportují se klávesové zkratky z aplikace.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="5144"/>
+        <source>Import Keyboard Shortcuts</source>
+        <translation>Import klávesových zkratek</translation>
+    </message>
+    <message>
         <location filename="UI/UserInterface.py" line="2050"/>
-        <source>&lt;b&gt;Export Keyboard Shortcuts&lt;/b&gt;&lt;p&gt;Export the keyboard shortcuts of the application.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Export klávesových zkratek&lt;/b&gt;&lt;p&gt;Exportují se klávesové zkratky z aplikace.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="5106"/>
-        <source>Import Keyboard Shortcuts</source>
-        <translation>Import klávesových zkratek</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="2057"/>
         <source>&amp;Import Keyboard Shortcuts...</source>
         <translation>&amp;Import klávesových zkratek...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2061"/>
+        <location filename="UI/UserInterface.py" line="2054"/>
         <source>Import the keyboard shortcuts</source>
         <translation>Import klávesových zkratek</translation>
     </message>
     <message>
+        <location filename="UI/UserInterface.py" line="2055"/>
+        <source>&lt;b&gt;Import Keyboard Shortcuts&lt;/b&gt;&lt;p&gt;Import the keyboard shortcuts of the application.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Import klávesových zkratek&lt;/b&gt;&lt;p&gt;Do aplikace se importují klávesové zkratky.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="2062"/>
+        <source>Activate current editor</source>
+        <translation>Aktivovat aktuální editor</translation>
+    </message>
+    <message>
         <location filename="UI/UserInterface.py" line="2062"/>
-        <source>&lt;b&gt;Import Keyboard Shortcuts&lt;/b&gt;&lt;p&gt;Import the keyboard shortcuts of the application.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Import klávesových zkratek&lt;/b&gt;&lt;p&gt;Do aplikace se importují klávesové zkratky.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="2069"/>
-        <source>Activate current editor</source>
-        <translation>Aktivovat aktuální editor</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="2069"/>
         <source>Alt+Shift+E</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2078"/>
+        <location filename="UI/UserInterface.py" line="2071"/>
         <source>Ctrl+Alt+Tab</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2086"/>
+        <location filename="UI/UserInterface.py" line="2079"/>
         <source>Shift+Ctrl+Alt+Tab</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2165"/>
+        <location filename="UI/UserInterface.py" line="2158"/>
         <source>Qt4 Documentation</source>
         <translation>Qt4 dokumentace</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2165"/>
+        <location filename="UI/UserInterface.py" line="2158"/>
         <source>Qt&amp;4 Documentation</source>
         <translation>Qt&amp;4 dokumentace</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2167"/>
+        <location filename="UI/UserInterface.py" line="2160"/>
         <source>Open Qt4 Documentation</source>
         <translation>Otevřít Qt4 dokumentaci</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2168"/>
+        <location filename="UI/UserInterface.py" line="2161"/>
         <source>&lt;b&gt;Qt4 Documentation&lt;/b&gt;&lt;p&gt;Display the Qt4 Documentation. Dependant upon your settings, this will either show the help in Eric&apos;s internal help viewer, or execute a web browser or Qt Assistant. &lt;/p&gt;</source>
         <translation>&lt;b&gt;Qt4 dokumentace&lt;/b&gt;&lt;p&gt;Zobrazit Qt4 dokumentaci. V závislosti na vašich nastaveních zobrazí interní Eric prohlížeč nápovědy nebo spustí webový prohlížeč nebo Qt Assistant.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2177"/>
+        <location filename="UI/UserInterface.py" line="2170"/>
         <source>PyQt4 Documentation</source>
         <translation>PyQt4 dokumentace</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2177"/>
+        <location filename="UI/UserInterface.py" line="2170"/>
         <source>P&amp;yQt4 Documentation</source>
         <translation>P&amp;yQt4 dokumentace</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2179"/>
+        <location filename="UI/UserInterface.py" line="2172"/>
         <source>Open PyQt4 Documentation</source>
         <translation>Otevřít PyQt4 dokumentaci</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2180"/>
+        <location filename="UI/UserInterface.py" line="2173"/>
         <source>&lt;b&gt;PyQt4 Documentation&lt;/b&gt;&lt;p&gt;Display the PyQt4 Documentation. Dependant upon your settings, this will either show the help in Eric&apos;s internal help viewer, or execute a web browser or Qt Assistant. &lt;/p&gt;</source>
         <translation>&lt;b&gt;PyQt4 dokumentace&lt;/b&gt;&lt;p&gt;Zobrazit PyQt4 dokumentaci. V závislosti na vašich nastaveních zobrazí interní Eric prohlížeč nápovědy nebo spustí webový prohlížeč nebo Qt Assistant.&lt;/p&gt;</translation>
     </message>
@@ -45186,197 +45201,197 @@
         <translation type="obsolete">&lt;b&gt;Python dokumentace&lt;/b&gt;&lt;p&gt;Zobrazí python dokumentaci. Pokud není adresář dokumentace nastaven, tak ve Windows se dokumentace hledá v adresáři odkud se python spouští a na Unixu v doc adresáři &lt;i&gt;/usr/share/doc/packages/python/html&lt;/i&gt;. Pokud chcete jiný, nastavte si proměnnou prostředí PYTHONDOCDIR.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2229"/>
+        <location filename="UI/UserInterface.py" line="2222"/>
         <source>Eric API Documentation</source>
         <translation>Eric API dokumentace</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2229"/>
+        <location filename="UI/UserInterface.py" line="2222"/>
         <source>&amp;Eric API Documentation</source>
         <translation>&amp;Eric API dokumentace</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2231"/>
+        <location filename="UI/UserInterface.py" line="2224"/>
         <source>Open Eric API Documentation</source>
         <translation>Otevřít Eric API dokumentaci</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2286"/>
+        <location filename="UI/UserInterface.py" line="2279"/>
         <source>&amp;Unittest</source>
         <translation>&amp;Unittest</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2301"/>
+        <location filename="UI/UserInterface.py" line="2296"/>
         <source>E&amp;xtras</source>
         <translation>E&amp;xtra funkce</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2313"/>
+        <location filename="UI/UserInterface.py" line="2308"/>
         <source>&amp;Tools</source>
         <translation>&amp;Nástroje</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2316"/>
+        <location filename="UI/UserInterface.py" line="2311"/>
         <source>Select Tool Group</source>
         <translation>Vybrat skupinu nástrojů</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2322"/>
+        <location filename="UI/UserInterface.py" line="2317"/>
         <source>Se&amp;ttings</source>
         <translation>Nas&amp;tavení</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2340"/>
+        <location filename="UI/UserInterface.py" line="2335"/>
         <source>&amp;Window</source>
         <translation>O&amp;kno</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2346"/>
+        <location filename="UI/UserInterface.py" line="2341"/>
         <source>&amp;Toolbars</source>
         <translation>&amp;Toolbary</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2371"/>
+        <location filename="UI/UserInterface.py" line="2366"/>
         <source>&amp;Help</source>
         <translation>&amp;Nápověda</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2437"/>
+        <location filename="UI/UserInterface.py" line="2432"/>
         <source>Tools</source>
         <translation>Nástroje</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2439"/>
+        <location filename="UI/UserInterface.py" line="2434"/>
         <source>Settings</source>
         <translation>Nastavení</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4254"/>
+        <location filename="UI/UserInterface.py" line="4288"/>
         <source>Help</source>
         <translation>Nápověda</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2441"/>
+        <location filename="UI/UserInterface.py" line="2436"/>
         <source>Profiles</source>
         <translation>Profily</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2768"/>
+        <location filename="UI/UserInterface.py" line="2765"/>
         <source>&lt;h3&gt;Version Numbers&lt;/h3&gt;&lt;table&gt;</source>
         <translation>&lt;h3&gt;Čísla verzí&lt;/h3&gt;&lt;table&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5719"/>
+        <location filename="UI/UserInterface.py" line="5807"/>
         <source>&lt;/table&gt;</source>
         <translation>&lt;/table&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2819"/>
+        <location filename="UI/UserInterface.py" line="2816"/>
         <source>Email address or mail server address is empty. Please configure your Email settings in the Preferences Dialog.</source>
         <translation>Emailová adresa nebo mail server adresa jsou prázdné. Prosím, nastavte váš email v dialogovém okně Nastavení.</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="3121"/>
+        <location filename="UI/UserInterface.py" line="3122"/>
         <source>Configure Tool Groups ...</source>
         <translation>Konfigurace Skupin nástrojů...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="3124"/>
+        <location filename="UI/UserInterface.py" line="3125"/>
         <source>Configure current Tool Group ...</source>
         <translation>Konfigurace aktuální skupiny nástrojů...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="3172"/>
+        <location filename="UI/UserInterface.py" line="3173"/>
         <source>&amp;Builtin Tools</source>
         <translation>&amp;Vestavěné nástroje</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4044"/>
+        <location filename="UI/UserInterface.py" line="4065"/>
         <source>There is no main script defined for the current project. Aborting</source>
         <translation>V aktuálním projektu není definován hlavní skript. Zrušeno</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4362"/>
+        <location filename="UI/UserInterface.py" line="4396"/>
         <source>Problem</source>
         <translation>Problém</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4495"/>
+        <location filename="UI/UserInterface.py" line="4529"/>
         <source>Process Generation Error</source>
         <translation>Chyba v procesu generování</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4254"/>
+        <location filename="UI/UserInterface.py" line="4288"/>
         <source>Currently no custom viewer is selected. Please use the preferences dialog to specify one.</source>
         <translation>Aktuálně není vybrán žádný prohlížeč. Prosím otevřete Nastavení a nějaký vyberte.</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4285"/>
+        <location filename="UI/UserInterface.py" line="4319"/>
         <source>&lt;p&gt;Could not start the help viewer.&lt;br&gt;Ensure that it is available as &lt;b&gt;hh&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Nemohu spustit prohlížeč nápovědy.&lt;br&gt;Ověřte jestli je dostupný jako &lt;b&gt;hh&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4847"/>
+        <location filename="UI/UserInterface.py" line="4881"/>
         <source>Documentation Missing</source>
         <translation>Dokumentace chybí</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4832"/>
+        <location filename="UI/UserInterface.py" line="4866"/>
         <source>Documentation</source>
         <translation>Dokumentace</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4741"/>
+        <location filename="UI/UserInterface.py" line="4775"/>
         <source>&lt;p&gt;The PyQt4 documentation starting point has not been configured.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Adresář PyQt4 dokumentace není nakonfigurován.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5225"/>
+        <location filename="UI/UserInterface.py" line="5265"/>
         <source>Save tasks</source>
         <translation>Uložit úlohy</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5247"/>
+        <location filename="UI/UserInterface.py" line="5287"/>
         <source>Read tasks</source>
         <translation>Načíst úlohy</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5403"/>
+        <location filename="UI/UserInterface.py" line="5491"/>
         <source>Drop Error</source>
         <translation>Zahodit chybu</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5685"/>
+        <location filename="UI/UserInterface.py" line="5773"/>
         <source>Error during updates check</source>
         <translation>Chyba během zjišťování aktualizací</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5672"/>
+        <location filename="UI/UserInterface.py" line="5760"/>
         <source>Update available</source>
         <translation>Byla nalezena aktualizace</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1998"/>
+        <location filename="UI/UserInterface.py" line="1991"/>
         <source>Show external tools</source>
         <translation>Zobrazit externí nástroje</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1995"/>
+        <location filename="UI/UserInterface.py" line="1988"/>
         <source>Show external &amp;tools</source>
         <translation>Zobrazit externí nás&amp;troje</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5685"/>
+        <location filename="UI/UserInterface.py" line="5773"/>
         <source>Could not perform updates check.</source>
         <translation>Kontrolu updatů nelze provést.</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5547"/>
+        <location filename="UI/UserInterface.py" line="5635"/>
         <source>&amp;Cancel</source>
         <translation>&amp;Zrušit</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5759"/>
+        <location filename="UI/UserInterface.py" line="5847"/>
         <source>First time usage</source>
         <translation>Spuštěno poprvé</translation>
     </message>
@@ -45386,87 +45401,87 @@
         <translation>Inicializace Plugin manažera...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2357"/>
+        <location filename="UI/UserInterface.py" line="2352"/>
         <source>P&amp;lugins</source>
         <translation>P&amp;luginy</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2442"/>
+        <location filename="UI/UserInterface.py" line="2437"/>
         <source>Plugins</source>
         <translation>Pluginy</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2102"/>
+        <location filename="UI/UserInterface.py" line="2095"/>
         <source>Plugin Infos</source>
         <translation>Plugin Infa</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2105"/>
+        <location filename="UI/UserInterface.py" line="2098"/>
         <source>Show Plugin Infos</source>
         <translation>Zobrazit Plugin infa</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2106"/>
+        <location filename="UI/UserInterface.py" line="2099"/>
         <source>&lt;b&gt;Plugin Infos...&lt;/b&gt;&lt;p&gt;This opens a dialog, that show some information about loaded plugins.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Plugin Infa&lt;/b&gt;&lt;p&gt;Otevře dialog, který zobrazí informace o načtených pluginech.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2102"/>
+        <location filename="UI/UserInterface.py" line="2095"/>
         <source>&amp;Plugin Infos...</source>
         <translation>&amp;Plugin Infa...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="3180"/>
+        <location filename="UI/UserInterface.py" line="3181"/>
         <source>&amp;Plugin Tools</source>
         <translation>&amp;Plugin nástroje</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2128"/>
+        <location filename="UI/UserInterface.py" line="2121"/>
         <source>Uninstall Plugin</source>
         <translation>Odinstalovat plugin</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2125"/>
+        <location filename="UI/UserInterface.py" line="2118"/>
         <source>&amp;Uninstall Plugin...</source>
         <translation>&amp;Odinstalovat plugin...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2129"/>
+        <location filename="UI/UserInterface.py" line="2122"/>
         <source>&lt;b&gt;Uninstall Plugin...&lt;/b&gt;&lt;p&gt;This opens a dialog to uninstall a plugin.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Odinstalovat plugin...&lt;/b&gt;&lt;p&gt;Otevře dialog pro odinstalaci pluginu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="3333"/>
+        <location filename="UI/UserInterface.py" line="3334"/>
         <source>&amp;Show all</source>
         <translation>&amp;Zobrazit vše</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="3335"/>
+        <location filename="UI/UserInterface.py" line="3336"/>
         <source>&amp;Hide all</source>
         <translation>&amp;Skrýt vše</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="548"/>
+        <location filename="UI/UserInterface.py" line="525"/>
         <source>Activating Plugins...</source>
         <translation>Aktivace pluginů...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2306"/>
+        <location filename="UI/UserInterface.py" line="2301"/>
         <source>Wi&amp;zards</source>
         <translation>&amp;Průvodci</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1728"/>
+        <location filename="UI/UserInterface.py" line="1706"/>
         <source>Show downloadable versions</source>
         <translation>Zobrazit verze ke stažení</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1728"/>
+        <location filename="UI/UserInterface.py" line="1706"/>
         <source>Show &amp;downloadable versions...</source>
         <translation>Zobrazit verze pro &amp;download...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1731"/>
+        <location filename="UI/UserInterface.py" line="1709"/>
         <source>Show the versions available for download</source>
         <translation>Zobrazit dostupné verze ke stažení</translation>
     </message>
@@ -45481,452 +45496,452 @@
         <translation type="obsolete">Nelze stáhnout soubor s verzemi.</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5706"/>
+        <location filename="UI/UserInterface.py" line="5794"/>
         <source>&lt;h3&gt;Available versions&lt;/h3&gt;&lt;table&gt;</source>
         <translation>&lt;h3&gt;Dostupné verze&lt;/h3&gt;&lt;table&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2136"/>
+        <location filename="UI/UserInterface.py" line="2129"/>
         <source>Plugin Repository</source>
         <translation>Repozitář pluginů</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2136"/>
+        <location filename="UI/UserInterface.py" line="2129"/>
         <source>Plugin &amp;Repository...</source>
         <translation>&amp;Repozitář pluginů...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2139"/>
+        <location filename="UI/UserInterface.py" line="2132"/>
         <source>Show Plugins available for download</source>
         <translation>Zobrazit pluginy dostupné ke stažení</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2141"/>
+        <location filename="UI/UserInterface.py" line="2134"/>
         <source>&lt;b&gt;Plugin Repository...&lt;/b&gt;&lt;p&gt;This opens a dialog, that shows a list of plugins available on the Internet.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Repozitář pluginů...&lt;/b&gt;&lt;p&gt;Otevře se dialog, který zobrazí seznam pluginů dostupných ke stažení přes internet.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2117"/>
+        <location filename="UI/UserInterface.py" line="2110"/>
         <source>Install Plugins</source>
         <translation>Instalovat pluginy</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2114"/>
+        <location filename="UI/UserInterface.py" line="2107"/>
         <source>&amp;Install Plugins...</source>
         <translation>&amp;Instalovat pluginy...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2118"/>
+        <location filename="UI/UserInterface.py" line="2111"/>
         <source>&lt;b&gt;Install Plugins...&lt;/b&gt;&lt;p&gt;This opens a dialog to install or update plugins.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Instalovat pluginy...&lt;/b&gt;&lt;p&gt;Otevře dialog pro instalaci nebo aktualizaci pluginů.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1918"/>
+        <location filename="UI/UserInterface.py" line="1910"/>
         <source>Mini Editor</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1914"/>
+        <location filename="UI/UserInterface.py" line="1906"/>
         <source>Mini &amp;Editor...</source>
         <translation>Mini &amp;Editor...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1919"/>
+        <location filename="UI/UserInterface.py" line="1911"/>
         <source>&lt;b&gt;Mini Editor&lt;/b&gt;&lt;p&gt;Open a dialog with a simplified editor.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Mini editor&lt;/b&gt;&lt;p&gt;Otevře se okno s jednoduchým editorem&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1823"/>
+        <location filename="UI/UserInterface.py" line="1815"/>
         <source>&amp;Designer 4...</source>
         <translation>&amp;Designer 4...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1843"/>
+        <location filename="UI/UserInterface.py" line="1835"/>
         <source>&amp;Linguist 4...</source>
         <translation>&amp;Linguist 4...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2020"/>
+        <location filename="UI/UserInterface.py" line="2013"/>
         <source>Toolbars</source>
         <translation>Lišty nástrojů</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2020"/>
+        <location filename="UI/UserInterface.py" line="2013"/>
         <source>Tool&amp;bars...</source>
         <translation>&amp;Lišty nástrojů...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2023"/>
+        <location filename="UI/UserInterface.py" line="2016"/>
         <source>Configure toolbars</source>
         <translation>Konfigurace lišt nástrojů</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2024"/>
+        <location filename="UI/UserInterface.py" line="2017"/>
         <source>&lt;b&gt;Toolbars&lt;/b&gt;&lt;p&gt;Configure the toolbars. With this dialog you may change the actions shown on the various toolbars and define your own toolbars.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Listy nástrojů&lt;/b&gt;&lt;p&gt;Konfigurace lišt nástrojů. S tímto dialogem můžete změnit akce zobrazené v různých nástrojových lištách nebo definovat své vlastní nástrojové lišty.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="555"/>
+        <location filename="UI/UserInterface.py" line="532"/>
         <source>Restoring Toolbarmanager...</source>
         <translation>Obnovit manažer nástrojových lišt...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4443"/>
+        <location filename="UI/UserInterface.py" line="4477"/>
         <source>External Tools</source>
         <translation>Externí nástroje</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1392"/>
+        <location filename="UI/UserInterface.py" line="1370"/>
         <source>Multiproject-Viewer</source>
         <translation>Prohlížeč multiprojektu</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1392"/>
+        <location filename="UI/UserInterface.py" line="1370"/>
         <source>&amp;Multiproject-Viewer</source>
         <translation>Prohlížeč &amp;multiprojektu</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1395"/>
+        <location filename="UI/UserInterface.py" line="1373"/>
         <source>Toggle the Multiproject-Viewer window</source>
         <translation>Přepnout okno Prohlížeč multiprojektu</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1396"/>
+        <location filename="UI/UserInterface.py" line="1374"/>
         <source>&lt;b&gt;Toggle the Multiproject-Viewer window&lt;/b&gt;&lt;p&gt;If the Multiproject-Viewer window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Přepnout okno Prohlížeče multiprojektu&lt;/b&gt;&lt;p&gt;Pokud bylo okno skryto, tak se zobrazí. Pokud se zobrazovalo, tak se skryje.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1404"/>
+        <location filename="UI/UserInterface.py" line="1382"/>
         <source>Activate Multiproject-Viewer</source>
         <translation>Aktivovat prohlížeč multiprojektu</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1535"/>
+        <location filename="UI/UserInterface.py" line="1513"/>
         <source>Temp&amp;late-Viewer</source>
         <translation>Proh&amp;lížeč šablon</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5262"/>
+        <location filename="UI/UserInterface.py" line="5302"/>
         <source>Save session</source>
         <translation>Uložit relaci</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5285"/>
+        <location filename="UI/UserInterface.py" line="5325"/>
         <source>Read session</source>
         <translation>Načíst relaci</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2588"/>
+        <location filename="UI/UserInterface.py" line="2585"/>
         <source>&lt;p&gt;This part of the status bar displays the current editors encoding.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Tato část status baru zobrazuje aktuální kódování editorů.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2602"/>
+        <location filename="UI/UserInterface.py" line="2599"/>
         <source>&lt;p&gt;This part of the status bar displays an indication of the current editors files writability.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Tato část status baru zobrazuje indikátor práva zápisu editoru do souboru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5734"/>
+        <location filename="UI/UserInterface.py" line="5822"/>
         <source>SSL Errors</source>
         <translation>SSL chyby</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1751"/>
+        <location filename="UI/UserInterface.py" line="1729"/>
         <source>Request Feature</source>
         <translation>Požadavek na vlastnost</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1751"/>
+        <location filename="UI/UserInterface.py" line="1729"/>
         <source>Request &amp;Feature...</source>
         <translation>&amp;Požadavek na vlastnost...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1753"/>
+        <location filename="UI/UserInterface.py" line="1731"/>
         <source>Send a feature request</source>
         <translation>Poslat požadavek na vlastnost</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1754"/>
+        <location filename="UI/UserInterface.py" line="1732"/>
         <source>&lt;b&gt;Request Feature...&lt;/b&gt;&lt;p&gt;Opens a dialog to send a feature request.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Požadavek na vlastnost...&lt;/b&gt;&lt;p&gt;Otevře dialog pro odeslání požadavku.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2581"/>
+        <location filename="UI/UserInterface.py" line="2578"/>
         <source>&lt;p&gt;This part of the status bar displays the current editors language.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Tato část status baru zobrazuje aktuální jazyk editoru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2611"/>
+        <location filename="UI/UserInterface.py" line="2608"/>
         <source>&lt;p&gt;This part of the status bar displays the name of the file of the current editor.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Tato část statusbaru zobrazuje jméno souboru v aktuálním editoru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2618"/>
+        <location filename="UI/UserInterface.py" line="2615"/>
         <source>&lt;p&gt;This part of the status bar displays the line number of the current editor.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Tato část status baru zobrazuje číslo řádku v aktuálním editoru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2625"/>
+        <location filename="UI/UserInterface.py" line="2622"/>
         <source>&lt;p&gt;This part of the status bar displays the cursor position of the current editor.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Tato část status baru zobrazuje pozici kurzoru v aktuálním editoru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1556"/>
+        <location filename="UI/UserInterface.py" line="1534"/>
         <source>Vertical Toolbox</source>
         <translation>Svislá nástrojová lišta</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1567"/>
+        <location filename="UI/UserInterface.py" line="1545"/>
         <source>Horizontal Toolbox</source>
         <translation>Vodorovná nástrojová lišta</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1556"/>
+        <location filename="UI/UserInterface.py" line="1534"/>
         <source>&amp;Vertical Toolbox</source>
         <translation>S&amp;vislá nástrojová lišta</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1558"/>
+        <location filename="UI/UserInterface.py" line="1536"/>
         <source>Toggle the Vertical Toolbox window</source>
         <translation>Přepnout na svislou nástrojovou lištu</translation>
     </message>
     <message>
+        <location filename="UI/UserInterface.py" line="1537"/>
+        <source>&lt;b&gt;Toggle the Vertical Toolbox window&lt;/b&gt;&lt;p&gt;If the Vertical Toolbox window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Přepnout svislou nástrojovou lištu&lt;/b&gt;&lt;p&gt;Pokud je svislá nástrojová lišta skryta, tak se zobrazí. Je-li zobrazena, skryje se.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1545"/>
+        <source>&amp;Horizontal Toolbox</source>
+        <translation>&amp;Horizontální lista nástrojů</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1548"/>
+        <source>Toggle the Horizontal Toolbox window</source>
+        <translation>Přepnout na vodorovnou lištu nástrojů</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1549"/>
+        <source>&lt;b&gt;Toggle the Horizontal Toolbox window&lt;/b&gt;&lt;p&gt;If the Horizontal Toolbox window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Přepnout vodorovnou nástrojovou lištu&lt;/b&gt;&lt;p&gt;Pokud je vodorovná nástrojová lišta skryta, tak se zobrazí. Je-li zobrazena, skryje se.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="3090"/>
+        <source>Restart application</source>
+        <translation>Restartovat aplikaci</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="3090"/>
+        <source>The application needs to be restarted. Do it now?</source>
+        <translation>Aplikace potřebuje restartovat. Má se provést nyní?</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1432"/>
+        <source>Terminal</source>
+        <translation>Terminál</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1432"/>
+        <source>Te&amp;rminal</source>
+        <translation>Te&amp;rminál</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1434"/>
+        <source>Toggle the Terminal window</source>
+        <translation>Přepnout do okna s terminálem</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1435"/>
+        <source>&lt;b&gt;Toggle the Terminal window&lt;/b&gt;&lt;p&gt;If the Terminal window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Přepnout do okna s terminálem&lt;/b&gt;&lt;p&gt;Pokud je okno skryto, tak se zobrazí. Je-li zobrazeno, skryje se.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1443"/>
+        <source>Activate Terminal</source>
+        <translation>Aktivovat terminál</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1443"/>
+        <source>Alt+Shift+R</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1525"/>
+        <source>Alt+Shift+A</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="2361"/>
+        <source>Configure...</source>
+        <translation>Konfigurovat...</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="2592"/>
+        <source>&lt;p&gt;This part of the status bar displays the current editors eol setting.&lt;/p&gt;</source>
+        <translation>&lt;p&gt;Tato část status baru zobrazuje eol nastavení v aktuálním editoru.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="2087"/>
+        <source>Switch between tabs</source>
+        <translation>Přepnout mezi taby</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="2087"/>
+        <source>Ctrl+1</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1955"/>
+        <source>Export Preferences</source>
+        <translation>Exportovat předvolby</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1955"/>
+        <source>E&amp;xport Preferences...</source>
+        <translation>E&amp;xportovat předvolby...</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1958"/>
+        <source>Export the current configuration</source>
+        <translation>Export aktuální konfigurace</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1959"/>
+        <source>&lt;b&gt;Export Preferences&lt;/b&gt;&lt;p&gt;Export the current configuration to a file.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Export předvoleb&lt;/b&gt;&lt;p&gt;Export aktuální konfigurace do souboru.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1966"/>
+        <source>Import Preferences</source>
+        <translation>Import předvoleb</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1966"/>
+        <source>I&amp;mport Preferences...</source>
+        <translation>I&amp;mport předvoleb...</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1969"/>
+        <source>Import a previously exported configuration</source>
+        <translation>Import dříve exportované konfigurace</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1971"/>
+        <source>&lt;b&gt;Import Preferences&lt;/b&gt;&lt;p&gt;Import a previously exported configuration.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Import předvoleb&lt;/b&gt;&lt;p&gt;Import dříve exportované konfigurace.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="2071"/>
+        <source>Show next</source>
+        <translation>Zobrazit další</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="2079"/>
+        <source>Show previous</source>
+        <translation>Zobrazit předchozí</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1557"/>
+        <source>Left Sidebar</source>
+        <translation>Levé menu</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1557"/>
+        <source>&amp;Left Sidebar</source>
+        <translation>&amp;Levé menu</translation>
+    </message>
+    <message>
         <location filename="UI/UserInterface.py" line="1559"/>
-        <source>&lt;b&gt;Toggle the Vertical Toolbox window&lt;/b&gt;&lt;p&gt;If the Vertical Toolbox window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Přepnout svislou nástrojovou lištu&lt;/b&gt;&lt;p&gt;Pokud je svislá nástrojová lišta skryta, tak se zobrazí. Je-li zobrazena, skryje se.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1567"/>
-        <source>&amp;Horizontal Toolbox</source>
-        <translation>&amp;Horizontální lista nástrojů</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1570"/>
-        <source>Toggle the Horizontal Toolbox window</source>
-        <translation>Přepnout na vodorovnou lištu nástrojů</translation>
+        <source>Toggle the left sidebar window</source>
+        <translation>Přepnout okno levého menu</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1560"/>
+        <source>&lt;b&gt;Toggle the left sidebar window&lt;/b&gt;&lt;p&gt;If the left sidebar window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Přepnout okno levého menu&lt;/b&gt;&lt;p&gt;Je-li okno levého menu skryto, tak se zobrazí. Je-li zobrazeno, skryje se.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1568"/>
+        <source>Bottom Sidebar</source>
+        <translation>Dolní menu</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1568"/>
+        <source>&amp;Bottom Sidebar</source>
+        <translation>&amp;Dolní menu</translation>
     </message>
     <message>
         <location filename="UI/UserInterface.py" line="1571"/>
-        <source>&lt;b&gt;Toggle the Horizontal Toolbox window&lt;/b&gt;&lt;p&gt;If the Horizontal Toolbox window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Přepnout vodorovnou nástrojovou lištu&lt;/b&gt;&lt;p&gt;Pokud je vodorovná nástrojová lišta skryta, tak se zobrazí. Je-li zobrazena, skryje se.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="3089"/>
-        <source>Restart application</source>
-        <translation>Restartovat aplikaci</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="3089"/>
-        <source>The application needs to be restarted. Do it now?</source>
-        <translation>Aplikace potřebuje restartovat. Má se provést nyní?</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1454"/>
-        <source>Terminal</source>
-        <translation>Terminál</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1454"/>
-        <source>Te&amp;rminal</source>
-        <translation>Te&amp;rminál</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1456"/>
-        <source>Toggle the Terminal window</source>
-        <translation>Přepnout do okna s terminálem</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1457"/>
-        <source>&lt;b&gt;Toggle the Terminal window&lt;/b&gt;&lt;p&gt;If the Terminal window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Přepnout do okna s terminálem&lt;/b&gt;&lt;p&gt;Pokud je okno skryto, tak se zobrazí. Je-li zobrazeno, skryje se.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1465"/>
-        <source>Activate Terminal</source>
-        <translation>Aktivovat terminál</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1465"/>
-        <source>Alt+Shift+R</source>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1547"/>
-        <source>Alt+Shift+A</source>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="2366"/>
-        <source>Configure...</source>
-        <translation>Konfigurovat...</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="2595"/>
-        <source>&lt;p&gt;This part of the status bar displays the current editors eol setting.&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Tato část status baru zobrazuje eol nastavení v aktuálním editoru.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="2094"/>
-        <source>Switch between tabs</source>
-        <translation>Přepnout mezi taby</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="2094"/>
-        <source>Ctrl+1</source>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1962"/>
-        <source>Export Preferences</source>
-        <translation>Exportovat předvolby</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1962"/>
-        <source>E&amp;xport Preferences...</source>
-        <translation>E&amp;xportovat předvolby...</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1965"/>
-        <source>Export the current configuration</source>
-        <translation>Export aktuální konfigurace</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1966"/>
-        <source>&lt;b&gt;Export Preferences&lt;/b&gt;&lt;p&gt;Export the current configuration to a file.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Export předvoleb&lt;/b&gt;&lt;p&gt;Export aktuální konfigurace do souboru.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1973"/>
-        <source>Import Preferences</source>
-        <translation>Import předvoleb</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1973"/>
-        <source>I&amp;mport Preferences...</source>
-        <translation>I&amp;mport předvoleb...</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1976"/>
-        <source>Import a previously exported configuration</source>
-        <translation>Import dříve exportované konfigurace</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1978"/>
-        <source>&lt;b&gt;Import Preferences&lt;/b&gt;&lt;p&gt;Import a previously exported configuration.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Import předvoleb&lt;/b&gt;&lt;p&gt;Import dříve exportované konfigurace.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="2078"/>
-        <source>Show next</source>
-        <translation>Zobrazit další</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="2086"/>
-        <source>Show previous</source>
-        <translation>Zobrazit předchozí</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1579"/>
-        <source>Left Sidebar</source>
-        <translation>Levé menu</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1579"/>
-        <source>&amp;Left Sidebar</source>
-        <translation>&amp;Levé menu</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1581"/>
-        <source>Toggle the left sidebar window</source>
-        <translation>Přepnout okno levého menu</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1582"/>
-        <source>&lt;b&gt;Toggle the left sidebar window&lt;/b&gt;&lt;p&gt;If the left sidebar window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Přepnout okno levého menu&lt;/b&gt;&lt;p&gt;Je-li okno levého menu skryto, tak se zobrazí. Je-li zobrazeno, skryje se.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1590"/>
-        <source>Bottom Sidebar</source>
-        <translation>Dolní menu</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1590"/>
-        <source>&amp;Bottom Sidebar</source>
-        <translation>&amp;Dolní menu</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1593"/>
         <source>Toggle the bottom sidebar window</source>
         <translation>Přepnout okno dolního menu</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1594"/>
+        <location filename="UI/UserInterface.py" line="1572"/>
         <source>&lt;b&gt;Toggle the bottom sidebar window&lt;/b&gt;&lt;p&gt;If the bottom sidebar window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Přepnout okno dolního menu&lt;/b&gt;&lt;p&gt;Je-li okno dolního menu skryto, tak se zobrazí. Je-li zobrazeno, skryje se.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1413"/>
+        <location filename="UI/UserInterface.py" line="1391"/>
         <source>&amp;Debug-Viewer</source>
         <translation>Prohlížeč &amp;debugeru</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1415"/>
+        <location filename="UI/UserInterface.py" line="1393"/>
         <source>Toggle the Debug-Viewer window</source>
         <translation>Přepnout okno debug prohlížeče</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1416"/>
+        <location filename="UI/UserInterface.py" line="1394"/>
         <source>&lt;b&gt;Toggle the Debug-Viewer window&lt;/b&gt;&lt;p&gt;If the Debug-Viewer window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Přepnout okno debug prohlížeče&lt;/b&gt;&lt;p&gt;Je-li okno debug prohlížeče skryto, zobrazí se. Je-li zobrazeno, skryje se.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1424"/>
+        <location filename="UI/UserInterface.py" line="1402"/>
         <source>Activate Debug-Viewer</source>
         <translation>Aktivní debug prohlížeč</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1902"/>
+        <location filename="UI/UserInterface.py" line="1894"/>
         <source>SQL Browser</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1902"/>
+        <location filename="UI/UserInterface.py" line="1894"/>
         <source>SQL &amp;Browser...</source>
         <translation>SQL &amp;Browser...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1906"/>
+        <location filename="UI/UserInterface.py" line="1898"/>
         <source>Browse a SQL database</source>
         <translation>Procházet SQL databázi</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1907"/>
+        <location filename="UI/UserInterface.py" line="1899"/>
         <source>&lt;b&gt;SQL Browser&lt;/b&gt;&lt;p&gt;Browse a SQL database.&lt;/p&gt;</source>
         <translation>&lt;b&gt;SQL Browser&lt;/b&gt;&lt;p&gt;Procházet SQL databázi.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2872"/>
+        <location filename="UI/UserInterface.py" line="2869"/>
         <source>Error log found</source>
         <translation>Nalezen záznam o chybě</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2872"/>
+        <location filename="UI/UserInterface.py" line="2869"/>
         <source>An error log file was found. What should be done with it?</source>
         <translation>Nalezen záznam o chybě. Co by se s tím mělo dělat?</translation>
     </message>
     <message>
+        <location filename="UI/UserInterface.py" line="2882"/>
+        <source>Send Bug Email</source>
+        <translation>Poslat email s chybou</translation>
+    </message>
+    <message>
         <location filename="UI/UserInterface.py" line="2885"/>
-        <source>Send Bug Email</source>
-        <translation>Poslat email s chybou</translation>
+        <source>Ignore and Delete</source>
+        <translation>Ignotovat a smazat</translation>
     </message>
     <message>
         <location filename="UI/UserInterface.py" line="2888"/>
-        <source>Ignore and Delete</source>
-        <translation>Ignotovat a smazat</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="2891"/>
         <source>Ignore but Keep</source>
         <translation>Ignorovat ale zachovat</translation>
     </message>
@@ -45941,82 +45956,82 @@
         <translation type="obsolete">&amp;Web prohlížeč...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1938"/>
+        <location filename="UI/UserInterface.py" line="1930"/>
         <source>Icon Editor</source>
         <translation>Editor ikon</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1938"/>
-        <source>&amp;Icon Editor...</source>
-        <translation>Editor &amp;ikon...</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="4206"/>
-        <source>Qt 3 support</source>
-        <translation>Qt 3 podpora</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="2246"/>
-        <source>PySide Documentation</source>
-        <translation>PySide dokumentace</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="2246"/>
-        <source>Py&amp;Side Documentation</source>
-        <translation>Py&amp;Side dokumentace</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="2248"/>
-        <source>Open PySide Documentation</source>
-        <translation>Otevřít PySide dokumentaci</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="2249"/>
-        <source>&lt;b&gt;PySide Documentation&lt;/b&gt;&lt;p&gt;Display the PySide Documentation. Dependant upon your settings, this will either show the help in Eric&apos;s internal help viewer, or execute a web browser or Qt Assistant. &lt;/p&gt;</source>
-        <translation>&lt;b&gt;PySide dokumentace&lt;/b&gt;&lt;p&gt;Zobrazit PySide dokumentaci. V závislosti na vašich nastaveních zobrazí interní Eric prohlížeč nápovědy nebo spustí webový prohlížeč nebo Qt Assistant.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="4832"/>
-        <source>&lt;p&gt;The PySide documentation starting point has not been configured.&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Počátek dokumentace PySide nebyl nastaven.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="619"/>
-        <source>&lt;p&gt;The Qt Style Sheet file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;br&gt;Reason: {1}&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Soubor Qt Style Sheet &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="UI/UserInterface.py" line="1282"/>
-        <source>{0} - Passive Mode</source>
-        <translation>{0} - Pasivní mód</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1287"/>
-        <source>{0} - {1} - Passive Mode</source>
-        <translation>{0} - {1} - pasivní mód</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1290"/>
-        <source>{0} - {1} - {2} - Passive Mode</source>
-        <translation>{0} - {1} - {2} - pasivní mód</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1691"/>
-        <source>&lt;b&gt;Helpviewer&lt;/b&gt;&lt;p&gt;Display the eric5 web browser. This window will show HTML help files and help from Qt help collections. It has the capability to navigate to links, set bookmarks, print the displayed help and some more features. You may use it to browse the internet as well&lt;/p&gt;&lt;p&gt;If called with a word selected, this word is search in the Qt help collection.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Prohlížeč nápovědy&lt;/b&gt;&lt;p&gt;Otevře se eric5 web prohlížeč. Toto okno zobrazuje HTML soubory s nápovědou z Qt kolekce. Má schopnosti navigovat přes odkazy, nastavovat záložky, tisknout zobrazenou nápovědu a další možnosti. Můžete jej také použít pro procházení internetem&lt;/p&gt;&lt;p&gt;Je-li otevřen s hledaným slovem, je toto slovo hledáno v Qt nápovědách.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1721"/>
-        <source>&lt;b&gt;Check for Updates...&lt;/b&gt;&lt;p&gt;Checks the internet for updates of eric5.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Zjistit aktualizace&lt;/b&gt;&lt;p&gt;Zkontroluje přes internet jestli existují nějaké aktualizace Eric5.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1733"/>
-        <source>&lt;b&gt;Show downloadable versions...&lt;/b&gt;&lt;p&gt;Shows the eric5 versions available for download from the internet.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Zobrazit dostupné verze ke stažení&lt;/b&gt;&lt;p&gt;Zobrazit dostupné verze eric5 pro stažení z internetu.&lt;/p&gt;</translation>
-    </message>
-    <message>
         <location filename="UI/UserInterface.py" line="1930"/>
+        <source>&amp;Icon Editor...</source>
+        <translation>Editor &amp;ikon...</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="4240"/>
+        <source>Qt 3 support</source>
+        <translation>Qt 3 podpora</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="2239"/>
+        <source>PySide Documentation</source>
+        <translation>PySide dokumentace</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="2239"/>
+        <source>Py&amp;Side Documentation</source>
+        <translation>Py&amp;Side dokumentace</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="2241"/>
+        <source>Open PySide Documentation</source>
+        <translation>Otevřít PySide dokumentaci</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="2242"/>
+        <source>&lt;b&gt;PySide Documentation&lt;/b&gt;&lt;p&gt;Display the PySide Documentation. Dependant upon your settings, this will either show the help in Eric&apos;s internal help viewer, or execute a web browser or Qt Assistant. &lt;/p&gt;</source>
+        <translation>&lt;b&gt;PySide dokumentace&lt;/b&gt;&lt;p&gt;Zobrazit PySide dokumentaci. V závislosti na vašich nastaveních zobrazí interní Eric prohlížeč nápovědy nebo spustí webový prohlížeč nebo Qt Assistant.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="4866"/>
+        <source>&lt;p&gt;The PySide documentation starting point has not been configured.&lt;/p&gt;</source>
+        <translation>&lt;p&gt;Počátek dokumentace PySide nebyl nastaven.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="596"/>
+        <source>&lt;p&gt;The Qt Style Sheet file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;br&gt;Reason: {1}&lt;/p&gt;</source>
+        <translation>&lt;p&gt;Soubor Qt Style Sheet &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="UI/UserInterface.py" line="1259"/>
+        <source>{0} - Passive Mode</source>
+        <translation>{0} - Pasivní mód</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1264"/>
+        <source>{0} - {1} - Passive Mode</source>
+        <translation>{0} - {1} - pasivní mód</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1267"/>
+        <source>{0} - {1} - {2} - Passive Mode</source>
+        <translation>{0} - {1} - {2} - pasivní mód</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1669"/>
+        <source>&lt;b&gt;Helpviewer&lt;/b&gt;&lt;p&gt;Display the eric5 web browser. This window will show HTML help files and help from Qt help collections. It has the capability to navigate to links, set bookmarks, print the displayed help and some more features. You may use it to browse the internet as well&lt;/p&gt;&lt;p&gt;If called with a word selected, this word is search in the Qt help collection.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Prohlížeč nápovědy&lt;/b&gt;&lt;p&gt;Otevře se eric5 web prohlížeč. Toto okno zobrazuje HTML soubory s nápovědou z Qt kolekce. Má schopnosti navigovat přes odkazy, nastavovat záložky, tisknout zobrazenou nápovědu a další možnosti. Můžete jej také použít pro procházení internetem&lt;/p&gt;&lt;p&gt;Je-li otevřen s hledaným slovem, je toto slovo hledáno v Qt nápovědách.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1699"/>
+        <source>&lt;b&gt;Check for Updates...&lt;/b&gt;&lt;p&gt;Checks the internet for updates of eric5.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Zjistit aktualizace&lt;/b&gt;&lt;p&gt;Zkontroluje přes internet jestli existují nějaké aktualizace Eric5.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1711"/>
+        <source>&lt;b&gt;Show downloadable versions...&lt;/b&gt;&lt;p&gt;Shows the eric5 versions available for download from the internet.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Zobrazit dostupné verze ke stažení&lt;/b&gt;&lt;p&gt;Zobrazit dostupné verze eric5 pro stažení z internetu.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1922"/>
         <source>Start the eric5 Web Browser</source>
         <translation>Spustit eric5 web prohlížeč</translation>
     </message>
@@ -46026,106 +46041,106 @@
         <translation type="obsolete">&lt;b&gt;Web prohlížeč&lt;/b&gt;&lt;p&gt;Procházet internet pomocí eric5 web prohlížeče.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1942"/>
+        <location filename="UI/UserInterface.py" line="1934"/>
         <source>Start the eric5 Icon Editor</source>
         <translation>Spustit eric5 editor ikon</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1943"/>
+        <location filename="UI/UserInterface.py" line="1935"/>
         <source>&lt;b&gt;Icon Editor&lt;/b&gt;&lt;p&gt;Starts the eric5 Icon Editor for editing simple icons.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Editor ikon&lt;/b&gt;&lt;p&gt;Spustí se eric5 editor ikon pro jednoduchou editaci ikon.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1999"/>
+        <location filename="UI/UserInterface.py" line="1992"/>
         <source>&lt;b&gt;Show external tools&lt;/b&gt;&lt;p&gt;Opens a dialog to show the path and versions of all extenal tools used by eric5.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Zobrazit externí nástroje&lt;/b&gt;&lt;p&gt;Otevře dialog pro zobrazení cesty a verze externích nástrojů používaných Eric5.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2232"/>
+        <location filename="UI/UserInterface.py" line="2225"/>
         <source>&lt;b&gt;Eric API Documentation&lt;/b&gt;&lt;p&gt;Display the Eric API documentation. The location for the documentation is the Documentation/Source subdirectory of the eric5 installation directory.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Eric API dokumentace&lt;/b&gt;&lt;p&gt;Zobrazit Eric API dokumentaci. Umístění dokumentace je v podadresáři Documentation/Source v instalačním adresáři eric5.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2682"/>
+        <location filename="UI/UserInterface.py" line="2679"/>
         <source>External Tools/{0}</source>
         <translation>Externí nástroje/{0}</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4206"/>
+        <location filename="UI/UserInterface.py" line="4240"/>
         <source>Qt v.3 is not supported by eric5.</source>
         <translation>Qt v.3 není podporováno v eric5.</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4362"/>
+        <location filename="UI/UserInterface.py" line="4396"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; does not exist or is zero length.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor &lt;b&gt;{0}&lt;/b&gt; neexistuje nebo má nulovou délku.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4126"/>
+        <location filename="UI/UserInterface.py" line="4160"/>
         <source>&lt;p&gt;Could not start Qt-Designer.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Nemohu spustit Qt-Designer.&lt;br&gt;Ověřte jestli je dostupný jako &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4183"/>
+        <location filename="UI/UserInterface.py" line="4217"/>
         <source>&lt;p&gt;Could not start Qt-Linguist.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Nemohu spustit Qt-Linguist.&lt;br&gt;Ověřte jestli je dostupný jako &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4227"/>
+        <location filename="UI/UserInterface.py" line="4261"/>
         <source>&lt;p&gt;Could not start Qt-Assistant.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Nemohu spustit Qt-Assistant.&lt;br&gt;Ověřte jestli je dostupný jako &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4266"/>
+        <location filename="UI/UserInterface.py" line="4300"/>
         <source>&lt;p&gt;Could not start custom viewer.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Nemohu spustit aktuální prohlížeč.&lt;br&gt;Ověřte jestli je dostupný jako &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4325"/>
+        <location filename="UI/UserInterface.py" line="4359"/>
         <source>&lt;p&gt;Could not start UI Previewer.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Nemohu spustit UI Previewer.&lt;br&gt;Ověřte jestli je dostupný jako &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4370"/>
+        <location filename="UI/UserInterface.py" line="4404"/>
         <source>&lt;p&gt;Could not start Translation Previewer.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Nemohu spustit Previewer překladů.&lt;br&gt;Ověřte jestli je dostupný jako &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4389"/>
+        <location filename="UI/UserInterface.py" line="4423"/>
         <source>&lt;p&gt;Could not start SQL Browser.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Nelze spustit SQL Browser.&lt;br&gt;Ujistěte se, že je dostupný jako &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4437"/>
+        <location filename="UI/UserInterface.py" line="4471"/>
         <source>No tool entry found for external tool &apos;{0}&apos; in tool group &apos;{1}&apos;.</source>
         <translation>V externím nástroji  &apos;{0}&apos; ve skupině &apos;{1}&apos; nebyl záznam nástroje nalezen.</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4443"/>
+        <location filename="UI/UserInterface.py" line="4477"/>
         <source>No toolgroup entry &apos;{0}&apos; found.</source>
         <translation>Skupina nástrojů &apos;{0}&apos; nenalezena. </translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4479"/>
+        <location filename="UI/UserInterface.py" line="4513"/>
         <source>Starting process &apos;{0} {1}&apos;.
 </source>
         <translation>Spouštím proces &apos;{0} {1}&apos;.
 </translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4495"/>
+        <location filename="UI/UserInterface.py" line="4529"/>
         <source>&lt;p&gt;Could not start the tool entry &lt;b&gt;{0}&lt;/b&gt;.&lt;br&gt;Ensure that it is available as &lt;b&gt;{1}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Nemohu spustit příkaz &lt;b&gt;{0}&lt;/b&gt;&lt;br&gt;Ověřte jestli je dostupný jako &lt;b&gt;{1}&lt;/b&gt;. &lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4572"/>
+        <location filename="UI/UserInterface.py" line="4606"/>
         <source>Process &apos;{0}&apos; has exited.
 </source>
         <translation>Proces &apos;{0}&apos; byl ukončen.
 </translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4847"/>
+        <location filename="UI/UserInterface.py" line="4881"/>
         <source>&lt;p&gt;The documentation starting point &quot;&lt;b&gt;{0}&lt;/b&gt;&quot; could not be found.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Adresář dokumentace &quot;&lt;b&gt;{0}&lt;/b&gt;&quot; nebyl nalezen.&lt;/p&gt;</translation>
     </message>
@@ -46145,12 +46160,12 @@
         <translation type="obsolete">Soubor klávesových zkratek (*.e4k *.e4kz)</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5225"/>
+        <location filename="UI/UserInterface.py" line="5265"/>
         <source>&lt;p&gt;The tasks file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Do souboru s úlohami &lt;b&gt;{0}&lt;/b&gt; nelze zapisovat.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5247"/>
+        <location filename="UI/UserInterface.py" line="5287"/>
         <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>
@@ -46160,12 +46175,12 @@
         <translation type="obsolete">&lt;p&gt;Soubor s úlohami &lt;b&gt;{0}&lt;/b&gt; je v nepodporovaném formátu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5262"/>
+        <location filename="UI/UserInterface.py" line="5302"/>
         <source>&lt;p&gt;The session file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Zápis do souboru relace session &lt;b&gt;{0}&lt;/b&gt; se nezdařil.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5285"/>
+        <location filename="UI/UserInterface.py" line="5325"/>
         <source>&lt;p&gt;The session file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor relace session &lt;b&gt;{0}&lt;/b&gt; nelze přečíst.&lt;/p&gt;</translation>
     </message>
@@ -46175,261 +46190,281 @@
         <translation type="obsolete">&lt;p&gt;Soubor relace (session) &lt;b&gt;{0}&lt;/b&gt; je v nepodporovaném formátu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5403"/>
+        <location filename="UI/UserInterface.py" line="5491"/>
         <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
         <translation>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; není soubor.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5552"/>
+        <location filename="UI/UserInterface.py" line="5640"/>
         <source>Trying host {0}</source>
         <translation>Zkouším host {0}</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5672"/>
+        <location filename="UI/UserInterface.py" line="5760"/>
         <source>The update to &lt;b&gt;{0}&lt;/b&gt; of eric5 is available at &lt;b&gt;{1}&lt;/b&gt;. Would you like to get it?</source>
         <translation>Aktualizace &lt;b&gt;{0}&lt;/b&gt; eric5 je připravena na &lt;b&gt;{1}&lt;/b&gt;. Chcete ji stáhnout a nainstalovat?</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5681"/>
+        <location filename="UI/UserInterface.py" line="5769"/>
         <source>Eric5 is up to date</source>
         <translation>Eric5 je aktuální</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5681"/>
+        <location filename="UI/UserInterface.py" line="5769"/>
         <source>You are using the latest version of eric5</source>
         <translation>Používáte poslední verzi eric5</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5734"/>
+        <location filename="UI/UserInterface.py" line="5822"/>
         <source>&lt;p&gt;SSL Errors:&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;&lt;p&gt;Do you want to ignore these errors?&lt;/p&gt;</source>
         <translation>&lt;p&gt;SSL chyby:&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;&lt;p&gt;Chcete tyto chyby ignorovat?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5759"/>
+        <location filename="UI/UserInterface.py" line="5847"/>
         <source>eric5 has not been configured yet. The configuration dialog will be started.</source>
         <translation>eric5 nebyl ještě nakonfigurován. Bude spuštěn konfigurační dialog.</translation>
     </message>
     <message>
+        <location filename="UI/UserInterface.py" line="1580"/>
+        <source>Cooperation</source>
+        <translation>Spolupráce</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1580"/>
+        <source>&amp;Cooperation</source>
+        <translation>Spoluprá&amp;ce</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1582"/>
+        <source>Toggle the Cooperation window</source>
+        <translation>Zobrazit/skrýt okno spolupráce</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1584"/>
+        <source>&lt;b&gt;Toggle the Cooperation window&lt;/b&gt;&lt;p&gt;If the Cooperation window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Zobrazit/skrýt okno spolupráce&lt;/b&gt;&lt;p&gt;Pokud je okno skryté zobrazí se. Pokud se okno zobrazuje, tak se skryje.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1592"/>
+        <source>Activate Cooperation-Viewer</source>
+        <translation>Aktivovat náhled spolupráce</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1592"/>
+        <source>Alt+Shift+O</source>
+        <translation></translation>
+    </message>
+    <message>
         <location filename="UI/UserInterface.py" line="1602"/>
-        <source>Cooperation</source>
-        <translation>Spolupráce</translation>
+        <source>Symbols</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="UI/UserInterface.py" line="1602"/>
-        <source>&amp;Cooperation</source>
-        <translation>Spoluprá&amp;ce</translation>
+        <source>&amp;Symbols</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="UI/UserInterface.py" line="1604"/>
-        <source>Toggle the Cooperation window</source>
-        <translation>Zobrazit/skrýt okno spolupráce</translation>
+        <source>Toggle the Symbols window</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="UI/UserInterface.py" line="1606"/>
-        <source>&lt;b&gt;Toggle the Cooperation window&lt;/b&gt;&lt;p&gt;If the Cooperation window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Zobrazit/skrýt okno spolupráce&lt;/b&gt;&lt;p&gt;Pokud je okno skryté zobrazí se. Pokud se okno zobrazuje, tak se skryje.&lt;/p&gt;</translation>
+        <source>&lt;b&gt;Toggle the Symbols window&lt;/b&gt;&lt;p&gt;If the Symbols window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="UI/UserInterface.py" line="1614"/>
-        <source>Activate Cooperation-Viewer</source>
-        <translation>Aktivovat náhled spolupráce</translation>
+        <source>Activate Symbols-Viewer</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="UI/UserInterface.py" line="1614"/>
-        <source>Alt+Shift+O</source>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1624"/>
-        <source>Symbols</source>
+        <source>Alt+Shift+Y</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="UI/UserInterface.py" line="1624"/>
-        <source>&amp;Symbols</source>
+        <source>Numbers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1624"/>
+        <source>&amp;Numbers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="UI/UserInterface.py" line="1626"/>
-        <source>Toggle the Symbols window</source>
+        <source>Toggle the Numbers window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="UI/UserInterface.py" line="1628"/>
-        <source>&lt;b&gt;Toggle the Symbols window&lt;/b&gt;&lt;p&gt;If the Symbols window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
+        <source>&lt;b&gt;Toggle the Numbers window&lt;/b&gt;&lt;p&gt;If the Numbers window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="UI/UserInterface.py" line="1636"/>
-        <source>Activate Symbols-Viewer</source>
+        <source>Activate Numbers-Viewer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="UI/UserInterface.py" line="1636"/>
-        <source>Alt+Shift+Y</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1646"/>
-        <source>Numbers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1646"/>
-        <source>&amp;Numbers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1648"/>
-        <source>Toggle the Numbers window</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1650"/>
-        <source>&lt;b&gt;Toggle the Numbers window&lt;/b&gt;&lt;p&gt;If the Numbers window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1658"/>
-        <source>Activate Numbers-Viewer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1658"/>
         <source>Alt+Shift+B</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5106"/>
+        <location filename="UI/UserInterface.py" line="5144"/>
         <source>Keyboard shortcut file (*.e4k)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2193"/>
+        <location filename="UI/UserInterface.py" line="2186"/>
         <source>Python 3 Documentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2193"/>
+        <location filename="UI/UserInterface.py" line="2186"/>
         <source>Python &amp;3 Documentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2195"/>
+        <location filename="UI/UserInterface.py" line="2188"/>
         <source>Open Python 3 Documentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2196"/>
+        <location filename="UI/UserInterface.py" line="2189"/>
         <source>&lt;b&gt;Python 3 Documentation&lt;/b&gt;&lt;p&gt;Display the Python 3 documentation. If no documentation directory is configured, the location of the Python 3 documentation is assumed to be the doc directory underneath the location of the Python 3 executable on Windows and &lt;i&gt;/usr/share/doc/packages/python/html&lt;/i&gt; on Unix. Set PYTHON3DOCDIR in your environment to override this. &lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2208"/>
+        <location filename="UI/UserInterface.py" line="2201"/>
         <source>Python 2 Documentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2208"/>
+        <location filename="UI/UserInterface.py" line="2201"/>
         <source>Python &amp;2 Documentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2210"/>
+        <location filename="UI/UserInterface.py" line="2203"/>
         <source>Open Python 2 Documentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2211"/>
+        <location filename="UI/UserInterface.py" line="2204"/>
         <source>&lt;b&gt;Python 2 Documentation&lt;/b&gt;&lt;p&gt;Display the Python 2 documentation. If no documentation directory is configured, the location of the Python 2 documentation is assumed to be the doc directory underneath the location of the configured Python 2 executable on Windows and &lt;i&gt;/usr/share/doc/packages/python/html/python-docs-html&lt;/i&gt; on Unix. Set PYTHON2DOCDIR in your environment to override this. &lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5599"/>
+        <location filename="UI/UserInterface.py" line="5687"/>
         <source>Error getting versions information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5593"/>
+        <location filename="UI/UserInterface.py" line="5681"/>
         <source>The versions information could not be downloaded. Please go online and try again.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4933"/>
+        <location filename="UI/UserInterface.py" line="4967"/>
         <source>Open Browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4933"/>
+        <location filename="UI/UserInterface.py" line="4967"/>
         <source>Could not start a web browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5599"/>
+        <location filename="UI/UserInterface.py" line="5687"/>
         <source>The versions information could not be downloaded for the last 7 days. Please go online and try again.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1926"/>
+        <location filename="UI/UserInterface.py" line="1918"/>
         <source>eric5 Web Browser</source>
         <translation type="unfinished">eric5 web prohlížeč</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1926"/>
+        <location filename="UI/UserInterface.py" line="1918"/>
         <source>eric5 &amp;Web Browser...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1931"/>
+        <location filename="UI/UserInterface.py" line="1923"/>
         <source>&lt;b&gt;eric5 Web Browser&lt;/b&gt;&lt;p&gt;Browse the Internet with the eric5 Web Browser.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="559"/>
+        <location filename="UI/UserInterface.py" line="536"/>
         <source>Setting View Profile...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="563"/>
+        <location filename="UI/UserInterface.py" line="540"/>
         <source>Reading Tasks...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="567"/>
+        <location filename="UI/UserInterface.py" line="544"/>
         <source>Reading Templates...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="571"/>
+        <location filename="UI/UserInterface.py" line="548"/>
         <source>Starting Debugger...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1325"/>
+        <location filename="UI/UserInterface.py" line="1303"/>
         <source>New Window</source>
         <translation type="unfinished">Nové okno</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1325"/>
+        <location filename="UI/UserInterface.py" line="1303"/>
         <source>New &amp;Window</source>
         <translation type="unfinished">&amp;Nové okno</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1325"/>
+        <location filename="UI/UserInterface.py" line="1303"/>
         <source>Ctrl+Shift+N</source>
         <comment>File|New Window</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1330"/>
+        <location filename="UI/UserInterface.py" line="1308"/>
         <source>Open a new eric5 instance</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1331"/>
+        <location filename="UI/UserInterface.py" line="1309"/>
         <source>&lt;b&gt;New Window&lt;/b&gt;&lt;p&gt;This opens a new instance of the eric5 IDE.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1767"/>
+        <source>Unittest Rerun Failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1767"/>
+        <source>Rerun Failed Tests...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1771"/>
+        <source>Rerun failed tests of the last run</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1773"/>
+        <source>&lt;b&gt;Rerun Failed Tests&lt;/b&gt;&lt;p&gt;Rerun all tests that failed during the last unittest run.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UserPropertiesDialog</name>
@@ -46488,12 +46523,12 @@
         <translation>&lt;p&gt;Můžete použít %-kódy a rezervovaná místa ve stringu. Podporované kódy jsou:&lt;table&gt;&lt;tr&gt;    &lt;td&gt;%C&lt;/td&gt;    &lt;td&gt;sloupec kurzoru v aktuálním editoru&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;    &lt;td&gt;%D&lt;/td&gt;    &lt;td&gt;adresář v aktuálním editoru&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;    &lt;td&gt;%F&lt;/td&gt;    &lt;td&gt;jméno souboru v aktuálním editoru&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;    &lt;td&gt;%H&lt;/td&gt;    &lt;td&gt;home adresář aktuálního uživatele&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;    &lt;td&gt;%L&lt;/td&gt;    &lt;td&gt;řádek s kurzorem v aktuálním editoru&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;    &lt;td&gt;%P&lt;/td&gt;    &lt;td&gt;cesta aktuálního projektu&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;    &lt;td&gt;%S&lt;/td&gt;    &lt;td&gt;vybraný text v aktuálním editoru&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;    &lt;td&gt;%U&lt;/td&gt;    &lt;td&gt;uživatelské jméno aktuálního uživatele&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;    &lt;td&gt;%%&lt;/td&gt;    &lt;td&gt;znak procenta&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Utilities/__init__.py" line="1253"/>
+        <location filename="Utilities/__init__.py" line="1250"/>
         <source>Python2 interpreter not configured.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Utilities/__init__.py" line="1300"/>
+        <location filename="Utilities/__init__.py" line="1297"/>
         <source>Python2 interpreter did not finish within 30s.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -47943,7 +47978,7 @@
         <translation>Autodoplňování</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2252"/>
+        <location filename="ViewManager/ViewManager.py" line="2249"/>
         <source>&amp;Autocomplete</source>
         <translation>&amp;Autodoplňování</translation>
     </message>
@@ -48676,17 +48711,17 @@
         <translation></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2262"/>
+        <location filename="ViewManager/ViewManager.py" line="2259"/>
         <source>&amp;Search</source>
         <translation>V&amp;yhledat</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2276"/>
+        <location filename="ViewManager/ViewManager.py" line="2273"/>
         <source>&amp;Edit</source>
         <translation>&amp;Edit</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2325"/>
+        <location filename="ViewManager/ViewManager.py" line="2322"/>
         <source>Edit</source>
         <translation></translation>
     </message>
@@ -48777,701 +48812,701 @@
 &lt;p&gt;Vyhledá va ktuálním editoru text a nahradí jej. Je zobrazeno dialogové okno, kde se zadá text, který se má nahradit, nový text a nastavení pro vyhledávání a nahrazení.&lt;p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2633"/>
+        <location filename="ViewManager/ViewManager.py" line="2630"/>
         <source>Quicksearch</source>
         <translation>Rychlé hledání</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2444"/>
+        <location filename="ViewManager/ViewManager.py" line="2441"/>
         <source>&amp;Quicksearch</source>
         <translation>Rychlé hl&amp;edání</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2444"/>
+        <location filename="ViewManager/ViewManager.py" line="2441"/>
         <source>Ctrl+Shift+K</source>
         <comment>Search|Quicksearch</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2452"/>
+        <location filename="ViewManager/ViewManager.py" line="2449"/>
         <source>Perform a quicksearch</source>
         <translation>Provést rychlé hledání</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2464"/>
+        <location filename="ViewManager/ViewManager.py" line="2461"/>
         <source>Quicksearch backwards</source>
         <translation>Rychlé hledání zpět</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2464"/>
+        <location filename="ViewManager/ViewManager.py" line="2461"/>
         <source>Quicksearch &amp;backwards</source>
         <translation>Rychlé hledání &amp;zpět</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2464"/>
+        <location filename="ViewManager/ViewManager.py" line="2461"/>
         <source>Ctrl+Shift+J</source>
         <comment>Search|Quicksearch backwards</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2471"/>
+        <location filename="ViewManager/ViewManager.py" line="2468"/>
         <source>Perform a quicksearch backwards</source>
         <translation>Provést rychlé hledání zpět</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2480"/>
+        <location filename="ViewManager/ViewManager.py" line="2477"/>
         <source>Quicksearch extend</source>
         <translation>Rychlé hledání rozšířit</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2480"/>
+        <location filename="ViewManager/ViewManager.py" line="2477"/>
         <source>Quicksearch e&amp;xtend</source>
         <translation>Rychlé hl&amp;edání rozšířit</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2480"/>
+        <location filename="ViewManager/ViewManager.py" line="2477"/>
         <source>Ctrl+Shift+H</source>
         <comment>Search|Quicksearch extend</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2488"/>
+        <location filename="ViewManager/ViewManager.py" line="2485"/>
         <source>Extend the quicksearch to the end of the current word</source>
         <translation>Rozšířit rychlé hledání na konec aktuálního slova</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2490"/>
+        <location filename="ViewManager/ViewManager.py" line="2487"/>
         <source>&lt;b&gt;Quicksearch extend&lt;/b&gt;&lt;p&gt;This extends the quicksearch text to the end of the word currently found.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Rychlé hlednání rozšířit&lt;/b&gt;
 &lt;p&gt;Rychlé hledání se rozšíří na konec aktuálně nalezeného slova.&lt;p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2505"/>
+        <location filename="ViewManager/ViewManager.py" line="2502"/>
         <source>Goto Line</source>
         <translation>Jít na řádek</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2498"/>
+        <location filename="ViewManager/ViewManager.py" line="2495"/>
         <source>&amp;Goto Line...</source>
         <translation>&amp;Jít na řádek...</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2498"/>
+        <location filename="ViewManager/ViewManager.py" line="2495"/>
         <source>Ctrl+G</source>
         <comment>Search|Goto Line</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2506"/>
+        <location filename="ViewManager/ViewManager.py" line="2503"/>
         <source>&lt;b&gt;Goto Line&lt;/b&gt;&lt;p&gt;Go to a specific line of text in the current editor. A dialog is shown to enter the linenumber.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Jít na řádek&lt;/b&gt;
 &lt;p&gt;Jít na určený řádek. Zobrazí se dialogové okno, kde se zadá číslo požadovaného řádku.&lt;p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2521"/>
+        <location filename="ViewManager/ViewManager.py" line="2518"/>
         <source>Goto Brace</source>
         <translation>Jít na závorku</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2514"/>
+        <location filename="ViewManager/ViewManager.py" line="2511"/>
         <source>Goto &amp;Brace</source>
         <translation>Jít na závork&amp;u</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2514"/>
+        <location filename="ViewManager/ViewManager.py" line="2511"/>
         <source>Ctrl+L</source>
         <comment>Search|Goto Brace</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2523"/>
+        <location filename="ViewManager/ViewManager.py" line="2520"/>
         <source>&lt;b&gt;Goto Brace&lt;/b&gt;&lt;p&gt;Go to the matching brace in the current editor.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Jít na závorku&lt;/b&gt;
 &lt;p&gt;Jíta na závoku, která patří do páru s tou, na které se nachází kurzor.&lt;p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2585"/>
+        <location filename="ViewManager/ViewManager.py" line="2582"/>
         <source>Search in Files</source>
         <translation>Hledat v souborech</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2585"/>
+        <location filename="ViewManager/ViewManager.py" line="2582"/>
         <source>Search in &amp;Files...</source>
         <translation>&amp;Hledat v souborech...</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2585"/>
+        <location filename="ViewManager/ViewManager.py" line="2582"/>
         <source>Shift+Ctrl+F</source>
         <comment>Search|Search Files</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2593"/>
+        <location filename="ViewManager/ViewManager.py" line="2590"/>
         <source>Search for a text in files</source>
         <translation>Hledat text v souborech</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2595"/>
+        <location filename="ViewManager/ViewManager.py" line="2592"/>
         <source>&lt;b&gt;Search in Files&lt;/b&gt;&lt;p&gt;Search for some text in the files of a directory tree or the project. A dialog is shown to enter the searchtext and options for the search and to display the result.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Hledat v souborech&lt;/b&gt;
 &lt;p&gt;Hledat text v souborech v adresářích nebo projektu. Je zobrazeno dialogové okno, do kterého se zadá hledaný text a nastavení a ve kterém se zobrazuje výsledek hledání.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2722"/>
+        <location filename="ViewManager/ViewManager.py" line="2719"/>
         <source>Zoom in</source>
         <translation>Přiblížit</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2722"/>
+        <location filename="ViewManager/ViewManager.py" line="2719"/>
         <source>Zoom &amp;in</source>
         <translation>Př&amp;iblížit</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2722"/>
+        <location filename="ViewManager/ViewManager.py" line="2719"/>
         <source>Ctrl++</source>
         <comment>View|Zoom in</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2729"/>
+        <location filename="ViewManager/ViewManager.py" line="2726"/>
         <source>Zoom in on the text</source>
         <translation>Zvětšovací lupa</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2731"/>
+        <location filename="ViewManager/ViewManager.py" line="2728"/>
         <source>&lt;b&gt;Zoom in&lt;/b&gt;&lt;p&gt;Zoom in on the text. This makes the text bigger.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Přiblížit&lt;/b&gt;&lt;p&gt;Přiblížit text. Text bude větší.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2738"/>
+        <location filename="ViewManager/ViewManager.py" line="2735"/>
         <source>Zoom out</source>
         <translation>Oddálit</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2738"/>
+        <location filename="ViewManager/ViewManager.py" line="2735"/>
         <source>Zoom &amp;out</source>
         <translation>&amp;Oddálit</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2738"/>
+        <location filename="ViewManager/ViewManager.py" line="2735"/>
         <source>Ctrl+-</source>
         <comment>View|Zoom out</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2745"/>
+        <location filename="ViewManager/ViewManager.py" line="2742"/>
         <source>Zoom out on the text</source>
         <translation>Zmenšovací lupa</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2747"/>
+        <location filename="ViewManager/ViewManager.py" line="2744"/>
         <source>&lt;b&gt;Zoom out&lt;/b&gt;&lt;p&gt;Zoom out on the text. This makes the text smaller.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Oddálit&lt;/b&gt;&lt;p&gt;Lupa na oddálení textu. Text bude menší.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2754"/>
+        <location filename="ViewManager/ViewManager.py" line="2751"/>
         <source>Zoom</source>
         <translation>Lupa</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2754"/>
+        <location filename="ViewManager/ViewManager.py" line="2751"/>
         <source>&amp;Zoom</source>
         <translation>&amp;Lupa</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2754"/>
+        <location filename="ViewManager/ViewManager.py" line="2751"/>
         <source>Ctrl+#</source>
         <comment>View|Zoom</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2761"/>
+        <location filename="ViewManager/ViewManager.py" line="2758"/>
         <source>Zoom the text</source>
         <translation>Lupa na text</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2763"/>
+        <location filename="ViewManager/ViewManager.py" line="2760"/>
         <source>&lt;b&gt;Zoom&lt;/b&gt;&lt;p&gt;Zoom the text. This opens a dialog where the desired size can be entered.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Lupa&lt;/b&gt;&lt;p&gt;Lupa na text. Otevře se dialogové okno kde se zadá požadovaná hodnota zvětšení/zmenšení.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2775"/>
+        <location filename="ViewManager/ViewManager.py" line="2772"/>
         <source>Toggle all folds</source>
         <translation>Složit/rozložit všechna skládání</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2771"/>
+        <location filename="ViewManager/ViewManager.py" line="2768"/>
         <source>Toggle &amp;all folds</source>
         <translation>Složit/rozložit všechn&amp;a skládání</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2777"/>
+        <location filename="ViewManager/ViewManager.py" line="2774"/>
         <source>&lt;b&gt;Toggle all folds&lt;/b&gt;&lt;p&gt;Toggle all folds of the current editor.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Složit/rozložit všechna skládání&lt;/b&gt;&lt;p&gt;Složí/rozloží všechna skládání v aktuálním editoru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2790"/>
+        <location filename="ViewManager/ViewManager.py" line="2787"/>
         <source>Toggle all folds (including children)</source>
         <translation>Složit/rozložit všechna skládání (i s podsložkami)</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2785"/>
+        <location filename="ViewManager/ViewManager.py" line="2782"/>
         <source>Toggle all &amp;folds (including children)</source>
         <translation>Složit/rozložit všechna &amp;skládání (i s podsložkami)</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2792"/>
+        <location filename="ViewManager/ViewManager.py" line="2789"/>
         <source>&lt;b&gt;Toggle all folds (including children)&lt;/b&gt;&lt;p&gt;Toggle all folds of the current editor including all children.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Složit/rozložit všechna skládání (i s podsložkami)&lt;/b&gt;&lt;p&gt;Složí nebo rozloží všechna skládání i s podsložkami.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2804"/>
+        <location filename="ViewManager/ViewManager.py" line="2801"/>
         <source>Toggle current fold</source>
         <translation>Složit/rozložit aktuální složený blok</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2800"/>
+        <location filename="ViewManager/ViewManager.py" line="2797"/>
         <source>Toggle &amp;current fold</source>
         <translation>Složit/rozložit aktuální složený &amp;blok</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2806"/>
+        <location filename="ViewManager/ViewManager.py" line="2803"/>
         <source>&lt;b&gt;Toggle current fold&lt;/b&gt;&lt;p&gt;Toggle the folds of the current line of the current editor.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Složit/rozložit aktuální složený blok&lt;/b&gt;&lt;p&gt;Složí nebo rozloží aktuální složený blok v aktuálním editoru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2819"/>
+        <location filename="ViewManager/ViewManager.py" line="2816"/>
         <source>Remove all highlights</source>
         <translation>Odebrat všechna zvýraznění</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2821"/>
+        <location filename="ViewManager/ViewManager.py" line="2818"/>
         <source>&lt;b&gt;Remove all highlights&lt;/b&gt;&lt;p&gt;Remove the highlights of all editors.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Odebrat všechna zvýraznění&lt;/b&gt;&lt;p&gt;Odebrat zvýraznění ve všech editorech.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2828"/>
+        <location filename="ViewManager/ViewManager.py" line="2825"/>
         <source>Split view</source>
         <translation>Rozdělit pohled</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2828"/>
+        <location filename="ViewManager/ViewManager.py" line="2825"/>
         <source>&amp;Split view</source>
         <translation>&amp;Rozdělit pohled</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2832"/>
+        <location filename="ViewManager/ViewManager.py" line="2829"/>
         <source>Add a split to the view</source>
         <translation>Přidat další rozdělení pohledu</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2834"/>
+        <location filename="ViewManager/ViewManager.py" line="2831"/>
         <source>&lt;b&gt;Split view&lt;/b&gt;&lt;p&gt;Add a split to the view.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Rozdělit pohled&lt;/b&gt;&lt;p&gt;Přidá další okno na aktuální pohled.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2841"/>
+        <location filename="ViewManager/ViewManager.py" line="2838"/>
         <source>Arrange horizontally</source>
         <translation>Uspořádat horizontálně</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2841"/>
+        <location filename="ViewManager/ViewManager.py" line="2838"/>
         <source>Arrange &amp;horizontally</source>
         <translation>Uspořádat &amp;horizontálně</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2846"/>
+        <location filename="ViewManager/ViewManager.py" line="2843"/>
         <source>Arrange the splitted views horizontally</source>
         <translation>Uspořádat rozdělené pohledy horizontálně</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2848"/>
+        <location filename="ViewManager/ViewManager.py" line="2845"/>
         <source>&lt;b&gt;Arrange horizontally&lt;/b&gt;&lt;p&gt;Arrange the splitted views horizontally.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Uspořádat horizontálně&lt;/b&gt;&lt;p&gt;Uspořádat rozdělené pohledy horizontálně.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2856"/>
+        <location filename="ViewManager/ViewManager.py" line="2853"/>
         <source>Remove split</source>
         <translation>Odebrat rozdělený pohled</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2856"/>
+        <location filename="ViewManager/ViewManager.py" line="2853"/>
         <source>&amp;Remove split</source>
         <translation>Odebra&amp;t rozdělený pohled</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2861"/>
+        <location filename="ViewManager/ViewManager.py" line="2858"/>
         <source>Remove the current split</source>
         <translation>Odebrat aktuální rozdělení pohledu</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2863"/>
+        <location filename="ViewManager/ViewManager.py" line="2860"/>
         <source>&lt;b&gt;Remove split&lt;/b&gt;&lt;p&gt;Remove the current split.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Odebrat rozdělený pohled&lt;/b&gt;&lt;p&gt;Odebrat aktuální rozdělený pohled.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2870"/>
+        <location filename="ViewManager/ViewManager.py" line="2867"/>
         <source>Next split</source>
         <translation>Další rozdělený pohled</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2870"/>
+        <location filename="ViewManager/ViewManager.py" line="2867"/>
         <source>&amp;Next split</source>
         <translation>Další rozděle&amp;ný pohled</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2870"/>
+        <location filename="ViewManager/ViewManager.py" line="2867"/>
         <source>Ctrl+Alt+N</source>
         <comment>View|Next split</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2876"/>
+        <location filename="ViewManager/ViewManager.py" line="2873"/>
         <source>Move to the next split</source>
         <translation>Posun na další rozdělený pohled</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2878"/>
+        <location filename="ViewManager/ViewManager.py" line="2875"/>
         <source>&lt;b&gt;Next split&lt;/b&gt;&lt;p&gt;Move to the next split.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Další rozdělený pohled&lt;/b&gt;&lt;p&gt;Posun na další rozdělený pohled.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2885"/>
+        <location filename="ViewManager/ViewManager.py" line="2882"/>
         <source>Previous split</source>
         <translation>Předchozí rozdělený pohled</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2885"/>
+        <location filename="ViewManager/ViewManager.py" line="2882"/>
         <source>&amp;Previous split</source>
         <translation>&amp;Předchozí rozdělený pohled</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2885"/>
+        <location filename="ViewManager/ViewManager.py" line="2882"/>
         <source>Ctrl+Alt+P</source>
         <comment>View|Previous split</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2891"/>
+        <location filename="ViewManager/ViewManager.py" line="2888"/>
         <source>Move to the previous split</source>
         <translation>Posun na předchozí rozdělený pohled</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2893"/>
+        <location filename="ViewManager/ViewManager.py" line="2890"/>
         <source>&lt;b&gt;Previous split&lt;/b&gt;&lt;p&gt;Move to the previous split.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Předchozí rozdělený pohled&lt;/b&gt;&lt;p&gt;Posun na předchozí rozdělený pohled.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2931"/>
+        <location filename="ViewManager/ViewManager.py" line="2928"/>
         <source>&amp;View</source>
         <translation>Poh&amp;led</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2960"/>
+        <location filename="ViewManager/ViewManager.py" line="2957"/>
         <source>View</source>
         <translation>Pohled</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2988"/>
+        <location filename="ViewManager/ViewManager.py" line="2985"/>
         <source>Start Macro Recording</source>
         <translation>Spustit záznam makra</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2983"/>
+        <location filename="ViewManager/ViewManager.py" line="2980"/>
         <source>S&amp;tart Macro Recording</source>
         <translation>Spus&amp;tit záznam makra</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2990"/>
+        <location filename="ViewManager/ViewManager.py" line="2987"/>
         <source>&lt;b&gt;Start Macro Recording&lt;/b&gt;&lt;p&gt;Start recording editor commands into a new macro.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Spustit záznam makra&lt;/b&gt;&lt;p&gt;Spustí se záznam příkazů do nového makra.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3002"/>
+        <location filename="ViewManager/ViewManager.py" line="2999"/>
         <source>Stop Macro Recording</source>
         <translation>Zastavit záznam makra</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2997"/>
+        <location filename="ViewManager/ViewManager.py" line="2994"/>
         <source>Sto&amp;p Macro Recording</source>
         <translation>Sto&amp;p záznamu makra</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3004"/>
+        <location filename="ViewManager/ViewManager.py" line="3001"/>
         <source>&lt;b&gt;Stop Macro Recording&lt;/b&gt;&lt;p&gt;Stop recording editor commands into a new macro.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Stop záznamu makra&lt;/b&gt;&lt;p&gt;Zastaví se nahrávání příkazů do makra.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3014"/>
-        <source>Run Macro</source>
-        <translation>Spustit makro</translation>
-    </message>
-    <message>
         <location filename="ViewManager/ViewManager.py" line="3011"/>
+        <source>Run Macro</source>
+        <translation>Spustit makro</translation>
+    </message>
+    <message>
+        <location filename="ViewManager/ViewManager.py" line="3008"/>
         <source>&amp;Run Macro</source>
         <translation>Spustit mak&amp;ro</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3015"/>
+        <location filename="ViewManager/ViewManager.py" line="3012"/>
         <source>&lt;b&gt;Run Macro&lt;/b&gt;&lt;p&gt;Run a previously recorded editor macro.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Spustit makro&lt;/b&gt;&lt;p&gt;Spustit nahrané makro.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3026"/>
+        <location filename="ViewManager/ViewManager.py" line="3023"/>
         <source>Delete Macro</source>
         <translation>Smazat makro</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3022"/>
+        <location filename="ViewManager/ViewManager.py" line="3019"/>
         <source>&amp;Delete Macro</source>
         <translation>Smazat makr&amp;o</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3028"/>
+        <location filename="ViewManager/ViewManager.py" line="3025"/>
         <source>&lt;b&gt;Delete Macro&lt;/b&gt;&lt;p&gt;Delete a previously recorded editor macro.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Smazat makro&lt;/b&gt;&lt;p&gt;Smaže se nahrané makro.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3038"/>
-        <source>Load Macro</source>
-        <translation>Načíst makro</translation>
-    </message>
-    <message>
         <location filename="ViewManager/ViewManager.py" line="3035"/>
+        <source>Load Macro</source>
+        <translation>Načíst makro</translation>
+    </message>
+    <message>
+        <location filename="ViewManager/ViewManager.py" line="3032"/>
         <source>&amp;Load Macro</source>
         <translation>&amp;Načíst makro</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3040"/>
+        <location filename="ViewManager/ViewManager.py" line="3037"/>
         <source>&lt;b&gt;Load Macro&lt;/b&gt;&lt;p&gt;Load an editor macro from a file.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Načíst makro&lt;/b&gt;&lt;p&gt;Načte se makro ze souboru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3050"/>
-        <source>Save Macro</source>
-        <translation>Uložit makro</translation>
-    </message>
-    <message>
         <location filename="ViewManager/ViewManager.py" line="3047"/>
+        <source>Save Macro</source>
+        <translation>Uložit makro</translation>
+    </message>
+    <message>
+        <location filename="ViewManager/ViewManager.py" line="3044"/>
         <source>&amp;Save Macro</source>
         <translation>&amp;Uložit makro</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3052"/>
+        <location filename="ViewManager/ViewManager.py" line="3049"/>
         <source>&lt;b&gt;Save Macro&lt;/b&gt;&lt;p&gt;Save a previously recorded editor macro to a file.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Uložit makro&lt;/b&gt;&lt;p&gt;Nahrané makro se uloží do souboru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3067"/>
+        <location filename="ViewManager/ViewManager.py" line="3064"/>
         <source>&amp;Macros</source>
         <translation>&amp;Makra</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3090"/>
+        <location filename="ViewManager/ViewManager.py" line="3087"/>
         <source>Toggle Bookmark</source>
         <translation>Přepnout záložku</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3083"/>
+        <location filename="ViewManager/ViewManager.py" line="3080"/>
         <source>&amp;Toggle Bookmark</source>
         <translation>Přepnou&amp;t záložku</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3083"/>
+        <location filename="ViewManager/ViewManager.py" line="3080"/>
         <source>Alt+Ctrl+T</source>
         <comment>Bookmark|Toggle</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3092"/>
+        <location filename="ViewManager/ViewManager.py" line="3089"/>
         <source>&lt;b&gt;Toggle Bookmark&lt;/b&gt;&lt;p&gt;Toggle a bookmark at the current line of the current editor.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Přepnout záložku&lt;/b&gt;&lt;p&gt;Vytvoří/zruší záložku na aktuálním řádku v aktuálním editoru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3106"/>
+        <location filename="ViewManager/ViewManager.py" line="3103"/>
         <source>Next Bookmark</source>
         <translation>Následující záložka</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3099"/>
+        <location filename="ViewManager/ViewManager.py" line="3096"/>
         <source>&amp;Next Bookmark</source>
         <translation>&amp;Následující záložka</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3099"/>
+        <location filename="ViewManager/ViewManager.py" line="3096"/>
         <source>Ctrl+PgDown</source>
         <comment>Bookmark|Next</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3108"/>
+        <location filename="ViewManager/ViewManager.py" line="3105"/>
         <source>&lt;b&gt;Next Bookmark&lt;/b&gt;&lt;p&gt;Go to next bookmark of the current editor.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Následující záložka&lt;/b&gt;&lt;p&gt;Přesun na následující záložku v aktuálním editoru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3122"/>
+        <location filename="ViewManager/ViewManager.py" line="3119"/>
         <source>Previous Bookmark</source>
         <translation>Předchozí záložka</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3115"/>
+        <location filename="ViewManager/ViewManager.py" line="3112"/>
         <source>&amp;Previous Bookmark</source>
         <translation>&amp;Předchozí záložka</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3115"/>
+        <location filename="ViewManager/ViewManager.py" line="3112"/>
         <source>Ctrl+PgUp</source>
         <comment>Bookmark|Previous</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3124"/>
+        <location filename="ViewManager/ViewManager.py" line="3121"/>
         <source>&lt;b&gt;Previous Bookmark&lt;/b&gt;&lt;p&gt;Go to previous bookmark of the current editor.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Předchozí záložka&lt;/b&gt;&lt;p&gt;Přesun na předchozí záložku.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3138"/>
+        <location filename="ViewManager/ViewManager.py" line="3135"/>
         <source>Clear Bookmarks</source>
         <translation>Vyčistit záložky</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3131"/>
+        <location filename="ViewManager/ViewManager.py" line="3128"/>
         <source>&amp;Clear Bookmarks</source>
         <translation>Vyčistit (zr&amp;ušit) záložky</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3131"/>
+        <location filename="ViewManager/ViewManager.py" line="3128"/>
         <source>Alt+Ctrl+C</source>
         <comment>Bookmark|Clear</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3140"/>
+        <location filename="ViewManager/ViewManager.py" line="3137"/>
         <source>&lt;b&gt;Clear Bookmarks&lt;/b&gt;&lt;p&gt;Clear bookmarks of all editors.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Vyčistit (zrušit) záložky&lt;/b&gt;&lt;p&gt;Zruší se všechny záložky ve všech editorech.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3153"/>
+        <location filename="ViewManager/ViewManager.py" line="3150"/>
         <source>Goto Syntax Error</source>
         <translation>Jít na Syntaktickou chybu</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3147"/>
+        <location filename="ViewManager/ViewManager.py" line="3144"/>
         <source>&amp;Goto Syntax Error</source>
         <translation>&amp;Jít na Syntaktickou chybu</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3155"/>
+        <location filename="ViewManager/ViewManager.py" line="3152"/>
         <source>&lt;b&gt;Goto Syntax Error&lt;/b&gt;&lt;p&gt;Go to next syntax error of the current editor.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Jít na Syntax error&lt;/b&gt;&lt;p&gt;Přesun na syntaktickou chybu v aktuálním editoru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3167"/>
+        <location filename="ViewManager/ViewManager.py" line="3164"/>
         <source>Clear Syntax Errors</source>
         <translation>Vyčistit Syntaktické chyby</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3162"/>
+        <location filename="ViewManager/ViewManager.py" line="3159"/>
         <source>Clear &amp;Syntax Errors</source>
         <translation>V&amp;yčistit Syntaktické chyby</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3169"/>
+        <location filename="ViewManager/ViewManager.py" line="3166"/>
         <source>&lt;b&gt;Clear Syntax Errors&lt;/b&gt;&lt;p&gt;Clear syntax errors of all editors.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Vyčistit syntaktické chyby&lt;/b&gt;&lt;p&gt;Smažou se záznamy o syntaktických chybách ve všech editorech.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3231"/>
+        <location filename="ViewManager/ViewManager.py" line="3228"/>
         <source>Next uncovered line</source>
         <translation>Následují problémová řádka</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3225"/>
+        <location filename="ViewManager/ViewManager.py" line="3222"/>
         <source>&amp;Next uncovered line</source>
         <translation>Nás&amp;ledující problémová řádka</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3233"/>
+        <location filename="ViewManager/ViewManager.py" line="3230"/>
         <source>&lt;b&gt;Next uncovered line&lt;/b&gt;&lt;p&gt;Go to next line of the current editor marked as not covered.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Následující problémová řádka&lt;/b&gt;&lt;p&gt;Jít na řádku v aktuálním editoru, která byla nalezena jako problémová.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3247"/>
+        <location filename="ViewManager/ViewManager.py" line="3244"/>
         <source>Previous uncovered line</source>
         <translation>Předchozí problémová řádka</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3240"/>
+        <location filename="ViewManager/ViewManager.py" line="3237"/>
         <source>&amp;Previous uncovered line</source>
         <translation>Př&amp;edchozí problémová řádka</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3249"/>
+        <location filename="ViewManager/ViewManager.py" line="3246"/>
         <source>&lt;b&gt;Previous uncovered line&lt;/b&gt;&lt;p&gt;Go to previous line of the current editor marked as not covered.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Předchozí problémová řádka&lt;/b&gt;&lt;p&gt;Jít na předchozí řádku v aktuálním editoru, která byla nalezena jako problémová.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3263"/>
+        <location filename="ViewManager/ViewManager.py" line="3260"/>
         <source>Next Task</source>
         <translation>Následující úloha</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3257"/>
+        <location filename="ViewManager/ViewManager.py" line="3254"/>
         <source>&amp;Next Task</source>
         <translation>Následující úlo&amp;ha</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3265"/>
+        <location filename="ViewManager/ViewManager.py" line="3262"/>
         <source>&lt;b&gt;Next Task&lt;/b&gt;&lt;p&gt;Go to next line of the current editor having a task.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Následující úloha&lt;/b&gt;&lt;p&gt;Jít na řádek v aktuálním editoru, na kterém je následující úloha.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3279"/>
+        <location filename="ViewManager/ViewManager.py" line="3276"/>
         <source>Previous Task</source>
         <translation>Předchozí úloha</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3272"/>
+        <location filename="ViewManager/ViewManager.py" line="3269"/>
         <source>&amp;Previous Task</source>
         <translation>Předchozí úl&amp;oha</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3281"/>
+        <location filename="ViewManager/ViewManager.py" line="3278"/>
         <source>&lt;b&gt;Previous Task&lt;/b&gt;&lt;p&gt;Go to previous line of the current editor having a task.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Předchozí úloha&lt;/b&gt;&lt;p&gt;Jít na řádek, na kterém se nachází předchozí úloha.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3297"/>
+        <location filename="ViewManager/ViewManager.py" line="3294"/>
         <source>&amp;Bookmarks</source>
         <translation>&amp;Záložky</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3337"/>
+        <location filename="ViewManager/ViewManager.py" line="3334"/>
         <source>Bookmarks</source>
         <translation>Záložky</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3460"/>
+        <location filename="ViewManager/ViewManager.py" line="3457"/>
         <source>Open files</source>
         <translation>Otevřené soubory</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3496"/>
+        <location filename="ViewManager/ViewManager.py" line="3493"/>
         <source>File Modified</source>
         <translation>Soubor změněn</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="4127"/>
+        <location filename="ViewManager/ViewManager.py" line="4124"/>
         <source>&amp;Clear</source>
         <translation>&amp;Vyčistit</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="4123"/>
+        <location filename="ViewManager/ViewManager.py" line="4120"/>
         <source>&amp;Add</source>
         <translation>Přid&amp;at</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="4125"/>
+        <location filename="ViewManager/ViewManager.py" line="4122"/>
         <source>&amp;Edit...</source>
         <translation>&amp;Edit...</translation>
     </message>
@@ -49496,7 +49531,7 @@
         <translation>Exportovat jako</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2678"/>
+        <location filename="ViewManager/ViewManager.py" line="2675"/>
         <source>Quicksearch Textedit</source>
         <translation>Rychlé hledání texteditoru</translation>
     </message>
@@ -49542,17 +49577,17 @@
         <translation>&lt;b&gt;Hledat předchozí&lt;/b&gt;&lt;p&gt;Hledá se předchozí výskyt hledaného textu v aktuálním editoru. Stále platí nastavení, která byla nastavena při zadání hledaného textu.&lt;p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2454"/>
+        <location filename="ViewManager/ViewManager.py" line="2451"/>
         <source>&lt;b&gt;Quicksearch&lt;/b&gt;&lt;p&gt;This activates the quicksearch function of the IDE by giving focus to the quicksearch entry field. If this field is already active and contains text, it searches for the next occurrence of this text.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Rychlé hledání&lt;/b&gt;&lt;p&gt;Aktivuje se funkce rychlého hledání. Kurzor se přemístí do okna zadání hledaného výrazu. Je-li toto okno aktivní a obsahuje-li text, vyhledává v textu výskyt tohoto výrazu.&lt;p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2473"/>
+        <location filename="ViewManager/ViewManager.py" line="2470"/>
         <source>&lt;b&gt;Quicksearch backwards&lt;/b&gt;&lt;p&gt;This searches the previous occurrence of the quicksearch text.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Rychlé hledání zpět&lt;/b&gt;&lt;p&gt;Vyhledává se předchozí výskyt výrazu v rychlém hledání.&lt;p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2656"/>
+        <location filename="ViewManager/ViewManager.py" line="2653"/>
         <source>&lt;p&gt;Enter the searchtext directly into this field. The search will be performed case insensitive. The quicksearch function is activated upon activation of the quicksearch next action (default key Ctrl+Shift+K), if this entry field does not have the input focus. Otherwise it searches for the next occurrence of the text entered. The quicksearch backwards action (default key Ctrl+Shift+J) searches backward. Activating the &apos;quicksearch extend&apos; action (default key Ctrl+Shift+H) extends the current searchtext to the end of the currently found word. The quicksearch can be ended by pressing the Return key while the quicksearch entry has the the input focus.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Pište hledaný text přímo do okna Rychlého hledání. Při zadávání se neberou na zřetel velké/malé znaky. Pokud okno nemá fokus, aktivujte jej příkazem Rychlé hledání (defaultně Ctrl+Shift+K). Jinak se pokračuje v hledání dalšího výskytu zadaného textu. Rychlé hledání nazpět (defaultně Ctr+Shift+J) prohledává text směrem k začátku dokumentu. Rozšířené rychlé hledání (defaultně Ctrl+Shift+H) rozšíří hledaný text na celé slovo, na kterém je kurzor. Rychlé hledání je ukončeno stiskem klávesy Enter za předpokladu, že fokus se nachází v okně Rychlého hledání.&lt;/p&gt;</translation>
     </message>
@@ -49598,159 +49633,159 @@
         <translation>&lt;b&gt;Náhled tisku&lt;/b&gt;&lt;p&gt;Náhled tisku aktuálního editačního okna.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="1682"/>
+        <location filename="ViewManager/ViewManager.py" line="1679"/>
         <source>Insert new line below current line</source>
         <translation>Vložit nový řádek pod aktuální</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="1682"/>
+        <location filename="ViewManager/ViewManager.py" line="1679"/>
         <source>Shift+Return</source>
         <translation>Shift+Return</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="1682"/>
+        <location filename="ViewManager/ViewManager.py" line="1679"/>
         <source>Shift+Enter</source>
         <translation>Shift+Enter</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2604"/>
+        <location filename="ViewManager/ViewManager.py" line="2601"/>
         <source>Replace in Files</source>
         <translation>Nahradit v souborech</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2604"/>
+        <location filename="ViewManager/ViewManager.py" line="2601"/>
         <source>Replace in F&amp;iles...</source>
         <translation>Nahrad&amp;it v souborech...</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2604"/>
+        <location filename="ViewManager/ViewManager.py" line="2601"/>
         <source>Shift+Ctrl+R</source>
         <comment>Search|Replace in Files</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2611"/>
+        <location filename="ViewManager/ViewManager.py" line="2608"/>
         <source>Search for a text in files and replace it</source>
         <translation>Hledat text v souborech a nahradit jej</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2613"/>
+        <location filename="ViewManager/ViewManager.py" line="2610"/>
         <source>&lt;b&gt;Replace in Files&lt;/b&gt;&lt;p&gt;Search for some text in the files of a directory tree or the project and replace it. A dialog is shown to enter the searchtext, the replacement text and options for the search and to display the result.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Nahradit v souborech&lt;/b&gt;&lt;p&gt;Hledání zadaného textu v souborech v adresářovém stromu projektu a jeho nahrazení. Je zobrazeno dialogové okno pro zadání hledaného textu, textu nahrazujícího a volby pro hledání a zobrazní výsledku.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3367"/>
+        <location filename="ViewManager/ViewManager.py" line="3364"/>
         <source>Spell check</source>
         <translation>Kontola pravopisu</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3367"/>
+        <location filename="ViewManager/ViewManager.py" line="3364"/>
         <source>&amp;Spell Check...</source>
         <translation>Kontrola pravopi&amp;su...</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3367"/>
+        <location filename="ViewManager/ViewManager.py" line="3364"/>
         <source>Shift+F7</source>
         <comment>Spelling|Spell Check</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3376"/>
+        <location filename="ViewManager/ViewManager.py" line="3373"/>
         <source>Perform spell check of current editor</source>
         <translation>Spustit kontrolu pravopisu v aktuálním editoru</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3378"/>
+        <location filename="ViewManager/ViewManager.py" line="3375"/>
         <source>&lt;b&gt;Spell check&lt;/b&gt;&lt;p&gt;Perform a spell check of the current editor.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Kontrola pravopisu&lt;/b&gt;&lt;p&gt;Spustí se kontrola pravopisu v aktuálním editoru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3385"/>
+        <location filename="ViewManager/ViewManager.py" line="3382"/>
         <source>Automatic spell checking</source>
         <translation>Automatická kontrola pravopisu</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3385"/>
+        <location filename="ViewManager/ViewManager.py" line="3382"/>
         <source>&amp;Automatic spell checking</source>
         <translation>&amp;Automatická kontrola pravopisu</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3392"/>
+        <location filename="ViewManager/ViewManager.py" line="3389"/>
         <source>(De-)Activate automatic spell checking</source>
         <translation>(De-)aktivovat akutomatickou kontrolu</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3394"/>
+        <location filename="ViewManager/ViewManager.py" line="3391"/>
         <source>&lt;b&gt;Automatic spell checking&lt;/b&gt;&lt;p&gt;Activate or deactivate the automatic spell checking function of all editors.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Automatická kontrola pravopisu&lt;/b&gt;&lt;p&gt;Zapnout neobo vypnout automatickou kontrolu pravopisu ve všech editorech.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3434"/>
+        <location filename="ViewManager/ViewManager.py" line="3431"/>
         <source>Spelling</source>
         <translation>Pravopis</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3496"/>
+        <location filename="ViewManager/ViewManager.py" line="3493"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has unsaved changes.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor &lt;b&gt;{0}&lt;/b&gt; obsahuje neuložené změny.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3779"/>
+        <location filename="ViewManager/ViewManager.py" line="3776"/>
         <source>File: {0}</source>
         <translation>Soubor: {0}</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3783"/>
+        <location filename="ViewManager/ViewManager.py" line="3780"/>
         <source>Line: {0:5}</source>
         <translation>Řádek: {0:5}</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3788"/>
+        <location filename="ViewManager/ViewManager.py" line="3785"/>
         <source>Pos: {0:5}</source>
         <translation>Poz: {0:5}</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3183"/>
+        <location filename="ViewManager/ViewManager.py" line="3180"/>
         <source>Next warning message</source>
         <translation>Další varování</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3176"/>
+        <location filename="ViewManager/ViewManager.py" line="3173"/>
         <source>&amp;Next warning message</source>
         <translation>Další varová&amp;ní</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3185"/>
+        <location filename="ViewManager/ViewManager.py" line="3182"/>
         <source>&lt;b&gt;Next warning message&lt;/b&gt;&lt;p&gt;Go to next line of the current editor having a py3flakes warning.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Další varování&lt;/b&gt;&lt;p&gt;Jít na další řádku v aktuálním editoru, která obsahuje py3flakes varovné hlášení.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3200"/>
+        <location filename="ViewManager/ViewManager.py" line="3197"/>
         <source>Previous warning message</source>
         <translation>Předchozí varování</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3193"/>
+        <location filename="ViewManager/ViewManager.py" line="3190"/>
         <source>&amp;Previous warning message</source>
         <translation>&amp;Předchozí varování</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3202"/>
+        <location filename="ViewManager/ViewManager.py" line="3199"/>
         <source>&lt;b&gt;Previous warning message&lt;/b&gt;&lt;p&gt;Go to previous line of the current editor having a py3flakes warning.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Předchozí varování&lt;/b&gt;&lt;p&gt;Jít na předchozí řádku v aktuálním editoru, která obsahuje py3flakes varovné hlášení.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3216"/>
+        <location filename="ViewManager/ViewManager.py" line="3213"/>
         <source>Clear Warning Messages</source>
         <translation>Vyčistit varovná hlášení</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3210"/>
+        <location filename="ViewManager/ViewManager.py" line="3207"/>
         <source>Clear &amp;Warning Messages</source>
         <translation>&amp;Vyčistit varovná hlášení</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="3218"/>
+        <location filename="ViewManager/ViewManager.py" line="3215"/>
         <source>&lt;b&gt;Clear Warning Messages&lt;/b&gt;&lt;p&gt;Clear py3flakes warning messages of all editors.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Vyčistit varovná hlášení&lt;/b&gt;&lt;p&gt;Vyčistí všechna py3flakes varovná hlášení ze všech editorů.&lt;/p&gt;</translation>
     </message>
@@ -49771,80 +49806,80 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2538"/>
+        <location filename="ViewManager/ViewManager.py" line="2535"/>
         <source>Goto Last Edit Location</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2530"/>
+        <location filename="ViewManager/ViewManager.py" line="2527"/>
         <source>Goto Last &amp;Edit Location</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2530"/>
+        <location filename="ViewManager/ViewManager.py" line="2527"/>
         <source>Ctrl+Shift+G</source>
         <comment>Search|Goto Last Edit Location</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2540"/>
+        <location filename="ViewManager/ViewManager.py" line="2537"/>
         <source>&lt;b&gt;Goto Last Edit Location&lt;/b&gt;&lt;p&gt;Go to the location of the last edit in the current editor.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2547"/>
+        <location filename="ViewManager/ViewManager.py" line="2544"/>
         <source>Goto Previous Method or Class</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2547"/>
+        <location filename="ViewManager/ViewManager.py" line="2544"/>
         <source>Ctrl+Shift+Up</source>
         <comment>Search|Goto Previous Method or Class</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="ViewManager/ViewManager.py" line="2551"/>
+        <source>Go to the previous method or class definition</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="ViewManager/ViewManager.py" line="2554"/>
-        <source>Go to the previous method or class definition</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="ViewManager/ViewManager.py" line="2557"/>
         <source>&lt;b&gt;Goto Previous Method or Class&lt;/b&gt;&lt;p&gt;Goes to the line of the previous method or class definition and highlights the name.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2565"/>
+        <location filename="ViewManager/ViewManager.py" line="2562"/>
         <source>Goto Next Method or Class</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2565"/>
+        <location filename="ViewManager/ViewManager.py" line="2562"/>
         <source>Ctrl+Shift+Down</source>
         <comment>Search|Goto Next Method or Class</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="ViewManager/ViewManager.py" line="2569"/>
+        <source>Go to the next method or class definition</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="ViewManager/ViewManager.py" line="2572"/>
-        <source>Go to the next method or class definition</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="ViewManager/ViewManager.py" line="2575"/>
         <source>&lt;b&gt;Goto Next Method or Class&lt;/b&gt;&lt;p&gt;Goes to the line of the next method or class definition and highlights the name.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2900"/>
+        <location filename="ViewManager/ViewManager.py" line="2897"/>
         <source>Preview</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2905"/>
+        <location filename="ViewManager/ViewManager.py" line="2902"/>
         <source>Preview the current file in the web browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="2907"/>
+        <location filename="ViewManager/ViewManager.py" line="2904"/>
         <source>&lt;b&gt;Preview&lt;/b&gt;&lt;p&gt;This opens the web browser with a preview of the current file.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
Binary file i18n/eric5_de.qm has changed
--- a/i18n/eric5_de.ts	Sat Dec 17 16:03:53 2011 +0100
+++ b/i18n/eric5_de.ts	Sat Dec 17 19:13:19 2011 +0100
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="2.0" language="de" sourcelanguage="">
+<!DOCTYPE TS>
+<TS version="2.0" language="de">
 <context>
     <name>AboutDialog</name>
     <message>
@@ -36,42 +37,42 @@
 <context>
     <name>AboutPlugin</name>
     <message>
-        <location filename="Plugins/PluginAbout.py" line="77"/>
+        <location filename="Plugins/PluginAbout.py" line="78"/>
         <source>About {0}</source>
         <translation>Über {0}</translation>
     </message>
     <message>
-        <location filename="Plugins/PluginAbout.py" line="77"/>
+        <location filename="Plugins/PluginAbout.py" line="78"/>
         <source>&amp;About {0}</source>
         <translation>&amp;Über {0}</translation>
     </message>
     <message>
-        <location filename="Plugins/PluginAbout.py" line="81"/>
-        <source>Display information about this software</source>
-        <translation>Zeigt Informationen zu diesem Programm an</translation>
-    </message>
-    <message>
         <location filename="Plugins/PluginAbout.py" line="82"/>
+        <source>Display information about this software</source>
+        <translation>Zeigt Informationen zu diesem Programm an</translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginAbout.py" line="83"/>
         <source>&lt;b&gt;About {0}&lt;/b&gt;&lt;p&gt;Display some information about this software.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Über {0}&lt;/b&gt;&lt;p&gt;Zeige Informationen über dieses Programm an.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Plugins/PluginAbout.py" line="89"/>
+        <location filename="Plugins/PluginAbout.py" line="91"/>
         <source>About Qt</source>
         <translation>Über Qt</translation>
     </message>
     <message>
-        <location filename="Plugins/PluginAbout.py" line="89"/>
+        <location filename="Plugins/PluginAbout.py" line="91"/>
         <source>About &amp;Qt</source>
         <translation>Über &amp;Qt</translation>
     </message>
     <message>
-        <location filename="Plugins/PluginAbout.py" line="92"/>
-        <source>Display information about the Qt toolkit</source>
-        <translation>Zeige Informationen über das Qt Toolkit an</translation>
-    </message>
-    <message>
         <location filename="Plugins/PluginAbout.py" line="94"/>
+        <source>Display information about the Qt toolkit</source>
+        <translation>Zeige Informationen über das Qt Toolkit an</translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginAbout.py" line="96"/>
         <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>
@@ -1640,8 +1641,8 @@
     </message>
     <message>
         <location filename="Helpviewer/Bookmarks/BookmarksMenu.py" line="140"/>
-        <source>Open in New &amp;Tab<byte value="x9"/>Ctrl+LMB</source>
-        <translation>In neuem &amp;Register öffnen<byte value="x9"/>Strg+LMK</translation>
+        <source>Open in New &amp;Tab	Ctrl+LMB</source>
+        <translation>In neuem &amp;Register öffnen	Strg+LMK</translation>
     </message>
     <message>
         <location filename="Helpviewer/Bookmarks/BookmarksMenu.py" line="146"/>
@@ -1859,7 +1860,7 @@
     </message>
     <message>
         <location filename="Helpviewer/Bookmarks/BookmarksToolBar.py" line="76"/>
-        <source>Open in New &amp;Tab<byte value="x9"/>Ctrl+LMB</source>
+        <source>Open in New &amp;Tab	Ctrl+LMB</source>
         <translation>In neuem &amp;Register öffnen\tStrg+LMK</translation>
     </message>
 </context>
@@ -3781,12 +3782,12 @@
 <context>
     <name>DebugServer</name>
     <message>
-        <location filename="Debugger/DebugServer.py" line="1320"/>
+        <location filename="Debugger/DebugServer.py" line="1328"/>
         <source>Passive debug connection received</source>
         <translation>Verbindung für passives Debuggen empfangen</translation>
     </message>
     <message>
-        <location filename="Debugger/DebugServer.py" line="1334"/>
+        <location filename="Debugger/DebugServer.py" line="1342"/>
         <source>Passive debug connection closed</source>
         <translation>Verbindung für passives Debuggen geschlossen</translation>
     </message>
@@ -3808,7 +3809,7 @@
         <translation>Verbindung von ungültigem Rechner</translation>
     </message>
     <message>
-        <location filename="Debugger/DebugServer.py" line="1162"/>
+        <location filename="Debugger/DebugServer.py" line="1165"/>
         <source>
 Not connected
 </source>
@@ -4913,22 +4914,22 @@
         <translation>&lt;p&gt;Der Debugger konnte nicht gestartet werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Debugger/DebuggerInterfacePython.py" line="744"/>
+        <location filename="Debugger/DebuggerInterfacePython.py" line="747"/>
         <source>Parent Process</source>
         <translation>Vater Prozess</translation>
     </message>
     <message>
-        <location filename="Debugger/DebuggerInterfacePython.py" line="744"/>
+        <location filename="Debugger/DebuggerInterfacePython.py" line="747"/>
         <source>Child process</source>
         <translation>Kind Prozess</translation>
     </message>
     <message>
-        <location filename="Debugger/DebuggerInterfacePython.py" line="745"/>
+        <location filename="Debugger/DebuggerInterfacePython.py" line="748"/>
         <source>Client forking</source>
         <translation>Client forkt</translation>
     </message>
     <message>
-        <location filename="Debugger/DebuggerInterfacePython.py" line="745"/>
+        <location filename="Debugger/DebuggerInterfacePython.py" line="748"/>
         <source>Select the fork branch to follow.</source>
         <translation>Wähle den zu folgenden Fork Pfad.</translation>
     </message>
@@ -4951,22 +4952,22 @@
         <translation>&lt;p&gt;Der Debugger konnte nicht gestartet werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Debugger/DebuggerInterfacePython3.py" line="740"/>
+        <location filename="Debugger/DebuggerInterfacePython3.py" line="743"/>
         <source>Parent Process</source>
         <translation>Vater Prozess</translation>
     </message>
     <message>
-        <location filename="Debugger/DebuggerInterfacePython3.py" line="740"/>
+        <location filename="Debugger/DebuggerInterfacePython3.py" line="743"/>
         <source>Child process</source>
         <translation>Kind Prozess</translation>
     </message>
     <message>
-        <location filename="Debugger/DebuggerInterfacePython3.py" line="741"/>
+        <location filename="Debugger/DebuggerInterfacePython3.py" line="744"/>
         <source>Client forking</source>
         <translation>Client forkt</translation>
     </message>
     <message>
-        <location filename="Debugger/DebuggerInterfacePython3.py" line="741"/>
+        <location filename="Debugger/DebuggerInterfacePython3.py" line="744"/>
         <source>Select the fork branch to follow.</source>
         <translation>Wähle den zu folgenden Fork Pfad.</translation>
     </message>
@@ -6910,7 +6911,7 @@
         <translation>Drucken abgebrochen</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5300"/>
+        <location filename="QScintilla/Editor.py" line="5301"/>
         <source>File changed</source>
         <translation>Datei geändert</translation>
     </message>
@@ -6975,57 +6976,57 @@
         <translation>Zurück zum letzten gesichert Zustand</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5039"/>
+        <location filename="QScintilla/Editor.py" line="5040"/>
         <source>Macro Name</source>
         <translation>Makro Name</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5039"/>
+        <location filename="QScintilla/Editor.py" line="5040"/>
         <source>Select a macro name:</source>
         <translation>Wähle einen Makro Namen:</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5107"/>
+        <location filename="QScintilla/Editor.py" line="5108"/>
         <source>Macro files (*.macro)</source>
         <translation>Makro Dateien (*.macro)</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5067"/>
+        <location filename="QScintilla/Editor.py" line="5068"/>
         <source>Load macro file</source>
         <translation>Lade Makro Datei</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5088"/>
+        <location filename="QScintilla/Editor.py" line="5089"/>
         <source>Error loading macro</source>
         <translation>Fehler beim Makro Laden</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5107"/>
+        <location filename="QScintilla/Editor.py" line="5108"/>
         <source>Save macro file</source>
         <translation>Makro Datei schreiben</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5124"/>
+        <location filename="QScintilla/Editor.py" line="5125"/>
         <source>Save macro</source>
         <translation>Makro speichern</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5139"/>
+        <location filename="QScintilla/Editor.py" line="5140"/>
         <source>Error saving macro</source>
         <translation>Fehler beim Makro speichern</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5150"/>
+        <location filename="QScintilla/Editor.py" line="5151"/>
         <source>Start Macro Recording</source>
         <translation>Makroaufzeichnung starten</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5175"/>
+        <location filename="QScintilla/Editor.py" line="5176"/>
         <source>Macro Recording</source>
         <translation>Makroaufzeichnung</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5175"/>
+        <location filename="QScintilla/Editor.py" line="5176"/>
         <source>Enter name of the macro:</source>
         <translation>Gib einen Namen für das Makro ein:</translation>
     </message>
@@ -7085,32 +7086,32 @@
         <translation>Haltepunkt bearbeiten...</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4226"/>
+        <location filename="QScintilla/Editor.py" line="4227"/>
         <source>Enable breakpoint</source>
         <translation>Haltepunkt aktivieren</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4229"/>
+        <location filename="QScintilla/Editor.py" line="4230"/>
         <source>Disable breakpoint</source>
         <translation>Haltepunkt deaktivieren</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4546"/>
+        <location filename="QScintilla/Editor.py" line="4547"/>
         <source>Code Coverage</source>
         <translation>Quelltext Abdeckung</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4546"/>
+        <location filename="QScintilla/Editor.py" line="4547"/>
         <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="4684"/>
+        <location filename="QScintilla/Editor.py" line="4685"/>
         <source>Profile Data</source>
         <translation>Profildaten</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4684"/>
+        <location filename="QScintilla/Editor.py" line="4685"/>
         <source>Please select a profile file</source>
         <translation>Bitte wählen sie eine Datei mit Profildaten</translation>
     </message>
@@ -7120,12 +7121,12 @@
         <translation>Autom. Vervollständigung aktiv</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="3738"/>
+        <location filename="QScintilla/Editor.py" line="3737"/>
         <source>Autocompletion</source>
         <translation>Autom. Vervollständigung</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="3738"/>
+        <location filename="QScintilla/Editor.py" line="3737"/>
         <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>
@@ -7160,7 +7161,7 @@
         <translation>Autom. Speicherung aktiv</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5496"/>
+        <location filename="QScintilla/Editor.py" line="5497"/>
         <source>Drop Error</source>
         <translation>Drop Fehler</translation>
     </message>
@@ -7170,12 +7171,12 @@
         <translation>Zeige Syntaxfehlermeldung</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4814"/>
+        <location filename="QScintilla/Editor.py" line="4815"/>
         <source>Syntax Error</source>
         <translation>Syntaxfehler</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4814"/>
+        <location filename="QScintilla/Editor.py" line="4815"/>
         <source>No syntax error message available.</source>
         <translation>Keine Syntaxfehlermeldung verfügbar.</translation>
     </message>
@@ -7205,17 +7206,17 @@
         <translation>Vorige nichtabgedeckte Zeile</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4592"/>
+        <location filename="QScintilla/Editor.py" line="4593"/>
         <source>Show Code Coverage Annotations</source>
         <translation>Zeilen ohne Abdeckung Markieren</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4588"/>
+        <location filename="QScintilla/Editor.py" line="4589"/>
         <source>All lines have been covered.</source>
         <translation>Alle Zeilen sind abgedeckt.</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4592"/>
+        <location filename="QScintilla/Editor.py" line="4593"/>
         <source>There is no coverage file available.</source>
         <translation>Es gibt keine Datei mit Abdeckungsinformationen.</translation>
     </message>
@@ -7225,22 +7226,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="5081"/>
+        <location filename="QScintilla/Editor.py" line="5082"/>
         <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 Makro Datei &lt;b&gt;{0}&lt;/b&gt; kann nicht gelesen werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5088"/>
+        <location filename="QScintilla/Editor.py" line="5089"/>
         <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 Makro Datei &lt;b&gt;{0}&lt;/b&gt; ist zerstört.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5139"/>
+        <location filename="QScintilla/Editor.py" line="5140"/>
         <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 Makro Datei &lt;b&gt;{0}&lt;/b&gt; kann nicht geschrieben werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5496"/>
+        <location filename="QScintilla/Editor.py" line="5497"/>
         <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>
@@ -7285,82 +7286,82 @@
         <translation>Keine Sprache</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5379"/>
+        <location filename="QScintilla/Editor.py" line="5380"/>
         <source>{0} (ro)</source>
         <translation>{0} (ro)</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5514"/>
+        <location filename="QScintilla/Editor.py" line="5515"/>
         <source>Resources</source>
         <translation>Resourcen</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5516"/>
+        <location filename="QScintilla/Editor.py" line="5517"/>
         <source>Add file...</source>
         <translation>Datei hinzufügen...</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5518"/>
+        <location filename="QScintilla/Editor.py" line="5519"/>
         <source>Add files...</source>
         <translation>Dateien hinzufügen...</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5520"/>
+        <location filename="QScintilla/Editor.py" line="5521"/>
         <source>Add aliased file...</source>
         <translation>Aliased Datei hinzufügen...</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5522"/>
+        <location filename="QScintilla/Editor.py" line="5523"/>
         <source>Add localized resource...</source>
         <translation>Lokalisierte Resource hinzufügen...</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5543"/>
+        <location filename="QScintilla/Editor.py" line="5544"/>
         <source>Add file resource</source>
         <translation>Dateiresource hinzufügen</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5559"/>
+        <location filename="QScintilla/Editor.py" line="5560"/>
         <source>Add file resources</source>
         <translation>Dateiresourcen hinzufügen</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5586"/>
+        <location filename="QScintilla/Editor.py" line="5587"/>
         <source>Add aliased file resource</source>
         <translation>Aliased Dateiresourcen hinzufügen</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5586"/>
+        <location filename="QScintilla/Editor.py" line="5587"/>
         <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="5647"/>
+        <location filename="QScintilla/Editor.py" line="5648"/>
         <source>Package Diagram</source>
         <translation>Package-Diagramm</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5647"/>
+        <location filename="QScintilla/Editor.py" line="5648"/>
         <source>Include class attributes?</source>
         <translation>Klassenattribute anzeigen?</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5676"/>
+        <location filename="QScintilla/Editor.py" line="5677"/>
         <source>Application Diagram</source>
         <translation>Applikations-Diagramm</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5676"/>
+        <location filename="QScintilla/Editor.py" line="5677"/>
         <source>Include module names?</source>
         <translation>Modulnamen anzeigen?</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5525"/>
+        <location filename="QScintilla/Editor.py" line="5526"/>
         <source>Add resource frame</source>
         <translation>Resource Rahmen hinzufügen</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5150"/>
+        <location filename="QScintilla/Editor.py" line="5151"/>
         <source>Macro recording is already active. Start new?</source>
         <translation>Eine Makroaufzeichnung ist bereits aktiv. Neu starten?</translation>
     </message>
@@ -7415,12 +7416,12 @@
         <translation>Kein Exportformat angegeben. Abbruch...</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5664"/>
+        <location filename="QScintilla/Editor.py" line="5665"/>
         <source>Imports Diagram</source>
         <translation>Imports Diagramm</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5664"/>
+        <location filename="QScintilla/Editor.py" line="5665"/>
         <source>Include imports from external modules?</source>
         <translation>Imports externer Module anzeigen?</translation>
     </message>
@@ -7500,7 +7501,7 @@
         <translation>Wähle den anzuwendenden Pygments Lexer.</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5914"/>
+        <location filename="QScintilla/Editor.py" line="5915"/>
         <source>Check spelling...</source>
         <translation>Rechtschreibprüfung...</translation>
     </message>
@@ -7510,12 +7511,12 @@
         <translation>Rechtschreibprüfung für Auswahl...</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5916"/>
+        <location filename="QScintilla/Editor.py" line="5917"/>
         <source>Add to dictionary</source>
         <translation>Zum Wörterbuch hinzufügen</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5918"/>
+        <location filename="QScintilla/Editor.py" line="5919"/>
         <source>Ignore All</source>
         <translation>Alle ignorieren</translation>
     </message>
@@ -7535,7 +7536,7 @@
         <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/Editor.py" line="5291"/>
+        <location filename="QScintilla/Editor.py" line="5292"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has been changed while it was opened in eric5. 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 eric5 geöffnet war. Neu einlesen?&lt;/p&gt;</translation>
     </message>
@@ -7560,12 +7561,12 @@
         <translation>Warnungen löschen</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4940"/>
+        <location filename="QScintilla/Editor.py" line="4941"/>
         <source>py3flakes Warning</source>
         <translation>py3flakes Warnung</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4940"/>
+        <location filename="QScintilla/Editor.py" line="4941"/>
         <source>No py3flakes warning message available.</source>
         <translation>Keine Py3flakes Warnung verfügbar.</translation>
     </message>
@@ -7575,42 +7576,42 @@
         <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="5124"/>
+        <location filename="QScintilla/Editor.py" line="5125"/>
         <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 Makro Datei &lt;b&gt;{0}&lt;/b&gt; existiert bereits. Überschreiben?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4983"/>
+        <location filename="QScintilla/Editor.py" line="4984"/>
         <source>Warning: {0}</source>
         <translation>Warnung: {0}</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4989"/>
+        <location filename="QScintilla/Editor.py" line="4990"/>
         <source>Error: {0}</source>
         <translation>Fehler: {0}</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5296"/>
+        <location filename="QScintilla/Editor.py" line="5297"/>
         <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>
     <message>
-        <location filename="QScintilla/Editor.py" line="3834"/>
+        <location filename="QScintilla/Editor.py" line="3833"/>
         <source>Activating Auto-Completion Provider</source>
         <translation>Aktivierung eines Providers für automatische Vervollständigungen</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="3834"/>
+        <location filename="QScintilla/Editor.py" line="3833"/>
         <source>Auto-completion provider cannot be connected because there is already another one active. Please check your configuration.</source>
         <translation>Ein Providers für automatische Vervollständigungen kann nicht angebunden werden, da bereits ein anderer aktiv ist. Bitte überprüfen sie ihre Konfiguration.</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4019"/>
+        <location filename="QScintilla/Editor.py" line="4018"/>
         <source>Activating Calltip Provider</source>
         <translation>Aktivierung eines Providers für Calltips</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4019"/>
+        <location filename="QScintilla/Editor.py" line="4018"/>
         <source>Calltip provider cannot be connected because there is already another one active. Please check your configuration.</source>
         <translation>Ein Providers für Calltips kann nicht angebunden werden, da bereits ein anderer aktiv ist. Bitte überprüfen sie ihre Konfiguration.</translation>
     </message>
@@ -12830,7 +12831,7 @@
     </message>
     <message>
         <location filename="Helpviewer/HelpBrowserWV.py" line="804"/>
-        <source>Open Link in New Tab<byte value="x9"/>Ctrl+LMB</source>
+        <source>Open Link in New Tab	Ctrl+LMB</source>
         <translation>Link in neuem Fenster öffnen\tStrg+LMK</translation>
     </message>
     <message>
@@ -27584,12 +27585,12 @@
         <translation>Projektverzeichnis erstellen</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="2887"/>
+        <location filename="Project/Project.py" line="2911"/>
         <source>Open project</source>
         <translation>Projekt öffnen</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="2921"/>
+        <location filename="Project/Project.py" line="2945"/>
         <source>Save project as</source>
         <translation>Projekt speichern unter</translation>
     </message>
@@ -27609,132 +27610,132 @@
         <translation>Das aktuelle Projekt hat ungesicherte Änderungen.</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3064"/>
+        <location filename="Project/Project.py" line="3088"/>
         <source>&amp;Save</source>
         <translation>&amp;Speichern</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="2874"/>
+        <location filename="Project/Project.py" line="2898"/>
         <source>New project</source>
         <translation>Neues Projekt</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="2874"/>
+        <location filename="Project/Project.py" line="2898"/>
         <source>&amp;New...</source>
         <translation>&amp;Neu...</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="2878"/>
-        <source>Generate a new project</source>
-        <translation>Erstelle ein neues Projekt</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="2879"/>
-        <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="2887"/>
-        <source>&amp;Open...</source>
-        <translation>&amp;Öffnen...</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="2891"/>
-        <source>Open an existing project</source>
-        <translation>Öffnet ein bestehendes Projekt</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="2892"/>
-        <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="2899"/>
-        <source>Close project</source>
-        <translation>Projekt schließen</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="2899"/>
-        <source>&amp;Close</source>
-        <translation>Schl&amp;ießen</translation>
-    </message>
-    <message>
         <location filename="Project/Project.py" line="2902"/>
-        <source>Close the current project</source>
-        <translation>Schließt das aktuelle Pr