Unit Test: added the capability to select the virtual environment for the unittest run.

Wed, 20 Mar 2019 19:41:04 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 20 Mar 2019 19:41:04 +0100
changeset 6888
e5f03f779b00
parent 6887
4adc2c6978f2
child 6889
334257ef9435

Unit Test: added the capability to select the virtual environment for the unittest run.

APIs/Python3/eric6.api file | annotate | diff | comparison | revisions
Debugger/DebugServer.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/eric6.Debugger.DebugServer.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.PyUnit.UnittestDialog.html file | annotate | diff | comparison | revisions
PyUnit/UnittestDialog.py file | annotate | diff | comparison | revisions
PyUnit/UnittestDialog.ui file | annotate | diff | comparison | revisions
UI/UserInterface.py file | annotate | diff | comparison | revisions
changelog file | annotate | diff | comparison | revisions
eric6.e4p file | annotate | diff | comparison | revisions
i18n/eric6_cs.ts file | annotate | diff | comparison | revisions
i18n/eric6_de.ts file | annotate | diff | comparison | revisions
i18n/eric6_empty.ts file | annotate | diff | comparison | revisions
i18n/eric6_en.ts file | annotate | diff | comparison | revisions
i18n/eric6_es.ts file | annotate | diff | comparison | revisions
i18n/eric6_fr.ts file | annotate | diff | comparison | revisions
i18n/eric6_it.ts file | annotate | diff | comparison | revisions
i18n/eric6_pt.ts file | annotate | diff | comparison | revisions
i18n/eric6_ru.ts file | annotate | diff | comparison | revisions
i18n/eric6_tr.ts file | annotate | diff | comparison | revisions
i18n/eric6_zh_CN.ts file | annotate | diff | comparison | revisions
--- a/APIs/Python3/eric6.api	Wed Mar 20 19:23:12 2019 +0100
+++ b/APIs/Python3/eric6.api	Wed Mar 20 19:41:04 2019 +0100
@@ -527,7 +527,7 @@
 eric6.Debugger.DebugServer.DebugServer.remoteStepOver?4()
 eric6.Debugger.DebugServer.DebugServer.remoteStepQuit?4()
 eric6.Debugger.DebugServer.DebugServer.remoteThreadList?4()
-eric6.Debugger.DebugServer.DebugServer.remoteUTPrepare?4(fn, tn, tfn, failed, cov, covname, coverase, clientType="")
+eric6.Debugger.DebugServer.DebugServer.remoteUTPrepare?4(fn, tn, tfn, failed, cov, covname, coverase, clientType="", forProject=False, venvName="")
 eric6.Debugger.DebugServer.DebugServer.remoteUTRun?4()
 eric6.Debugger.DebugServer.DebugServer.remoteUTStop?4()
 eric6.Debugger.DebugServer.DebugServer.setCallTraceEnabled?4(on)
@@ -8394,6 +8394,8 @@
 eric6.PyUnit.UnittestDialog.UnittestDialog.on_testsuitePicker_aboutToShowPathPickerDialog?4()
 eric6.PyUnit.UnittestDialog.UnittestDialog.on_testsuitePicker_editTextChanged?4(txt)
 eric6.PyUnit.UnittestDialog.UnittestDialog.on_testsuitePicker_pathSelected?4(suite)
+eric6.PyUnit.UnittestDialog.UnittestDialog.on_venvComboBox_currentTextChanged?4(venvName)
+eric6.PyUnit.UnittestDialog.UnittestDialog.setProjectMode?4(forProject)
 eric6.PyUnit.UnittestDialog.UnittestDialog.testErrored?4(test, exc, testId)
 eric6.PyUnit.UnittestDialog.UnittestDialog.testFailed?4(test, exc, testId)
 eric6.PyUnit.UnittestDialog.UnittestDialog.testFailedExpected?4(test, exc, testId)
@@ -8403,7 +8405,7 @@
 eric6.PyUnit.UnittestDialog.UnittestDialog.testSucceededUnexpected?4(test, testId)
 eric6.PyUnit.UnittestDialog.UnittestDialog.unittestFile?7
 eric6.PyUnit.UnittestDialog.UnittestDialog.unittestStopped?7
-eric6.PyUnit.UnittestDialog.UnittestDialog?1(prog=None, dbs=None, ui=None, fromEric=False, parent=None, name=None)
+eric6.PyUnit.UnittestDialog.UnittestDialog?1(prog=None, dbs=None, ui=None, parent=None, name=None)
 eric6.PyUnit.UnittestDialog.UnittestWindow.eventFilter?4(obj, event)
 eric6.PyUnit.UnittestDialog.UnittestWindow?1(prog=None, parent=None)
 eric6.QScintilla.APIsManager.APIs.apiPreparationCancelled?7
--- a/Debugger/DebugServer.py	Wed Mar 20 19:23:12 2019 +0100
+++ b/Debugger/DebugServer.py	Wed Mar 20 19:41:04 2019 +0100
@@ -1313,22 +1313,31 @@
         self.debuggerInterface.remoteCompletion(text)
 
     def remoteUTPrepare(self, fn, tn, tfn, failed, cov, covname, coverase,
-                        clientType=""):
+                        clientType="", forProject=False, venvName=""):
         """
         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 fn the filename to load
+        @type str
+        @param tn the testname to load
+        @type str
+        @param tfn the test function name to load tests from
+        @type str
         @param failed list of failed test, if only failed test should be run
-            (list of strings)
+        @type list of str
         @param cov flag indicating collection of coverage data is requested
-            (boolean)
+        @type bool
         @param covname filename to be used to assemble the coverage caches
-            filename (string)
+            filename
+        @type str
         @param coverase flag indicating erasure of coverage data is requested
-            (boolean)
-        @keyparam clientType client type to be used (string)
+        @type bool
+        @param clientType client type to be used
+        @type str
+        @param forProject flag indicating a project related action
+        @type bool
+        @param venvName name of a virtual environment
+        @type str
         """
         if clientType not in self.getSupportedLanguages():
             # a not supported client language was requested
@@ -1350,7 +1359,7 @@
                     self.__findLanguageForExtension(os.path.splitext(fn)[1]))
         except KeyError:
             self.__setClientType('Python3')    # assume it is a Python3 file
-        self.startClient(False)
+        self.startClient(False, forProject=forProject, venvName=venvName)
         
         self.debuggerInterface.remoteUTPrepare(
             fn, tn, tfn, failed, cov, covname, coverase)
Binary file Documentation/Help/source.qch has changed
--- a/Documentation/Help/source.qhp	Wed Mar 20 19:23:12 2019 +0100
+++ b/Documentation/Help/source.qhp	Wed Mar 20 19:41:04 2019 +0100
@@ -16968,6 +16968,8 @@
       <keyword name="UnittestDialog.on_testsuitePicker_aboutToShowPathPickerDialog" id="UnittestDialog.on_testsuitePicker_aboutToShowPathPickerDialog" ref="eric6.PyUnit.UnittestDialog.html#UnittestDialog.on_testsuitePicker_aboutToShowPathPickerDialog" />
       <keyword name="UnittestDialog.on_testsuitePicker_editTextChanged" id="UnittestDialog.on_testsuitePicker_editTextChanged" ref="eric6.PyUnit.UnittestDialog.html#UnittestDialog.on_testsuitePicker_editTextChanged" />
       <keyword name="UnittestDialog.on_testsuitePicker_pathSelected" id="UnittestDialog.on_testsuitePicker_pathSelected" ref="eric6.PyUnit.UnittestDialog.html#UnittestDialog.on_testsuitePicker_pathSelected" />
+      <keyword name="UnittestDialog.on_venvComboBox_currentTextChanged" id="UnittestDialog.on_venvComboBox_currentTextChanged" ref="eric6.PyUnit.UnittestDialog.html#UnittestDialog.on_venvComboBox_currentTextChanged" />
+      <keyword name="UnittestDialog.setProjectMode" id="UnittestDialog.setProjectMode" ref="eric6.PyUnit.UnittestDialog.html#UnittestDialog.setProjectMode" />
       <keyword name="UnittestDialog.testErrored" id="UnittestDialog.testErrored" ref="eric6.PyUnit.UnittestDialog.html#UnittestDialog.testErrored" />
       <keyword name="UnittestDialog.testFailed" id="UnittestDialog.testFailed" ref="eric6.PyUnit.UnittestDialog.html#UnittestDialog.testFailed" />
       <keyword name="UnittestDialog.testFailedExpected" id="UnittestDialog.testFailedExpected" ref="eric6.PyUnit.UnittestDialog.html#UnittestDialog.testFailedExpected" />
--- a/Documentation/Source/eric6.Debugger.DebugServer.html	Wed Mar 20 19:23:12 2019 +0100
+++ b/Documentation/Source/eric6.Debugger.DebugServer.html	Wed Mar 20 19:41:04 2019 +0100
@@ -1542,38 +1542,41 @@
         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, failed, cov, covname, coverase, clientType=""</i>)
+<b>remoteUTPrepare</b>(<i>fn, tn, tfn, failed, cov, covname, coverase, clientType="", forProject=False, venvName=""</i>)
 <p>
         Public method to prepare a new unittest run.
 </p><dl>
-<dt><i>fn</i></dt>
+<dt><i>fn</i> (str)</dt>
 <dd>
-the filename to load (string)
-</dd><dt><i>tn</i></dt>
+the filename to load
+</dd><dt><i>tn</i> (str)</dt>
 <dd>
-the testname to load (string)
-</dd><dt><i>tfn</i></dt>
+the testname to load
+</dd><dt><i>tfn</i> (str)</dt>
 <dd>
-the test function name to load tests from (string)
-</dd><dt><i>failed</i></dt>
+the test function name to load tests from
+</dd><dt><i>failed</i> (list of str)</dt>
 <dd>
 list of failed test, if only failed test should be run
-            (list of strings)
-</dd><dt><i>cov</i></dt>
+</dd><dt><i>cov</i> (bool)</dt>
 <dd>
 flag indicating collection of coverage data is requested
-            (boolean)
-</dd><dt><i>covname</i></dt>
+</dd><dt><i>covname</i> (str)</dt>
 <dd>
 filename to be used to assemble the coverage caches
-            filename (string)
-</dd><dt><i>coverase</i></dt>
+            filename
+</dd><dt><i>coverase</i> (bool)</dt>
 <dd>
 flag indicating erasure of coverage data is requested
-            (boolean)
-</dd><dt><i>clientType=</i></dt>
+</dd><dt><i>clientType</i> (str)</dt>
+<dd>
+client type to be used
+</dd><dt><i>forProject</i> (bool)</dt>
 <dd>
-client type to be used (string)
+flag indicating a project related action
+</dd><dt><i>venvName</i> (str)</dt>
+<dd>
+name of a virtual environment
 </dd>
 </dl><a NAME="DebugServer.remoteUTRun" ID="DebugServer.remoteUTRun"></a>
 <h4>DebugServer.remoteUTRun</h4>
--- a/Documentation/Source/eric6.PyUnit.UnittestDialog.html	Wed Mar 20 19:23:12 2019 +0100
+++ b/Documentation/Source/eric6.PyUnit.UnittestDialog.html	Wed Mar 20 19:41:04 2019 +0100
@@ -277,6 +277,12 @@
 <td><a href="#UnittestDialog.on_testsuitePicker_pathSelected">on_testsuitePicker_pathSelected</a></td>
 <td>Private slot called after a test suite has been selected.</td>
 </tr><tr>
+<td><a href="#UnittestDialog.on_venvComboBox_currentTextChanged">on_venvComboBox_currentTextChanged</a></td>
+<td>Private slot to handle the selection of a virtual environment.</td>
+</tr><tr>
+<td><a href="#UnittestDialog.setProjectMode">setProjectMode</a></td>
+<td>Public method to set the project mode of the dialog.</td>
+</tr><tr>
 <td><a href="#UnittestDialog.testErrored">testErrored</a></td>
 <td>Public method called if a test errors.</td>
 </tr><tr>
@@ -305,30 +311,26 @@
 </table>
 <a NAME="UnittestDialog.__init__" ID="UnittestDialog.__init__"></a>
 <h4>UnittestDialog (Constructor)</h4>
-<b>UnittestDialog</b>(<i>prog=None, dbs=None, ui=None, fromEric=False, parent=None, name=None</i>)
+<b>UnittestDialog</b>(<i>prog=None, dbs=None, ui=None, parent=None, name=None</i>)
 <p>
         Constructor
 </p><dl>
-<dt><i>prog</i></dt>
+<dt><i>prog</i> (str)</dt>
 <dd>
 filename of the program to open
-</dd><dt><i>dbs</i></dt>
+</dd><dt><i>dbs</i> (DebugServer)</dt>
 <dd>
 reference to the debug server object. It is an indication
-            whether we were called from within the eric6 IDE
-</dd><dt><i>ui</i></dt>
+            whether we were called from within the eric6 IDE.
+</dd><dt><i>ui</i> (UserInterface)</dt>
 <dd>
 reference to the UI object
-</dd><dt><i>fromEric</i></dt>
+</dd><dt><i>parent</i> (QWidget)</dt>
 <dd>
-flag indicating an instantiation from within the
-            eric IDE (boolean)
-</dd><dt><i>parent</i></dt>
+parent widget of this dialog
+</dd><dt><i>name</i> (str)</dt>
 <dd>
-parent widget of this dialog (QWidget)
-</dd><dt><i>name</i></dt>
-<dd>
-name of this dialog (string)
+name of this dialog
 </dd>
 </dl><a NAME="UnittestDialog.__UTPrepared" ID="UnittestDialog.__UTPrepared"></a>
 <h4>UnittestDialog.__UTPrepared</h4>
@@ -516,6 +518,26 @@
 <dd>
 file name of the test suite
 </dd>
+</dl><a NAME="UnittestDialog.on_venvComboBox_currentTextChanged" ID="UnittestDialog.on_venvComboBox_currentTextChanged"></a>
+<h4>UnittestDialog.on_venvComboBox_currentTextChanged</h4>
+<b>on_venvComboBox_currentTextChanged</b>(<i>venvName</i>)
+<p>
+        Private slot to handle the selection of a virtual environment.
+</p><dl>
+<dt><i>venvName</i> (str)</dt>
+<dd>
+name of the selected virtual environment
+</dd>
+</dl><a NAME="UnittestDialog.setProjectMode" ID="UnittestDialog.setProjectMode"></a>
+<h4>UnittestDialog.setProjectMode</h4>
+<b>setProjectMode</b>(<i>forProject</i>)
+<p>
+        Public method to set the project mode of the dialog.
+</p><dl>
+<dt><i>forProject</i> (bool)</dt>
+<dd>
+flag indicating to run for the open project
+</dd>
 </dl><a NAME="UnittestDialog.testErrored" ID="UnittestDialog.testErrored"></a>
 <h4>UnittestDialog.testErrored</h4>
 <b>testErrored</b>(<i>test, exc, testId</i>)
--- a/PyUnit/UnittestDialog.py	Wed Mar 20 19:23:12 2019 +0100
+++ b/PyUnit/UnittestDialog.py	Wed Mar 20 19:41:04 2019 +0100
@@ -44,19 +44,21 @@
     unittestFile = pyqtSignal(str, int, int)
     unittestStopped = pyqtSignal()
     
-    def __init__(self, prog=None, dbs=None, ui=None, fromEric=False,
-                 parent=None, name=None):
+    def __init__(self, prog=None, dbs=None, ui=None, parent=None, name=None):
         """
         Constructor
         
         @param prog filename of the program to open
+        @type str
         @param dbs reference to the debug server object. It is an indication
-            whether we were called from within the eric6 IDE
+            whether we were called from within the eric6 IDE.
+        @type DebugServer
         @param ui reference to the UI object
-        @param fromEric flag indicating an instantiation from within the
-            eric IDE (boolean)
-        @param parent parent widget of this dialog (QWidget)
-        @param name name of this dialog (string)
+        @type UserInterface
+        @param parent parent widget of this dialog
+        @type QWidget
+        @param name name of this dialog
+        @type str
         """
         super(UnittestDialog, self).__init__(parent)
         if name:
@@ -93,8 +95,8 @@
         self.startButton.setDefault(True)
         self.startFailedButton.setEnabled(False)
         
-        self.dbs = dbs
-        self.__fromEric = fromEric
+        self.__dbs = dbs
+        self.__forProject = False
         
         self.setWindowFlags(
             self.windowFlags() | Qt.WindowFlags(
@@ -109,6 +111,12 @@
         self.progressLed.setDarkFactor(150)
         self.progressLed.off()
         
+        self.venvComboBox.addItem("")
+        self.venvComboBox.addItems(
+            sorted(e5App().getObject("VirtualEnvManager")
+                   .getVirtualenvNames()))
+        self.venvComboBox.setEnabled(bool(self.__dbs))
+        
         self.fileHistory = []
         self.testNameHistory = []
         self.running = False
@@ -128,16 +136,16 @@
         self.__failedTests = []
         
         # now connect the debug server signals if called from the eric6 IDE
-        if self.dbs:
-            self.dbs.utPrepared.connect(self.__UTPrepared)
-            self.dbs.utFinished.connect(self.__setStoppedMode)
-            self.dbs.utStartTest.connect(self.testStarted)
-            self.dbs.utStopTest.connect(self.testFinished)
-            self.dbs.utTestFailed.connect(self.testFailed)
-            self.dbs.utTestErrored.connect(self.testErrored)
-            self.dbs.utTestSkipped.connect(self.testSkipped)
-            self.dbs.utTestFailedExpected.connect(self.testFailedExpected)
-            self.dbs.utTestSucceededUnexpected.connect(
+        if self.__dbs:
+            self.__dbs.utPrepared.connect(self.__UTPrepared)
+            self.__dbs.utFinished.connect(self.__setStoppedMode)
+            self.__dbs.utStartTest.connect(self.testStarted)
+            self.__dbs.utStopTest.connect(self.testFinished)
+            self.__dbs.utTestFailed.connect(self.testFailed)
+            self.__dbs.utTestErrored.connect(self.testErrored)
+            self.__dbs.utTestSkipped.connect(self.testSkipped)
+            self.__dbs.utTestFailedExpected.connect(self.testFailedExpected)
+            self.__dbs.utTestSucceededUnexpected.connect(
                 self.testSucceededUnexpected)
         
         self.__editors = []
@@ -148,7 +156,7 @@
         
         @param evt key press event to handle (QKeyEvent)
         """
-        if evt.key() == Qt.Key_Escape and self.__fromEric:
+        if evt.key() == Qt.Key_Escape and self.__dbs:
             self.close()
     
     def __setProgressColor(self, color):
@@ -158,7 +166,16 @@
         @param color colour to be shown (string)
         """
         self.progressLed.setColor(QColor(color))
+    
+    def setProjectMode(self, forProject):
+        """
+        Public method to set the project mode of the dialog.
         
+        @param forProject flag indicating to run for the open project
+        @type bool
+        """
+        self.__forProject = forProject
+    
     def insertProg(self, prog):
         """
         Public slot to insert the filename prog into the testsuitePicker
@@ -195,13 +212,13 @@
         """
         Private slot called before the test suite selection dialog is shown.
         """
-        if self.dbs:
+        if self.__dbs:
             py2Extensions = \
                 ' '.join(["*{0}".format(ext)
-                          for ext in self.dbs.getExtensions('Python2')])
+                          for ext in self.__dbs.getExtensions('Python2')])
             py3Extensions = \
                 ' '.join(["*{0}".format(ext)
-                          for ext in self.dbs.getExtensions('Python3')])
+                          for ext in self.__dbs.getExtensions('Python3')])
             fileFilter = self.tr(
                 "Python3 Files ({1});;Python2 Files ({0});;All Files (*)")\
                 .format(py2Extensions, py3Extensions)
@@ -226,20 +243,23 @@
         
         @param txt name of the test file (string)
         """
-        if self.dbs:
-            exts = self.dbs.getExtensions("Python2")
+        fileTypes = {
+            "Python2": ("Python", "Python2"),
+            "Python3": ("Python3", )
+        }
+        if self.__dbs:
+            ver = sys.version_info[0]
+            variant = "Python{0}".format(ver)
+            exts = self.__dbs.getExtensions(variant)
             flags = Utilities.extractFlagsFromFile(txt)
-            if txt.endswith(exts) or \
+            if not txt.endswith(exts) or \
                ("FileType" in flags and
-                    flags["FileType"] in ["Python", "Python2"]):
-                self.coverageCheckBox.setChecked(False)
-                self.coverageCheckBox.setEnabled(False)
+                    flags["FileType"] not in fileTypes[variant]):
                 self.localCheckBox.setChecked(False)
                 self.localCheckBox.setEnabled(False)
                 return
         
-        self.coverageCheckBox.setEnabled(True)
-        self.localCheckBox.setEnabled(True)
+        self.localCheckBox.setEnabled(bool(self.__dbs))
         
     def on_buttonBox_clicked(self, button):
         """
@@ -286,10 +306,11 @@
         # build the module name from the filename without extension
         self.testName = os.path.splitext(os.path.basename(prog))[0]
         
-        if self.dbs and not self.localCheckBox.isChecked():
+        if self.__dbs and not self.localCheckBox.isChecked():
             # we are cooperating with the eric6 IDE
             project = e5App().getObject("Project")
-            if project.isOpen() and project.isProjectSource(prog):
+            if self.__forProject and project.isOpen() and \
+               project.isProjectSource(prog):
                 mainScript = project.getMainScript(True)
                 clientType = project.getProjectLanguage()
             else:
@@ -307,10 +328,12 @@
             else:
                 failed = []
             self.__failedTests = []
-            self.dbs.remoteUTPrepare(
+            self.__dbs.remoteUTPrepare(
                 prog, self.testName, testFunctionName, failed,
                 self.coverageCheckBox.isChecked(), mainScript,
-                self.coverageEraseCheckBox.isChecked(), clientType=clientType)
+                self.coverageEraseCheckBox.isChecked(), clientType=clientType,
+                forProject=self.__forProject,
+                venvName=self.venvComboBox.currentText())
         else:
             # we are running as an application or in local mode
             sys.path = [os.path.dirname(os.path.abspath(prog))] + \
@@ -353,7 +376,7 @@
                 
             # now set up the coverage stuff
             if self.coverageCheckBox.isChecked():
-                if self.dbs:
+                if self.__dbs:
                     # we are cooperating with the eric6 IDE
                     project = e5App().getObject("Project")
                     if project.isOpen() and project.isProjectSource(prog):
@@ -409,15 +432,15 @@
             
         self.totalTests = nrTests
         self.__setRunningMode()
-        self.dbs.remoteUTRun()
+        self.__dbs.remoteUTRun()
         
     @pyqtSlot()
     def on_stopButton_clicked(self):
         """
         Private slot to stop the test.
         """
-        if self.dbs and not self.localCheckBox.isChecked():
-            self.dbs.remoteUTStop()
+        if self.__dbs and not self.localCheckBox.isChecked():
+            self.__dbs.remoteUTStop()
         elif self.testResult:
             self.testResult.stop()
             
@@ -589,7 +612,7 @@
         if doc:
             self.testsListWidget.insertItem(0, "    {0}".format(doc))
         self.testsListWidget.insertItem(0, test)
-        if self.dbs is None or self.localCheckBox.isChecked():
+        if self.__dbs is None or self.localCheckBox.isChecked():
             QApplication.processEvents()
         
     def testFinished(self):
@@ -664,7 +687,7 @@
                 break
         if fmatch:
             fn, ln = fmatch.group(1, 2)
-            if self.dbs:
+            if self.__dbs:
                 # running as part of eric IDE
                 self.unittestFile.emit(fn, int(ln), 1)
             else:
@@ -712,6 +735,20 @@
             except Exception:
                 # ignore all exceptions
                 pass
+    
+    @pyqtSlot(str)
+    def on_venvComboBox_currentTextChanged(self, venvName):
+        """
+        Private slot to handle the selection of a virtual environment.
+        
+        @param venvName name of the selected virtual environment
+        @type str
+        """
+        if venvName:
+            self.localCheckBox.setChecked(False)
+            self.localCheckBox.setEnabled(False)
+        else:
+            self.localCheckBox.setEnabled(True)
 
 
 class QtTestResult(unittest.TestResult):
@@ -812,7 +849,7 @@
         @param parent reference to the parent widget (QWidget)
         """
         super(UnittestWindow, self).__init__(parent)
-        self.cw = UnittestDialog(prog=prog, parent=self)
+        self.cw = UnittestDialog(prog, parent=self)
         self.cw.installEventFilter(self)
         size = self.cw.size()
         self.setCentralWidget(self.cw)
--- a/PyUnit/UnittestDialog.ui	Wed Mar 20 19:23:12 2019 +0100
+++ b/PyUnit/UnittestDialog.ui	Wed Mar 20 19:41:04 2019 +0100
@@ -13,7 +13,7 @@
   <property name="windowTitle">
    <string>Unittest</string>
   </property>
-  <layout class="QVBoxLayout" name="verticalLayout_2">
+  <layout class="QVBoxLayout" name="verticalLayout_3">
    <item>
     <widget class="QGroupBox" name="groupBox">
      <property name="title">
@@ -84,39 +84,73 @@
      <property name="title">
       <string>Run Parameters</string>
      </property>
-     <layout class="QHBoxLayout" name="_5">
+     <layout class="QVBoxLayout" name="verticalLayout_2">
       <item>
-       <widget class="QCheckBox" name="localCheckBox">
-        <property name="toolTip">
-         <string>Select whether you want to run the test locally</string>
-        </property>
-        <property name="text">
-         <string>Run &amp;local</string>
-        </property>
-       </widget>
+       <layout class="QHBoxLayout" name="horizontalLayout_3">
+        <item>
+         <widget class="QLabel" name="label_2">
+          <property name="text">
+           <string>Virtual Environment:</string>
+          </property>
+          <property name="buddy">
+           <cstring>venvComboBox</cstring>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QComboBox" name="venvComboBox">
+          <property name="sizePolicy">
+           <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+            <horstretch>0</horstretch>
+            <verstretch>0</verstretch>
+           </sizepolicy>
+          </property>
+          <property name="toolTip">
+           <string>Select the virtual environment to be used</string>
+          </property>
+          <property name="whatsThis">
+           <string>&lt;b&gt;Virtual Environment&lt;/b&gt;\n&lt;p&gt;Enter the virtual environment to be used. Leave it empty to use the default environment, i.e. the one configured globally or per project.&lt;/p&gt;</string>
+          </property>
+         </widget>
+        </item>
+       </layout>
       </item>
       <item>
-       <widget class="QCheckBox" name="coverageCheckBox">
-        <property name="toolTip">
-         <string>Select whether coverage data should be collected</string>
-        </property>
-        <property name="text">
-         <string>C&amp;ollect coverage data</string>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <widget class="QCheckBox" name="coverageEraseCheckBox">
-        <property name="enabled">
-         <bool>false</bool>
-        </property>
-        <property name="toolTip">
-         <string>Select whether old coverage data should be erased</string>
-        </property>
-        <property name="text">
-         <string>&amp;Erase coverage data</string>
-        </property>
-       </widget>
+       <layout class="QHBoxLayout" name="horizontalLayout_4">
+        <item>
+         <widget class="QCheckBox" name="localCheckBox">
+          <property name="toolTip">
+           <string>Select whether you want to run the test locally</string>
+          </property>
+          <property name="text">
+           <string>Run &amp;local</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QCheckBox" name="coverageCheckBox">
+          <property name="toolTip">
+           <string>Select whether coverage data should be collected</string>
+          </property>
+          <property name="text">
+           <string>C&amp;ollect coverage data</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QCheckBox" name="coverageEraseCheckBox">
+          <property name="enabled">
+           <bool>false</bool>
+          </property>
+          <property name="toolTip">
+           <string>Select whether old coverage data should be erased</string>
+          </property>
+          <property name="text">
+           <string>&amp;Erase coverage data</string>
+          </property>
+         </widget>
+        </item>
+       </layout>
       </item>
      </layout>
     </widget>
@@ -417,6 +451,7 @@
  <tabstops>
   <tabstop>testsuitePicker</tabstop>
   <tabstop>testComboBox</tabstop>
+  <tabstop>venvComboBox</tabstop>
   <tabstop>localCheckBox</tabstop>
   <tabstop>coverageCheckBox</tabstop>
   <tabstop>coverageEraseCheckBox</tabstop>
--- a/UI/UserInterface.py	Wed Mar 20 19:23:12 2019 +0100
+++ b/UI/UserInterface.py	Wed Mar 20 19:41:04 2019 +0100
@@ -4492,7 +4492,7 @@
         if self.unittestDialog is None:
             from PyUnit.UnittestDialog import UnittestDialog
             self.unittestDialog = UnittestDialog(
-                None, self.debuggerUI.debugServer, self, fromEric=True)
+                None, self.debuggerUI.debugServer, self)
             self.unittestDialog.unittestFile.connect(
                 self.viewmanager.setFileLine)
             self.unittestDialog.unittestStopped.connect(self.__unittestStopped)
@@ -4531,6 +4531,7 @@
                 prog = fn
         
         self.__createUnitTestDialog()
+        self.unittestDialog.setProjectMode(False)
         self.unittestDialog.insertProg(prog)
         self.unittestDialog.show()
         self.unittestDialog.raise_()
@@ -4559,6 +4560,7 @@
             return
         
         self.__createUnitTestDialog()
+        self.unittestDialog.setProjectMode(True)
         self.unittestDialog.insertProg(prog)
         self.unittestDialog.show()
         self.unittestDialog.raise_()
--- a/changelog	Wed Mar 20 19:23:12 2019 +0100
+++ b/changelog	Wed Mar 20 19:41:04 2019 +0100
@@ -19,6 +19,9 @@
   -- changed the Google Mail interface to not use obsoleted packages anymore
 - Multi Project
   -- added capability to the multi project browser to copy a project
+- Unit Test
+  -- added the capability to select the virtual environment for the unittest
+     run
 - Web Browser (NG)
   -- added these search engines to the default list:
      --- MetaGer
--- a/eric6.e4p	Wed Mar 20 19:23:12 2019 +0100
+++ b/eric6.e4p	Wed Mar 20 19:41:04 2019 +0100
@@ -2841,6 +2841,15 @@
         <value>
           <dict>
             <key>
+              <string>BlankLines</string>
+            </key>
+            <value>
+              <tuple>
+                <int>2</int>
+                <int>1</int>
+              </tuple>
+            </value>
+            <key>
               <string>BuiltinsChecker</string>
             </key>
             <value>
@@ -2899,7 +2908,7 @@
               <string>ExcludeMessages</string>
             </key>
             <value>
-              <string>C101, E265, E266, E305, E402, W504, M811, N802, N803, N807, N808, N821, W293, M201</string>
+              <string>C101, E265, E266, E305, E402, M201, M811, M834, N802, N803, N807, N808, N821, W293, W504</string>
             </value>
             <key>
               <string>FixCodes</string>
@@ -2950,6 +2959,12 @@
               <int>10</int>
             </value>
             <key>
+              <string>MaxDocLineLength</string>
+            </key>
+            <value>
+              <int>79</int>
+            </value>
+            <key>
               <string>MaxLineLength</string>
             </key>
             <value>
--- a/i18n/eric6_cs.ts	Wed Mar 20 19:23:12 2019 +0100
+++ b/i18n/eric6_cs.ts	Wed Mar 20 19:41:04 2019 +0100
@@ -6273,7 +6273,7 @@
         <translation>Spojení z ilegálního hosta</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="1515"/>
+        <location filename="../Debugger/DebugServer.py" line="1524"/>
         <source>
 Not connected
 </source>
@@ -6287,13 +6287,13 @@
         <translation>&lt;p&gt;Pokus o spojení z ilegálního hosta &lt;b&gt;{0}&lt;/b&gt;. Přijmout toto spojení?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="1708"/>
+        <location filename="../Debugger/DebugServer.py" line="1717"/>
         <source>Passive debug connection received
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="1722"/>
+        <location filename="../Debugger/DebugServer.py" line="1731"/>
         <source>Passive debug connection closed
 </source>
         <translation type="unfinished"></translation>
@@ -6309,12 +6309,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="1340"/>
+        <location filename="../Debugger/DebugServer.py" line="1349"/>
         <source>Start Debugger</source>
         <translation type="unfinished">Spustit debuger</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="1340"/>
+        <location filename="../Debugger/DebugServer.py" line="1349"/>
         <source>&lt;p&gt;The debugger type &lt;b&gt;{0}&lt;/b&gt; is not supported or not configured.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -48264,47 +48264,47 @@
 <context>
     <name>NetworkManager</name>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="197"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="198"/>
         <source>SSL Certificate Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="198"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="199"/>
         <source>&lt;b&gt;{0}&lt;/b&gt;&lt;p&gt;The page you are trying to access has errors in the SSL certificate.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{1}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Would you like to make an exception?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="208"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="209"/>
         <source>&amp;Permanent accept</source>
         <translation type="unfinished">Akce&amp;ptovat natrvalo</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="210"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="211"/>
         <source>&amp;Temporary accept</source>
         <translation type="unfinished">Akcep&amp;tovat dočasně</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="212"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="213"/>
         <source>&amp;Reject</source>
         <translation type="unfinished">&amp;Odmítnout</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="245"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="246"/>
         <source>&lt;b&gt;Enter username and password for &apos;{0}&apos;, realm &apos;{1}&apos;&lt;/b&gt;</source>
         <translation type="unfinished">&lt;b&gt;Zadejte uživatelské jméno a heslo pro {0}&apos;, realm &apos;{1}&apos;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="248"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="249"/>
         <source>&lt;b&gt;Enter username and password for &apos;{0}&apos;&lt;/b&gt;</source>
         <translation type="unfinished">&lt;b&gt;Zadejte uživatelské jméno a heslo pro &apos;{0}&apos;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="291"/>
-        <source>Authentication required</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../WebBrowser/Network/NetworkManager.py" line="292"/>
+        <source>Authentication required</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="293"/>
         <source>Authentication is required to access:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -75898,7 +75898,7 @@
 <context>
     <name>UnittestDialog</name>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="405"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="428"/>
         <source>Unittest</source>
         <translation></translation>
     </message>
@@ -75939,97 +75939,97 @@
         <translation>Zadejte jméno &amp;souboru s testem:</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="91"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="123"/>
         <source>Select whether you want to run the test locally</source>
         <translation>Vybrat, jestliže chcete aby test běžel lokálně</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="94"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="126"/>
         <source>Run &amp;local</source>
         <translation>Spustit &amp;lokálně</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="101"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="133"/>
         <source>Select whether coverage data should be collected</source>
         <translation>Vybrat, mají-li být data o pokrytí sbírána</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="104"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="136"/>
         <source>C&amp;ollect coverage data</source>
         <translation>Sbírat údaje &amp;o pokrytí</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="114"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="146"/>
         <source>Select whether old coverage data should be erased</source>
         <translation>Vybrat jestliže mají být stará data vymazána</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="117"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="149"/>
         <source>&amp;Erase coverage data</source>
         <translation>&amp;Vymazat data pokrytí</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="135"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="169"/>
         <source>Progress:</source>
         <translation>Stav procesu:</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="175"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="209"/>
         <source>Run:</source>
         <translation>Běží:</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="182"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="216"/>
         <source>Number of tests run</source>
         <translation>Počet běžících testů</translation>
     </message>
     <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="260"/>
+        <source>Failures:</source>
+        <translation>Selhalo:</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="267"/>
+        <source>Number of test failures</source>
+        <translation>Počet testů, které selhaly</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="277"/>
+        <source>Errors:</source>
+        <translation>Chyby:</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="284"/>
+        <source>Number of test errors</source>
+        <translation>Počet testů s chybami</translation>
+    </message>
+    <message>
         <location filename="../PyUnit/UnittestDialog.ui" line="226"/>
-        <source>Failures:</source>
-        <translation>Selhalo:</translation>
+        <source>Remaining:</source>
+        <translation>Zbývá:</translation>
     </message>
     <message>
         <location filename="../PyUnit/UnittestDialog.ui" line="233"/>
-        <source>Number of test failures</source>
-        <translation>Počet testů, které selhaly</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="243"/>
-        <source>Errors:</source>
-        <translation>Chyby:</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="250"/>
-        <source>Number of test errors</source>
-        <translation>Počet testů s chybami</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="192"/>
-        <source>Remaining:</source>
-        <translation>Zbývá:</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="199"/>
         <source>Number of tests to be run</source>
         <translation>Počet testů, které se ještě mají vykonat</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="332"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="366"/>
         <source>Tests performed:</source>
         <translation>Provedeno testů:</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="342"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="376"/>
         <source>Failures and errors:</source>
         <translation>Selhání a chyby:</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="349"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="383"/>
         <source>Failures and Errors list</source>
         <translation>Seznam selhání a chyb</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="352"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="386"/>
         <source>&lt;b&gt;Failures and Errors list&lt;/b&gt;
 &lt;p&gt;This list shows all failed and errored tests.
 Double clicking on an entry will show the respective traceback.&lt;/p&gt;</source>
@@ -76038,167 +76038,167 @@
 Dvojklik na položku zobrazí výpis zásobníku.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="379"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="413"/>
         <source>Idle</source>
         <translation>V běhu</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="71"/>
-        <source>Start</source>
-        <translation>Spustit</translation>
-    </message>
-    <message>
         <location filename="../PyUnit/UnittestDialog.py" line="73"/>
-        <source>Start the selected testsuite</source>
-        <translation>Spustit vybranou soupravu testů</translation>
+        <source>Start</source>
+        <translation>Spustit</translation>
     </message>
     <message>
         <location filename="../PyUnit/UnittestDialog.py" line="75"/>
+        <source>Start the selected testsuite</source>
+        <translation>Spustit vybranou soupravu testů</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.py" line="77"/>
         <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="86"/>
-        <source>Stop</source>
-        <translation>Zastavit</translation>
-    </message>
-    <message>
         <location filename="../PyUnit/UnittestDialog.py" line="88"/>
+        <source>Stop</source>
+        <translation>Zastavit</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.py" line="90"/>
         <source>Stop the running unittest</source>
         <translation>Zastaví běžící unittest</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="89"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="91"/>
         <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="121"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="129"/>
         <source>^Failure: </source>
         <translation>^Selhalo: </translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="122"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="130"/>
         <source>^Error: </source>
         <translation>^Chyby: </translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="271"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="291"/>
         <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="279"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="299"/>
         <source>Preparing Testsuite</source>
         <translation>Příprava soupravy testu</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="477"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="500"/>
         <source>Running</source>
         <translation>Běží</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="642"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="665"/>
         <source>Show Source</source>
         <translation>Zobrazit zdroj</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="211"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="228"/>
         <source>Python Files (*.py);;All Files (*)</source>
         <translation>Python soubory (*.py);;Všechny soubory (*)</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="207"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="224"/>
         <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="405"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="428"/>
         <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="501"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="524"/>
         <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="505"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="528"/>
         <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="522"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="545"/>
         <source>Failure: {0}</source>
         <translation>Selhalo: {0}</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="537"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="560"/>
         <source>Error: {0}</source>
         <translation>Chyby: {0}</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="260"/>
-        <source>Skipped:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="267"/>
-        <source>Number of tests skipped</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="277"/>
-        <source>Expected Failures:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="284"/>
-        <source>Number of tests with expected failure</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../PyUnit/UnittestDialog.ui" line="294"/>
-        <source>Unexpected Successes:</source>
+        <source>Skipped:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PyUnit/UnittestDialog.ui" line="301"/>
+        <source>Number of tests skipped</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="311"/>
+        <source>Expected Failures:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="318"/>
+        <source>Number of tests with expected failure</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="328"/>
+        <source>Unexpected Successes:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="335"/>
         <source>Number of tests with unexpected success</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="552"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="575"/>
         <source>    Skipped: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="567"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="590"/>
         <source>    Expected Failure</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="581"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="604"/>
         <source>    Unexpected Success</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="78"/>
-        <source>Rerun Failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../PyUnit/UnittestDialog.py" line="80"/>
-        <source>Reruns failed tests of the selected testsuite</source>
+        <source>Rerun Failed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PyUnit/UnittestDialog.py" line="82"/>
+        <source>Reruns failed tests of the selected testsuite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.py" line="84"/>
         <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>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="166"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="200"/>
         <source>%v/%m Tests</source>
         <translation type="unfinished"></translation>
     </message>
@@ -76213,10 +76213,25 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="127"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="161"/>
         <source>Progress</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="93"/>
+        <source>Virtual Environment:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="109"/>
+        <source>Select the virtual environment to be used</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="112"/>
+        <source>&lt;b&gt;Virtual Environment&lt;/b&gt;\n&lt;p&gt;Enter the virtual environment to be used. Leave it empty to use the default environment, i.e. the one configured globally or per project.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UrlBar</name>
@@ -76691,7 +76706,7 @@
         <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="4559"/>
+        <location filename="../UI/UserInterface.py" line="4560"/>
         <source>Unittest Project</source>
         <translation>Unittest Projekt</translation>
     </message>
@@ -76861,7 +76876,7 @@
         <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="6014"/>
+        <location filename="../UI/UserInterface.py" line="6016"/>
         <source>Export Keyboard Shortcuts</source>
         <translation>Exportovat klávesové zkratky</translation>
     </message>
@@ -76881,7 +76896,7 @@
         <translation>&lt;b&gt;Export klávesových zkratek&lt;/b&gt;&lt;p&gt;Exportují se klávesové zkratky z aplikace.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6038"/>
+        <location filename="../UI/UserInterface.py" line="6040"/>
         <source>Import Keyboard Shortcuts</source>
         <translation>Import klávesových zkratek</translation>
     </message>
@@ -77006,7 +77021,7 @@
         <translation>Nastavení</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4817"/>
+        <location filename="../UI/UserInterface.py" line="4819"/>
         <source>Help</source>
         <translation>Nápověda</translation>
     </message>
@@ -77021,7 +77036,7 @@
         <translation>&lt;h3&gt;Čísla verzí&lt;/h3&gt;&lt;table&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7003"/>
+        <location filename="../UI/UserInterface.py" line="7005"/>
         <source>&lt;/table&gt;</source>
         <translation>&lt;/table&gt;</translation>
     </message>
@@ -77046,67 +77061,67 @@
         <translation>&amp;Vestavěné nástroje</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4559"/>
+        <location filename="../UI/UserInterface.py" line="4560"/>
         <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="4943"/>
+        <location filename="../UI/UserInterface.py" line="4945"/>
         <source>Problem</source>
         <translation>Problém</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5132"/>
+        <location filename="../UI/UserInterface.py" line="5134"/>
         <source>Process Generation Error</source>
         <translation>Chyba v procesu generování</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4817"/>
+        <location filename="../UI/UserInterface.py" line="4819"/>
         <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="4851"/>
+        <location filename="../UI/UserInterface.py" line="4853"/>
         <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="5611"/>
+        <location filename="../UI/UserInterface.py" line="5613"/>
         <source>Documentation Missing</source>
         <translation>Dokumentace chybí</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5594"/>
+        <location filename="../UI/UserInterface.py" line="5596"/>
         <source>Documentation</source>
         <translation>Dokumentace</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5417"/>
+        <location filename="../UI/UserInterface.py" line="5419"/>
         <source>&lt;p&gt;The PyQt4 documentation starting point has not been configured.&lt;/p&gt;</source>
         <translation type="unfinished">&lt;p&gt;Počátek dokumentace PySide nebyl nastaven.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6207"/>
+        <location filename="../UI/UserInterface.py" line="6209"/>
         <source>Save tasks</source>
         <translation>Uložit úlohy</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6236"/>
+        <location filename="../UI/UserInterface.py" line="6238"/>
         <source>Read tasks</source>
         <translation>Načíst úlohy</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6597"/>
+        <location filename="../UI/UserInterface.py" line="6599"/>
         <source>Drop Error</source>
         <translation>Zahodit chybu</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6965"/>
+        <location filename="../UI/UserInterface.py" line="6967"/>
         <source>Error during updates check</source>
         <translation>Chyba během zjišťování aktualizací</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6945"/>
+        <location filename="../UI/UserInterface.py" line="6947"/>
         <source>Update available</source>
         <translation>Byla nalezena aktualizace</translation>
     </message>
@@ -77121,17 +77136,17 @@
         <translation>Zobrazit externí nás&amp;troje</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6965"/>
+        <location filename="../UI/UserInterface.py" line="6967"/>
         <source>Could not perform updates check.</source>
         <translation>Kontrolu updatů nelze provést.</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6778"/>
+        <location filename="../UI/UserInterface.py" line="6780"/>
         <source>&amp;Cancel</source>
         <translation>&amp;Zrušit</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7040"/>
+        <location filename="../UI/UserInterface.py" line="7042"/>
         <source>First time usage</source>
         <translation>Spuštěno poprvé</translation>
     </message>
@@ -77226,7 +77241,7 @@
         <translation>Zobrazit dostupné verze ke stažení</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6989"/>
+        <location filename="../UI/UserInterface.py" line="6991"/>
         <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>
@@ -77306,7 +77321,7 @@
         <translation>Obnovit manažer nástrojových lišt...</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5077"/>
+        <location filename="../UI/UserInterface.py" line="5079"/>
         <source>External Tools</source>
         <translation>Externí nástroje</translation>
     </message>
@@ -77321,12 +77336,12 @@
         <translation>Prohlížeč &amp;multiprojektu</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6333"/>
+        <location filename="../UI/UserInterface.py" line="6335"/>
         <source>Save session</source>
         <translation>Uložit relaci</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6317"/>
+        <location filename="../UI/UserInterface.py" line="6319"/>
         <source>Read session</source>
         <translation>Načíst relaci</translation>
     </message>
@@ -77556,7 +77571,7 @@
         <translation>Editor &amp;ikon...</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4764"/>
+        <location filename="../UI/UserInterface.py" line="4766"/>
         <source>Qt 3 support</source>
         <translation>Qt 3 podpora</translation>
     </message>
@@ -77596,106 +77611,106 @@
         <translation>Externí nástroje/{0}</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4943"/>
+        <location filename="../UI/UserInterface.py" line="4945"/>
         <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="4667"/>
+        <location filename="../UI/UserInterface.py" line="4669"/>
         <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="4736"/>
+        <location filename="../UI/UserInterface.py" line="4738"/>
         <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="4789"/>
+        <location filename="../UI/UserInterface.py" line="4791"/>
         <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="4831"/>
+        <location filename="../UI/UserInterface.py" line="4833"/>
         <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="4899"/>
+        <location filename="../UI/UserInterface.py" line="4901"/>
         <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="4954"/>
+        <location filename="../UI/UserInterface.py" line="4956"/>
         <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="4975"/>
+        <location filename="../UI/UserInterface.py" line="4977"/>
         <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="5068"/>
+        <location filename="../UI/UserInterface.py" line="5070"/>
         <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="5077"/>
+        <location filename="../UI/UserInterface.py" line="5079"/>
         <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="5116"/>
+        <location filename="../UI/UserInterface.py" line="5118"/>
         <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="5132"/>
+        <location filename="../UI/UserInterface.py" line="5134"/>
         <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="5208"/>
+        <location filename="../UI/UserInterface.py" line="5210"/>
         <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="5611"/>
+        <location filename="../UI/UserInterface.py" line="5613"/>
         <source>&lt;p&gt;The documentation starting point &quot;&lt;b&gt;{0}&lt;/b&gt;&quot; could not be found.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Adresář dokumentace &quot;&lt;b&gt;{0}&lt;/b&gt;&quot; nebyl nalezen.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6207"/>
+        <location filename="../UI/UserInterface.py" line="6209"/>
         <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="6236"/>
+        <location filename="../UI/UserInterface.py" line="6238"/>
         <source>&lt;p&gt;The tasks file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor s úlohami &lt;b&gt;{0}&lt;/b&gt; nelze načíst.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6270"/>
+        <location filename="../UI/UserInterface.py" line="6272"/>
         <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="6317"/>
+        <location filename="../UI/UserInterface.py" line="6319"/>
         <source>&lt;p&gt;The session file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor relace session &lt;b&gt;{0}&lt;/b&gt; nelze přečíst.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6597"/>
+        <location filename="../UI/UserInterface.py" line="6599"/>
         <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="6787"/>
+        <location filename="../UI/UserInterface.py" line="6789"/>
         <source>Trying host {0}</source>
         <translation>Zkouším host {0}</translation>
     </message>
@@ -77730,7 +77745,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6038"/>
+        <location filename="../UI/UserInterface.py" line="6040"/>
         <source>Keyboard shortcut file (*.e4k)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -77770,27 +77785,27 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6851"/>
+        <location filename="../UI/UserInterface.py" line="6853"/>
         <source>Error getting versions information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6844"/>
+        <location filename="../UI/UserInterface.py" line="6846"/>
         <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="5813"/>
+        <location filename="../UI/UserInterface.py" line="5815"/>
         <source>Open Browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5813"/>
+        <location filename="../UI/UserInterface.py" line="5815"/>
         <source>Could not start a web browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6851"/>
+        <location filename="../UI/UserInterface.py" line="6853"/>
         <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>
@@ -77876,12 +77891,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5045"/>
+        <location filename="../UI/UserInterface.py" line="5047"/>
         <source>&lt;p&gt;Could not start Snapshot tool.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7059"/>
+        <location filename="../UI/UserInterface.py" line="7061"/>
         <source>Select Workspace Directory</source>
         <translation type="unfinished"></translation>
     </message>
@@ -78256,7 +78271,7 @@
         <translation type="unfinished">Otevřít PyQt4 dokumentaci {5 ?}</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5480"/>
+        <location filename="../UI/UserInterface.py" line="5482"/>
         <source>&lt;p&gt;The PyQt5 documentation starting point has not been configured.&lt;/p&gt;</source>
         <translation type="unfinished">&lt;p&gt;Adresář PyQt4 dokumentace není nakonfigurován.&lt;/p&gt; {5 ?}</translation>
     </message>
@@ -78266,7 +78281,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6778"/>
+        <location filename="../UI/UserInterface.py" line="6780"/>
         <source>%v/%m</source>
         <translation type="unfinished"></translation>
     </message>
@@ -78286,7 +78301,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6782"/>
+        <location filename="../UI/UserInterface.py" line="6784"/>
         <source>Version Check</source>
         <translation type="unfinished"></translation>
     </message>
@@ -78356,27 +78371,27 @@
         <translation type="unfinished">&lt;b&gt;Eric API dokumentace&lt;/b&gt;&lt;p&gt;Zobrazit Eric API dokumentaci. Umístění dokumentace je v podadresáři Documentation/Source v instalačním adresáři eric5.&lt;/p&gt; {6 ?}</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4764"/>
+        <location filename="../UI/UserInterface.py" line="4766"/>
         <source>Qt v.3 is not supported by eric6.</source>
         <translation type="unfinished">Qt v.3 není podporováno v eric5. {3 ?} {6.?}</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6945"/>
+        <location filename="../UI/UserInterface.py" line="6947"/>
         <source>The update to &lt;b&gt;{0}&lt;/b&gt; of eric6 is available at &lt;b&gt;{1}&lt;/b&gt;. Would you like to get it?</source>
         <translation type="unfinished">Aktualizace &lt;b&gt;{0}&lt;/b&gt; eric5 je připravena na &lt;b&gt;{1}&lt;/b&gt;. Chcete ji stáhnout a nainstalovat? {0}?} {6 ?} {1}?}</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6958"/>
+        <location filename="../UI/UserInterface.py" line="6960"/>
         <source>Eric6 is up to date</source>
         <translation type="unfinished">Eric5 je aktuální {6 ?}</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6958"/>
+        <location filename="../UI/UserInterface.py" line="6960"/>
         <source>You are using the latest version of eric6</source>
         <translation type="unfinished">Používáte poslední verzi eric6</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7040"/>
+        <location filename="../UI/UserInterface.py" line="7042"/>
         <source>eric6 has not been configured yet. The configuration dialog will be started.</source>
         <translation type="unfinished">eric5 nebyl ještě nakonfigurován. Bude spuštěn konfigurační dialog. {6 ?}</translation>
     </message>
@@ -78396,7 +78411,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6798"/>
+        <location filename="../UI/UserInterface.py" line="6800"/>
         <source>The versions information cannot not be downloaded because you are &lt;b&gt;offline&lt;/b&gt;. Please go online and try again.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -78441,7 +78456,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6355"/>
+        <location filename="../UI/UserInterface.py" line="6357"/>
         <source>Load session</source>
         <translation type="unfinished">Načíst relaci</translation>
     </message>
@@ -78456,17 +78471,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6355"/>
+        <location filename="../UI/UserInterface.py" line="6357"/>
         <source>eric6 Session Files (*.e5s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6402"/>
+        <location filename="../UI/UserInterface.py" line="6404"/>
         <source>Crash Session found!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6402"/>
+        <location filename="../UI/UserInterface.py" line="6404"/>
         <source>A session file of a crashed session was found. Shall this session be restored?</source>
         <translation type="unfinished"></translation>
     </message>
@@ -78481,17 +78496,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6933"/>
+        <location filename="../UI/UserInterface.py" line="6935"/>
         <source>Update Check</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6933"/>
+        <location filename="../UI/UserInterface.py" line="6935"/>
         <source>You installed eric directly from the source code. There is no possibility to check for the availability of an update.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6923"/>
+        <location filename="../UI/UserInterface.py" line="6925"/>
         <source>You are using a snapshot release of eric6. A more up-to-date stable release might be available.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -78546,7 +78561,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5594"/>
+        <location filename="../UI/UserInterface.py" line="5596"/>
         <source>&lt;p&gt;The PySide{0} documentation starting point has not been configured.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -78622,17 +78637,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5768"/>
+        <location filename="../UI/UserInterface.py" line="5770"/>
         <source>Start Web Browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5710"/>
+        <location filename="../UI/UserInterface.py" line="5712"/>
         <source>The eric6 web browser could not be started.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5768"/>
+        <location filename="../UI/UserInterface.py" line="5770"/>
         <source>&lt;p&gt;The eric6 web browser is not started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
--- a/i18n/eric6_de.ts	Wed Mar 20 19:23:12 2019 +0100
+++ b/i18n/eric6_de.ts	Wed Mar 20 19:41:04 2019 +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.1" language="de">
 <context>
     <name>AboutDialog</name>
     <message>
@@ -1972,8 +1973,8 @@
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksMenu.py" line="170"/>
-        <source>Open in New Tab<byte value="x9"/>Ctrl+LMB</source>
-        <translation>In neuem Register öffnen<byte value="x9"/>Strg+LMK</translation>
+        <source>Open in New Tab	Ctrl+LMB</source>
+        <translation>In neuem Register öffnen	Strg+LMK</translation>
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksMenu.py" line="174"/>
@@ -2051,8 +2052,8 @@
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksToolBar.py" line="91"/>
-        <source>Open in New Tab<byte value="x9"/>Ctrl+LMB</source>
-        <translation>In neuem Register öffnen<byte value="x9"/>Strg+LMK</translation>
+        <source>Open in New Tab	Ctrl+LMB</source>
+        <translation>In neuem Register öffnen	Strg+LMK</translation>
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksToolBar.py" line="95"/>
@@ -6280,7 +6281,7 @@
         <translation>Verbindung von ungültigem Rechner</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="1515"/>
+        <location filename="../Debugger/DebugServer.py" line="1524"/>
         <source>
 Not connected
 </source>
@@ -6294,14 +6295,14 @@
         <translation>&lt;p&gt;Es wurde versucht, eine Verbindung von dem nicht zugelassenen Rechner &lt;b&gt;{0}&lt;/b&gt; aufzubauen. Soll die Verbindung angenommen werden?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="1708"/>
+        <location filename="../Debugger/DebugServer.py" line="1717"/>
         <source>Passive debug connection received
 </source>
         <translation>Verbindung für passives Debuggen empfangen
 </translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="1722"/>
+        <location filename="../Debugger/DebugServer.py" line="1731"/>
         <source>Passive debug connection closed
 </source>
         <translation>Verbindung für passives Debuggen geschlossen
@@ -6318,12 +6319,12 @@
         <translation>&lt;p&gt;Die Debuggerschnittstelle &lt;b&gt;{0}&lt;/b&gt; wurde bereits registriert. Anfrage wird ignoriert.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="1340"/>
+        <location filename="../Debugger/DebugServer.py" line="1349"/>
         <source>Start Debugger</source>
         <translation>Debugger starten</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="1340"/>
+        <location filename="../Debugger/DebugServer.py" line="1349"/>
         <source>&lt;p&gt;The debugger type &lt;b&gt;{0}&lt;/b&gt; is not supported or not configured.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Der Debuggertyp &lt;b&gt;{0}&lt;/b&gt; wird nicht unterstützt oder ist nicht konfiguriert.&lt;/p&gt;</translation>
     </message>
@@ -26205,8 +26206,8 @@
     </message>
     <message>
         <location filename="../Helpviewer/HelpBrowserWV.py" line="1223"/>
-        <source>Open Link in New Tab<byte value="x9"/>Ctrl+LMB</source>
-        <translation>Link in neuem Fenster öffnen<byte value="x9"/>Strg+LMK</translation>
+        <source>Open Link in New Tab	Ctrl+LMB</source>
+        <translation>Link in neuem Fenster öffnen	Strg+LMK</translation>
     </message>
     <message>
         <location filename="../Helpviewer/HelpBrowserWV.py" line="1314"/>
@@ -48340,47 +48341,47 @@
 <context>
     <name>NetworkManager</name>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="197"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="198"/>
         <source>SSL Certificate Error</source>
         <translation>SSL Zertifikatsfehler</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="198"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="199"/>
         <source>&lt;b&gt;{0}&lt;/b&gt;&lt;p&gt;The page you are trying to access has errors in the SSL certificate.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{1}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Would you like to make an exception?&lt;/p&gt;</source>
         <translation>&lt;b&gt;{0}&lt;/b&gt;&lt;p&gt;Die Seite, auf die zugegriffen werden soll, besitzt Fehler in ihrem SSL Zertifikat.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{1}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Soll eine Ausnahme erstellt werden?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="208"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="209"/>
         <source>&amp;Permanent accept</source>
         <translation>&amp;Immer akzeptieren</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="210"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="211"/>
         <source>&amp;Temporary accept</source>
         <translation>&amp;Vorläufig akzeptieren</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="212"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="213"/>
         <source>&amp;Reject</source>
         <translation>&amp;Ablehnen</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="245"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="246"/>
         <source>&lt;b&gt;Enter username and password for &apos;{0}&apos;, realm &apos;{1}&apos;&lt;/b&gt;</source>
         <translation>&lt;b&gt;Gib Nutzernamen und Kennwort für „{0}“ und Realm „{1}“ ein&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="248"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="249"/>
         <source>&lt;b&gt;Enter username and password for &apos;{0}&apos;&lt;/b&gt;</source>
         <translation>&lt;b&gt;Gib Nutzernamen und Kennwort für „{0}“ ein&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="291"/>
-        <source>Authentication required</source>
-        <translation>Authentisierung erforderlich</translation>
-    </message>
-    <message>
         <location filename="../WebBrowser/Network/NetworkManager.py" line="292"/>
+        <source>Authentication required</source>
+        <translation>Authentisierung erforderlich</translation>
+    </message>
+    <message>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="293"/>
         <source>Authentication is required to access:</source>
         <translation>Eine Authentisierung ist zum Zugriff auf diese URL erforderlich:</translation>
     </message>
@@ -76091,47 +76092,47 @@
 <context>
     <name>UnittestDialog</name>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="405"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="428"/>
         <source>Unittest</source>
         <translation>Modultest</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="271"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="291"/>
         <source>You must enter a test suite file.</source>
         <translation>Sie müssen eine Modultestdatei angeben.</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="279"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="299"/>
         <source>Preparing Testsuite</source>
         <translation>Bereite Modultest vor</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="522"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="545"/>
         <source>Failure: {0}</source>
         <translation>Misserfolge: {0}</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="537"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="560"/>
         <source>Error: {0}</source>
         <translation>Fehler: {0}</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="121"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="129"/>
         <source>^Failure: </source>
         <translation>^Misserfolge: </translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="122"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="130"/>
         <source>^Error: </source>
         <translation>^Fehler: </translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="477"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="500"/>
         <source>Running</source>
         <translation>Führe aus</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="405"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="428"/>
         <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;Modultest &lt;b&gt;{0}&lt;/b&gt; kann nicht ausgeführt werden.&lt;br&gt;{1}&lt;br&gt;{2}&lt;/p&gt;</translation>
     </message>
@@ -76175,97 +76176,97 @@
         <translation>Test&amp;dateiname:</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="91"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="123"/>
         <source>Select whether you want to run the test locally</source>
         <translation>Auswählen, um den Test lokal durchzuführen</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="94"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="126"/>
         <source>Run &amp;local</source>
         <translation>&amp;Lokal ausführen</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="101"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="133"/>
         <source>Select whether coverage data should be collected</source>
         <translation>Auswählen, um Abdeckungsdaten zu sammeln</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="104"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="136"/>
         <source>C&amp;ollect coverage data</source>
         <translation>Abdeckungsdaten &amp;sammeln</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="114"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="146"/>
         <source>Select whether old coverage data should be erased</source>
         <translation>Auswählen, um die Abdeckungsdaten zu löschen</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="117"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="149"/>
         <source>&amp;Erase coverage data</source>
         <translation>Abdeckungsdaten &amp;löschen</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="135"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="169"/>
         <source>Progress:</source>
         <translation>Fortschritt:</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="175"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="209"/>
         <source>Run:</source>
         <translation>Ausgeführt:</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="182"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="216"/>
         <source>Number of tests run</source>
         <translation>Anzahl durchgeführter Tests</translation>
     </message>
     <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="260"/>
+        <source>Failures:</source>
+        <translation>Misserfolge:</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="267"/>
+        <source>Number of test failures</source>
+        <translation>Anzahl der Misserfolge</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="277"/>
+        <source>Errors:</source>
+        <translation>Fehler:</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="284"/>
+        <source>Number of test errors</source>
+        <translation>Anzahl fehlerhafter Tests</translation>
+    </message>
+    <message>
         <location filename="../PyUnit/UnittestDialog.ui" line="226"/>
-        <source>Failures:</source>
-        <translation>Misserfolge:</translation>
+        <source>Remaining:</source>
+        <translation>Verbleibend:</translation>
     </message>
     <message>
         <location filename="../PyUnit/UnittestDialog.ui" line="233"/>
-        <source>Number of test failures</source>
-        <translation>Anzahl der Misserfolge</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="243"/>
-        <source>Errors:</source>
-        <translation>Fehler:</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="250"/>
-        <source>Number of test errors</source>
-        <translation>Anzahl fehlerhafter Tests</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="192"/>
-        <source>Remaining:</source>
-        <translation>Verbleibend:</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="199"/>
         <source>Number of tests to be run</source>
         <translation>Anzahl verbleibender Tests</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="332"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="366"/>
         <source>Tests performed:</source>
         <translation>Durchgeführte Tests:</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="342"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="376"/>
         <source>Failures and errors:</source>
         <translation>Misserfolge und Fehler:</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="349"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="383"/>
         <source>Failures and Errors list</source>
         <translation>Liste der Misserfolge und Fehler</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="352"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="386"/>
         <source>&lt;b&gt;Failures and Errors list&lt;/b&gt;
 &lt;p&gt;This list shows all failed and errored tests.
 Double clicking on an entry will show the respective traceback.&lt;/p&gt;</source>
@@ -76274,127 +76275,127 @@
 Ein Doppelklick auf einen Eintrag zeigt den zugehörigen Traceback an.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="73"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="75"/>
         <source>Start the selected testsuite</source>
         <translation>Startet den ausgewählten Modultest</translation>
     </message>
     <message>
+        <location filename="../PyUnit/UnittestDialog.py" line="90"/>
+        <source>Stop the running unittest</source>
+        <translation>Halte den laufenden Modultest an</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="413"/>
+        <source>Idle</source>
+        <translation>Leerlauf</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.py" line="73"/>
+        <source>Start</source>
+        <translation>Start</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.py" line="77"/>
+        <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;Starte Modultest&lt;/b&gt;&lt;p&gt;Dieser Knopf startet den ausgewählten Modultest.&lt;/p&gt;</translation>
+    </message>
+    <message>
         <location filename="../PyUnit/UnittestDialog.py" line="88"/>
-        <source>Stop the running unittest</source>
-        <translation>Halte den laufenden Modultest an</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="379"/>
-        <source>Idle</source>
-        <translation>Leerlauf</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="71"/>
-        <source>Start</source>
-        <translation>Start</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="75"/>
-        <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;Starte Modultest&lt;/b&gt;&lt;p&gt;Dieser Knopf startet den ausgewählten Modultest.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="86"/>
         <source>Stop</source>
         <translation>Anhalten</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="89"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="91"/>
         <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;Modultest anhalten&lt;/b&gt;&lt;p&gt;Dieser Knopf hält den laufenden Modultest an.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="642"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="665"/>
         <source>Show Source</source>
         <translation>Zeige Quelltext</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="211"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="228"/>
         <source>Python Files (*.py);;All Files (*)</source>
         <translation>Python-Dateien (*.py);;Alle Dateien (*)</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="207"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="224"/>
         <source>Python3 Files ({1});;Python2 Files ({0});;All Files (*)</source>
         <translation>Python 3-Dateien ({1});;Python 2-Dateien ({0});;Alle Dateien (*)</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="501"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="524"/>
         <source>Ran {0} test in {1:.3f}s</source>
         <translation>{0} Test in {1:.3f}s ausgeführt</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="505"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="528"/>
         <source>Ran {0} tests in {1:.3f}s</source>
         <translation>{0} Tests in {1:.3f}s ausgeführt</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="260"/>
-        <source>Skipped:</source>
-        <translation>Übersprungen:</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="267"/>
-        <source>Number of tests skipped</source>
-        <translation>Anzahl übersprungener Tests</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="277"/>
-        <source>Expected Failures:</source>
-        <translation>Erwartete Misserfolge:</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="284"/>
-        <source>Number of tests with expected failure</source>
-        <translation>Anzahl der Test, deren Misserfolg erwartet wurde</translation>
-    </message>
-    <message>
         <location filename="../PyUnit/UnittestDialog.ui" line="294"/>
-        <source>Unexpected Successes:</source>
-        <translation>Unerwartete Erfolge:</translation>
+        <source>Skipped:</source>
+        <translation>Übersprungen:</translation>
     </message>
     <message>
         <location filename="../PyUnit/UnittestDialog.ui" line="301"/>
+        <source>Number of tests skipped</source>
+        <translation>Anzahl übersprungener Tests</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="311"/>
+        <source>Expected Failures:</source>
+        <translation>Erwartete Misserfolge:</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="318"/>
+        <source>Number of tests with expected failure</source>
+        <translation>Anzahl der Test, deren Misserfolg erwartet wurde</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="328"/>
+        <source>Unexpected Successes:</source>
+        <translation>Unerwartete Erfolge:</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="335"/>
         <source>Number of tests with unexpected success</source>
         <translation>Anzahl der Tests, die unerwartet erfolgreich waren</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="552"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="575"/>
         <source>    Skipped: {0}</source>
         <translation>    Übersprungen: {0}</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="567"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="590"/>
         <source>    Expected Failure</source>
         <translation>    Erwarteter Mißerfolg</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="581"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="604"/>
         <source>    Unexpected Success</source>
         <translation>    Unerwarteter Erfolg</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="78"/>
-        <source>Rerun Failed</source>
-        <translation>Fehlerhafte wiederholen</translation>
-    </message>
-    <message>
         <location filename="../PyUnit/UnittestDialog.py" line="80"/>
-        <source>Reruns failed tests of the selected testsuite</source>
-        <translation>Fehlerhafte Tests des ausgewählten Modultests wiederholen</translation>
+        <source>Rerun Failed</source>
+        <translation>Fehlerhafte wiederholen</translation>
     </message>
     <message>
         <location filename="../PyUnit/UnittestDialog.py" line="82"/>
+        <source>Reruns failed tests of the selected testsuite</source>
+        <translation>Fehlerhafte Tests des ausgewählten Modultests wiederholen</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.py" line="84"/>
         <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>&lt;b&gt;Fehlerhafte wiederholen&lt;/b&gt;&lt;p&gt;Dieser Knopf wiederholt alle fehlerhaften Tests des ausgewählten Modultests.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="166"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="200"/>
         <source>%v/%m Tests</source>
         <translation>%v/%m Tests</translation>
     </message>
@@ -76409,10 +76410,26 @@
         <translation>Ausführungsparameter</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="127"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="161"/>
         <source>Progress</source>
         <translation>Fortschritt</translation>
     </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="93"/>
+        <source>Virtual Environment:</source>
+        <translation>Virtuelle Umgebung:</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="109"/>
+        <source>Select the virtual environment to be used</source>
+        <translation>Wähle die zu verwendende virtuelle Umgebung</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="112"/>
+        <source>&lt;b&gt;Virtual Environment&lt;/b&gt;\n&lt;p&gt;Enter the virtual environment to be used. Leave it empty to use the default environment, i.e. the one configured globally or per project.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Virtuelle Umgebung&lt;/b&gt;
+&lt;p&gt;Wähle die zu verwendende virtuelle Umgebung aus. Leer lassen, um die Standardumgebung (d.h. die global oder per Projekt konfigurierte) zu verwenden.&lt;/p&gt;</translation>
+    </message>
 </context>
 <context>
     <name>UrlBar</name>
@@ -76642,7 +76659,7 @@
         <translation>Werkzeuge</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4817"/>
+        <location filename="../UI/UserInterface.py" line="4819"/>
         <source>Help</source>
         <translation>Hilfe</translation>
     </message>
@@ -76652,7 +76669,7 @@
         <translation>&amp;Werkzeugleisten</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4943"/>
+        <location filename="../UI/UserInterface.py" line="4945"/>
         <source>Problem</source>
         <translation>Problem</translation>
     </message>
@@ -76672,7 +76689,7 @@
         <translation>&amp;Was ist das?</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5132"/>
+        <location filename="../UI/UserInterface.py" line="5134"/>
         <source>Process Generation Error</source>
         <translation>Fehler beim Prozessstart</translation>
     </message>
@@ -76762,7 +76779,7 @@
         <translation>&lt;b&gt;Fehler berichten...&lt;/b&gt;&lt;p&gt;Öffnet einen Dialog zum Senden eines Fehlerberichtes.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6014"/>
+        <location filename="../UI/UserInterface.py" line="6016"/>
         <source>Export Keyboard Shortcuts</source>
         <translation>Tastaturkurzbefehle exportieren</translation>
     </message>
@@ -76782,7 +76799,7 @@
         <translation>&lt;b&gt;Tastaturkurzbefehle exportieren&lt;/b&gt;&lt;p&gt;Exportiert die Tastaturkurzbefehle der Applikation.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6038"/>
+        <location filename="../UI/UserInterface.py" line="6040"/>
         <source>Import Keyboard Shortcuts</source>
         <translation>Tastaturkurzbefehle importieren</translation>
     </message>
@@ -76872,7 +76889,7 @@
         <translation>&lt;b&gt;Modultest (Skript)&lt;/b&gt;&lt;p&gt;Modultest für aktuelles Skript ausführen.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4559"/>
+        <location filename="../UI/UserInterface.py" line="4560"/>
         <source>Unittest Project</source>
         <translation>Modultest (Projekt)</translation>
     </message>
@@ -76892,7 +76909,7 @@
         <translation>&amp;Modultests</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4559"/>
+        <location filename="../UI/UserInterface.py" line="4560"/>
         <source>There is no main script defined for the current project. Aborting</source>
         <translation>Für das aktuelle Projekt ist kein Hauptskript festgelegt. Abbruch</translation>
     </message>
@@ -76942,7 +76959,7 @@
         <translation>&lt;b&gt;Dateien Seite an Seite vergleichen&lt;/b&gt;&lt;p&gt;Öffnet einen Dialog zum Vergleich zweier Dateien und zur Anzeige des Ergebnisse Seite an Seite.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6597"/>
+        <location filename="../UI/UserInterface.py" line="6599"/>
         <source>Drop Error</source>
         <translation>Drop-Fehler</translation>
     </message>
@@ -77012,32 +77029,32 @@
         <translation>&lt;b&gt;Ansichtenprofile&lt;/b&gt;&lt;p&gt;Ansichtenprofile konfigurieren. Mit diesem Dialog kann die Sichtbarkeit der verschiedenen Fenster für die vorbestimmten Ansichtenprofile eingestellt werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4943"/>
+        <location filename="../UI/UserInterface.py" line="4945"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; does not exist or is zero length.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Datei &lt;b&gt;{0}&lt;/b&gt; existiert nicht oder hat die Größe Null.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4667"/>
+        <location filename="../UI/UserInterface.py" line="4669"/>
         <source>&lt;p&gt;Could not start Qt-Designer.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Qt-Designer konnte nicht gestartet werden.&lt;br&gt;Stellen Sie sicher, dass es als &lt;b&gt;{0}&lt;/b&gt; verfügbar ist.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4736"/>
+        <location filename="../UI/UserInterface.py" line="4738"/>
         <source>&lt;p&gt;Could not start Qt-Linguist.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Qt-Linguist konnte nicht gestartet werden.&lt;br&gt;Stellen Sie sicher, dass es als &lt;b&gt;{0}&lt;/b&gt; verfügbar ist.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4789"/>
+        <location filename="../UI/UserInterface.py" line="4791"/>
         <source>&lt;p&gt;Could not start Qt-Assistant.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Qt-Assistant konnte nicht gestartet werden.&lt;br&gt;Stellen Sie sicher, dass es als &lt;b&gt;{0}&lt;/b&gt; verfügbar ist.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5132"/>
+        <location filename="../UI/UserInterface.py" line="5134"/>
         <source>&lt;p&gt;Could not start the tool entry &lt;b&gt;{0}&lt;/b&gt;.&lt;br&gt;Ensure that it is available as &lt;b&gt;{1}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Der Werkzeugeeintrag &lt;b&gt;{0}&lt;/b&gt; konnte nicht gestartet werden.&lt;br&gt;Stellen Sie sicher, dass er als &lt;b&gt;{1}&lt;/b&gt; verfügbar ist.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6597"/>
+        <location filename="../UI/UserInterface.py" line="6599"/>
         <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>
@@ -77062,7 +77079,7 @@
         <translation>&lt;b&gt;UI-Vorschau&lt;/b&gt;&lt;p&gt;Starte die UI-Vorschau.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4899"/>
+        <location filename="../UI/UserInterface.py" line="4901"/>
         <source>&lt;p&gt;Could not start UI Previewer.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die UI-Vorschau konnte nicht gestartet werden.&lt;br&gt;Stellen Sie sicher, dass sie als &lt;b&gt;{0}&lt;/b&gt; verfügbar ist.&lt;/p&gt;</translation>
     </message>
@@ -77087,7 +77104,7 @@
         <translation>&lt;b&gt;Übersetzungsvorschau&lt;/b&gt;&lt;p&gt;Dies startet das Programm zur Vorschau von Übersetzungen.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4954"/>
+        <location filename="../UI/UserInterface.py" line="4956"/>
         <source>&lt;p&gt;Could not start Translation Previewer.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Übersetzungsvorschau konnte nicht gestartet werden.&lt;br&gt;Stellen Sie sicher, dass sie als &lt;b&gt;{0}&lt;/b&gt; verfügbar ist.&lt;/p&gt;</translation>
     </message>
@@ -77127,42 +77144,42 @@
         <translation>Aufgabenanzeige</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6207"/>
+        <location filename="../UI/UserInterface.py" line="6209"/>
         <source>Save tasks</source>
         <translation>Aufgaben speichern</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6207"/>
+        <location filename="../UI/UserInterface.py" line="6209"/>
         <source>&lt;p&gt;The tasks file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Aufgabendatei &lt;b&gt;{0}&lt;/b&gt; konnte nicht geschrieben werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6236"/>
+        <location filename="../UI/UserInterface.py" line="6238"/>
         <source>Read tasks</source>
         <translation>Aufgaben lesen</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6236"/>
+        <location filename="../UI/UserInterface.py" line="6238"/>
         <source>&lt;p&gt;The tasks file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Aufgabendatei &lt;b&gt;{0}&lt;/b&gt; konnte nicht gelesen werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4817"/>
+        <location filename="../UI/UserInterface.py" line="4819"/>
         <source>Currently no custom viewer is selected. Please use the preferences dialog to specify one.</source>
         <translation>Momentan ist kein Betrachter angegeben. Bitte benutzen Sie den Einstellungsdialog, um einen festzulegen.</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4831"/>
+        <location filename="../UI/UserInterface.py" line="4833"/>
         <source>&lt;p&gt;Could not start custom viewer.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Der Betrachter konnte nicht gestartet werden.&lt;br&gt;Stellen Sie sicher, dass er als &lt;b&gt;{0}&lt;/b&gt; verfügbar ist.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5611"/>
+        <location filename="../UI/UserInterface.py" line="5613"/>
         <source>Documentation Missing</source>
         <translation>Dokumentation fehlt</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5611"/>
+        <location filename="../UI/UserInterface.py" line="5613"/>
         <source>&lt;p&gt;The documentation starting point &quot;&lt;b&gt;{0}&lt;/b&gt;&quot; could not be found.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Der Dokumentationsstartpunkt „&lt;b&gt;{0}&lt;/b&gt;“ konnte nicht gefunden werden.&lt;/p&gt;</translation>
     </message>
@@ -77262,7 +77279,7 @@
         <translation>Öffne die Eric-API-Dokumentation</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4851"/>
+        <location filename="../UI/UserInterface.py" line="4853"/>
         <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;Die Hilfeanzeige konnte nicht gestartet werden.&lt;br&gt;Stellen Sie sicher, dass sie als &lt;b&gt;hh&lt;/b&gt; verfügbar ist.&lt;/p&gt;</translation>
     </message>
@@ -77343,36 +77360,36 @@
         <translation>&amp;Eingebaute Werkzeuge</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5116"/>
+        <location filename="../UI/UserInterface.py" line="5118"/>
         <source>Starting process &apos;{0} {1}&apos;.
 </source>
         <translation>Starte Prozess „{0} {1}“.
 </translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5208"/>
+        <location filename="../UI/UserInterface.py" line="5210"/>
         <source>Process &apos;{0}&apos; has exited.
 </source>
         <translation>Prozess „{0}“ ist beendet.
 </translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5594"/>
+        <location filename="../UI/UserInterface.py" line="5596"/>
         <source>Documentation</source>
         <translation>Dokumentation</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5417"/>
+        <location filename="../UI/UserInterface.py" line="5419"/>
         <source>&lt;p&gt;The PyQt4 documentation starting point has not been configured.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Der PyQt4-Dokumentations-Startpunkt ist nicht konfiguriert.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6965"/>
+        <location filename="../UI/UserInterface.py" line="6967"/>
         <source>Error during updates check</source>
         <translation>Fehler während der Aktualisierungsprüfung</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6945"/>
+        <location filename="../UI/UserInterface.py" line="6947"/>
         <source>Update available</source>
         <translation>Aktualisierung verfügbar</translation>
     </message>
@@ -77382,7 +77399,7 @@
         <translation>&lt;h3&gt;Versionsnummern&lt;/h3&gt;&lt;table&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7003"/>
+        <location filename="../UI/UserInterface.py" line="7005"/>
         <source>&lt;/table&gt;</source>
         <translation>&lt;/table&gt;</translation>
     </message>
@@ -77407,22 +77424,22 @@
         <translation>Zeige externe &amp;Werkzeuge</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6965"/>
+        <location filename="../UI/UserInterface.py" line="6967"/>
         <source>Could not perform updates check.</source>
         <translation>Konnte keine Aktualisierungsprüfung durchführen.</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6778"/>
+        <location filename="../UI/UserInterface.py" line="6780"/>
         <source>&amp;Cancel</source>
         <translation>&amp;Abbrechen</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6787"/>
+        <location filename="../UI/UserInterface.py" line="6789"/>
         <source>Trying host {0}</source>
         <translation>Prüfe Host {0}</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7040"/>
+        <location filename="../UI/UserInterface.py" line="7042"/>
         <source>First time usage</source>
         <translation>Erstmalige Nutzung</translation>
     </message>
@@ -77517,7 +77534,7 @@
         <translation>Zeige die verfügbaren eric-Versionen</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6989"/>
+        <location filename="../UI/UserInterface.py" line="6991"/>
         <source>&lt;h3&gt;Available versions&lt;/h3&gt;&lt;table&gt;</source>
         <translation>&lt;h3&gt;Verfügbare Versionen&lt;/h3&gt;&lt;table&gt;</translation>
     </message>
@@ -77602,17 +77619,17 @@
         <translation>Externe Werkzeuge/{0}</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5077"/>
+        <location filename="../UI/UserInterface.py" line="5079"/>
         <source>External Tools</source>
         <translation>Externe Werkzeuge</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5068"/>
+        <location filename="../UI/UserInterface.py" line="5070"/>
         <source>No tool entry found for external tool &apos;{0}&apos; in tool group &apos;{1}&apos;.</source>
         <translation>Kein Eintrag für das externe Werkzeug „{0}“ in der Gruppe „{1}“ gefunden.</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5077"/>
+        <location filename="../UI/UserInterface.py" line="5079"/>
         <source>No toolgroup entry &apos;{0}&apos; found.</source>
         <translation>Kein Werkzeuggruppeneintrag „{0}“ gefunden.</translation>
     </message>
@@ -77627,22 +77644,22 @@
         <translation>&amp;Mehrfachprojektanzeige</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6333"/>
+        <location filename="../UI/UserInterface.py" line="6335"/>
         <source>Save session</source>
         <translation>Sitzung speichern</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6270"/>
+        <location filename="../UI/UserInterface.py" line="6272"/>
         <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;Die Sitzungsdatei &lt;b&gt;{0}&lt;/b&gt; konnte nicht geschrieben werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6317"/>
+        <location filename="../UI/UserInterface.py" line="6319"/>
         <source>Read session</source>
         <translation>Sitzung lesen</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6317"/>
+        <location filename="../UI/UserInterface.py" line="6319"/>
         <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;Die Sitzungsdatei &lt;b&gt;{0}&lt;/b&gt; konnte nicht gelesen werden.&lt;/p&gt;</translation>
     </message>
@@ -77862,7 +77879,7 @@
         <translation>&lt;b&gt;SQL-Browser&lt;/b&gt;&lt;p&gt;Erforsche eine SQL-Datenbank.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4975"/>
+        <location filename="../UI/UserInterface.py" line="4977"/>
         <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;Der SQL-Browser konnte nicht gestartet werden.&lt;br&gt;Stellen Sie sicher, dass er als &lt;b&gt;{0}&lt;/b&gt; verfügbar ist.&lt;/p&gt;</translation>
     </message>
@@ -77877,7 +77894,7 @@
         <translation>&amp;Icon-Editor...</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4764"/>
+        <location filename="../UI/UserInterface.py" line="4766"/>
         <source>Qt 3 support</source>
         <translation>Qt3-Unterstützung</translation>
     </message>
@@ -77927,7 +77944,7 @@
         <translation>Alt+Shift+B</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6038"/>
+        <location filename="../UI/UserInterface.py" line="6040"/>
         <source>Keyboard shortcut file (*.e4k)</source>
         <translation>Tastaturkurzbefehlsdatei (*.e4k)</translation>
     </message>
@@ -77967,27 +77984,27 @@
         <translation>&lt;b&gt;Python 2-Dokumentation&lt;/b&gt;&lt;p&gt;Zeigt die Python 2-Dokumentation an. Ist kein Dokumentationsverzeichnis konfiguriert, so ist der Ort, an dem die Python 2-Dokumentation gesucht wird, unter Windows das Verzeichnis &lt;i&gt;doc&lt;/i&gt; unter dem Verzeichnis, in dem der konfigurierte Python 2-Interpreter installiert ist, und unter Unix das Verzeichnis &lt;i&gt;/usr/share/doc/packages/python/html/python-docs-html&lt;/i&gt;. Um dies zu überschreiben, können Sie die Umgebungsvariable PYTHON2DOCDIR setzen.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6851"/>
+        <location filename="../UI/UserInterface.py" line="6853"/>
         <source>Error getting versions information</source>
         <translation>Fehler beim Herunterladen der Versionsinformationen</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6844"/>
+        <location filename="../UI/UserInterface.py" line="6846"/>
         <source>The versions information could not be downloaded. Please go online and try again.</source>
         <translation>Die Versionsinformationen konnten nicht heruntergeladen werden. Bitte gehen Sie online und versuchen Sie es erneut.</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5813"/>
+        <location filename="../UI/UserInterface.py" line="5815"/>
         <source>Open Browser</source>
         <translation>Browser starten</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5813"/>
+        <location filename="../UI/UserInterface.py" line="5815"/>
         <source>Could not start a web browser</source>
         <translation>Der Systemwebbrowser konnte nicht gestartet werden</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6851"/>
+        <location filename="../UI/UserInterface.py" line="6853"/>
         <source>The versions information could not be downloaded for the last 7 days. Please go online and try again.</source>
         <translation>Die Versionsinformationen konnten seit 7 Tagen nicht heruntergeladen werden. Bitte gehen Sie online und versuchen Sie es erneut.</translation>
     </message>
@@ -78073,12 +78090,12 @@
         <translation>&lt;b&gt;Bildschirmfoto&lt;/b&gt;&lt;p&gt;Dies öffnet einen Dialog, um ein Bildschirmfoto aufzunehmen.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5045"/>
+        <location filename="../UI/UserInterface.py" line="5047"/>
         <source>&lt;p&gt;Could not start Snapshot tool.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Bildschirmfotoanwendung konnte nicht gestartet werden.&lt;br&gt;Stellen Sie sicher, dass sie als &lt;b&gt;{0}&lt;/b&gt; verfügbar ist.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7059"/>
+        <location filename="../UI/UserInterface.py" line="7061"/>
         <source>Select Workspace Directory</source>
         <translation>Wähle Arbeitsverzeichnis</translation>
     </message>
@@ -78453,7 +78470,7 @@
         <translation>Öffne die PyQt5-Dokumentation</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5480"/>
+        <location filename="../UI/UserInterface.py" line="5482"/>
         <source>&lt;p&gt;The PyQt5 documentation starting point has not been configured.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Der PyQt5-Dokumentations-Startpunkt ist nicht konfiguriert.&lt;/p&gt;</translation>
     </message>
@@ -78463,7 +78480,7 @@
         <translation>&lt;b&gt;Python 3-Dokumentation&lt;/b&gt;&lt;p&gt;Zeigt die Python 3-Dokumentation an. Ist kein Dokumentationsverzeichnis konfiguriert, so ist der Ort, an dem die Python 3-Dokumentation gesucht wird, unter Windows das Verzeichnis &lt;i&gt;doc&lt;/i&gt; unter dem Verzeichnis, in dem der Python 3-Interpreter installiert ist, und unter Unix das Verzeichnis &lt;i&gt;/usr/share/doc/packages/python/html&lt;/i&gt;. Um dies zu überschreiben, können Sie die Umgebungsvariable PYTHON3DOCDIR setzen.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6778"/>
+        <location filename="../UI/UserInterface.py" line="6780"/>
         <source>%v/%m</source>
         <translation>%v/%m</translation>
     </message>
@@ -78483,7 +78500,7 @@
         <translation>&lt;b&gt;Zeige Fehlerbericht...&lt;/b&gt;&lt;p&gt;Dies öffnet einen Dialog zur Anzeige des aktuellsten Fehlerberichtes.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6782"/>
+        <location filename="../UI/UserInterface.py" line="6784"/>
         <source>Version Check</source>
         <translation>Versionsprüfung</translation>
     </message>
@@ -78554,27 +78571,27 @@
         <translation>&lt;b&gt;Eric-API-Dokumentation&lt;/b&gt;&lt;p&gt;Zeige die Eric-API-Dokumentation an. Der Pfad für die Dokumentation ist das Unterverzeichnis Documentation/Source im eric6-Installationverzeichnis.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4764"/>
+        <location filename="../UI/UserInterface.py" line="4766"/>
         <source>Qt v.3 is not supported by eric6.</source>
         <translation>Qt v.3 wird von eric6 nicht unterstützt.</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6945"/>
+        <location filename="../UI/UserInterface.py" line="6947"/>
         <source>The update to &lt;b&gt;{0}&lt;/b&gt; of eric6 is available at &lt;b&gt;{1}&lt;/b&gt;. Would you like to get it?</source>
         <translation>Eine Aktualisierung auf &lt;b&gt;{0}&lt;/b&gt; von Eric6 ist unter &lt;b&gt;{1}&lt;/b&gt; verfügbar. Wollen Sie sie laden?</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6958"/>
+        <location filename="../UI/UserInterface.py" line="6960"/>
         <source>Eric6 is up to date</source>
         <translation>Eric6 ist aktuell</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6958"/>
+        <location filename="../UI/UserInterface.py" line="6960"/>
         <source>You are using the latest version of eric6</source>
         <translation>Sie verwenden die aktuellste Version von eric6</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7040"/>
+        <location filename="../UI/UserInterface.py" line="7042"/>
         <source>eric6 has not been configured yet. The configuration dialog will be started.</source>
         <translation>eric6 wurde noch nicht konfiguriert. Der Konfigurationsdialog wird nun gestartet.</translation>
     </message>
@@ -78594,7 +78611,7 @@
         <translation>Keine Benutzerwerkzeuge konfiguriert</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6798"/>
+        <location filename="../UI/UserInterface.py" line="6800"/>
         <source>The versions information cannot not be downloaded because you are &lt;b&gt;offline&lt;/b&gt;. Please go online and try again.</source>
         <translation>Die Versionsinformationen konnten nicht heruntergeladen werden, da sie &lt;b&gt;nicht verbunden&lt;/b&gt; sind. Bitte gehen Sie online und versuchen Sie es erneut.</translation>
     </message>
@@ -78639,7 +78656,7 @@
         <translation>&lt;b&gt;Sitzung speichern...&lt;/b&gt;&lt;p&gt;Dies speichert die aktuelle Sitzung in eine Datei. Es wird ein Dialog zur Eingabe des Dateinamens geöffnet.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6355"/>
+        <location filename="../UI/UserInterface.py" line="6357"/>
         <source>Load session</source>
         <translation>Sitzung laden</translation>
     </message>
@@ -78654,17 +78671,17 @@
         <translation>&lt;b&gt;Sitzung laden...&lt;/b&gt;&lt;p&gt;Dies lädt eine zuvor gesicherte Sitzung. Es wird ein Dialog zur Eingabe des Dateinamens geöffnet.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6355"/>
+        <location filename="../UI/UserInterface.py" line="6357"/>
         <source>eric6 Session Files (*.e5s)</source>
         <translation>eric6 Sitzungsdateien (*.e5s)</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6402"/>
+        <location filename="../UI/UserInterface.py" line="6404"/>
         <source>Crash Session found!</source>
         <translation>Absturzsitzung gefunden!</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6402"/>
+        <location filename="../UI/UserInterface.py" line="6404"/>
         <source>A session file of a crashed session was found. Shall this session be restored?</source>
         <translation>Eine Sitzungsdatei einer abgestürzten Sitzung wurde gefunden. Soll diese Sitzung wiederhergestellt werden?</translation>
     </message>
@@ -78679,17 +78696,17 @@
         <translation>Initialisiere Plugins...</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6933"/>
+        <location filename="../UI/UserInterface.py" line="6935"/>
         <source>Update Check</source>
         <translation>Aktualisierungsprüfung</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6933"/>
+        <location filename="../UI/UserInterface.py" line="6935"/>
         <source>You installed eric directly from the source code. There is no possibility to check for the availability of an update.</source>
         <translation>Eric wurde direkt von vom Quelltext installiert. Eine Aktualitätsprüfung ist daher nicht möglich.</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6923"/>
+        <location filename="../UI/UserInterface.py" line="6925"/>
         <source>You are using a snapshot release of eric6. A more up-to-date stable release might be available.</source>
         <translation>Sie verwenden ein Snapshot-Release von eri6. Eine neueres, stabiles Release könnte verfügbar sein.</translation>
     </message>
@@ -78744,7 +78761,7 @@
         <translation>&lt;b&gt;PySide2-Dokumentation&lt;/b&gt;&lt;p&gt;Zeige die PySide2-Dokumentation an. Abhängig von den Einstellungen wird Erics interner Hilfeanzeiger/Webbrowser, ein externer Webbrowser oder Qt Assistant verwendet.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5594"/>
+        <location filename="../UI/UserInterface.py" line="5596"/>
         <source>&lt;p&gt;The PySide{0} documentation starting point has not been configured.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Der PySide{0}-Dokumentations-Startpunkt ist nicht konfiguriert.&lt;/p&gt;</translation>
     </message>
@@ -78820,17 +78837,17 @@
         <translation>&lt;b&gt;Neustart der Entwicklungsumgebung&lt;/b&gt;&lt;p&gt;Dies startet die Entwicklungsumgebung neu. Ungesicherte Änderungen können zuvor gesichert werden. Ein Python-Programm, das gerade debuggt wird, wird beendet und sämtliche Einstellungen werden gespeichert.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5768"/>
+        <location filename="../UI/UserInterface.py" line="5770"/>
         <source>Start Web Browser</source>
         <translation>Webbrowser starten</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5710"/>
+        <location filename="../UI/UserInterface.py" line="5712"/>
         <source>The eric6 web browser could not be started.</source>
         <translation>Der eric6 Webbrowser konnte nicht gestartet werden.</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5768"/>
+        <location filename="../UI/UserInterface.py" line="5770"/>
         <source>&lt;p&gt;The eric6 web browser is not started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Der eric6 Webbrowser ist nicht gestartet.&lt;/p&gt;&lt;p&gt;Ursache: {0}&lt;/p&gt;</translation>
     </message>
@@ -85940,8 +85957,8 @@
     </message>
     <message>
         <location filename="../WebBrowser/WebBrowserView.py" line="650"/>
-        <source>Open Link in New Tab<byte value="x9"/>Ctrl+LMB</source>
-        <translation>Link in neuem Fenster öffnen<byte value="x9"/>Strg+LMK</translation>
+        <source>Open Link in New Tab	Ctrl+LMB</source>
+        <translation>Link in neuem Fenster öffnen	Strg+LMK</translation>
     </message>
     <message>
         <location filename="../WebBrowser/WebBrowserView.py" line="656"/>
--- a/i18n/eric6_empty.ts	Wed Mar 20 19:23:12 2019 +0100
+++ b/i18n/eric6_empty.ts	Wed Mar 20 19:41:04 2019 +0100
@@ -6238,31 +6238,31 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="1515"/>
+        <location filename="../Debugger/DebugServer.py" line="1524"/>
         <source>
 Not connected
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="1708"/>
+        <location filename="../Debugger/DebugServer.py" line="1717"/>
         <source>Passive debug connection received
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="1722"/>
+        <location filename="../Debugger/DebugServer.py" line="1731"/>
         <source>Passive debug connection closed
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="1340"/>
+        <location filename="../Debugger/DebugServer.py" line="1349"/>
         <source>Start Debugger</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="1340"/>
+        <location filename="../Debugger/DebugServer.py" line="1349"/>
         <source>&lt;p&gt;The debugger type &lt;b&gt;{0}&lt;/b&gt; is not supported or not configured.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -48096,47 +48096,47 @@
 <context>
     <name>NetworkManager</name>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="197"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="198"/>
         <source>SSL Certificate Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="198"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="199"/>
         <source>&lt;b&gt;{0}&lt;/b&gt;&lt;p&gt;The page you are trying to access has errors in the SSL certificate.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{1}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Would you like to make an exception?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="208"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="209"/>
         <source>&amp;Permanent accept</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="210"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="211"/>
         <source>&amp;Temporary accept</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="212"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="213"/>
         <source>&amp;Reject</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="245"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="246"/>
         <source>&lt;b&gt;Enter username and password for &apos;{0}&apos;, realm &apos;{1}&apos;&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="248"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="249"/>
         <source>&lt;b&gt;Enter username and password for &apos;{0}&apos;&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="291"/>
-        <source>Authentication required</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../WebBrowser/Network/NetworkManager.py" line="292"/>
+        <source>Authentication required</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="293"/>
         <source>Authentication is required to access:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -75472,7 +75472,7 @@
 <context>
     <name>UnittestDialog</name>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="405"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="428"/>
         <source>Unittest</source>
         <translation type="unfinished"></translation>
     </message>
@@ -75521,272 +75521,287 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="91"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="123"/>
         <source>Select whether you want to run the test locally</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="94"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="126"/>
         <source>Run &amp;local</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="101"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="133"/>
         <source>Select whether coverage data should be collected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="104"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="136"/>
         <source>C&amp;ollect coverage data</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="114"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="146"/>
         <source>Select whether old coverage data should be erased</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="117"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="149"/>
         <source>&amp;Erase coverage data</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="127"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="161"/>
         <source>Progress</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="135"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="169"/>
         <source>Progress:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="166"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="200"/>
         <source>%v/%m Tests</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="175"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="209"/>
         <source>Run:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="182"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="216"/>
         <source>Number of tests run</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="192"/>
-        <source>Remaining:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="199"/>
-        <source>Number of tests to be run</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../PyUnit/UnittestDialog.ui" line="226"/>
-        <source>Failures:</source>
+        <source>Remaining:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PyUnit/UnittestDialog.ui" line="233"/>
-        <source>Number of test failures</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="243"/>
-        <source>Errors:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="250"/>
-        <source>Number of test errors</source>
+        <source>Number of tests to be run</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PyUnit/UnittestDialog.ui" line="260"/>
-        <source>Skipped:</source>
+        <source>Failures:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PyUnit/UnittestDialog.ui" line="267"/>
-        <source>Number of tests skipped</source>
+        <source>Number of test failures</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PyUnit/UnittestDialog.ui" line="277"/>
-        <source>Expected Failures:</source>
+        <source>Errors:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PyUnit/UnittestDialog.ui" line="284"/>
-        <source>Number of tests with expected failure</source>
+        <source>Number of test errors</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PyUnit/UnittestDialog.ui" line="294"/>
-        <source>Unexpected Successes:</source>
+        <source>Skipped:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PyUnit/UnittestDialog.ui" line="301"/>
+        <source>Number of tests skipped</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="311"/>
+        <source>Expected Failures:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="318"/>
+        <source>Number of tests with expected failure</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="328"/>
+        <source>Unexpected Successes:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="335"/>
         <source>Number of tests with unexpected success</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="332"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="366"/>
         <source>Tests performed:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="342"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="376"/>
         <source>Failures and errors:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="349"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="383"/>
         <source>Failures and Errors list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="352"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="386"/>
         <source>&lt;b&gt;Failures and Errors list&lt;/b&gt;
 &lt;p&gt;This list shows all failed and errored tests.
 Double clicking on an entry will show the respective traceback.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="379"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="413"/>
         <source>Idle</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="71"/>
-        <source>Start</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../PyUnit/UnittestDialog.py" line="73"/>
-        <source>Start the selected testsuite</source>
+        <source>Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PyUnit/UnittestDialog.py" line="75"/>
+        <source>Start the selected testsuite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.py" line="77"/>
         <source>&lt;b&gt;Start Test&lt;/b&gt;&lt;p&gt;This button starts the selected testsuite.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="78"/>
-        <source>Rerun Failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../PyUnit/UnittestDialog.py" line="80"/>
-        <source>Reruns failed tests of the selected testsuite</source>
+        <source>Rerun Failed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PyUnit/UnittestDialog.py" line="82"/>
+        <source>Reruns failed tests of the selected testsuite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.py" line="84"/>
         <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>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="86"/>
-        <source>Stop</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../PyUnit/UnittestDialog.py" line="88"/>
+        <source>Stop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.py" line="90"/>
         <source>Stop the running unittest</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="89"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="91"/>
         <source>&lt;b&gt;Stop Test&lt;/b&gt;&lt;p&gt;This button stops a running unittest.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="121"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="129"/>
         <source>^Failure: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="122"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="130"/>
         <source>^Error: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="207"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="224"/>
         <source>Python3 Files ({1});;Python2 Files ({0});;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="211"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="228"/>
         <source>Python Files (*.py);;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="271"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="291"/>
         <source>You must enter a test suite file.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="279"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="299"/>
         <source>Preparing Testsuite</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="405"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="428"/>
         <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="477"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="500"/>
         <source>Running</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="501"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="524"/>
         <source>Ran {0} test in {1:.3f}s</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="505"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="528"/>
         <source>Ran {0} tests in {1:.3f}s</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="522"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="545"/>
         <source>Failure: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="537"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="560"/>
         <source>Error: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="552"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="575"/>
         <source>    Skipped: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="567"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="590"/>
         <source>    Expected Failure</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="581"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="604"/>
         <source>    Unexpected Success</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="642"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="665"/>
         <source>Show Source</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="93"/>
+        <source>Virtual Environment:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="109"/>
+        <source>Select the virtual environment to be used</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="112"/>
+        <source>&lt;b&gt;Virtual Environment&lt;/b&gt;\n&lt;p&gt;Enter the virtual environment to be used. Leave it empty to use the default environment, i.e. the one configured globally or per project.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UrlBar</name>
@@ -76782,7 +76797,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4559"/>
+        <location filename="../UI/UserInterface.py" line="4560"/>
         <source>Unittest Project</source>
         <translation type="unfinished"></translation>
     </message>
@@ -77187,7 +77202,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6014"/>
+        <location filename="../UI/UserInterface.py" line="6016"/>
         <source>Export Keyboard Shortcuts</source>
         <translation type="unfinished"></translation>
     </message>
@@ -77207,7 +77222,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6038"/>
+        <location filename="../UI/UserInterface.py" line="6040"/>
         <source>Import Keyboard Shortcuts</source>
         <translation type="unfinished"></translation>
     </message>
@@ -77587,7 +77602,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4817"/>
+        <location filename="../UI/UserInterface.py" line="4819"/>
         <source>Help</source>
         <translation type="unfinished"></translation>
     </message>
@@ -77647,7 +77662,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7003"/>
+        <location filename="../UI/UserInterface.py" line="7005"/>
         <source>&lt;/table&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -77707,294 +77722,294 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4559"/>
+        <location filename="../UI/UserInterface.py" line="4560"/>
         <source>There is no main script defined for the current project. Aborting</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4764"/>
+        <location filename="../UI/UserInterface.py" line="4766"/>
         <source>Qt 3 support</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4764"/>
+        <location filename="../UI/UserInterface.py" line="4766"/>
         <source>Qt v.3 is not supported by eric6.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4943"/>
+        <location filename="../UI/UserInterface.py" line="4945"/>
         <source>Problem</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4943"/>
+        <location filename="../UI/UserInterface.py" line="4945"/>
         <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5132"/>
+        <location filename="../UI/UserInterface.py" line="5134"/>
         <source>Process Generation Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4667"/>
+        <location filename="../UI/UserInterface.py" line="4669"/>
         <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4736"/>
+        <location filename="../UI/UserInterface.py" line="4738"/>
         <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4789"/>
+        <location filename="../UI/UserInterface.py" line="4791"/>
         <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4817"/>
+        <location filename="../UI/UserInterface.py" line="4819"/>
         <source>Currently no custom viewer is selected. Please use the preferences dialog to specify one.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4831"/>
+        <location filename="../UI/UserInterface.py" line="4833"/>
         <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4851"/>
+        <location filename="../UI/UserInterface.py" line="4853"/>
         <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4899"/>
+        <location filename="../UI/UserInterface.py" line="4901"/>
         <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4954"/>
+        <location filename="../UI/UserInterface.py" line="4956"/>
         <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4975"/>
+        <location filename="../UI/UserInterface.py" line="4977"/>
         <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5045"/>
+        <location filename="../UI/UserInterface.py" line="5047"/>
         <source>&lt;p&gt;Could not start Snapshot tool.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5077"/>
+        <location filename="../UI/UserInterface.py" line="5079"/>
         <source>External Tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5068"/>
+        <location filename="../UI/UserInterface.py" line="5070"/>
         <source>No tool entry found for external tool &apos;{0}&apos; in tool group &apos;{1}&apos;.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5077"/>
+        <location filename="../UI/UserInterface.py" line="5079"/>
         <source>No toolgroup entry &apos;{0}&apos; found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5116"/>
+        <location filename="../UI/UserInterface.py" line="5118"/>
         <source>Starting process &apos;{0} {1}&apos;.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5132"/>
+        <location filename="../UI/UserInterface.py" line="5134"/>
         <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5208"/>
+        <location filename="../UI/UserInterface.py" line="5210"/>
         <source>Process &apos;{0}&apos; has exited.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5611"/>
+        <location filename="../UI/UserInterface.py" line="5613"/>
         <source>Documentation Missing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5611"/>
+        <location filename="../UI/UserInterface.py" line="5613"/>
         <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5594"/>
+        <location filename="../UI/UserInterface.py" line="5596"/>
         <source>Documentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5417"/>
+        <location filename="../UI/UserInterface.py" line="5419"/>
         <source>&lt;p&gt;The PyQt4 documentation starting point has not been configured.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5480"/>
+        <location filename="../UI/UserInterface.py" line="5482"/>
         <source>&lt;p&gt;The PyQt5 documentation starting point has not been configured.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5813"/>
+        <location filename="../UI/UserInterface.py" line="5815"/>
         <source>Open Browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5813"/>
+        <location filename="../UI/UserInterface.py" line="5815"/>
         <source>Could not start a web browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6038"/>
+        <location filename="../UI/UserInterface.py" line="6040"/>
         <source>Keyboard shortcut file (*.e4k)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6207"/>
+        <location filename="../UI/UserInterface.py" line="6209"/>
         <source>Save tasks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6207"/>
+        <location filename="../UI/UserInterface.py" line="6209"/>
         <source>&lt;p&gt;The tasks file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6236"/>
+        <location filename="../UI/UserInterface.py" line="6238"/>
         <source>Read tasks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6236"/>
+        <location filename="../UI/UserInterface.py" line="6238"/>
         <source>&lt;p&gt;The tasks file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6333"/>
+        <location filename="../UI/UserInterface.py" line="6335"/>
         <source>Save session</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6270"/>
+        <location filename="../UI/UserInterface.py" line="6272"/>
         <source>&lt;p&gt;The session file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6317"/>
+        <location filename="../UI/UserInterface.py" line="6319"/>
         <source>Read session</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6317"/>
+        <location filename="../UI/UserInterface.py" line="6319"/>
         <source>&lt;p&gt;The session file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6597"/>
+        <location filename="../UI/UserInterface.py" line="6599"/>
         <source>Drop Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6597"/>
+        <location filename="../UI/UserInterface.py" line="6599"/>
         <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6778"/>
+        <location filename="../UI/UserInterface.py" line="6780"/>
         <source>&amp;Cancel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6778"/>
+        <location filename="../UI/UserInterface.py" line="6780"/>
         <source>%v/%m</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6782"/>
+        <location filename="../UI/UserInterface.py" line="6784"/>
         <source>Version Check</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6787"/>
+        <location filename="../UI/UserInterface.py" line="6789"/>
         <source>Trying host {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6851"/>
+        <location filename="../UI/UserInterface.py" line="6853"/>
         <source>Error getting versions information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6798"/>
+        <location filename="../UI/UserInterface.py" line="6800"/>
         <source>The versions information cannot not be downloaded because you are &lt;b&gt;offline&lt;/b&gt;. Please go online and try again.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6844"/>
+        <location filename="../UI/UserInterface.py" line="6846"/>
         <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="6851"/>
+        <location filename="../UI/UserInterface.py" line="6853"/>
         <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="6945"/>
+        <location filename="../UI/UserInterface.py" line="6947"/>
         <source>Update available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6945"/>
+        <location filename="../UI/UserInterface.py" line="6947"/>
         <source>The update to &lt;b&gt;{0}&lt;/b&gt; of eric6 is available at &lt;b&gt;{1}&lt;/b&gt;. Would you like to get it?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6958"/>
+        <location filename="../UI/UserInterface.py" line="6960"/>
         <source>Eric6 is up to date</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6958"/>
+        <location filename="../UI/UserInterface.py" line="6960"/>
         <source>You are using the latest version of eric6</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6965"/>
+        <location filename="../UI/UserInterface.py" line="6967"/>
         <source>Error during updates check</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6965"/>
+        <location filename="../UI/UserInterface.py" line="6967"/>
         <source>Could not perform updates check.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6989"/>
+        <location filename="../UI/UserInterface.py" line="6991"/>
         <source>&lt;h3&gt;Available versions&lt;/h3&gt;&lt;table&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7040"/>
+        <location filename="../UI/UserInterface.py" line="7042"/>
         <source>First time usage</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7040"/>
+        <location filename="../UI/UserInterface.py" line="7042"/>
         <source>eric6 has not been configured yet. The configuration dialog will be started.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7059"/>
+        <location filename="../UI/UserInterface.py" line="7061"/>
         <source>Select Workspace Directory</source>
         <translation type="unfinished"></translation>
     </message>
@@ -78009,7 +78024,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6355"/>
+        <location filename="../UI/UserInterface.py" line="6357"/>
         <source>Load session</source>
         <translation type="unfinished"></translation>
     </message>
@@ -78024,17 +78039,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6355"/>
+        <location filename="../UI/UserInterface.py" line="6357"/>
         <source>eric6 Session Files (*.e5s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6402"/>
+        <location filename="../UI/UserInterface.py" line="6404"/>
         <source>Crash Session found!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6402"/>
+        <location filename="../UI/UserInterface.py" line="6404"/>
         <source>A session file of a crashed session was found. Shall this session be restored?</source>
         <translation type="unfinished"></translation>
     </message>
@@ -78049,17 +78064,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6933"/>
+        <location filename="../UI/UserInterface.py" line="6935"/>
         <source>Update Check</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6933"/>
+        <location filename="../UI/UserInterface.py" line="6935"/>
         <source>You installed eric directly from the source code. There is no possibility to check for the availability of an update.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6923"/>
+        <location filename="../UI/UserInterface.py" line="6925"/>
         <source>You are using a snapshot release of eric6. A more up-to-date stable release might be available.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -78114,7 +78129,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5594"/>
+        <location filename="../UI/UserInterface.py" line="5596"/>
         <source>&lt;p&gt;The PySide{0} documentation starting point has not been configured.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -78190,17 +78205,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5768"/>
+        <location filename="../UI/UserInterface.py" line="5770"/>
         <source>Start Web Browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5710"/>
+        <location filename="../UI/UserInterface.py" line="5712"/>
         <source>The eric6 web browser could not be started.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5768"/>
+        <location filename="../UI/UserInterface.py" line="5770"/>
         <source>&lt;p&gt;The eric6 web browser is not started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
--- a/i18n/eric6_en.ts	Wed Mar 20 19:23:12 2019 +0100
+++ b/i18n/eric6_en.ts	Wed Mar 20 19:41:04 2019 +0100
@@ -6235,20 +6235,20 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="1515"/>
+        <location filename="../Debugger/DebugServer.py" line="1524"/>
         <source>
 Not connected
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="1708"/>
+        <location filename="../Debugger/DebugServer.py" line="1717"/>
         <source>Passive debug connection received
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="1722"/>
+        <location filename="../Debugger/DebugServer.py" line="1731"/>
         <source>Passive debug connection closed
 </source>
         <translation type="unfinished"></translation>
@@ -6264,12 +6264,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="1340"/>
+        <location filename="../Debugger/DebugServer.py" line="1349"/>
         <source>Start Debugger</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="1340"/>
+        <location filename="../Debugger/DebugServer.py" line="1349"/>
         <source>&lt;p&gt;The debugger type &lt;b&gt;{0}&lt;/b&gt; is not supported or not configured.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -48141,47 +48141,47 @@
 <context>
     <name>NetworkManager</name>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="197"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="198"/>
         <source>SSL Certificate Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="198"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="199"/>
         <source>&lt;b&gt;{0}&lt;/b&gt;&lt;p&gt;The page you are trying to access has errors in the SSL certificate.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{1}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Would you like to make an exception?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="208"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="209"/>
         <source>&amp;Permanent accept</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="210"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="211"/>
         <source>&amp;Temporary accept</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="212"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="213"/>
         <source>&amp;Reject</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="245"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="246"/>
         <source>&lt;b&gt;Enter username and password for &apos;{0}&apos;, realm &apos;{1}&apos;&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="248"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="249"/>
         <source>&lt;b&gt;Enter username and password for &apos;{0}&apos;&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="291"/>
-        <source>Authentication required</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../WebBrowser/Network/NetworkManager.py" line="292"/>
+        <source>Authentication required</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="293"/>
         <source>Authentication is required to access:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -75521,7 +75521,7 @@
 <context>
     <name>UnittestDialog</name>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="405"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="428"/>
         <source>Unittest</source>
         <translation type="unfinished"></translation>
     </message>
@@ -75560,264 +75560,264 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="91"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="123"/>
         <source>Select whether you want to run the test locally</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="94"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="126"/>
         <source>Run &amp;local</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="101"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="133"/>
         <source>Select whether coverage data should be collected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="104"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="136"/>
         <source>C&amp;ollect coverage data</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="114"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="146"/>
         <source>Select whether old coverage data should be erased</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="117"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="149"/>
         <source>&amp;Erase coverage data</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="135"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="169"/>
         <source>Progress:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="175"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="209"/>
         <source>Run:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="182"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="216"/>
         <source>Number of tests run</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="260"/>
+        <source>Failures:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="267"/>
+        <source>Number of test failures</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="277"/>
+        <source>Errors:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="284"/>
+        <source>Number of test errors</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../PyUnit/UnittestDialog.ui" line="226"/>
-        <source>Failures:</source>
+        <source>Remaining:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PyUnit/UnittestDialog.ui" line="233"/>
-        <source>Number of test failures</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="243"/>
-        <source>Errors:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="250"/>
-        <source>Number of test errors</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="192"/>
-        <source>Remaining:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="199"/>
         <source>Number of tests to be run</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="332"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="366"/>
         <source>Tests performed:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="342"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="376"/>
         <source>Failures and errors:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="349"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="383"/>
         <source>Failures and Errors list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="352"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="386"/>
         <source>&lt;b&gt;Failures and Errors list&lt;/b&gt;
 &lt;p&gt;This list shows all failed and errored tests.
 Double clicking on an entry will show the respective traceback.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="379"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="413"/>
         <source>Idle</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="71"/>
-        <source>Start</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../PyUnit/UnittestDialog.py" line="73"/>
-        <source>Start the selected testsuite</source>
+        <source>Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PyUnit/UnittestDialog.py" line="75"/>
+        <source>Start the selected testsuite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.py" line="77"/>
         <source>&lt;b&gt;Start Test&lt;/b&gt;&lt;p&gt;This button starts the selected testsuite.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="86"/>
-        <source>Stop</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../PyUnit/UnittestDialog.py" line="88"/>
+        <source>Stop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.py" line="90"/>
         <source>Stop the running unittest</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="89"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="91"/>
         <source>&lt;b&gt;Stop Test&lt;/b&gt;&lt;p&gt;This button stops a running unittest.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="121"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="129"/>
         <source>^Failure: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="122"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="130"/>
         <source>^Error: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="207"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="224"/>
         <source>Python3 Files ({1});;Python2 Files ({0});;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="211"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="228"/>
         <source>Python Files (*.py);;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="271"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="291"/>
         <source>You must enter a test suite file.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="279"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="299"/>
         <source>Preparing Testsuite</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="405"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="428"/>
         <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="477"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="500"/>
         <source>Running</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="501"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="524"/>
         <source>Ran {0} test in {1:.3f}s</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="505"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="528"/>
         <source>Ran {0} tests in {1:.3f}s</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="522"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="545"/>
         <source>Failure: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="537"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="560"/>
         <source>Error: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="642"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="665"/>
         <source>Show Source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="260"/>
-        <source>Skipped:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="267"/>
-        <source>Number of tests skipped</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="277"/>
-        <source>Expected Failures:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="284"/>
-        <source>Number of tests with expected failure</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../PyUnit/UnittestDialog.ui" line="294"/>
-        <source>Unexpected Successes:</source>
+        <source>Skipped:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PyUnit/UnittestDialog.ui" line="301"/>
+        <source>Number of tests skipped</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="311"/>
+        <source>Expected Failures:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="318"/>
+        <source>Number of tests with expected failure</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="328"/>
+        <source>Unexpected Successes:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="335"/>
         <source>Number of tests with unexpected success</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="552"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="575"/>
         <source>    Skipped: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="567"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="590"/>
         <source>    Expected Failure</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="581"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="604"/>
         <source>    Unexpected Success</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="78"/>
-        <source>Rerun Failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../PyUnit/UnittestDialog.py" line="80"/>
-        <source>Reruns failed tests of the selected testsuite</source>
+        <source>Rerun Failed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PyUnit/UnittestDialog.py" line="82"/>
+        <source>Reruns failed tests of the selected testsuite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.py" line="84"/>
         <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>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="166"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="200"/>
         <source>%v/%m Tests</source>
         <translation type="unfinished"></translation>
     </message>
@@ -75832,10 +75832,25 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="127"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="161"/>
         <source>Progress</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="93"/>
+        <source>Virtual Environment:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="109"/>
+        <source>Select the virtual environment to be used</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="112"/>
+        <source>&lt;b&gt;Virtual Environment&lt;/b&gt;\n&lt;p&gt;Enter the virtual environment to be used. Leave it empty to use the default environment, i.e. the one configured globally or per project.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UrlBar</name>
@@ -76485,7 +76500,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4559"/>
+        <location filename="../UI/UserInterface.py" line="4560"/>
         <source>Unittest Project</source>
         <translation type="unfinished"></translation>
     </message>
@@ -76770,7 +76785,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6014"/>
+        <location filename="../UI/UserInterface.py" line="6016"/>
         <source>Export Keyboard Shortcuts</source>
         <translation type="unfinished"></translation>
     </message>
@@ -76790,7 +76805,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6038"/>
+        <location filename="../UI/UserInterface.py" line="6040"/>
         <source>Import Keyboard Shortcuts</source>
         <translation type="unfinished"></translation>
     </message>
@@ -77035,7 +77050,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4817"/>
+        <location filename="../UI/UserInterface.py" line="4819"/>
         <source>Help</source>
         <translation type="unfinished"></translation>
     </message>
@@ -77090,7 +77105,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7003"/>
+        <location filename="../UI/UserInterface.py" line="7005"/>
         <source>&lt;/table&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -77140,214 +77155,214 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4559"/>
+        <location filename="../UI/UserInterface.py" line="4560"/>
         <source>There is no main script defined for the current project. Aborting</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4764"/>
+        <location filename="../UI/UserInterface.py" line="4766"/>
         <source>Qt 3 support</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4943"/>
+        <location filename="../UI/UserInterface.py" line="4945"/>
         <source>Problem</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4943"/>
+        <location filename="../UI/UserInterface.py" line="4945"/>
         <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5132"/>
+        <location filename="../UI/UserInterface.py" line="5134"/>
         <source>Process Generation Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4667"/>
+        <location filename="../UI/UserInterface.py" line="4669"/>
         <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4736"/>
+        <location filename="../UI/UserInterface.py" line="4738"/>
         <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4789"/>
+        <location filename="../UI/UserInterface.py" line="4791"/>
         <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4817"/>
+        <location filename="../UI/UserInterface.py" line="4819"/>
         <source>Currently no custom viewer is selected. Please use the preferences dialog to specify one.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4831"/>
+        <location filename="../UI/UserInterface.py" line="4833"/>
         <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4851"/>
+        <location filename="../UI/UserInterface.py" line="4853"/>
         <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4899"/>
+        <location filename="../UI/UserInterface.py" line="4901"/>
         <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4954"/>
+        <location filename="../UI/UserInterface.py" line="4956"/>
         <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4975"/>
+        <location filename="../UI/UserInterface.py" line="4977"/>
         <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5077"/>
+        <location filename="../UI/UserInterface.py" line="5079"/>
         <source>External Tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5068"/>
+        <location filename="../UI/UserInterface.py" line="5070"/>
         <source>No tool entry found for external tool &apos;{0}&apos; in tool group &apos;{1}&apos;.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5077"/>
+        <location filename="../UI/UserInterface.py" line="5079"/>
         <source>No toolgroup entry &apos;{0}&apos; found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5116"/>
+        <location filename="../UI/UserInterface.py" line="5118"/>
         <source>Starting process &apos;{0} {1}&apos;.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5132"/>
+        <location filename="../UI/UserInterface.py" line="5134"/>
         <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5208"/>
+        <location filename="../UI/UserInterface.py" line="5210"/>
         <source>Process &apos;{0}&apos; has exited.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5611"/>
+        <location filename="../UI/UserInterface.py" line="5613"/>
         <source>Documentation Missing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5611"/>
+        <location filename="../UI/UserInterface.py" line="5613"/>
         <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5594"/>
+        <location filename="../UI/UserInterface.py" line="5596"/>
         <source>Documentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5417"/>
+        <location filename="../UI/UserInterface.py" line="5419"/>
         <source>&lt;p&gt;The PyQt4 documentation starting point has not been configured.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6038"/>
+        <location filename="../UI/UserInterface.py" line="6040"/>
         <source>Keyboard shortcut file (*.e4k)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6207"/>
+        <location filename="../UI/UserInterface.py" line="6209"/>
         <source>Save tasks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6207"/>
+        <location filename="../UI/UserInterface.py" line="6209"/>
         <source>&lt;p&gt;The tasks file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6236"/>
+        <location filename="../UI/UserInterface.py" line="6238"/>
         <source>Read tasks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6236"/>
+        <location filename="../UI/UserInterface.py" line="6238"/>
         <source>&lt;p&gt;The tasks file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6333"/>
+        <location filename="../UI/UserInterface.py" line="6335"/>
         <source>Save session</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6270"/>
+        <location filename="../UI/UserInterface.py" line="6272"/>
         <source>&lt;p&gt;The session file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6317"/>
+        <location filename="../UI/UserInterface.py" line="6319"/>
         <source>Read session</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6317"/>
+        <location filename="../UI/UserInterface.py" line="6319"/>
         <source>&lt;p&gt;The session file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6597"/>
+        <location filename="../UI/UserInterface.py" line="6599"/>
         <source>Drop Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6597"/>
+        <location filename="../UI/UserInterface.py" line="6599"/>
         <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6778"/>
+        <location filename="../UI/UserInterface.py" line="6780"/>
         <source>&amp;Cancel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6787"/>
+        <location filename="../UI/UserInterface.py" line="6789"/>
         <source>Trying host {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6945"/>
+        <location filename="../UI/UserInterface.py" line="6947"/>
         <source>Update available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6965"/>
+        <location filename="../UI/UserInterface.py" line="6967"/>
         <source>Error during updates check</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6965"/>
+        <location filename="../UI/UserInterface.py" line="6967"/>
         <source>Could not perform updates check.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6989"/>
+        <location filename="../UI/UserInterface.py" line="6991"/>
         <source>&lt;h3&gt;Available versions&lt;/h3&gt;&lt;table&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7040"/>
+        <location filename="../UI/UserInterface.py" line="7042"/>
         <source>First time usage</source>
         <translation type="unfinished"></translation>
     </message>
@@ -77387,27 +77402,27 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6851"/>
+        <location filename="../UI/UserInterface.py" line="6853"/>
         <source>Error getting versions information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6844"/>
+        <location filename="../UI/UserInterface.py" line="6846"/>
         <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="5813"/>
+        <location filename="../UI/UserInterface.py" line="5815"/>
         <source>Open Browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5813"/>
+        <location filename="../UI/UserInterface.py" line="5815"/>
         <source>Could not start a web browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6851"/>
+        <location filename="../UI/UserInterface.py" line="6853"/>
         <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>
@@ -77493,12 +77508,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5045"/>
+        <location filename="../UI/UserInterface.py" line="5047"/>
         <source>&lt;p&gt;Could not start Snapshot tool.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7059"/>
+        <location filename="../UI/UserInterface.py" line="7061"/>
         <source>Select Workspace Directory</source>
         <translation type="unfinished"></translation>
     </message>
@@ -77873,7 +77888,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5480"/>
+        <location filename="../UI/UserInterface.py" line="5482"/>
         <source>&lt;p&gt;The PyQt5 documentation starting point has not been configured.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -77883,7 +77898,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6778"/>
+        <location filename="../UI/UserInterface.py" line="6780"/>
         <source>%v/%m</source>
         <translation type="unfinished"></translation>
     </message>
@@ -77903,7 +77918,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6782"/>
+        <location filename="../UI/UserInterface.py" line="6784"/>
         <source>Version Check</source>
         <translation type="unfinished"></translation>
     </message>
@@ -77973,27 +77988,27 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4764"/>
+        <location filename="../UI/UserInterface.py" line="4766"/>
         <source>Qt v.3 is not supported by eric6.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6945"/>
+        <location filename="../UI/UserInterface.py" line="6947"/>
         <source>The update to &lt;b&gt;{0}&lt;/b&gt; of eric6 is available at &lt;b&gt;{1}&lt;/b&gt;. Would you like to get it?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6958"/>
+        <location filename="../UI/UserInterface.py" line="6960"/>
         <source>Eric6 is up to date</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6958"/>
+        <location filename="../UI/UserInterface.py" line="6960"/>
         <source>You are using the latest version of eric6</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7040"/>
+        <location filename="../UI/UserInterface.py" line="7042"/>
         <source>eric6 has not been configured yet. The configuration dialog will be started.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -78013,7 +78028,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6798"/>
+        <location filename="../UI/UserInterface.py" line="6800"/>
         <source>The versions information cannot not be downloaded because you are &lt;b&gt;offline&lt;/b&gt;. Please go online and try again.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -78058,7 +78073,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6355"/>
+        <location filename="../UI/UserInterface.py" line="6357"/>
         <source>Load session</source>
         <translation type="unfinished"></translation>
     </message>
@@ -78073,17 +78088,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6355"/>
+        <location filename="../UI/UserInterface.py" line="6357"/>
         <source>eric6 Session Files (*.e5s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6402"/>
+        <location filename="../UI/UserInterface.py" line="6404"/>
         <source>Crash Session found!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6402"/>
+        <location filename="../UI/UserInterface.py" line="6404"/>
         <source>A session file of a crashed session was found. Shall this session be restored?</source>
         <translation type="unfinished"></translation>
     </message>
@@ -78098,17 +78113,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6933"/>
+        <location filename="../UI/UserInterface.py" line="6935"/>
         <source>Update Check</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6933"/>
+        <location filename="../UI/UserInterface.py" line="6935"/>
         <source>You installed eric directly from the source code. There is no possibility to check for the availability of an update.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6923"/>
+        <location filename="../UI/UserInterface.py" line="6925"/>
         <source>You are using a snapshot release of eric6. A more up-to-date stable release might be available.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -78163,7 +78178,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5594"/>
+        <location filename="../UI/UserInterface.py" line="5596"/>
         <source>&lt;p&gt;The PySide{0} documentation starting point has not been configured.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -78239,17 +78254,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5768"/>
+        <location filename="../UI/UserInterface.py" line="5770"/>
         <source>Start Web Browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5710"/>
+        <location filename="../UI/UserInterface.py" line="5712"/>
         <source>The eric6 web browser could not be started.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5768"/>
+        <location filename="../UI/UserInterface.py" line="5770"/>
         <source>&lt;p&gt;The eric6 web browser is not started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
--- a/i18n/eric6_es.ts	Wed Mar 20 19:23:12 2019 +0100
+++ b/i18n/eric6_es.ts	Wed Mar 20 19:41:04 2019 +0100
@@ -6273,7 +6273,7 @@
         <translation>Conexión desde un host ilegal</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="1515"/>
+        <location filename="../Debugger/DebugServer.py" line="1524"/>
         <source>
 Not connected
 </source>
@@ -6287,14 +6287,14 @@
         <translation>&lt;p&gt;Se ha intentado una conexión desde el host ilegal &lt;b&gt;{0}&lt;/b&gt;. ¿Aceptar esta conexión?.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="1708"/>
+        <location filename="../Debugger/DebugServer.py" line="1717"/>
         <source>Passive debug connection received
 </source>
         <translation>Recibida conexión pasiva de depuración
 </translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="1722"/>
+        <location filename="../Debugger/DebugServer.py" line="1731"/>
         <source>Passive debug connection closed
 </source>
         <translation>Cerrada conexión pasiva de depuración
@@ -6311,12 +6311,12 @@
         <translation>&lt;p&gt;La interfaz de depurador &lt;b&gt;{0}&lt;/b&gt; ya está registrada. Se ignorará esta solicitud.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="1340"/>
+        <location filename="../Debugger/DebugServer.py" line="1349"/>
         <source>Start Debugger</source>
         <translation>Iniciar Depurador</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="1340"/>
+        <location filename="../Debugger/DebugServer.py" line="1349"/>
         <source>&lt;p&gt;The debugger type &lt;b&gt;{0}&lt;/b&gt; is not supported or not configured.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Este tipo de depurador, &lt;b&gt;{0}&lt;/b&gt;, no está soportado o no está configurado.&lt;/p&gt;</translation>
     </message>
@@ -48399,47 +48399,47 @@
 <context>
     <name>NetworkManager</name>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="197"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="198"/>
         <source>SSL Certificate Error</source>
         <translation>Error de Certificado SSL</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="198"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="199"/>
         <source>&lt;b&gt;{0}&lt;/b&gt;&lt;p&gt;The page you are trying to access has errors in the SSL certificate.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{1}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Would you like to make an exception?&lt;/p&gt;</source>
         <translation>&lt;b&gt;{0}&lt;/b&gt;&lt;p&gt;La página a la que se intenta acceder tiene errores en el certificado SSL.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{1}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;¿Quiere añadir una excepción?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="208"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="209"/>
         <source>&amp;Permanent accept</source>
         <translation>Aceptar &amp;Permanentemente</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="210"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="211"/>
         <source>&amp;Temporary accept</source>
         <translation>Aceptar &amp;temporalmente</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="212"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="213"/>
         <source>&amp;Reject</source>
         <translation>&amp;Rechazar</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="245"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="246"/>
         <source>&lt;b&gt;Enter username and password for &apos;{0}&apos;, realm &apos;{1}&apos;&lt;/b&gt;</source>
         <translation>&lt;b&gt;Introducir nombre de usuario y contraseña para &apos;{0}&apos;, reino {1}&apos;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="248"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="249"/>
         <source>&lt;b&gt;Enter username and password for &apos;{0}&apos;&lt;/b&gt;</source>
         <translation>&lt;b&gt;Introducir nombre de usuario y contraseña para &apos;{0}&apos;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="291"/>
-        <source>Authentication required</source>
-        <translation>Autenticación necesaria</translation>
-    </message>
-    <message>
         <location filename="../WebBrowser/Network/NetworkManager.py" line="292"/>
+        <source>Authentication required</source>
+        <translation>Autenticación necesaria</translation>
+    </message>
+    <message>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="293"/>
         <source>Authentication is required to access:</source>
         <translation>Es necesaria autenticación para acceder:</translation>
     </message>
@@ -76130,7 +76130,7 @@
 <context>
     <name>UnittestDialog</name>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="405"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="428"/>
         <source>Unittest</source>
         <translation>Test Unitario</translation>
     </message>
@@ -76173,97 +76173,97 @@
         <translation>Introducir nombre de &amp;archivo de test:</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="91"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="123"/>
         <source>Select whether you want to run the test locally</source>
         <translation>Seleccionar si desea ejecutar el test en local</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="94"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="126"/>
         <source>Run &amp;local</source>
         <translation>Ejecuta&amp;r en local</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="101"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="133"/>
         <source>Select whether coverage data should be collected</source>
         <translation>Seleccione si se deben recoger datos de cobertura</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="104"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="136"/>
         <source>C&amp;ollect coverage data</source>
         <translation>Rec&amp;oger datos de cobertura</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="114"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="146"/>
         <source>Select whether old coverage data should be erased</source>
         <translation>Seleccionar si se deben borrar antiguos datos de cobertura</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="117"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="149"/>
         <source>&amp;Erase coverage data</source>
         <translation>Borrar datos de cob&amp;ertura</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="135"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="169"/>
         <source>Progress:</source>
         <translation>Progreso:</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="175"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="209"/>
         <source>Run:</source>
         <translation>Ejecutar:</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="182"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="216"/>
         <source>Number of tests run</source>
         <translation>Número de tests ejecutados</translation>
     </message>
     <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="260"/>
+        <source>Failures:</source>
+        <translation>Fallidos:</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="267"/>
+        <source>Number of test failures</source>
+        <translation>Número de tests fallidos</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="277"/>
+        <source>Errors:</source>
+        <translation>Errores:</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="284"/>
+        <source>Number of test errors</source>
+        <translation>Número de errores de test</translation>
+    </message>
+    <message>
         <location filename="../PyUnit/UnittestDialog.ui" line="226"/>
-        <source>Failures:</source>
-        <translation>Fallidos:</translation>
+        <source>Remaining:</source>
+        <translation>Quedan:</translation>
     </message>
     <message>
         <location filename="../PyUnit/UnittestDialog.ui" line="233"/>
-        <source>Number of test failures</source>
-        <translation>Número de tests fallidos</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="243"/>
-        <source>Errors:</source>
-        <translation>Errores:</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="250"/>
-        <source>Number of test errors</source>
-        <translation>Número de errores de test</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="192"/>
-        <source>Remaining:</source>
-        <translation>Quedan:</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="199"/>
         <source>Number of tests to be run</source>
         <translation>Número de tests a ejecutar</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="332"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="366"/>
         <source>Tests performed:</source>
         <translation>Tests ejecutados:</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="342"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="376"/>
         <source>Failures and errors:</source>
         <translation>Fallidos y con error:</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="349"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="383"/>
         <source>Failures and Errors list</source>
         <translation>Lista de fallidos y con error</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="352"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="386"/>
         <source>&lt;b&gt;Failures and Errors list&lt;/b&gt;
 &lt;p&gt;This list shows all failed and errored tests.
 Double clicking on an entry will show the respective traceback.&lt;/p&gt;</source>
@@ -76272,167 +76272,167 @@
 Un doble click en una entrada mostrará el trazado correspondiente.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="379"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="413"/>
         <source>Idle</source>
         <translation>Desocupado</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="71"/>
-        <source>Start</source>
-        <translation>Comenzar</translation>
-    </message>
-    <message>
         <location filename="../PyUnit/UnittestDialog.py" line="73"/>
-        <source>Start the selected testsuite</source>
-        <translation>Comenzar la suite de tests seleccionada</translation>
+        <source>Start</source>
+        <translation>Comenzar</translation>
     </message>
     <message>
         <location filename="../PyUnit/UnittestDialog.py" line="75"/>
+        <source>Start the selected testsuite</source>
+        <translation>Comenzar la suite de tests seleccionada</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.py" line="77"/>
         <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;Comenzar Test&lt;/b&gt;&lt;p&gt;Este botón comienza la suite de tests seleccionada.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="86"/>
-        <source>Stop</source>
-        <translation>PararDetener</translation>
-    </message>
-    <message>
         <location filename="../PyUnit/UnittestDialog.py" line="88"/>
+        <source>Stop</source>
+        <translation>PararDetener</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.py" line="90"/>
         <source>Stop the running unittest</source>
         <translation>Detener el test unitario en ejecución</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="89"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="91"/>
         <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;Detener Test&lt;/b&gt;&lt;p&gt;Este botón detiene un test unitario en ejecución.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="121"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="129"/>
         <source>^Failure: </source>
         <translation>^Fallido: </translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="122"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="130"/>
         <source>^Error: </source>
         <translation>^Error: </translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="271"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="291"/>
         <source>You must enter a test suite file.</source>
         <translation>Debe introducir un archivo de suite de tests.</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="279"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="299"/>
         <source>Preparing Testsuite</source>
         <translation>Preparando Suite de Tests</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="477"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="500"/>
         <source>Running</source>
         <translation>Ejecutando</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="642"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="665"/>
         <source>Show Source</source>
         <translation>Mostrar código fuente</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="211"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="228"/>
         <source>Python Files (*.py);;All Files (*)</source>
         <translation>Archivos Python (*.py);;Todos los Archivos (*)</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="207"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="224"/>
         <source>Python3 Files ({1});;Python2 Files ({0});;All Files (*)</source>
         <translation>Archivos Python3 ({1});;Archivos Python2 ({0});;Todos los Archivos (*)</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="405"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="428"/>
         <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;Imposible ejecutar el 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="501"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="524"/>
         <source>Ran {0} test in {1:.3f}s</source>
         <translation>Se ha ejecutado {0} test en {1:.3f}s</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="505"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="528"/>
         <source>Ran {0} tests in {1:.3f}s</source>
         <translation>Se han ejecutado {0} tests en {1:.3f}s</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="522"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="545"/>
         <source>Failure: {0}</source>
         <translation>Fallido: {0}</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="537"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="560"/>
         <source>Error: {0}</source>
         <translation>Error: {0}</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="260"/>
-        <source>Skipped:</source>
-        <translation>Ignorados:</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="267"/>
-        <source>Number of tests skipped</source>
-        <translation>Número de tests ignorados</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="277"/>
-        <source>Expected Failures:</source>
-        <translation>Fallos Esperados:</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="284"/>
-        <source>Number of tests with expected failure</source>
-        <translation>Número de tests con fallo esperado</translation>
-    </message>
-    <message>
         <location filename="../PyUnit/UnittestDialog.ui" line="294"/>
-        <source>Unexpected Successes:</source>
-        <translation>Éxitos Inesperados:</translation>
+        <source>Skipped:</source>
+        <translation>Ignorados:</translation>
     </message>
     <message>
         <location filename="../PyUnit/UnittestDialog.ui" line="301"/>
+        <source>Number of tests skipped</source>
+        <translation>Número de tests ignorados</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="311"/>
+        <source>Expected Failures:</source>
+        <translation>Fallos Esperados:</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="318"/>
+        <source>Number of tests with expected failure</source>
+        <translation>Número de tests con fallo esperado</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="328"/>
+        <source>Unexpected Successes:</source>
+        <translation>Éxitos Inesperados:</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="335"/>
         <source>Number of tests with unexpected success</source>
         <translation>Número de tests con éxito inesperado</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="552"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="575"/>
         <source>    Skipped: {0}</source>
         <translation>    Ignorados: {0}</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="567"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="590"/>
         <source>    Expected Failure</source>
         <translation>    Fallo Esperado</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="581"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="604"/>
         <source>    Unexpected Success</source>
         <translation>    Éxito Inesperado</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="78"/>
-        <source>Rerun Failed</source>
-        <translation>Re-ejecución Fallida</translation>
-    </message>
-    <message>
         <location filename="../PyUnit/UnittestDialog.py" line="80"/>
-        <source>Reruns failed tests of the selected testsuite</source>
-        <translation>La re-ejecución ha fallado tests del testsuite seleccionado</translation>
+        <source>Rerun Failed</source>
+        <translation>Re-ejecución Fallida</translation>
     </message>
     <message>
         <location filename="../PyUnit/UnittestDialog.py" line="82"/>
+        <source>Reruns failed tests of the selected testsuite</source>
+        <translation>La re-ejecución ha fallado tests del testsuite seleccionado</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.py" line="84"/>
         <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>&lt;b&gt;Re-ejecución Fallida&lt;/b&gt;&lt;p&gt;Este botón re-ejecuta todos los tests fallidos del testsuite seleccionado.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="166"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="200"/>
         <source>%v/%m Tests</source>
         <translation>%v/%m Tests</translation>
     </message>
@@ -76447,10 +76447,25 @@
         <translation>Ejecutar Parámetros</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="127"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="161"/>
         <source>Progress</source>
         <translation>Progreso</translation>
     </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="93"/>
+        <source>Virtual Environment:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="109"/>
+        <source>Select the virtual environment to be used</source>
+        <translation type="unfinished">Seleccionar el entorno virtual a utilizar</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="112"/>
+        <source>&lt;b&gt;Virtual Environment&lt;/b&gt;\n&lt;p&gt;Enter the virtual environment to be used. Leave it empty to use the default environment, i.e. the one configured globally or per project.&lt;/p&gt;</source>
+        <translation type="unfinished">&lt;b&gt;Entorno Virtual&lt;/b&gt;\n&lt;p&gt;Introducir el entorno virtual a utilizar. Dejar en blanco para utilizar el entorno por defecto, por ejemplo el configurado globalmente o por proyecto.&lt;/p&gt;</translation>
+    </message>
 </context>
 <context>
     <name>UrlBar</name>
@@ -76951,7 +76966,7 @@
         <translation>&lt;b&gt;Test Unitario de Script&lt;/b&gt;&lt;p&gt;Ejecuta un test unitario con el script actual.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4559"/>
+        <location filename="../UI/UserInterface.py" line="4560"/>
         <source>Unittest Project</source>
         <translation>Test Unitario de Proyecto</translation>
     </message>
@@ -77131,7 +77146,7 @@
         <translation>&lt;b&gt;Atajos de Teclado&lt;/b&gt;&lt;p&gt;Establezca los atajos de teclado para la aplicación con sus valores preferidos.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6014"/>
+        <location filename="../UI/UserInterface.py" line="6016"/>
         <source>Export Keyboard Shortcuts</source>
         <translation>Exportar Atajos de Teclado</translation>
     </message>
@@ -77151,7 +77166,7 @@
         <translation>&lt;b&gt;Exportar Atajos de Teclado&lt;/b&gt;&lt;p&gt;Exporte  los atajos de teclado de la aplicación.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6038"/>
+        <location filename="../UI/UserInterface.py" line="6040"/>
         <source>Import Keyboard Shortcuts</source>
         <translation>Importar Atajos de Teclado</translation>
     </message>
@@ -77341,7 +77356,7 @@
         <translation>Ajustes</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4817"/>
+        <location filename="../UI/UserInterface.py" line="4819"/>
         <source>Help</source>
         <translation>Ayuda</translation>
     </message>
@@ -77361,7 +77376,7 @@
         <translation>&lt;h3&gt;Números de Versiones&lt;/h3&gt;&lt;table&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7003"/>
+        <location filename="../UI/UserInterface.py" line="7005"/>
         <source>&lt;/table&gt;</source>
         <translation>&lt;/table&gt;</translation>
     </message>
@@ -77401,87 +77416,87 @@
         <translation>&amp;Ocultar todo</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4559"/>
+        <location filename="../UI/UserInterface.py" line="4560"/>
         <source>There is no main script defined for the current project. Aborting</source>
         <translation>No hay script principal definido para el proyecto actual. Abortando</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4943"/>
+        <location filename="../UI/UserInterface.py" line="4945"/>
         <source>Problem</source>
         <translation>Problema</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5132"/>
+        <location filename="../UI/UserInterface.py" line="5134"/>
         <source>Process Generation Error</source>
         <translation>Error de Generación de Proceso</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4817"/>
+        <location filename="../UI/UserInterface.py" line="4819"/>
         <source>Currently no custom viewer is selected. Please use the preferences dialog to specify one.</source>
         <translation>No hay visor personalizado seleccionado actualmente. Por favor, especifique uno en el diálogo de preferencias.</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4851"/>
+        <location filename="../UI/UserInterface.py" line="4853"/>
         <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;No se ha podido ejecutar el visor de ayuda.&lt;br&gt;Asegúrese de que esta disponible como &lt;b&gt;hh&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5611"/>
+        <location filename="../UI/UserInterface.py" line="5613"/>
         <source>Documentation Missing</source>
         <translation>Falta documentación</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5594"/>
+        <location filename="../UI/UserInterface.py" line="5596"/>
         <source>Documentation</source>
         <translation>Documentación</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5417"/>
+        <location filename="../UI/UserInterface.py" line="5419"/>
         <source>&lt;p&gt;The PyQt4 documentation starting point has not been configured.&lt;/p&gt;</source>
         <translation>&lt;P&gt;El punto de entrada de documentación de PyQt4 no ha sido configurado.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6207"/>
+        <location filename="../UI/UserInterface.py" line="6209"/>
         <source>Save tasks</source>
         <translation>Guardar tareas</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6236"/>
+        <location filename="../UI/UserInterface.py" line="6238"/>
         <source>Read tasks</source>
         <translation>Leer tareas</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6597"/>
+        <location filename="../UI/UserInterface.py" line="6599"/>
         <source>Drop Error</source>
         <translation>Error de volcado</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6965"/>
+        <location filename="../UI/UserInterface.py" line="6967"/>
         <source>Error during updates check</source>
         <translation>Error durante la verificación de actualización</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6778"/>
+        <location filename="../UI/UserInterface.py" line="6780"/>
         <source>&amp;Cancel</source>
         <translation>&amp;Cancelar</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6945"/>
+        <location filename="../UI/UserInterface.py" line="6947"/>
         <source>Update available</source>
         <translation>Actualizaciones disponibles</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6965"/>
+        <location filename="../UI/UserInterface.py" line="6967"/>
         <source>Could not perform updates check.</source>
         <translation>No se puede llevar a cabo la verificación de actualizaciones.</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6989"/>
+        <location filename="../UI/UserInterface.py" line="6991"/>
         <source>&lt;h3&gt;Available versions&lt;/h3&gt;&lt;table&gt;</source>
         <translation>&lt;h3&gt;Versiones disponibles&lt;/h3&gt;&lt;table&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7040"/>
+        <location filename="../UI/UserInterface.py" line="7042"/>
         <source>First time usage</source>
         <translation>Usado por primera vez</translation>
     </message>
@@ -77541,7 +77556,7 @@
         <translation>Restaurando Gestor de Barras de Herramientas...</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5077"/>
+        <location filename="../UI/UserInterface.py" line="5079"/>
         <source>External Tools</source>
         <translation>Herramientas Externas</translation>
     </message>
@@ -77556,12 +77571,12 @@
         <translation>Visor de &amp;Multiproyecto</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6333"/>
+        <location filename="../UI/UserInterface.py" line="6335"/>
         <source>Save session</source>
         <translation>Guardar sesión</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6317"/>
+        <location filename="../UI/UserInterface.py" line="6319"/>
         <source>Read session</source>
         <translation>Cargar sesión</translation>
     </message>
@@ -77791,7 +77806,7 @@
         <translation>Editor de &amp;Iconos...</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4764"/>
+        <location filename="../UI/UserInterface.py" line="4766"/>
         <source>Qt 3 support</source>
         <translation>Soporte para Qt 3</translation>
     </message>
@@ -77831,106 +77846,106 @@
         <translation>Herramientas Externas/{0}</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4943"/>
+        <location filename="../UI/UserInterface.py" line="4945"/>
         <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;El archivo &lt;b&gt;{0}&lt;/b&gt; no existe o tiene longitud nula. &lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4667"/>
+        <location filename="../UI/UserInterface.py" line="4669"/>
         <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;No se ha podido ejecutar Qt-Designer.&lt;br&gt;Asegúrese de que esta disponible como &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4736"/>
+        <location filename="../UI/UserInterface.py" line="4738"/>
         <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;No se ha podido ejecutar Qt-Linguist.&lt;br&gt;Asegúrese de que esta disponible como &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4789"/>
+        <location filename="../UI/UserInterface.py" line="4791"/>
         <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;No se ha podido ejecutar Qt-Assistant.&lt;br&gt;Asegúrese de que esta disponible como &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4831"/>
+        <location filename="../UI/UserInterface.py" line="4833"/>
         <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;No se ha podido ejecutar el visor personalizado.&lt;br&gt;Asegúrese de que esta disponible como &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4899"/>
+        <location filename="../UI/UserInterface.py" line="4901"/>
         <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;No se ha podido ejecutar el Previsualizador de UI.&lt;br&gt;Asegúrese de que esta disponible como &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4954"/>
+        <location filename="../UI/UserInterface.py" line="4956"/>
         <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;No se ha podido ejecutar el Previsualizador de Traducciones.&lt;br&gt;Asegúrese de que esta disponible como &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4975"/>
+        <location filename="../UI/UserInterface.py" line="4977"/>
         <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;No se ha podido iniciar el navegador SQL.&lt;br&gt;Asegúrese de que está disponible como &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5068"/>
+        <location filename="../UI/UserInterface.py" line="5070"/>
         <source>No tool entry found for external tool &apos;{0}&apos; in tool group &apos;{1}&apos;.</source>
         <translation>No se ha encontrado la entrada para la herramienta externa &apos;{0}&apos; en el grupo de herramientas &apos;{1}&apos;.</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5077"/>
+        <location filename="../UI/UserInterface.py" line="5079"/>
         <source>No toolgroup entry &apos;{0}&apos; found.</source>
         <translation>No se ha encontrado la entrada para el grupo de herramientas &apos;{0}&apos;.</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5116"/>
+        <location filename="../UI/UserInterface.py" line="5118"/>
         <source>Starting process &apos;{0} {1}&apos;.
 </source>
         <translation>Comenzando proceso &apos;{0} {1}&apos;.
 </translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5132"/>
+        <location filename="../UI/UserInterface.py" line="5134"/>
         <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;No se ha podido ejecutar la entrada de herramienta &lt;b&gt;{0}&lt;/b&gt;.&lt;br&gt;Asegúrese de que esta disponible como &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5208"/>
+        <location filename="../UI/UserInterface.py" line="5210"/>
         <source>Process &apos;{0}&apos; has exited.
 </source>
         <translation>El proceso &apos;{0}&apos; ha finalizado.
 </translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5611"/>
+        <location filename="../UI/UserInterface.py" line="5613"/>
         <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;El punto de entrada de documentación &quot;&lt;b&gt;{0}&lt;/b&gt;&quot; no ha podido encontrarse.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6207"/>
+        <location filename="../UI/UserInterface.py" line="6209"/>
         <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;El archivo de tareas &lt;b&gt;{0}&lt;/b&gt; no pudo ser guardado.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6236"/>
+        <location filename="../UI/UserInterface.py" line="6238"/>
         <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;El archivo de tareas &lt;b&gt;{0}&lt;/b&gt; no puede leerse.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6270"/>
+        <location filename="../UI/UserInterface.py" line="6272"/>
         <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;El archivo de sesión &lt;b&gt;{0}&lt;/b&gt; no ha podido guardarse.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6317"/>
+        <location filename="../UI/UserInterface.py" line="6319"/>
         <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;El archivo de sesión &lt;b&gt;&lt;/b&gt; no ha podido ser leído.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6597"/>
+        <location filename="../UI/UserInterface.py" line="6599"/>
         <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; no es un archivo.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6787"/>
+        <location filename="../UI/UserInterface.py" line="6789"/>
         <source>Trying host {0}</source>
         <translation>Probando host {0}</translation>
     </message>
@@ -77965,7 +77980,7 @@
         <translation>Alt+Shift+B</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6038"/>
+        <location filename="../UI/UserInterface.py" line="6040"/>
         <source>Keyboard shortcut file (*.e4k)</source>
         <translation>Archivo de atajos de teclado (*.e4k)</translation>
     </message>
@@ -78005,27 +78020,27 @@
         <translation>&lt;b&gt;Documentación de Python 2&lt;/b&gt;&lt;p&gt;Mostrar la documentación de Python 2. Si no se ha configurado un directorio con esta documentación, la ubicación de la documentación de Python 2 se asumirá en el directorio de documentación bajo la ubicación del ejecutable configurado de Python 2 en Windows, y en &lt;i&gt;/usr/share/doc/packages/python/html/python-docs-html&lt;/i&gt; para Unix. Establezca el valor de la variable de entorno PYTHON2DOCDIR para sobreescribir estas opciones. &lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6851"/>
+        <location filename="../UI/UserInterface.py" line="6853"/>
         <source>Error getting versions information</source>
         <translation>Error al obtener información de versiones</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6844"/>
+        <location filename="../UI/UserInterface.py" line="6846"/>
         <source>The versions information could not be downloaded. Please go online and try again.</source>
         <translation>La información de versiones no se ha podido descargar. Póngase online por favor e inténtelo de nuevo.</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5813"/>
+        <location filename="../UI/UserInterface.py" line="5815"/>
         <source>Open Browser</source>
         <translation>Abrir Navegador</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5813"/>
+        <location filename="../UI/UserInterface.py" line="5815"/>
         <source>Could not start a web browser</source>
         <translation>No se ha podido iniciar el navegador web</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6851"/>
+        <location filename="../UI/UserInterface.py" line="6853"/>
         <source>The versions information could not be downloaded for the last 7 days. Please go online and try again.</source>
         <translation>La información de versiones no se ha podido descargar en los últimos 7 días. Póngase por favor online e inténtelo de nuevo.</translation>
     </message>
@@ -78111,12 +78126,12 @@
         <translation>&lt;b&gt;Captura de Pantalla&lt;/b&gt;&lt;p&gt;Abre un diálogo para tomar capturas de pantalla de una región de la pantalla.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5045"/>
+        <location filename="../UI/UserInterface.py" line="5047"/>
         <source>&lt;p&gt;Could not start Snapshot tool.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;p&gt;No se ha podido ejecutar la herramienta de Captura de Pantalla.&lt;br&gt;Asegúrese de que esta disponible como &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7059"/>
+        <location filename="../UI/UserInterface.py" line="7061"/>
         <source>Select Workspace Directory</source>
         <translation>Seleccionar Directorio para el Espacio de Trabajo</translation>
     </message>
@@ -78491,7 +78506,7 @@
         <translation>Abrir Documentación de PyQt5</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5480"/>
+        <location filename="../UI/UserInterface.py" line="5482"/>
         <source>&lt;p&gt;The PyQt5 documentation starting point has not been configured.&lt;/p&gt;</source>
         <translation>&lt;P&gt;El punto de entrada de documentación de PyQt5 no ha sido configurado.&lt;/p&gt;</translation>
     </message>
@@ -78501,7 +78516,7 @@
         <translation>&lt;b&gt;Documentación de Python 3&lt;/b&gt;&lt;p&gt;Mostrar la documentación de Python 3. Si no se ha configurado un directorio con lesta documentación, la ubicación de la documentación de Python 3 se asumirá en el directorio de documentación bajo la ubicación del ejecutable de Python 3 en Windows, y en &lt;i&gt;/usr/share/doc/packages/python/html&lt;/i&gt; para Unix. Establezca el valor de la variable de entorno PYTHON3DOCDIR para sobreescribir estas opciones. &lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6778"/>
+        <location filename="../UI/UserInterface.py" line="6780"/>
         <source>%v/%m</source>
         <translation>%v/%m</translation>
     </message>
@@ -78521,7 +78536,7 @@
         <translation>&lt;b&gt;Mostrar registro de errores...&lt;/b&gt;&lt;p&gt;Abre un diálogo mostrando el registro más reciente de errores.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6782"/>
+        <location filename="../UI/UserInterface.py" line="6784"/>
         <source>Version Check</source>
         <translation>Verificación de Versión</translation>
     </message>
@@ -78591,27 +78606,27 @@
         <translation>&lt;b&gt;Documentación de API de Eric&lt;/b&gt;&lt;p&gt;Muestra la documentación de API de Eric. La ubicación de la documentación es el subdirectorio Documentation/Source del directorio de instalación de eric6.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4764"/>
+        <location filename="../UI/UserInterface.py" line="4766"/>
         <source>Qt v.3 is not supported by eric6.</source>
         <translation>Qt v.3 no está soportado por eric6.</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6945"/>
+        <location filename="../UI/UserInterface.py" line="6947"/>
         <source>The update to &lt;b&gt;{0}&lt;/b&gt; of eric6 is available at &lt;b&gt;{1}&lt;/b&gt;. Would you like to get it?</source>
         <translation>La actualización para &lt;b&gt;{0}&lt;/b&gt; de eric6 está disponible en &lt;b&gt;{1}&lt;/b&gt;. ¿Le gustaría obtenerla?</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6958"/>
+        <location filename="../UI/UserInterface.py" line="6960"/>
         <source>Eric6 is up to date</source>
         <translation>Eric6 está actualizado</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6958"/>
+        <location filename="../UI/UserInterface.py" line="6960"/>
         <source>You are using the latest version of eric6</source>
         <translation>Está utilizando la última versión de eric6</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7040"/>
+        <location filename="../UI/UserInterface.py" line="7042"/>
         <source>eric6 has not been configured yet. The configuration dialog will be started.</source>
         <translation>Eric6 todavía no está configurado. El diálogo de configuración va a ser iniciado.</translation>
     </message>
@@ -78631,7 +78646,7 @@
         <translation>No se han Configurado Herramientas de Usuario</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6798"/>
+        <location filename="../UI/UserInterface.py" line="6800"/>
         <source>The versions information cannot not be downloaded because you are &lt;b&gt;offline&lt;/b&gt;. Please go online and try again.</source>
         <translation>La información de versiones no se puede descargar porque está &lt;b&gt;sin línea&lt;/b&gt;. Por favor, póngase en línea e inténtelo de nuevo.</translation>
     </message>
@@ -78676,7 +78691,7 @@
         <translation>&lt;b&gt;Guardar sesión...&lt;/b&gt;&lt;p&gt;Guarda la sesión actual a disco. Se muestra un diálogo para seleccionar el nombre de archivo.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6355"/>
+        <location filename="../UI/UserInterface.py" line="6357"/>
         <source>Load session</source>
         <translation>Cargar sesión</translation>
     </message>
@@ -78691,17 +78706,17 @@
         <translation>&lt;b&gt;Cargar sesión...&lt;/b&gt;&lt;p&gt;Carga una sesión guardada en disco anteriormente. Se muestra un diálogo para seleccionar el nombre de archivo.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6355"/>
+        <location filename="../UI/UserInterface.py" line="6357"/>
         <source>eric6 Session Files (*.e5s)</source>
         <translation>Archivos de Sesión de eric6 (*.e5s)</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6402"/>
+        <location filename="../UI/UserInterface.py" line="6404"/>
         <source>Crash Session found!</source>
         <translation>¡Se ha hallado una sesión perdida!</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6402"/>
+        <location filename="../UI/UserInterface.py" line="6404"/>
         <source>A session file of a crashed session was found. Shall this session be restored?</source>
         <translation>Se ha encontrado un archivo de sesió para una sesión perdida. ¿Desea restaurar esta sesión?</translation>
     </message>
@@ -78716,17 +78731,17 @@
         <translation>Inicializando Plugins...</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6933"/>
+        <location filename="../UI/UserInterface.py" line="6935"/>
         <source>Update Check</source>
         <translation>Comprobación Actualización</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6933"/>
+        <location filename="../UI/UserInterface.py" line="6935"/>
         <source>You installed eric directly from the source code. There is no possibility to check for the availability of an update.</source>
         <translation>Ha instalado eric directamente a partir del código fuente. No es posible comprobar la disponibilidad de una actuación.</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6923"/>
+        <location filename="../UI/UserInterface.py" line="6925"/>
         <source>You are using a snapshot release of eric6. A more up-to-date stable release might be available.</source>
         <translation>Ésta es una snapshot release the eric6. Una release estable más reciente podría estar disponible.</translation>
     </message>
@@ -78781,7 +78796,7 @@
         <translation>&lt;b&gt;Documentación de PySide2&lt;/b&gt;&lt;p&gt;Muestra la Documentación de PySide2. Dependiendo de la configuración, esta documentación será mostrará en el visor de ayuda interno de Eric, o se ejecutará en un navegador web, o Qt Assistant.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5594"/>
+        <location filename="../UI/UserInterface.py" line="5596"/>
         <source>&lt;p&gt;The PySide{0} documentation starting point has not been configured.&lt;/p&gt;</source>
         <translation>&lt;P&gt;El punto de entrada de documentación de PySide{0} no ha sido configurado.&lt;/p&gt;</translation>
     </message>
@@ -78857,17 +78872,17 @@
         <translation>&lt;b&gt;Reiniciar la IDE&lt;/b&gt;&lt;p&gt;Reinicia la IDE. Todos los cambios sin guardar pueden ser guardados primero. Cualquier programa de Python que esté en depuración será detenido, y las preferencias se guardarán en disco.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5768"/>
+        <location filename="../UI/UserInterface.py" line="5770"/>
         <source>Start Web Browser</source>
         <translation>Iniciar Navegador Web</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5710"/>
+        <location filename="../UI/UserInterface.py" line="5712"/>
         <source>The eric6 web browser could not be started.</source>
         <translation>El navegador web de eric 6 no se ha podido iniciar.</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5768"/>
+        <location filename="../UI/UserInterface.py" line="5770"/>
         <source>&lt;p&gt;The eric6 web browser is not started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation>&lt;p&gt;El navegador web de eric6 no se ha iniciado.&lt;/p&gt;&lt;p&gt;Razón: {0}&lt;/p&gt;</translation>
     </message>
--- a/i18n/eric6_fr.ts	Wed Mar 20 19:23:12 2019 +0100
+++ b/i18n/eric6_fr.ts	Wed Mar 20 19:41:04 2019 +0100
@@ -6265,7 +6265,7 @@
         <translation>Connexion en provenance d&apos;un hote illégal</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="1515"/>
+        <location filename="../Debugger/DebugServer.py" line="1524"/>
         <source>
 Not connected
 </source>
@@ -6277,13 +6277,13 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="1708"/>
+        <location filename="../Debugger/DebugServer.py" line="1717"/>
         <source>Passive debug connection received
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="1722"/>
+        <location filename="../Debugger/DebugServer.py" line="1731"/>
         <source>Passive debug connection closed
 </source>
         <translation type="unfinished"></translation>
@@ -6299,12 +6299,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="1340"/>
+        <location filename="../Debugger/DebugServer.py" line="1349"/>
         <source>Start Debugger</source>
         <translation type="unfinished">Démarrage du débogueur</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="1340"/>
+        <location filename="../Debugger/DebugServer.py" line="1349"/>
         <source>&lt;p&gt;The debugger type &lt;b&gt;{0}&lt;/b&gt; is not supported or not configured.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -48263,47 +48263,47 @@
 <context>
     <name>NetworkManager</name>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="197"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="198"/>
         <source>SSL Certificate Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="198"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="199"/>
         <source>&lt;b&gt;{0}&lt;/b&gt;&lt;p&gt;The page you are trying to access has errors in the SSL certificate.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{1}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Would you like to make an exception?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="208"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="209"/>
         <source>&amp;Permanent accept</source>
         <translation type="unfinished">Accepter &amp;définitivement</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="210"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="211"/>
         <source>&amp;Temporary accept</source>
         <translation type="unfinished">Accepter &amp;temporairement</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="212"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="213"/>
         <source>&amp;Reject</source>
         <translation type="unfinished">&amp;Refuser</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="245"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="246"/>
         <source>&lt;b&gt;Enter username and password for &apos;{0}&apos;, realm &apos;{1}&apos;&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="248"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="249"/>
         <source>&lt;b&gt;Enter username and password for &apos;{0}&apos;&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="291"/>
-        <source>Authentication required</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../WebBrowser/Network/NetworkManager.py" line="292"/>
+        <source>Authentication required</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="293"/>
         <source>Authentication is required to access:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -75954,32 +75954,32 @@
 <context>
     <name>UnittestDialog</name>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="405"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="428"/>
         <source>Unittest</source>
         <translation>Tests unitaires</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="121"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="129"/>
         <source>^Failure: </source>
         <translation>^Echec: </translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="122"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="130"/>
         <source>^Error: </source>
         <translation>^Erreur:</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="271"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="291"/>
         <source>You must enter a test suite file.</source>
         <translation>Vous devez entrer un fichier test correct.</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="279"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="299"/>
         <source>Preparing Testsuite</source>
         <translation>Préparation de Testsuite</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="477"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="500"/>
         <source>Running</source>
         <translation>En cours d&apos;execution</translation>
     </message>
@@ -76020,97 +76020,97 @@
         <translation>Entrer le nom du &amp;fichier de test:</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="91"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="123"/>
         <source>Select whether you want to run the test locally</source>
         <translation>Cocher pour effectuer le test localement</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="94"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="126"/>
         <source>Run &amp;local</source>
         <translation>Lancer &amp;localement</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="101"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="133"/>
         <source>Select whether coverage data should be collected</source>
         <translation>Cocher pour collecter les données issues du coverage de code</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="104"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="136"/>
         <source>C&amp;ollect coverage data</source>
         <translation>C&amp;ollecter les donnée du coverage</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="114"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="146"/>
         <source>Select whether old coverage data should be erased</source>
         <translation>Cocher pour effacer les anciennes données Coverage du code</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="117"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="149"/>
         <source>&amp;Erase coverage data</source>
         <translation>&amp;Supprimer les données de coverage</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="135"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="169"/>
         <source>Progress:</source>
         <translation>Etat de progression:</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="175"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="209"/>
         <source>Run:</source>
         <translation>Execution:</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="182"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="216"/>
         <source>Number of tests run</source>
         <translation>Nombre d&apos;executions tests</translation>
     </message>
     <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="260"/>
+        <source>Failures:</source>
+        <translation>Echecs:</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="267"/>
+        <source>Number of test failures</source>
+        <translation>Nombre d&apos;echecs</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="277"/>
+        <source>Errors:</source>
+        <translation>Erreurs:</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="284"/>
+        <source>Number of test errors</source>
+        <translation>Nombre d&apos;erreurs</translation>
+    </message>
+    <message>
         <location filename="../PyUnit/UnittestDialog.ui" line="226"/>
-        <source>Failures:</source>
-        <translation>Echecs:</translation>
+        <source>Remaining:</source>
+        <translation>Restants:</translation>
     </message>
     <message>
         <location filename="../PyUnit/UnittestDialog.ui" line="233"/>
-        <source>Number of test failures</source>
-        <translation>Nombre d&apos;echecs</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="243"/>
-        <source>Errors:</source>
-        <translation>Erreurs:</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="250"/>
-        <source>Number of test errors</source>
-        <translation>Nombre d&apos;erreurs</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="192"/>
-        <source>Remaining:</source>
-        <translation>Restants:</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="199"/>
         <source>Number of tests to be run</source>
         <translation>Nombre de tests restants</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="332"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="366"/>
         <source>Tests performed:</source>
         <translation>Tests effectués:</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="342"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="376"/>
         <source>Failures and errors:</source>
         <translation>Echecs et erreurs:</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="349"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="383"/>
         <source>Failures and Errors list</source>
         <translation>Liste des echecs et erreurs</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="352"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="386"/>
         <source>&lt;b&gt;Failures and Errors list&lt;/b&gt;
 &lt;p&gt;This list shows all failed and errored tests.
 Double clicking on an entry will show the respective traceback.&lt;/p&gt;</source>
@@ -76119,142 +76119,142 @@
 Double-cliquer sur une entrée pour afficher la trace de l&apos;erreur.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="73"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="75"/>
         <source>Start the selected testsuite</source>
         <translation>Lancer la suite de tests</translation>
     </message>
     <message>
+        <location filename="../PyUnit/UnittestDialog.py" line="90"/>
+        <source>Stop the running unittest</source>
+        <translation>Stoppe le test unitest en cours</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="413"/>
+        <source>Idle</source>
+        <translation>Idle</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.py" line="73"/>
+        <source>Start</source>
+        <translation>Lancer</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.py" line="77"/>
+        <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;Lancer les tests&lt;/b&gt;&lt;p&gt;Ce bouton lance la suite de tests sélectionnée.&lt;/p&gt;</translation>
+    </message>
+    <message>
         <location filename="../PyUnit/UnittestDialog.py" line="88"/>
-        <source>Stop the running unittest</source>
-        <translation>Stoppe le test unitest en cours</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="379"/>
-        <source>Idle</source>
-        <translation>Idle</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="71"/>
-        <source>Start</source>
-        <translation>Lancer</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="75"/>
-        <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;Lancer les tests&lt;/b&gt;&lt;p&gt;Ce bouton lance la suite de tests sélectionnée.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="86"/>
         <source>Stop</source>
         <translation>Arrêt</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="89"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="91"/>
         <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;Stopper le test&lt;/b&gt;&lt;p&gt;Stoppe le test unittest en cours.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="642"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="665"/>
         <source>Show Source</source>
         <translation>Afficher les sources</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="211"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="228"/>
         <source>Python Files (*.py);;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="207"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="224"/>
         <source>Python3 Files ({1});;Python2 Files ({0});;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="405"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="428"/>
         <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="501"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="524"/>
         <source>Ran {0} test in {1:.3f}s</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="505"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="528"/>
         <source>Ran {0} tests in {1:.3f}s</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="522"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="545"/>
         <source>Failure: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="537"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="560"/>
         <source>Error: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="260"/>
-        <source>Skipped:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="267"/>
-        <source>Number of tests skipped</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="277"/>
-        <source>Expected Failures:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="284"/>
-        <source>Number of tests with expected failure</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../PyUnit/UnittestDialog.ui" line="294"/>
-        <source>Unexpected Successes:</source>
+        <source>Skipped:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PyUnit/UnittestDialog.ui" line="301"/>
+        <source>Number of tests skipped</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="311"/>
+        <source>Expected Failures:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="318"/>
+        <source>Number of tests with expected failure</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="328"/>
+        <source>Unexpected Successes:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="335"/>
         <source>Number of tests with unexpected success</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="552"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="575"/>
         <source>    Skipped: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="567"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="590"/>
         <source>    Expected Failure</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="581"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="604"/>
         <source>    Unexpected Success</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="78"/>
-        <source>Rerun Failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../PyUnit/UnittestDialog.py" line="80"/>
-        <source>Reruns failed tests of the selected testsuite</source>
+        <source>Rerun Failed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PyUnit/UnittestDialog.py" line="82"/>
+        <source>Reruns failed tests of the selected testsuite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.py" line="84"/>
         <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>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="166"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="200"/>
         <source>%v/%m Tests</source>
         <translation type="unfinished"></translation>
     </message>
@@ -76269,10 +76269,25 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="127"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="161"/>
         <source>Progress</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="93"/>
+        <source>Virtual Environment:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="109"/>
+        <source>Select the virtual environment to be used</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="112"/>
+        <source>&lt;b&gt;Virtual Environment&lt;/b&gt;\n&lt;p&gt;Enter the virtual environment to be used. Leave it empty to use the default environment, i.e. the one configured globally or per project.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UrlBar</name>
@@ -76601,7 +76616,7 @@
         <translation>&lt;b&gt;Raccourcis claviers&lt;/b&gt;&lt;p&gt;Edite les raccourcis claviers pour l&apos;application.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6014"/>
+        <location filename="../UI/UserInterface.py" line="6016"/>
         <source>Export Keyboard Shortcuts</source>
         <translation>Exporter les raccourcis clavier</translation>
     </message>
@@ -76621,7 +76636,7 @@
         <translation>&lt;b&gt;Exporter les raccourcis clavier&lt;/b&gt;&lt;p&gt;Exporte les raccourcis claviers de l&apos;application.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6038"/>
+        <location filename="../UI/UserInterface.py" line="6040"/>
         <source>Import Keyboard Shortcuts</source>
         <translation>Importer des raccourcis clavier</translation>
     </message>
@@ -76661,7 +76676,7 @@
         <translation>Outils</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4817"/>
+        <location filename="../UI/UserInterface.py" line="4819"/>
         <source>Help</source>
         <translation>Aide</translation>
     </message>
@@ -76676,12 +76691,12 @@
         <translation>&amp;Barres d&apos;Outils</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4943"/>
+        <location filename="../UI/UserInterface.py" line="4945"/>
         <source>Problem</source>
         <translation>Problème</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5132"/>
+        <location filename="../UI/UserInterface.py" line="5134"/>
         <source>Process Generation Error</source>
         <translation>Erreur du processus</translation>
     </message>
@@ -76737,7 +76752,7 @@
         <translation>&lt;b&gt;Script de tests unitaires&lt;/b&gt;&lt;p&gt;Lance les tests unitaires sur le script en cours.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4559"/>
+        <location filename="../UI/UserInterface.py" line="4560"/>
         <source>Unittest Project</source>
         <translation>Projet de tests unitaires</translation>
     </message>
@@ -76792,12 +76807,12 @@
         <translation>Tests &amp;unitaires</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4559"/>
+        <location filename="../UI/UserInterface.py" line="4560"/>
         <source>There is no main script defined for the current project. Aborting</source>
         <translation>Il n&apos;y a pas de script principal défini dans le projet en cours. Abandon</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6597"/>
+        <location filename="../UI/UserInterface.py" line="6599"/>
         <source>Drop Error</source>
         <translation>Erreur de suppression</translation>
     </message>
@@ -76932,22 +76947,22 @@
         <translation>Visualisueur de tâches</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6207"/>
+        <location filename="../UI/UserInterface.py" line="6209"/>
         <source>Save tasks</source>
         <translation>Enregistrement des tâches</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6236"/>
+        <location filename="../UI/UserInterface.py" line="6238"/>
         <source>Read tasks</source>
         <translation>Lecture des tâches</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4817"/>
+        <location filename="../UI/UserInterface.py" line="4819"/>
         <source>Currently no custom viewer is selected. Please use the preferences dialog to specify one.</source>
         <translation>Aucun visualiseur personalisé n&apos;est sélectionné. Prière d&apos;en spécifier un dans les préférences.</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5611"/>
+        <location filename="../UI/UserInterface.py" line="5613"/>
         <source>Documentation Missing</source>
         <translation>Documentation Manquante</translation>
     </message>
@@ -77047,7 +77062,7 @@
         <translation>Ouvre la documentation sur les APIs Eric</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4851"/>
+        <location filename="../UI/UserInterface.py" line="4853"/>
         <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;Impossible de démarrer le visualiseur d&apos;aide.&lt;br&gt;Assurez-vous qu&apos;il est bien ici &lt;b&gt;hh&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
@@ -77128,22 +77143,22 @@
         <translation>Outils &amp;internes</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5594"/>
+        <location filename="../UI/UserInterface.py" line="5596"/>
         <source>Documentation</source>
         <translation>Documentation</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5417"/>
+        <location filename="../UI/UserInterface.py" line="5419"/>
         <source>&lt;p&gt;The PyQt4 documentation starting point has not been configured.&lt;/p&gt;</source>
         <translation>&lt;p&gt;L&apos;emplacement de la documentation PyQt4 n&apos;a pas été configuré.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6965"/>
+        <location filename="../UI/UserInterface.py" line="6967"/>
         <source>Error during updates check</source>
         <translation>Erreur durant la recherche de mises à jour</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6945"/>
+        <location filename="../UI/UserInterface.py" line="6947"/>
         <source>Update available</source>
         <translation>Mise à jour disponible</translation>
     </message>
@@ -77153,17 +77168,17 @@
         <translation>&lt;h3&gt;Numéros de version&lt;/h3&gt;&lt;table&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7003"/>
+        <location filename="../UI/UserInterface.py" line="7005"/>
         <source>&lt;/table&gt;</source>
         <translation>&lt;/table&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5813"/>
+        <location filename="../UI/UserInterface.py" line="5815"/>
         <source>Open Browser</source>
         <translation type="unfinished">Ouverture du navigateur</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5813"/>
+        <location filename="../UI/UserInterface.py" line="5815"/>
         <source>Could not start a web browser</source>
         <translation type="unfinished">Impossible de lancer le navigateur web</translation>
     </message>
@@ -77188,17 +77203,17 @@
         <translation>Afficher les &amp;outils externes</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6778"/>
+        <location filename="../UI/UserInterface.py" line="6780"/>
         <source>&amp;Cancel</source>
         <translation>&amp;Annuler</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6965"/>
+        <location filename="../UI/UserInterface.py" line="6967"/>
         <source>Could not perform updates check.</source>
         <translation>Impossible de vérifier les mises à jour.</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7040"/>
+        <location filename="../UI/UserInterface.py" line="7042"/>
         <source>First time usage</source>
         <translation>Première utilisation</translation>
     </message>
@@ -77293,7 +77308,7 @@
         <translation>Affiche les versions disponibles pour le téléchargement</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6989"/>
+        <location filename="../UI/UserInterface.py" line="6991"/>
         <source>&lt;h3&gt;Available versions&lt;/h3&gt;&lt;table&gt;</source>
         <translation>&lt;h3&gt;Versions disponibles&lt;/h3&gt;&lt;table&gt;</translation>
     </message>
@@ -77383,17 +77398,17 @@
         <translation>Gestionnaire de &amp;multi-projet</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5077"/>
+        <location filename="../UI/UserInterface.py" line="5079"/>
         <source>External Tools</source>
         <translation>Outils externes</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6333"/>
+        <location filename="../UI/UserInterface.py" line="6335"/>
         <source>Save session</source>
         <translation>Enregistrer la session</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6317"/>
+        <location filename="../UI/UserInterface.py" line="6319"/>
         <source>Read session</source>
         <translation>Chargement de session</translation>
     </message>
@@ -77623,7 +77638,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4764"/>
+        <location filename="../UI/UserInterface.py" line="4766"/>
         <source>Qt 3 support</source>
         <translation type="unfinished"></translation>
     </message>
@@ -77663,104 +77678,104 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4943"/>
+        <location filename="../UI/UserInterface.py" line="4945"/>
         <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4667"/>
+        <location filename="../UI/UserInterface.py" line="4669"/>
         <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4736"/>
+        <location filename="../UI/UserInterface.py" line="4738"/>
         <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4789"/>
+        <location filename="../UI/UserInterface.py" line="4791"/>
         <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4831"/>
+        <location filename="../UI/UserInterface.py" line="4833"/>
         <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4899"/>
+        <location filename="../UI/UserInterface.py" line="4901"/>
         <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4954"/>
+        <location filename="../UI/UserInterface.py" line="4956"/>
         <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4975"/>
+        <location filename="../UI/UserInterface.py" line="4977"/>
         <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5068"/>
+        <location filename="../UI/UserInterface.py" line="5070"/>
         <source>No tool entry found for external tool &apos;{0}&apos; in tool group &apos;{1}&apos;.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5077"/>
+        <location filename="../UI/UserInterface.py" line="5079"/>
         <source>No toolgroup entry &apos;{0}&apos; found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5116"/>
+        <location filename="../UI/UserInterface.py" line="5118"/>
         <source>Starting process &apos;{0} {1}&apos;.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5132"/>
+        <location filename="../UI/UserInterface.py" line="5134"/>
         <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5208"/>
+        <location filename="../UI/UserInterface.py" line="5210"/>
         <source>Process &apos;{0}&apos; has exited.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5611"/>
+        <location filename="../UI/UserInterface.py" line="5613"/>
         <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6207"/>
+        <location filename="../UI/UserInterface.py" line="6209"/>
         <source>&lt;p&gt;The tasks file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6236"/>
+        <location filename="../UI/UserInterface.py" line="6238"/>
         <source>&lt;p&gt;The tasks file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6270"/>
+        <location filename="../UI/UserInterface.py" line="6272"/>
         <source>&lt;p&gt;The session file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6317"/>
+        <location filename="../UI/UserInterface.py" line="6319"/>
         <source>&lt;p&gt;The session file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6597"/>
+        <location filename="../UI/UserInterface.py" line="6599"/>
         <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6787"/>
+        <location filename="../UI/UserInterface.py" line="6789"/>
         <source>Trying host {0}</source>
         <translation type="unfinished"></translation>
     </message>
@@ -77795,7 +77810,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6038"/>
+        <location filename="../UI/UserInterface.py" line="6040"/>
         <source>Keyboard shortcut file (*.e4k)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -77835,17 +77850,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6851"/>
+        <location filename="../UI/UserInterface.py" line="6853"/>
         <source>Error getting versions information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6844"/>
+        <location filename="../UI/UserInterface.py" line="6846"/>
         <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="6851"/>
+        <location filename="../UI/UserInterface.py" line="6853"/>
         <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>
@@ -77931,12 +77946,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5045"/>
+        <location filename="../UI/UserInterface.py" line="5047"/>
         <source>&lt;p&gt;Could not start Snapshot tool.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7059"/>
+        <location filename="../UI/UserInterface.py" line="7061"/>
         <source>Select Workspace Directory</source>
         <translation type="unfinished"></translation>
     </message>
@@ -78311,7 +78326,7 @@
         <translation type="unfinished">Lance la documentation PyQt4 {5 ?}</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5480"/>
+        <location filename="../UI/UserInterface.py" line="5482"/>
         <source>&lt;p&gt;The PyQt5 documentation starting point has not been configured.&lt;/p&gt;</source>
         <translation type="unfinished">&lt;p&gt;L&apos;emplacement de la documentation PyQt4 n&apos;a pas été configuré.&lt;/p&gt; {5 ?}</translation>
     </message>
@@ -78321,7 +78336,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6778"/>
+        <location filename="../UI/UserInterface.py" line="6780"/>
         <source>%v/%m</source>
         <translation type="unfinished"></translation>
     </message>
@@ -78341,7 +78356,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6782"/>
+        <location filename="../UI/UserInterface.py" line="6784"/>
         <source>Version Check</source>
         <translation type="unfinished"></translation>
     </message>
@@ -78411,27 +78426,27 @@
         <translation type="unfinished">&lt;b&gt;Documentation de l&apos;API Eric&lt;/b&gt;&lt;p&gt;Affiche la do. The location for the documentation is the Documentation/Source subdirectory of the eric4 installation directory.&lt;/p&gt; {5 ?} {6 ?}</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4764"/>
+        <location filename="../UI/UserInterface.py" line="4766"/>
         <source>Qt v.3 is not supported by eric6.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6945"/>
+        <location filename="../UI/UserInterface.py" line="6947"/>
         <source>The update to &lt;b&gt;{0}&lt;/b&gt; of eric6 is available at &lt;b&gt;{1}&lt;/b&gt;. Would you like to get it?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6958"/>
+        <location filename="../UI/UserInterface.py" line="6960"/>
         <source>Eric6 is up to date</source>
         <translation type="unfinished">Eric4 est à jour {5 ?} {6 ?}</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6958"/>
+        <location filename="../UI/UserInterface.py" line="6960"/>
         <source>You are using the latest version of eric6</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7040"/>
+        <location filename="../UI/UserInterface.py" line="7042"/>
         <source>eric6 has not been configured yet. The configuration dialog will be started.</source>
         <translation type="unfinished">eric4 n&apos;a pas encore été configuré. La fenêtre de configuration va être ouverte. {5 ?} {6 ?}</translation>
     </message>
@@ -78451,7 +78466,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6798"/>
+        <location filename="../UI/UserInterface.py" line="6800"/>
         <source>The versions information cannot not be downloaded because you are &lt;b&gt;offline&lt;/b&gt;. Please go online and try again.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -78496,7 +78511,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6355"/>
+        <location filename="../UI/UserInterface.py" line="6357"/>
         <source>Load session</source>
         <translation type="unfinished">Charger la session</translation>
     </message>
@@ -78511,17 +78526,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6355"/>
+        <location filename="../UI/UserInterface.py" line="6357"/>
         <source>eric6 Session Files (*.e5s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6402"/>
+        <location filename="../UI/UserInterface.py" line="6404"/>
         <source>Crash Session found!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6402"/>
+        <location filename="../UI/UserInterface.py" line="6404"/>
         <source>A session file of a crashed session was found. Shall this session be restored?</source>
         <translation type="unfinished"></translation>
     </message>
@@ -78536,17 +78551,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6933"/>
+        <location filename="../UI/UserInterface.py" line="6935"/>
         <source>Update Check</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6933"/>
+        <location filename="../UI/UserInterface.py" line="6935"/>
         <source>You installed eric directly from the source code. There is no possibility to check for the availability of an update.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6923"/>
+        <location filename="../UI/UserInterface.py" line="6925"/>
         <source>You are using a snapshot release of eric6. A more up-to-date stable release might be available.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -78601,7 +78616,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5594"/>
+        <location filename="../UI/UserInterface.py" line="5596"/>
         <source>&lt;p&gt;The PySide{0} documentation starting point has not been configured.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -78677,17 +78692,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5768"/>
+        <location filename="../UI/UserInterface.py" line="5770"/>
         <source>Start Web Browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5710"/>
+        <location filename="../UI/UserInterface.py" line="5712"/>
         <source>The eric6 web browser could not be started.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5768"/>
+        <location filename="../UI/UserInterface.py" line="5770"/>
         <source>&lt;p&gt;The eric6 web browser is not started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
--- a/i18n/eric6_it.ts	Wed Mar 20 19:23:12 2019 +0100
+++ b/i18n/eric6_it.ts	Wed Mar 20 19:41:04 2019 +0100
@@ -6280,7 +6280,7 @@
         <translation>Connessione da un non vietato</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="1515"/>
+        <location filename="../Debugger/DebugServer.py" line="1524"/>
         <source>
 Not connected
 </source>
@@ -6292,13 +6292,13 @@
         <translation>&lt;p&gt;Una connessione è stata tentata da un host vietato &lt;b&gt;{0}&lt;/b&gt;.  Accettare questa connessione ?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="1708"/>
+        <location filename="../Debugger/DebugServer.py" line="1717"/>
         <source>Passive debug connection received
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="1722"/>
+        <location filename="../Debugger/DebugServer.py" line="1731"/>
         <source>Passive debug connection closed
 </source>
         <translation type="unfinished"></translation>
@@ -6314,12 +6314,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="1340"/>
+        <location filename="../Debugger/DebugServer.py" line="1349"/>
         <source>Start Debugger</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="1340"/>
+        <location filename="../Debugger/DebugServer.py" line="1349"/>
         <source>&lt;p&gt;The debugger type &lt;b&gt;{0}&lt;/b&gt; is not supported or not configured.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -48310,47 +48310,47 @@
 <context>
     <name>NetworkManager</name>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="197"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="198"/>
         <source>SSL Certificate Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="198"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="199"/>
         <source>&lt;b&gt;{0}&lt;/b&gt;&lt;p&gt;The page you are trying to access has errors in the SSL certificate.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{1}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Would you like to make an exception?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="208"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="209"/>
         <source>&amp;Permanent accept</source>
         <translation type="unfinished">Accetta &amp;Permanentemente</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="210"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="211"/>
         <source>&amp;Temporary accept</source>
         <translation type="unfinished">Accetta &amp;Temporaneamente</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="212"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="213"/>
         <source>&amp;Reject</source>
         <translation type="unfinished">&amp;Rigetta</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="245"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="246"/>
         <source>&lt;b&gt;Enter username and password for &apos;{0}&apos;, realm &apos;{1}&apos;&lt;/b&gt;</source>
         <translation type="unfinished">&lt;b&gt;Inserisci utente e password per &apos;{0}&apos;, dominio &apos;{1}&apos;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="248"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="249"/>
         <source>&lt;b&gt;Enter username and password for &apos;{0}&apos;&lt;/b&gt;</source>
         <translation type="unfinished">&lt;b&gt;Inserisci utente e password per &apos;{0}&apos;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="291"/>
-        <source>Authentication required</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../WebBrowser/Network/NetworkManager.py" line="292"/>
+        <source>Authentication required</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="293"/>
         <source>Authentication is required to access:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -76008,32 +76008,32 @@
 <context>
     <name>UnittestDialog</name>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="405"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="428"/>
         <source>Unittest</source>
         <translation>Unittest</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="121"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="129"/>
         <source>^Failure: </source>
         <translation>^Failure:</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="122"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="130"/>
         <source>^Error: </source>
         <translation>^Error: </translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="271"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="291"/>
         <source>You must enter a test suite file.</source>
         <translation>Devi inserire il file di una suite di test.</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="279"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="299"/>
         <source>Preparing Testsuite</source>
         <translation>Preparazione Testsuite</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="477"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="500"/>
         <source>Running</source>
         <translation>In esecuzione</translation>
     </message>
@@ -76076,97 +76076,97 @@
         <translation>Inserisci il nome del &amp;file di test:</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="91"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="123"/>
         <source>Select whether you want to run the test locally</source>
         <translation>Seleziona se vuoi eseguire i test in locale</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="94"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="126"/>
         <source>Run &amp;local</source>
         <translation>Esegui in &amp;locale</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="101"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="133"/>
         <source>Select whether coverage data should be collected</source>
         <translation>Seleziona se i dati di coverage devono essere salvati</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="104"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="136"/>
         <source>C&amp;ollect coverage data</source>
         <translation>Salva di dati di c&amp;overage</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="114"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="146"/>
         <source>Select whether old coverage data should be erased</source>
         <translation>Seleziona se i vecchi dati di coverage devono essere cancellati</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="117"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="149"/>
         <source>&amp;Erase coverage data</source>
         <translation>Canc&amp;ella di dati di coverage</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="135"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="169"/>
         <source>Progress:</source>
         <translation>Avanzamento:</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="175"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="209"/>
         <source>Run:</source>
         <translation>Esegui:</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="182"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="216"/>
         <source>Number of tests run</source>
         <translation>Numero di test eseguiti</translation>
     </message>
     <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="260"/>
+        <source>Failures:</source>
+        <translation>Fallimenti:</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="267"/>
+        <source>Number of test failures</source>
+        <translation>Numero di test falliti</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="277"/>
+        <source>Errors:</source>
+        <translation>Errori:</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="284"/>
+        <source>Number of test errors</source>
+        <translation>Numero di errori nei test</translation>
+    </message>
+    <message>
         <location filename="../PyUnit/UnittestDialog.ui" line="226"/>
-        <source>Failures:</source>
-        <translation>Fallimenti:</translation>
+        <source>Remaining:</source>
+        <translation>Rimanenti:</translation>
     </message>
     <message>
         <location filename="../PyUnit/UnittestDialog.ui" line="233"/>
-        <source>Number of test failures</source>
-        <translation>Numero di test falliti</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="243"/>
-        <source>Errors:</source>
-        <translation>Errori:</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="250"/>
-        <source>Number of test errors</source>
-        <translation>Numero di errori nei test</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="192"/>
-        <source>Remaining:</source>
-        <translation>Rimanenti:</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="199"/>
         <source>Number of tests to be run</source>
         <translation>Numero di test da eseguire</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="332"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="366"/>
         <source>Tests performed:</source>
         <translation>Test eseguiti:</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="342"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="376"/>
         <source>Failures and errors:</source>
         <translation>Falliment ed errori:</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="349"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="383"/>
         <source>Failures and Errors list</source>
         <translation>Lista dei fallimenti e degli errori</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="352"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="386"/>
         <source>&lt;b&gt;Failures and Errors list&lt;/b&gt;
 &lt;p&gt;This list shows all failed and errored tests.
 Double clicking on an entry will show the respective traceback.&lt;/p&gt;</source>
@@ -76175,142 +76175,142 @@
 Facendo doppio click su un elemento verrà aperto il rispettivo traceback.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="73"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="75"/>
         <source>Start the selected testsuite</source>
         <translation>Avvia la testsuite selezioanata</translation>
     </message>
     <message>
+        <location filename="../PyUnit/UnittestDialog.py" line="90"/>
+        <source>Stop the running unittest</source>
+        <translation>Ferma l&apos;esecuzione della unittest</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="413"/>
+        <source>Idle</source>
+        <translation>Attesa</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.py" line="73"/>
+        <source>Start</source>
+        <translation>Inizia</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.py" line="77"/>
+        <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;Avvia test&lt;/b&gt;&lt;P&gt;Questo pulsante avvia la testsuite selezionata.&lt;/p&gt;</translation>
+    </message>
+    <message>
         <location filename="../PyUnit/UnittestDialog.py" line="88"/>
-        <source>Stop the running unittest</source>
-        <translation>Ferma l&apos;esecuzione della unittest</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="379"/>
-        <source>Idle</source>
-        <translation>Attesa</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="71"/>
-        <source>Start</source>
-        <translation>Inizia</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="75"/>
-        <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;Avvia test&lt;/b&gt;&lt;P&gt;Questo pulsante avvia la testsuite selezionata.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="86"/>
         <source>Stop</source>
         <translation>Ferma</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="89"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="91"/>
         <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;Ferma test&lt;/b&gt;&lt;p&gt;Questo pulsante ferma una unitttest in esecuzione.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="642"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="665"/>
         <source>Show Source</source>
         <translation>Mostra sorgenti</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="211"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="228"/>
         <source>Python Files (*.py);;All Files (*)</source>
         <translation>File Python (*.py);;Tutti i File (*)</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="207"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="224"/>
         <source>Python3 Files ({1});;Python2 Files ({0});;All Files (*)</source>
         <translation>File Python3 ({0});;File Python1({1});;Tutti i File (*)</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="405"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="428"/>
         <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;Impossibile eseguire 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="501"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="524"/>
         <source>Ran {0} test in {1:.3f}s</source>
         <translation>Eseguiti {0} test in {1:.3f} s</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="505"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="528"/>
         <source>Ran {0} tests in {1:.3f}s</source>
         <translation>Eseguiti {0} test in {1:.3f} s</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="522"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="545"/>
         <source>Failure: {0}</source>
         <translation>Fallimenti: {0}</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="537"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="560"/>
         <source>Error: {0}</source>
         <translation>Errori: {0}</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="260"/>
-        <source>Skipped:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="267"/>
-        <source>Number of tests skipped</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="277"/>
-        <source>Expected Failures:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="284"/>
-        <source>Number of tests with expected failure</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../PyUnit/UnittestDialog.ui" line="294"/>
-        <source>Unexpected Successes:</source>
+        <source>Skipped:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PyUnit/UnittestDialog.ui" line="301"/>
+        <source>Number of tests skipped</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="311"/>
+        <source>Expected Failures:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="318"/>
+        <source>Number of tests with expected failure</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="328"/>
+        <source>Unexpected Successes:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="335"/>
         <source>Number of tests with unexpected success</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="552"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="575"/>
         <source>    Skipped: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="567"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="590"/>
         <source>    Expected Failure</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="581"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="604"/>
         <source>    Unexpected Success</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="78"/>
-        <source>Rerun Failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../PyUnit/UnittestDialog.py" line="80"/>
-        <source>Reruns failed tests of the selected testsuite</source>
+        <source>Rerun Failed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PyUnit/UnittestDialog.py" line="82"/>
+        <source>Reruns failed tests of the selected testsuite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.py" line="84"/>
         <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>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="166"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="200"/>
         <source>%v/%m Tests</source>
         <translation type="unfinished"></translation>
     </message>
@@ -76325,10 +76325,25 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="127"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="161"/>
         <source>Progress</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="93"/>
+        <source>Virtual Environment:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="109"/>
+        <source>Select the virtual environment to be used</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="112"/>
+        <source>&lt;b&gt;Virtual Environment&lt;/b&gt;\n&lt;p&gt;Enter the virtual environment to be used. Leave it empty to use the default environment, i.e. the one configured globally or per project.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UrlBar</name>
@@ -76657,7 +76672,7 @@
         <translation>&lt;b&gt;Scorciatoie da tastiera&lt;/b&gt;&lt;p&gt;Imposta le scorciatoie da tastiera dell&apos;applicazione con i valori personalizzati.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6014"/>
+        <location filename="../UI/UserInterface.py" line="6016"/>
         <source>Export Keyboard Shortcuts</source>
         <translation>Esporta scorciatoie da tastiera</translation>
     </message>
@@ -76677,7 +76692,7 @@
         <translation>&lt;b&gt;Esporta scorciatoie da tastiera&lt;/b&gt;&lt;p&gt;Esporta le scorciatoie da tastiera dell&apos;applicazione.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6038"/>
+        <location filename="../UI/UserInterface.py" line="6040"/>
         <source>Import Keyboard Shortcuts</source>
         <translation>Importa scorciatoie da tastiera</translation>
     </message>
@@ -76717,7 +76732,7 @@
         <translation>Strumenti</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4817"/>
+        <location filename="../UI/UserInterface.py" line="4819"/>
         <source>Help</source>
         <translation>Aiuto</translation>
     </message>
@@ -76732,12 +76747,12 @@
         <translation>&amp;Toolbar</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4943"/>
+        <location filename="../UI/UserInterface.py" line="4945"/>
         <source>Problem</source>
         <translation>Problema</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5132"/>
+        <location filename="../UI/UserInterface.py" line="5134"/>
         <source>Process Generation Error</source>
         <translation>Errore Generazione Processo</translation>
     </message>
@@ -76792,7 +76807,7 @@
         <translation>&lt;b&gt;Script Unittest&lt;/b&gt;&lt;p&gt;Esegui unittest con lo script corrente.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4559"/>
+        <location filename="../UI/UserInterface.py" line="4560"/>
         <source>Unittest Project</source>
         <translation>Progetto Unittest</translation>
     </message>
@@ -76847,12 +76862,12 @@
         <translation>&amp;Unittest</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4559"/>
+        <location filename="../UI/UserInterface.py" line="4560"/>
         <source>There is no main script defined for the current project. Aborting</source>
         <translation>Non c&apos;è uno script principale definito per il progetto. Esco</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6597"/>
+        <location filename="../UI/UserInterface.py" line="6599"/>
         <source>Drop Error</source>
         <translation>Errore Drop</translation>
     </message>
@@ -76987,22 +77002,22 @@
         <translation>Task-Viewer</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6207"/>
+        <location filename="../UI/UserInterface.py" line="6209"/>
         <source>Save tasks</source>
         <translation>Salva task</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6236"/>
+        <location filename="../UI/UserInterface.py" line="6238"/>
         <source>Read tasks</source>
         <translation>Leggi task</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4817"/>
+        <location filename="../UI/UserInterface.py" line="4819"/>
         <source>Currently no custom viewer is selected. Please use the preferences dialog to specify one.</source>
         <translation>Attualmente nessun visualizzatore personalizzato è selezionato. Per favore usa il dialogo delle preferenze per specificarne uno.</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5611"/>
+        <location filename="../UI/UserInterface.py" line="5613"/>
         <source>Documentation Missing</source>
         <translation>Documentazione mancante</translation>
     </message>
@@ -77102,7 +77117,7 @@
         <translation>Apri documentazione API di Eric</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4851"/>
+        <location filename="../UI/UserInterface.py" line="4853"/>
         <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;Non posso avviare il visualizzatore di help.&lt;br&gt;Assicurarsi che sia disponibile come &lt;b&gt;hh&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
@@ -77183,22 +77198,22 @@
         <translation>Tool &amp;Builtin</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5594"/>
+        <location filename="../UI/UserInterface.py" line="5596"/>
         <source>Documentation</source>
         <translation>Documentazione</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5417"/>
+        <location filename="../UI/UserInterface.py" line="5419"/>
         <source>&lt;p&gt;The PyQt4 documentation starting point has not been configured.&lt;/p&gt;</source>
         <translation type="unfinished">&lt;p&gt;L&apos;inizio della documentazione di PySide non è stato configurato.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6965"/>
+        <location filename="../UI/UserInterface.py" line="6967"/>
         <source>Error during updates check</source>
         <translation>Errore nel controllo per gli update</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6945"/>
+        <location filename="../UI/UserInterface.py" line="6947"/>
         <source>Update available</source>
         <translation>Aggiornamento disponibile</translation>
     </message>
@@ -77208,7 +77223,7 @@
         <translation>&lt;h3&gt;Numeri di versione&lt;/h3&gt;&lt;table&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7003"/>
+        <location filename="../UI/UserInterface.py" line="7005"/>
         <source>&lt;/table&gt;</source>
         <translation>&lt;/table&gt;</translation>
     </message>
@@ -77233,17 +77248,17 @@
         <translation>Mostra toll &amp;esterni</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6778"/>
+        <location filename="../UI/UserInterface.py" line="6780"/>
         <source>&amp;Cancel</source>
         <translation>&amp;Cancella</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6965"/>
+        <location filename="../UI/UserInterface.py" line="6967"/>
         <source>Could not perform updates check.</source>
         <translation>Non posso controllare per gli update.</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7040"/>
+        <location filename="../UI/UserInterface.py" line="7042"/>
         <source>First time usage</source>
         <translation>Primo avvio</translation>
     </message>
@@ -77338,7 +77353,7 @@
         <translation>Mostra le versioni disponibili per il download</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6989"/>
+        <location filename="../UI/UserInterface.py" line="6991"/>
         <source>&lt;h3&gt;Available versions&lt;/h3&gt;&lt;table&gt;</source>
         <translation>&lt;h3&gt;Versioni disponibili&lt;/h3&gt;&lt;table&gt;</translation>
     </message>
@@ -77428,17 +77443,17 @@
         <translation>&amp;Multiproject-Viewer</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5077"/>
+        <location filename="../UI/UserInterface.py" line="5079"/>
         <source>External Tools</source>
         <translation>Tool esterni</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6333"/>
+        <location filename="../UI/UserInterface.py" line="6335"/>
         <source>Save session</source>
         <translation>Salva sessione</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6317"/>
+        <location filename="../UI/UserInterface.py" line="6319"/>
         <source>Read session</source>
         <translation>Leggi sessione</translation>
     </message>
@@ -77668,7 +77683,7 @@
         <translation>Editor di &amp;icone...</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4764"/>
+        <location filename="../UI/UserInterface.py" line="4766"/>
         <source>Qt 3 support</source>
         <translation>Supporto Qt3</translation>
     </message>
@@ -77708,105 +77723,105 @@
         <translation>Tool Esterni/{0}</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4943"/>
+        <location filename="../UI/UserInterface.py" line="4945"/>
         <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;Il file &lt;b&gt;{0}&lt;/b&gt; non esiste o ha lunghezza zero.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4667"/>
+        <location filename="../UI/UserInterface.py" line="4669"/>
         <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;Non posso avviare Qt-Designer.&lt;br&gt;Assicurarsi che sia disponibile come &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4736"/>
+        <location filename="../UI/UserInterface.py" line="4738"/>
         <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;Non posso avviare Qt-Linguist.&lt;br&gt;Assicurarsi che sia disponibile come &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4789"/>
+        <location filename="../UI/UserInterface.py" line="4791"/>
         <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;Non posso avviare Qt-Assistant.&lt;br&gt;Assicurarsi che sia disponibile come &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4831"/>
+        <location filename="../UI/UserInterface.py" line="4833"/>
         <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;Non posso avviare il visualizzatore personalizzato.&lt;br&gt;Assicurarsi che sia disponibile come &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4899"/>
+        <location filename="../UI/UserInterface.py" line="4901"/>
         <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;Non posso avviare UI Previewer.&lt;br&gt;Assicurarsi che sia disponibile come &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4954"/>
+        <location filename="../UI/UserInterface.py" line="4956"/>
         <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;Non posso avviare l&apos;anteprima delle traduzioni.&lt;br&gt;Assicurarsi che sia disponibile come &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4975"/>
+        <location filename="../UI/UserInterface.py" line="4977"/>
         <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;Non posso avviare SQL Browser.&lt;br&gt;Assicurarsi che sia disponibile come &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5068"/>
+        <location filename="../UI/UserInterface.py" line="5070"/>
         <source>No tool entry found for external tool &apos;{0}&apos; in tool group &apos;{1}&apos;.</source>
         <translation>Nessun elemento per il tool esterno &apos;{0}&apos; trovato nel gruppo &apos;{1}&apos;.</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5077"/>
+        <location filename="../UI/UserInterface.py" line="5079"/>
         <source>No toolgroup entry &apos;{0}&apos; found.</source>
         <translation>Nessun gruppo &apos;{0}&apos; trovato.</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5116"/>
+        <location filename="../UI/UserInterface.py" line="5118"/>
         <source>Starting process &apos;{0} {1}&apos;.
 </source>
         <translation>Avvio processo &apos;{0} {1}&apos;.
 </translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5132"/>
+        <location filename="../UI/UserInterface.py" line="5134"/>
         <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;Non posso avviare l&apos;elemento degli strumenti &lt;b&gt;{0}&lt;/b&gt;.&lt;br&gt;Assicurarsi che sia disponibile come &lt;b&gt;{1}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5208"/>
+        <location filename="../UI/UserInterface.py" line="5210"/>
         <source>Process &apos;{0}&apos; has exited.
 </source>
         <translation>Il processo &apos;{0}&apos; è terminato.</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5611"/>
+        <location filename="../UI/UserInterface.py" line="5613"/>
         <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;L&apos;inizio della documentazione &quot;&lt;b&gt;{0}&lt;/b&gt;&quot; non viene trovato.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6207"/>
+        <location filename="../UI/UserInterface.py" line="6209"/>
         <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;Il file task &lt;b&gt;{0}&lt;/b&gt; non può essere scritto.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6236"/>
+        <location filename="../UI/UserInterface.py" line="6238"/>
         <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;Il file task &lt;b&gt;{0}&lt;/b&gt; non può essere letto.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6270"/>
+        <location filename="../UI/UserInterface.py" line="6272"/>
         <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;Il file sessione &lt;b&gt;{0}&lt;/b&gt; non può essere scritto.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6317"/>
+        <location filename="../UI/UserInterface.py" line="6319"/>
         <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;Il file sessione &lt;b&gt;{0}&lt;/b&gt; non può essere letto.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6597"/>
+        <location filename="../UI/UserInterface.py" line="6599"/>
         <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; non è un file.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6787"/>
+        <location filename="../UI/UserInterface.py" line="6789"/>
         <source>Trying host {0}</source>
         <translation>Tento su host {0}</translation>
     </message>
@@ -77841,7 +77856,7 @@
         <translation>Alt+Shift+B</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6038"/>
+        <location filename="../UI/UserInterface.py" line="6040"/>
         <source>Keyboard shortcut file (*.e4k)</source>
         <translation>File scorciatoi tastiera (*.e4k)</translation>
     </message>
@@ -77881,27 +77896,27 @@
         <translation>&lt;b&gt;Documentazione Python 2&lt;/b&gt;&lt;p&gt;Mostra la documentazione Python 2. Se non è configurata una directory per la documentazione, viene assunto che la posizione della documentazione sia nella directory doc nella locazione dell&apos;eseguibile Python 2 su Windows e &lt;i&gt;/usr/share/doc/packages/python/html&lt;/i&gt; su Unix. Imposta PYTHONDOCDIR2 nel tuo ambiente per sovrascrivere questi valori.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6851"/>
+        <location filename="../UI/UserInterface.py" line="6853"/>
         <source>Error getting versions information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6844"/>
+        <location filename="../UI/UserInterface.py" line="6846"/>
         <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="5813"/>
+        <location filename="../UI/UserInterface.py" line="5815"/>
         <source>Open Browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5813"/>
+        <location filename="../UI/UserInterface.py" line="5815"/>
         <source>Could not start a web browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6851"/>
+        <location filename="../UI/UserInterface.py" line="6853"/>
         <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>
@@ -77987,12 +78002,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5045"/>
+        <location filename="../UI/UserInterface.py" line="5047"/>
         <source>&lt;p&gt;Could not start Snapshot tool.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7059"/>
+        <location filename="../UI/UserInterface.py" line="7061"/>
         <source>Select Workspace Directory</source>
         <translation type="unfinished">Seleziona cartella di lavoro</translation>
     </message>
@@ -78367,7 +78382,7 @@
         <translation type="unfinished">Apri documentazione su PyQt4 {5 ?}</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5480"/>
+        <location filename="../UI/UserInterface.py" line="5482"/>
         <source>&lt;p&gt;The PyQt5 documentation starting point has not been configured.&lt;/p&gt;</source>
         <translation type="unfinished">&lt;p&gt;L&apos;inizio della documentazione di PyQt4 non è stato configurato.&lt;/p&gt; {5 ?}</translation>
     </message>
@@ -78377,7 +78392,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6778"/>
+        <location filename="../UI/UserInterface.py" line="6780"/>
         <source>%v/%m</source>
         <translation type="unfinished"></translation>
     </message>
@@ -78397,7 +78412,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6782"/>
+        <location filename="../UI/UserInterface.py" line="6784"/>
         <source>Version Check</source>
         <translation type="unfinished"></translation>
     </message>
@@ -78467,27 +78482,27 @@
         <translation type="unfinished">&lt;b&gt;Documentazione API Eric&lt;/b&gt;&lt;p&gt;Mostra la documentazione delle API di Eric. La posizione della documentazione è la subdirectory Documentation/Source della directory in cui è installato eric6.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4764"/>
+        <location filename="../UI/UserInterface.py" line="4766"/>
         <source>Qt v.3 is not supported by eric6.</source>
         <translation type="unfinished">Le Qt v.3 non sono supportate da eric6.</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6945"/>
+        <location filename="../UI/UserInterface.py" line="6947"/>
         <source>The update to &lt;b&gt;{0}&lt;/b&gt; of eric6 is available at &lt;b&gt;{1}&lt;/b&gt;. Would you like to get it?</source>
         <translation type="unfinished">L&apos;update alla versione &lt;b&gt;{0}&lt;/b&gt; di eric6 è disponibile presso &lt;b&gt;{1}&lt;/b&gt;. Vuoi prenderlo?</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6958"/>
+        <location filename="../UI/UserInterface.py" line="6960"/>
         <source>Eric6 is up to date</source>
         <translation type="unfinished">Eric6 è aggiornato</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6958"/>
+        <location filename="../UI/UserInterface.py" line="6960"/>
         <source>You are using the latest version of eric6</source>
         <translation type="unfinished">Stai usando l&apos;ultima versione di eric6</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7040"/>
+        <location filename="../UI/UserInterface.py" line="7042"/>
         <source>eric6 has not been configured yet. The configuration dialog will be started.</source>
         <translation type="unfinished">eric6 non è ancora stato configurato. Il dialogo di configurazione verrà avviato.</translation>
     </message>
@@ -78507,7 +78522,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6798"/>
+        <location filename="../UI/UserInterface.py" line="6800"/>
         <source>The versions information cannot not be downloaded because you are &lt;b&gt;offline&lt;/b&gt;. Please go online and try again.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -78552,7 +78567,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6355"/>
+        <location filename="../UI/UserInterface.py" line="6357"/>
         <source>Load session</source>
         <translation type="unfinished">Carica sessione</translation>
     </message>
@@ -78567,17 +78582,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6355"/>
+        <location filename="../UI/UserInterface.py" line="6357"/>
         <source>eric6 Session Files (*.e5s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6402"/>
+        <location filename="../UI/UserInterface.py" line="6404"/>
         <source>Crash Session found!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6402"/>
+        <location filename="../UI/UserInterface.py" line="6404"/>
         <source>A session file of a crashed session was found. Shall this session be restored?</source>
         <translation type="unfinished"></translation>
     </message>
@@ -78592,17 +78607,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6933"/>
+        <location filename="../UI/UserInterface.py" line="6935"/>
         <source>Update Check</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6933"/>
+        <location filename="../UI/UserInterface.py" line="6935"/>
         <source>You installed eric directly from the source code. There is no possibility to check for the availability of an update.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6923"/>
+        <location filename="../UI/UserInterface.py" line="6925"/>
         <source>You are using a snapshot release of eric6. A more up-to-date stable release might be available.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -78657,7 +78672,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5594"/>
+        <location filename="../UI/UserInterface.py" line="5596"/>
         <source>&lt;p&gt;The PySide{0} documentation starting point has not been configured.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -78733,17 +78748,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5768"/>
+        <location filename="../UI/UserInterface.py" line="5770"/>
         <source>Start Web Browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5710"/>
+        <location filename="../UI/UserInterface.py" line="5712"/>
         <source>The eric6 web browser could not be started.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5768"/>
+        <location filename="../UI/UserInterface.py" line="5770"/>
         <source>&lt;p&gt;The eric6 web browser is not started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
--- a/i18n/eric6_pt.ts	Wed Mar 20 19:23:12 2019 +0100
+++ b/i18n/eric6_pt.ts	Wed Mar 20 19:41:04 2019 +0100
@@ -6289,7 +6289,7 @@
         <translation>&lt;p&gt;O anfitrião ilegal &lt;b&gt;{0}&lt;/b&gt; tentou conectar. Aceitar esta conexão?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="1515"/>
+        <location filename="../Debugger/DebugServer.py" line="1524"/>
         <source>
 Not connected
 </source>
@@ -6298,14 +6298,14 @@
 </translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="1708"/>
+        <location filename="../Debugger/DebugServer.py" line="1717"/>
         <source>Passive debug connection received
 </source>
         <translation>Conexão de depuração passiva recebida
 </translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="1722"/>
+        <location filename="../Debugger/DebugServer.py" line="1731"/>
         <source>Passive debug connection closed
 </source>
         <translation>Conexão de depuração passiva fechada
@@ -6322,12 +6322,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="1340"/>
+        <location filename="../Debugger/DebugServer.py" line="1349"/>
         <source>Start Debugger</source>
         <translation type="unfinished">Iniciar o Depurador</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="1340"/>
+        <location filename="../Debugger/DebugServer.py" line="1349"/>
         <source>&lt;p&gt;The debugger type &lt;b&gt;{0}&lt;/b&gt; is not supported or not configured.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -48322,47 +48322,47 @@
 <context>
     <name>NetworkManager</name>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="197"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="198"/>
         <source>SSL Certificate Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="198"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="199"/>
         <source>&lt;b&gt;{0}&lt;/b&gt;&lt;p&gt;The page you are trying to access has errors in the SSL certificate.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{1}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Would you like to make an exception?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="208"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="209"/>
         <source>&amp;Permanent accept</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="210"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="211"/>
         <source>&amp;Temporary accept</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="212"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="213"/>
         <source>&amp;Reject</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="245"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="246"/>
         <source>&lt;b&gt;Enter username and password for &apos;{0}&apos;, realm &apos;{1}&apos;&lt;/b&gt;</source>
         <translation type="unfinished">&lt;b&gt;Introduzir nome de usuário e senha para &apos;{0}, domínio &apos;{1}&apos;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="248"/>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="249"/>
         <source>&lt;b&gt;Enter username and password for &apos;{0}&apos;&lt;/b&gt;</source>
         <translation type="unfinished">&lt;b&gt;Introduzir nome de usuário e senha para &apos;{0}&apos;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Network/NetworkManager.py" line="291"/>
-        <source>Authentication required</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../WebBrowser/Network/NetworkManager.py" line="292"/>
+        <source>Authentication required</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../WebBrowser/Network/NetworkManager.py" line="293"/>
         <source>Authentication is required to access:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -75827,7 +75827,7 @@
 <context>
     <name>UnittestDialog</name>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="405"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="428"/>
         <source>Unittest</source>
         <translation>Teste Unitário</translation>
     </message>
@@ -75869,97 +75869,97 @@
         <translation>Introduzir nome do &amp;ficheiro teste:</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="91"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="123"/>
         <source>Select whether you want to run the test locally</source>
         <translation>Selecionar se quer executar o teste localmente</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="94"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="126"/>
         <source>Run &amp;local</source>
         <translation>Execução &amp;local</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="101"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="133"/>
         <source>Select whether coverage data should be collected</source>
         <translation>Selecionar se os dados de cobertura devem ser recolhidos</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="104"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="136"/>
         <source>C&amp;ollect coverage data</source>
         <translation>Rec&amp;olher dados de cobertura</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="114"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="146"/>
         <source>Select whether old coverage data should be erased</source>
         <translation>Selecionar se os dados de cobertura antigos devem ser apagados</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="117"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="149"/>
         <source>&amp;Erase coverage data</source>
         <translation>&amp;Apagar dados de cobertura</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="135"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="169"/>
         <source>Progress:</source>
         <translation>Progresso:</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="175"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="209"/>
         <source>Run:</source>
         <translation>Execução:</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="182"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="216"/>
         <source>Number of tests run</source>
         <translation>Número de execuções de testes</translation>
     </message>
     <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="260"/>
+        <source>Failures:</source>
+        <translation>Falhos:</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="267"/>
+        <source>Number of test failures</source>
+        <translation>Número de testes com falhos</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="277"/>
+        <source>Errors:</source>
+        <translation>Erros:</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="284"/>
+        <source>Number of test errors</source>
+        <translation>Número de testes com erros</translation>
+    </message>
+    <message>
         <location filename="../PyUnit/UnittestDialog.ui" line="226"/>
-        <source>Failures:</source>
-        <translation>Falhos:</translation>
+        <source>Remaining:</source>
+        <translation>Restante:</translation>
     </message>
     <message>
         <location filename="../PyUnit/UnittestDialog.ui" line="233"/>
-        <source>Number of test failures</source>
-        <translation>Número de testes com falhos</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="243"/>
-        <source>Errors:</source>
-        <translation>Erros:</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="250"/>
-        <source>Number of test errors</source>
-        <translation>Número de testes com erros</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="192"/>
-        <source>Remaining:</source>
-        <translation>Restante:</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="199"/>
         <source>Number of tests to be run</source>
         <translation>Número de testes a executar</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="332"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="366"/>
         <source>Tests performed:</source>
         <translation>Testes executados:</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="342"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="376"/>
         <source>Failures and errors:</source>
         <translation>Falhos e Erros:</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="349"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="383"/>
         <source>Failures and Errors list</source>
         <translation>Lista de Erros e Falhos</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="352"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="386"/>
         <source>&lt;b&gt;Failures and Errors list&lt;/b&gt;
 &lt;p&gt;This list shows all failed and errored tests.
 Double clicking on an entry will show the respective traceback.&lt;/p&gt;</source>
@@ -75968,167 +75968,167 @@
 Duplo clique numa entrada mostrará o respetivo rastreio.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="379"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="413"/>
         <source>Idle</source>
         <translation>Inativo</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="71"/>
-        <source>Start</source>
-        <translation>Iniciar</translation>
-    </message>
-    <message>
         <location filename="../PyUnit/UnittestDialog.py" line="73"/>
-        <source>Start the selected testsuite</source>
-        <translation>Iniciar a suite de testes selecionada</translation>
+        <source>Start</source>
+        <translation>Iniciar</translation>
     </message>
     <message>
         <location filename="../PyUnit/UnittestDialog.py" line="75"/>
+        <source>Start the selected testsuite</source>
+        <translation>Iniciar a suite de testes selecionada</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.py" line="77"/>
         <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;Iniciar Teste&lt;/b&gt;&lt;p&gt;Este botão inicia a suite de testes selecionada.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="86"/>
-        <source>Stop</source>
-        <translation>Parar</translation>
-    </message>
-    <message>
         <location filename="../PyUnit/UnittestDialog.py" line="88"/>
+        <source>Stop</source>
+        <translation>Parar</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.py" line="90"/>
         <source>Stop the running unittest</source>
         <translation>Parar execução de teste unitário</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="89"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="91"/>
         <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;Parar Teste&lt;/b&gt;&lt;p&gt;Este botão para a execução do teste unitário.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="121"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="129"/>
         <source>^Failure: </source>
         <translation>^Falho:</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="122"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="130"/>
         <source>^Error: </source>
         <translation>^Erro:</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="207"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="224"/>
         <source>Python3 Files ({1});;Python2 Files ({0});;All Files (*)</source>
         <translation>Ficheiros Python3 ({1});;Ficheiros Python2 ({0});;Ficheiros Todos (*)</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="211"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="228"/>
         <source>Python Files (*.py);;All Files (*)</source>
         <translation>Ficheiros Python (*.py);;Ficheiros Todos (*)</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="271"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="291"/>
         <source>You must enter a test suite file.</source>
         <translation>Deve introduzir um ficheiro de suite de testes.</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="279"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="299"/>
         <source>Preparing Testsuite</source>
         <translation>A preparar Suite de Testes</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="405"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="428"/>
         <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;Incapaz de executar teste &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="477"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="500"/>
         <source>Running</source>
         <translation>A executar</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="501"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="524"/>
         <source>Ran {0} test in {1:.3f}s</source>
         <translation>Executado {0} teste em {1:.3f}s</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="505"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="528"/>
         <source>Ran {0} tests in {1:.3f}s</source>
         <translation>Executados {0} testes em {1:.3f}s</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="522"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="545"/>
         <source>Failure: {0}</source>
         <translation>Falho: {0}</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="537"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="560"/>
         <source>Error: {0}</source>
         <translation>Erro: {0}</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="642"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="665"/>
         <source>Show Source</source>
         <translation>Mostrar Fonte</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="260"/>
-        <source>Skipped:</source>
-        <translation>Saltado:</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="267"/>
-        <source>Number of tests skipped</source>
-        <translation>Número de testes saltados</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="277"/>
-        <source>Expected Failures:</source>
-        <translation>Falhos esperados:</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="284"/>
-        <source>Number of tests with expected failure</source>
-        <translation>Número de testes com falhos esperados </translation>
-    </message>
-    <message>
         <location filename="../PyUnit/UnittestDialog.ui" line="294"/>
-        <source>Unexpected Successes:</source>
-        <translation>Sucessos Inesperados:</translation>
+        <source>Skipped:</source>
+        <translation>Saltado:</translation>
     </message>
     <message>
         <location filename="../PyUnit/UnittestDialog.ui" line="301"/>
+        <source>Number of tests skipped</source>
+        <translation>Número de testes saltados</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="311"/>
+        <source>Expected Failures:</source>
+        <translation>Falhos esperados:</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="318"/>
+        <source>Number of tests with expected failure</source>
+        <translation>Número de testes com falhos esperados </translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="328"/>
+        <source>Unexpected Successes:</source>
+        <translation>Sucessos Inesperados:</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="335"/>
         <source>Number of tests with unexpected success</source>
         <translation>Número de testes com êxito imprevistos</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="552"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="575"/>
         <source>    Skipped: {0}</source>
         <translation>    Saltado: {0}</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="567"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="590"/>
         <source>    Expected Failure</source>
         <translation>    Falhos esperados</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="581"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="604"/>
         <source>    Unexpected Success</source>
         <translation>    Sucessos Inesperados</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="78"/>
-        <source>Rerun Failed</source>
-        <translation>Reexecução Falhada</translation>
-    </message>
-    <message>
         <location filename="../PyUnit/UnittestDialog.py" line="80"/>
-        <source>Reruns failed tests of the selected testsuite</source>
-        <translation>Testes de reexecução falhados da suite de testes selecionada</translation>
+        <source>Rerun Failed</source>
+        <translation>Reexecução Falhada</translation>
     </message>
     <message>
         <location filename="../PyUnit/UnittestDialog.py" line="82"/>
+        <source>Reruns failed tests of the selected testsuite</source>
+        <translation>Testes de reexecução falhados da suite de testes selecionada</translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.py" line="84"/>
         <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>&lt;b&gt;Reexecução Falhada&lt;/b&gt;&lt;p&gt;Este botão reexecuta todos os testes falhados da suite de testes selecionada.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="166"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="200"/>
         <source>%v/%m Tests</source>
         <translation>%v/%m Testes</translation>
     </message>
@@ -76143,10 +76143,25 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.ui" line="127"/>
+        <location filename="../PyUnit/UnittestDialog.ui" line="161"/>
         <source>Progress</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="93"/>
+        <source>Virtual Environment:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="109"/>
+        <source>Select the virtual environment to be used</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.ui" line="112"/>
+        <source>&lt;b&gt;Virtual Environment&lt;/b&gt;\n&lt;p&gt;Enter the virtual environment to be used. Leave it empty to use the default environment, i.e. the one configured globally or per project.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UrlBar</name>
@@ -76796,7 +76811,7 @@
         <translation>&lt;b&gt;Teste Unitário ao Script&lt;/b&gt;&lt;p&gt;Executar teste unitário com o script atual.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4559"/>
+        <location filename="../UI/UserInterface.py" line="4560"/>
         <source>Unittest Project</source>
         <translation>Teste Unitário ao Projeto</translation>
     </message>
@@ -77081,7 +77096,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6014"/>
+        <location filename="../UI/UserInterface.py" line="6016"/>
         <source>Export Keyboard Shortcuts</source>
         <translation>Exportar Atalhos de Teclado</translation>
     </message>
@@ -77101,7 +77116,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6038"/>
+        <location filename="../UI/UserInterface.py" line="6040"/>
         <source>Import Keyboard Shortcuts</source>
         <translation>Importar Atalhos de Teclado</translation>
     </message>
@@ -77346,7 +77361,7 @@
         <translation>Definições</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4817"/>
+        <location filename="../UI/UserInterface.py" line="4819"/>
         <source>Help</source>
         <translation>Ajuda</translation>
     </message>
@@ -77401,7 +77416,7 @@
         <translation>&lt;h3&gt;Números de Versão&lt;/h3&gt;&lt;table&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7003"/>
+        <location filename="../UI/UserInterface.py" line="7005"/>
         <source>&lt;/table&gt;</source>
         <translation></translation>
     </message>
@@ -77451,215 +77466,215 @@
         <translation>&amp;Esconder tudo</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4559"/>
+        <location filename="../UI/UserInterface.py" line="4560"/>
         <source>There is no main script defined for the current project. Aborting</source>
         <translation>O projeto atual não tem um script principal definido. A cancelar</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4764"/>
+        <location filename="../UI/UserInterface.py" line="4766"/>
         <source>Qt 3 support</source>
         <translation>Suporte Qt3</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4943"/>
+        <location filename="../UI/UserInterface.py" line="4945"/>
         <source>Problem</source>
         <translation>Problema</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4943"/>
+        <location filename="../UI/UserInterface.py" line="4945"/>
         <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5132"/>
+        <location filename="../UI/UserInterface.py" line="5134"/>
         <source>Process Generation Error</source>
         <translation>Erro na Criação de Processo</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4667"/>
+        <location filename="../UI/UserInterface.py" line="4669"/>
         <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4736"/>
+        <location filename="../UI/UserInterface.py" line="4738"/>
         <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4789"/>
+        <location filename="../UI/UserInterface.py" line="4791"/>
         <source>&lt;p&gt;Could not start Qt-Assistant.&lt;br&am