Merged with default branch to prepare a new release. maintenance release-20.02

Sun, 02 Feb 2020 11:27:46 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 02 Feb 2020 11:27:46 +0100
branch
maintenance
changeset 7382
df744f939cca
parent 7363
7fe343f85860 (current diff)
parent 7381
cee375d46f2f (diff)
child 7383
6c4a12fa7146

Merged with default branch to prepare a new release.

eric6/APIs/Python3/eric6.api file | annotate | diff | comparison | revisions
eric6/DebugClients/Python/ThreadExtension.py file | annotate | diff | comparison | revisions
eric6/Documentation/Help/source.qch file | annotate | diff | comparison | revisions
eric6/Documentation/Help/source.qhp file | annotate | diff | comparison | revisions
eric6/E5Gui/E5ZoomWidget.py file | annotate | diff | comparison | revisions
eric6/QScintilla/Shell.py file | annotate | diff | comparison | revisions
eric6/i18n/eric6_cs.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_de.qm file | annotate | diff | comparison | revisions
eric6/i18n/eric6_de.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_empty.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_en.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_es.qm file | annotate | diff | comparison | revisions
eric6/i18n/eric6_es.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_fr.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_it.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_pt.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_ru.qm file | annotate | diff | comparison | revisions
eric6/i18n/eric6_ru.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_tr.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_zh_CN.ts file | annotate | diff | comparison | revisions
--- a/eric6/APIs/Python3/eric6.api	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/APIs/Python3/eric6.api	Sun Feb 02 11:27:46 2020 +0100
@@ -383,6 +383,7 @@
 eric6.DebugClients.Python.PyProfile.PyProfile.save?4()
 eric6.DebugClients.Python.PyProfile.PyProfile.trace_dispatch_call?4(frame, t)
 eric6.DebugClients.Python.PyProfile.PyProfile?1(basename, timer=None, bias=None)
+eric6.DebugClients.Python.ThreadExtension.DummyThreadWrapper?1(*args, **kwargs)
 eric6.DebugClients.Python.ThreadExtension.QThreadWrapper?1(*args, **kwargs)
 eric6.DebugClients.Python.ThreadExtension.ThreadExtension._bootstrap?5(run)
 eric6.DebugClients.Python.ThreadExtension.ThreadExtension._bootstrapQThread?5(run)
@@ -4455,13 +4456,9 @@
 eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignDialog.HgGpgSignDialog.on_tagCombo_editTextChanged?4(txt)
 eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignDialog.HgGpgSignDialog?1(tagsList, branchesList, bookmarksList=None, parent=None)
 eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignaturesDialog.HgGpgSignaturesDialog.closeEvent?4(e)
-eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignaturesDialog.HgGpgSignaturesDialog.keyPressEvent?4(evt)
 eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignaturesDialog.HgGpgSignaturesDialog.on_buttonBox_clicked?4(button)
 eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignaturesDialog.HgGpgSignaturesDialog.on_categoryCombo_activated?4(txt)
-eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignaturesDialog.HgGpgSignaturesDialog.on_input_returnPressed?4()
-eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignaturesDialog.HgGpgSignaturesDialog.on_passwordCheckBox_toggled?4(isOn)
 eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignaturesDialog.HgGpgSignaturesDialog.on_rxEdit_textChanged?4(txt)
-eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignaturesDialog.HgGpgSignaturesDialog.on_sendButton_clicked?4()
 eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignaturesDialog.HgGpgSignaturesDialog.on_signaturesList_itemSelectionChanged?4()
 eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignaturesDialog.HgGpgSignaturesDialog.on_verifyButton_clicked?4()
 eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignaturesDialog.HgGpgSignaturesDialog.start?4(path)
@@ -4481,11 +4478,7 @@
 eric6.Plugins.VcsPlugins.vcsMercurial.HgAddSubrepositoryDialog.HgAddSubrepositoryDialog.on_urlEdit_textChanged?4(p0)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgAddSubrepositoryDialog.HgAddSubrepositoryDialog?1(projectPath, parent=None)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgAnnotateDialog.HgAnnotateDialog.closeEvent?4(e)
-eric6.Plugins.VcsPlugins.vcsMercurial.HgAnnotateDialog.HgAnnotateDialog.keyPressEvent?4(evt)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgAnnotateDialog.HgAnnotateDialog.on_buttonBox_clicked?4(button)
-eric6.Plugins.VcsPlugins.vcsMercurial.HgAnnotateDialog.HgAnnotateDialog.on_input_returnPressed?4()
-eric6.Plugins.VcsPlugins.vcsMercurial.HgAnnotateDialog.HgAnnotateDialog.on_passwordCheckBox_toggled?4(isOn)
-eric6.Plugins.VcsPlugins.vcsMercurial.HgAnnotateDialog.HgAnnotateDialog.on_sendButton_clicked?4()
 eric6.Plugins.VcsPlugins.vcsMercurial.HgAnnotateDialog.HgAnnotateDialog.start?4(fn)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgAnnotateDialog.HgAnnotateDialog?1(vcs, parent=None)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgArchiveDialog.HgArchiveDialog.getData?4()
@@ -4524,21 +4517,13 @@
 eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksInOutDialog.HgBookmarksInOutDialog.INCOMING?7
 eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksInOutDialog.HgBookmarksInOutDialog.OUTGOING?7
 eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksInOutDialog.HgBookmarksInOutDialog.closeEvent?4(e)
-eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksInOutDialog.HgBookmarksInOutDialog.keyPressEvent?4(evt)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksInOutDialog.HgBookmarksInOutDialog.on_buttonBox_clicked?4(button)
-eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksInOutDialog.HgBookmarksInOutDialog.on_input_returnPressed?4()
-eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksInOutDialog.HgBookmarksInOutDialog.on_passwordCheckBox_toggled?4(isOn)
-eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksInOutDialog.HgBookmarksInOutDialog.on_sendButton_clicked?4()
 eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksInOutDialog.HgBookmarksInOutDialog.start?4(path)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksInOutDialog.HgBookmarksInOutDialog?1(vcs, mode, parent=None)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksListDialog.HgBookmarksListDialog.closeEvent?4(e)
-eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksListDialog.HgBookmarksListDialog.keyPressEvent?4(evt)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksListDialog.HgBookmarksListDialog.on_bookmarksList_customContextMenuRequested?4(pos)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksListDialog.HgBookmarksListDialog.on_buttonBox_clicked?4(button)
-eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksListDialog.HgBookmarksListDialog.on_input_returnPressed?4()
-eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksListDialog.HgBookmarksListDialog.on_passwordCheckBox_toggled?4(isOn)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksListDialog.HgBookmarksListDialog.on_refreshButton_clicked?4()
-eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksListDialog.HgBookmarksListDialog.on_sendButton_clicked?4()
 eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksListDialog.HgBookmarksListDialog.start?4(path, bookmarksList)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksListDialog.HgBookmarksListDialog?1(vcs, parent=None)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgBranchInputDialog.HgBranchInputDialog.getData?4()
@@ -4589,17 +4574,13 @@
 eric6.Plugins.VcsPlugins.vcsMercurial.HgConflictsListDialog.HgConflictsListDialog.FilenameRole?7
 eric6.Plugins.VcsPlugins.vcsMercurial.HgConflictsListDialog.HgConflictsListDialog.StatusRole?7
 eric6.Plugins.VcsPlugins.vcsMercurial.HgConflictsListDialog.HgConflictsListDialog.closeEvent?4(e)
-eric6.Plugins.VcsPlugins.vcsMercurial.HgConflictsListDialog.HgConflictsListDialog.keyPressEvent?4(evt)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgConflictsListDialog.HgConflictsListDialog.on_buttonBox_clicked?4(button)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgConflictsListDialog.HgConflictsListDialog.on_conflictsList_itemDoubleClicked?4(item, column)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgConflictsListDialog.HgConflictsListDialog.on_conflictsList_itemSelectionChanged?4()
 eric6.Plugins.VcsPlugins.vcsMercurial.HgConflictsListDialog.HgConflictsListDialog.on_editButton_clicked?4()
-eric6.Plugins.VcsPlugins.vcsMercurial.HgConflictsListDialog.HgConflictsListDialog.on_input_returnPressed?4()
-eric6.Plugins.VcsPlugins.vcsMercurial.HgConflictsListDialog.HgConflictsListDialog.on_passwordCheckBox_toggled?4(isOn)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgConflictsListDialog.HgConflictsListDialog.on_reMergeButton_clicked?4()
 eric6.Plugins.VcsPlugins.vcsMercurial.HgConflictsListDialog.HgConflictsListDialog.on_refreshButton_clicked?4()
 eric6.Plugins.VcsPlugins.vcsMercurial.HgConflictsListDialog.HgConflictsListDialog.on_resolvedButton_clicked?4()
-eric6.Plugins.VcsPlugins.vcsMercurial.HgConflictsListDialog.HgConflictsListDialog.on_sendButton_clicked?4()
 eric6.Plugins.VcsPlugins.vcsMercurial.HgConflictsListDialog.HgConflictsListDialog.on_unresolvedButton_clicked?4()
 eric6.Plugins.VcsPlugins.vcsMercurial.HgConflictsListDialog.HgConflictsListDialog.show?4()
 eric6.Plugins.VcsPlugins.vcsMercurial.HgConflictsListDialog.HgConflictsListDialog.start?4(path)
@@ -4608,13 +4589,9 @@
 eric6.Plugins.VcsPlugins.vcsMercurial.HgCopyDialog.HgCopyDialog.on_targetPicker_textChanged?4(txt)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgCopyDialog.HgCopyDialog?1(source, parent=None, move=False)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgDialog.HgDialog.hasAddOrDelete?4()
-eric6.Plugins.VcsPlugins.vcsMercurial.HgDialog.HgDialog.keyPressEvent?4(evt)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgDialog.HgDialog.normalExit?4()
 eric6.Plugins.VcsPlugins.vcsMercurial.HgDialog.HgDialog.normalExitWithoutErrors?4()
 eric6.Plugins.VcsPlugins.vcsMercurial.HgDialog.HgDialog.on_buttonBox_clicked?4(button)
-eric6.Plugins.VcsPlugins.vcsMercurial.HgDialog.HgDialog.on_input_returnPressed?4()
-eric6.Plugins.VcsPlugins.vcsMercurial.HgDialog.HgDialog.on_passwordCheckBox_toggled?4(isOn)
-eric6.Plugins.VcsPlugins.vcsMercurial.HgDialog.HgDialog.on_sendButton_clicked?4()
 eric6.Plugins.VcsPlugins.vcsMercurial.HgDialog.HgDialog.startProcess?4(args, workingDir=None, showArgs=True, environment=None)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgDialog.HgDialog?1(text, hg=None, useClient=True, parent=None)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgDiffDialog.HgDiffDialog.closeEvent?4(e)
@@ -4676,7 +4653,6 @@
 eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.HgLogBrowserDialog.TagsColumn?7
 eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.HgLogBrowserDialog.closeEvent?4(e)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.HgLogBrowserDialog.col2x?4(radius)
-eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.HgLogBrowserDialog.keyPressEvent?4(evt)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.HgLogBrowserDialog.on_branchCombo_activated?4(txt)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.HgLogBrowserDialog.on_buttonBox_clicked?4(button)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.HgLogBrowserDialog.on_diffSelectLabel_linkActivated?4(link)
@@ -4686,18 +4662,15 @@
 eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.HgLogBrowserDialog.on_findNextButton_clicked?4()
 eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.HgLogBrowserDialog.on_findPrevButton_clicked?4()
 eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.HgLogBrowserDialog.on_fromDate_dateChanged?4(date)
-eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.HgLogBrowserDialog.on_input_returnPressed?4()
 eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.HgLogBrowserDialog.on_logTree_currentItemChanged?4(current, previous)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.HgLogBrowserDialog.on_logTree_itemSelectionChanged?4()
 eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.HgLogBrowserDialog.on_modeComboBox_currentIndexChanged?4(index)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.HgLogBrowserDialog.on_nextButton_clicked?4()
-eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.HgLogBrowserDialog.on_passwordCheckBox_toggled?4(isOn)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.HgLogBrowserDialog.on_refreshButton_clicked?4(addNext=False)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.HgLogBrowserDialog.on_rxEdit_returnPressed?4()
 eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.HgLogBrowserDialog.on_rxEdit_textChanged?4(txt)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.HgLogBrowserDialog.on_saveLabel_linkActivated?4(link)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.HgLogBrowserDialog.on_sbsSelectLabel_linkActivated?4(link)
-eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.HgLogBrowserDialog.on_sendButton_clicked?4()
 eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.HgLogBrowserDialog.on_stopCheckBox_clicked?4(checked)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.HgLogBrowserDialog.on_toDate_dateChanged?4(date)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.HgLogBrowserDialog.on_upButton_clicked?4()
@@ -4765,12 +4738,8 @@
 eric6.Plugins.VcsPlugins.vcsMercurial.HgServeDialog.HgServeDialog.closeEvent?4(e)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgServeDialog.HgServeDialog?1(vcs, path, parent=None)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgStatusDialog.HgStatusDialog.closeEvent?4(e)
-eric6.Plugins.VcsPlugins.vcsMercurial.HgStatusDialog.HgStatusDialog.keyPressEvent?4(evt)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgStatusDialog.HgStatusDialog.on_buttonBox_clicked?4(button)
-eric6.Plugins.VcsPlugins.vcsMercurial.HgStatusDialog.HgStatusDialog.on_input_returnPressed?4()
-eric6.Plugins.VcsPlugins.vcsMercurial.HgStatusDialog.HgStatusDialog.on_passwordCheckBox_toggled?4(isOn)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgStatusDialog.HgStatusDialog.on_refreshButton_clicked?4()
-eric6.Plugins.VcsPlugins.vcsMercurial.HgStatusDialog.HgStatusDialog.on_sendButton_clicked?4()
 eric6.Plugins.VcsPlugins.vcsMercurial.HgStatusDialog.HgStatusDialog.on_statusFilterCombo_activated?4(txt)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgStatusDialog.HgStatusDialog.on_statusList_itemSelectionChanged?4()
 eric6.Plugins.VcsPlugins.vcsMercurial.HgStatusDialog.HgStatusDialog.show?4()
@@ -4786,12 +4755,8 @@
 eric6.Plugins.VcsPlugins.vcsMercurial.HgSummaryDialog.HgSummaryDialog.start?4(path, mq=False, largefiles=False)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgSummaryDialog.HgSummaryDialog?1(vcs, parent=None)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgTagBranchListDialog.HgTagBranchListDialog.closeEvent?4(e)
-eric6.Plugins.VcsPlugins.vcsMercurial.HgTagBranchListDialog.HgTagBranchListDialog.keyPressEvent?4(evt)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgTagBranchListDialog.HgTagBranchListDialog.on_buttonBox_clicked?4(button)
-eric6.Plugins.VcsPlugins.vcsMercurial.HgTagBranchListDialog.HgTagBranchListDialog.on_input_returnPressed?4()
-eric6.Plugins.VcsPlugins.vcsMercurial.HgTagBranchListDialog.HgTagBranchListDialog.on_passwordCheckBox_toggled?4(isOn)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgTagBranchListDialog.HgTagBranchListDialog.on_refreshButton_clicked?4()
-eric6.Plugins.VcsPlugins.vcsMercurial.HgTagBranchListDialog.HgTagBranchListDialog.on_sendButton_clicked?4()
 eric6.Plugins.VcsPlugins.vcsMercurial.HgTagBranchListDialog.HgTagBranchListDialog.on_tagList_customContextMenuRequested?4(pos)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgTagBranchListDialog.HgTagBranchListDialog.start?4(path, tags, tagsList, allTagsList)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgTagBranchListDialog.HgTagBranchListDialog?1(vcs, parent=None)
@@ -4944,11 +4909,7 @@
 eric6.Plugins.VcsPlugins.vcsMercurial.QueuesExtension.HgQueuesListAllGuardsDialog.HgQueuesListAllGuardsDialog.start?4(path)
 eric6.Plugins.VcsPlugins.vcsMercurial.QueuesExtension.HgQueuesListAllGuardsDialog.HgQueuesListAllGuardsDialog?1(vcs, parent=None)
 eric6.Plugins.VcsPlugins.vcsMercurial.QueuesExtension.HgQueuesListDialog.HgQueuesListDialog.closeEvent?4(e)
-eric6.Plugins.VcsPlugins.vcsMercurial.QueuesExtension.HgQueuesListDialog.HgQueuesListDialog.keyPressEvent?4(evt)
 eric6.Plugins.VcsPlugins.vcsMercurial.QueuesExtension.HgQueuesListDialog.HgQueuesListDialog.on_buttonBox_clicked?4(button)
-eric6.Plugins.VcsPlugins.vcsMercurial.QueuesExtension.HgQueuesListDialog.HgQueuesListDialog.on_input_returnPressed?4()
-eric6.Plugins.VcsPlugins.vcsMercurial.QueuesExtension.HgQueuesListDialog.HgQueuesListDialog.on_passwordCheckBox_toggled?4(isOn)
-eric6.Plugins.VcsPlugins.vcsMercurial.QueuesExtension.HgQueuesListDialog.HgQueuesListDialog.on_sendButton_clicked?4()
 eric6.Plugins.VcsPlugins.vcsMercurial.QueuesExtension.HgQueuesListDialog.HgQueuesListDialog.start?4(path)
 eric6.Plugins.VcsPlugins.vcsMercurial.QueuesExtension.HgQueuesListDialog.HgQueuesListDialog?1(vcs, parent=None)
 eric6.Plugins.VcsPlugins.vcsMercurial.QueuesExtension.HgQueuesListGuardsDialog.HgQueuesListGuardsDialog.closeEvent?4(e)
@@ -5046,12 +5007,8 @@
 eric6.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.HgShelveBrowserDialog.MessageColumn?7
 eric6.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.HgShelveBrowserDialog.NameColumn?7
 eric6.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.HgShelveBrowserDialog.closeEvent?4(e)
-eric6.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.HgShelveBrowserDialog.keyPressEvent?4(evt)
 eric6.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.HgShelveBrowserDialog.on_buttonBox_clicked?4(button)
-eric6.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.HgShelveBrowserDialog.on_input_returnPressed?4()
-eric6.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.HgShelveBrowserDialog.on_passwordCheckBox_toggled?4(isOn)
 eric6.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.HgShelveBrowserDialog.on_refreshButton_clicked?4()
-eric6.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.HgShelveBrowserDialog.on_sendButton_clicked?4()
 eric6.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.HgShelveBrowserDialog.on_shelveList_currentItemChanged?4(current, previous)
 eric6.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.HgShelveBrowserDialog.on_shelveList_customContextMenuRequested?4(pos)
 eric6.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.HgShelveBrowserDialog.show?4()
--- a/eric6/APIs/Python3/eric6.bas	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/APIs/Python3/eric6.bas	Sun Feb 02 11:27:46 2020 +0100
@@ -158,6 +158,7 @@
 DownloadManager QDialog Ui_DownloadManager
 DownloadManagerButton E5ToolButton
 DownloadModel QAbstractListModel
+DummyThreadWrapper ThreadWrapper module._DummyThread
 DuplicateParamError Exception
 E5Action QAction
 E5AnimatedWidget QWidget
--- a/eric6/DebugClients/Python/ThreadExtension.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/DebugClients/Python/ThreadExtension.py	Sun Feb 02 11:27:46 2020 +0100
@@ -358,6 +358,19 @@
             else:
                 module.Timer = TimerWrapper
         
+            # Special handling of threading._DummyThread
+            class DummyThreadWrapper(module._DummyThread, ThreadWrapper):
+                """
+                Wrapper class for threading._DummyThread.
+                """
+                def __init__(self, *args, **kwargs):
+                    """
+                    Constructor
+                    """
+                    super(DummyThreadWrapper, self).__init__(*args, **kwargs)
+            
+            module._DummyThread = DummyThreadWrapper
+        
         # Add hook for *.QThread
         elif (fullname in ['PyQt4.QtCore', 'PyQt5.QtCore',
                            'PySide.QtCore', 'PySide2.QtCore'] and
--- a/eric6/Debugger/VariablesViewer.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Debugger/VariablesViewer.py	Sun Feb 02 11:27:46 2020 +0100
@@ -690,7 +690,10 @@
                 indentation = 0
             # Check if text is longer than available space
             fontMetrics = QFontMetrics(self.treeView.font())
-            textSize = fontMetrics.width(tooltip)
+            try:
+                textSize = fontMetrics.horizontalAdvance(tooltip)
+            except AttributeError:
+                textSize = fontMetrics.width(tooltip)
             textSize += indentation + 5  # How to determine border size?
             header = self.treeView.header()
             if textSize >= header.sectionSize(column):
Binary file eric6/Documentation/Help/source.qch has changed
--- a/eric6/Documentation/Help/source.qhp	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Documentation/Help/source.qhp	Sun Feb 02 11:27:46 2020 +0100
@@ -3764,6 +3764,8 @@
       <keyword name="DownloadModel.removeRows" id="DownloadModel.removeRows" ref="eric6.WebBrowser.Download.DownloadModel.html#DownloadModel.removeRows" />
       <keyword name="DownloadModel.rowCount" id="DownloadModel.rowCount" ref="eric6.WebBrowser.Download.DownloadModel.html#DownloadModel.rowCount" />
       <keyword name="DownloadUtilities (Module)" id="DownloadUtilities (Module)" ref="eric6.WebBrowser.Download.DownloadUtilities.html" />
+      <keyword name="DummyThreadWrapper" id="DummyThreadWrapper" ref="eric6.DebugClients.Python.ThreadExtension.html#DummyThreadWrapper" />
+      <keyword name="DummyThreadWrapper (Constructor)" id="DummyThreadWrapper (Constructor)" ref="eric6.DebugClients.Python.ThreadExtension.html#DummyThreadWrapper.__init__" />
       <keyword name="DuplicateParamError" id="DuplicateParamError" ref="eric6.E5Network.E5RFC6266.html#DuplicateParamError" />
       <keyword name="E5Action" id="E5Action" ref="eric6.E5Gui.E5Action.html#E5Action" />
       <keyword name="E5Action (Constructor)" id="E5Action (Constructor)" ref="eric6.E5Gui.E5Action.html#E5Action.__init__" />
@@ -7083,6 +7085,7 @@
       <keyword name="Hg" id="Hg" ref="eric6.Plugins.VcsPlugins.vcsMercurial.hg.html#Hg" />
       <keyword name="Hg (Constructor)" id="Hg (Constructor)" ref="eric6.Plugins.VcsPlugins.vcsMercurial.hg.html#Hg.__init__" />
       <keyword name="Hg.__checkDefaults" id="Hg.__checkDefaults" ref="eric6.Plugins.VcsPlugins.vcsMercurial.hg.html#Hg.__checkDefaults" />
+      <keyword name="Hg.__createClient" id="Hg.__createClient" ref="eric6.Plugins.VcsPlugins.vcsMercurial.hg.html#Hg.__createClient" />
       <keyword name="Hg.__getExtensionsInfo" id="Hg.__getExtensionsInfo" ref="eric6.Plugins.VcsPlugins.vcsMercurial.hg.html#Hg.__getExtensionsInfo" />
       <keyword name="Hg.__getInOutBookmarks" id="Hg.__getInOutBookmarks" ref="eric6.Plugins.VcsPlugins.vcsMercurial.hg.html#Hg.__getInOutBookmarks" />
       <keyword name="Hg.__getMostRecentCommitMessage" id="Hg.__getMostRecentCommitMessage" ref="eric6.Plugins.VcsPlugins.vcsMercurial.hg.html#Hg.__getMostRecentCommitMessage" />
@@ -7208,18 +7211,11 @@
       <keyword name="HgAnnotateDialog (Module)" id="HgAnnotateDialog (Module)" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgAnnotateDialog.html" />
       <keyword name="HgAnnotateDialog.__finish" id="HgAnnotateDialog.__finish" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgAnnotateDialog.html#HgAnnotateDialog.__finish" />
       <keyword name="HgAnnotateDialog.__generateItem" id="HgAnnotateDialog.__generateItem" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgAnnotateDialog.html#HgAnnotateDialog.__generateItem" />
-      <keyword name="HgAnnotateDialog.__procFinished" id="HgAnnotateDialog.__procFinished" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgAnnotateDialog.html#HgAnnotateDialog.__procFinished" />
       <keyword name="HgAnnotateDialog.__processOutputLine" id="HgAnnotateDialog.__processOutputLine" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgAnnotateDialog.html#HgAnnotateDialog.__processOutputLine" />
-      <keyword name="HgAnnotateDialog.__readStderr" id="HgAnnotateDialog.__readStderr" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgAnnotateDialog.html#HgAnnotateDialog.__readStderr" />
-      <keyword name="HgAnnotateDialog.__readStdout" id="HgAnnotateDialog.__readStdout" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgAnnotateDialog.html#HgAnnotateDialog.__readStdout" />
       <keyword name="HgAnnotateDialog.__resizeColumns" id="HgAnnotateDialog.__resizeColumns" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgAnnotateDialog.html#HgAnnotateDialog.__resizeColumns" />
       <keyword name="HgAnnotateDialog.__showError" id="HgAnnotateDialog.__showError" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgAnnotateDialog.html#HgAnnotateDialog.__showError" />
       <keyword name="HgAnnotateDialog.closeEvent" id="HgAnnotateDialog.closeEvent" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgAnnotateDialog.html#HgAnnotateDialog.closeEvent" />
-      <keyword name="HgAnnotateDialog.keyPressEvent" id="HgAnnotateDialog.keyPressEvent" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgAnnotateDialog.html#HgAnnotateDialog.keyPressEvent" />
       <keyword name="HgAnnotateDialog.on_buttonBox_clicked" id="HgAnnotateDialog.on_buttonBox_clicked" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgAnnotateDialog.html#HgAnnotateDialog.on_buttonBox_clicked" />
-      <keyword name="HgAnnotateDialog.on_input_returnPressed" id="HgAnnotateDialog.on_input_returnPressed" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgAnnotateDialog.html#HgAnnotateDialog.on_input_returnPressed" />
-      <keyword name="HgAnnotateDialog.on_passwordCheckBox_toggled" id="HgAnnotateDialog.on_passwordCheckBox_toggled" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgAnnotateDialog.html#HgAnnotateDialog.on_passwordCheckBox_toggled" />
-      <keyword name="HgAnnotateDialog.on_sendButton_clicked" id="HgAnnotateDialog.on_sendButton_clicked" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgAnnotateDialog.html#HgAnnotateDialog.on_sendButton_clicked" />
       <keyword name="HgAnnotateDialog.start" id="HgAnnotateDialog.start" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgAnnotateDialog.html#HgAnnotateDialog.start" />
       <keyword name="HgArchiveDialog" id="HgArchiveDialog" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgArchiveDialog.html#HgArchiveDialog" />
       <keyword name="HgArchiveDialog (Constructor)" id="HgArchiveDialog (Constructor)" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgArchiveDialog.html#HgArchiveDialog.__init__" />
@@ -7269,19 +7265,12 @@
       <keyword name="HgBookmarksInOutDialog (Module)" id="HgBookmarksInOutDialog (Module)" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksInOutDialog.html" />
       <keyword name="HgBookmarksInOutDialog.__finish" id="HgBookmarksInOutDialog.__finish" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksInOutDialog.html#HgBookmarksInOutDialog.__finish" />
       <keyword name="HgBookmarksInOutDialog.__generateItem" id="HgBookmarksInOutDialog.__generateItem" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksInOutDialog.html#HgBookmarksInOutDialog.__generateItem" />
-      <keyword name="HgBookmarksInOutDialog.__procFinished" id="HgBookmarksInOutDialog.__procFinished" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksInOutDialog.html#HgBookmarksInOutDialog.__procFinished" />
       <keyword name="HgBookmarksInOutDialog.__processOutputLine" id="HgBookmarksInOutDialog.__processOutputLine" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksInOutDialog.html#HgBookmarksInOutDialog.__processOutputLine" />
-      <keyword name="HgBookmarksInOutDialog.__readStderr" id="HgBookmarksInOutDialog.__readStderr" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksInOutDialog.html#HgBookmarksInOutDialog.__readStderr" />
-      <keyword name="HgBookmarksInOutDialog.__readStdout" id="HgBookmarksInOutDialog.__readStdout" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksInOutDialog.html#HgBookmarksInOutDialog.__readStdout" />
       <keyword name="HgBookmarksInOutDialog.__resizeColumns" id="HgBookmarksInOutDialog.__resizeColumns" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksInOutDialog.html#HgBookmarksInOutDialog.__resizeColumns" />
       <keyword name="HgBookmarksInOutDialog.__resort" id="HgBookmarksInOutDialog.__resort" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksInOutDialog.html#HgBookmarksInOutDialog.__resort" />
       <keyword name="HgBookmarksInOutDialog.__showError" id="HgBookmarksInOutDialog.__showError" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksInOutDialog.html#HgBookmarksInOutDialog.__showError" />
       <keyword name="HgBookmarksInOutDialog.closeEvent" id="HgBookmarksInOutDialog.closeEvent" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksInOutDialog.html#HgBookmarksInOutDialog.closeEvent" />
-      <keyword name="HgBookmarksInOutDialog.keyPressEvent" id="HgBookmarksInOutDialog.keyPressEvent" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksInOutDialog.html#HgBookmarksInOutDialog.keyPressEvent" />
       <keyword name="HgBookmarksInOutDialog.on_buttonBox_clicked" id="HgBookmarksInOutDialog.on_buttonBox_clicked" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksInOutDialog.html#HgBookmarksInOutDialog.on_buttonBox_clicked" />
-      <keyword name="HgBookmarksInOutDialog.on_input_returnPressed" id="HgBookmarksInOutDialog.on_input_returnPressed" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksInOutDialog.html#HgBookmarksInOutDialog.on_input_returnPressed" />
-      <keyword name="HgBookmarksInOutDialog.on_passwordCheckBox_toggled" id="HgBookmarksInOutDialog.on_passwordCheckBox_toggled" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksInOutDialog.html#HgBookmarksInOutDialog.on_passwordCheckBox_toggled" />
-      <keyword name="HgBookmarksInOutDialog.on_sendButton_clicked" id="HgBookmarksInOutDialog.on_sendButton_clicked" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksInOutDialog.html#HgBookmarksInOutDialog.on_sendButton_clicked" />
       <keyword name="HgBookmarksInOutDialog.start" id="HgBookmarksInOutDialog.start" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksInOutDialog.html#HgBookmarksInOutDialog.start" />
       <keyword name="HgBookmarksListDialog" id="HgBookmarksListDialog" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksListDialog.html#HgBookmarksListDialog" />
       <keyword name="HgBookmarksListDialog (Constructor)" id="HgBookmarksListDialog (Constructor)" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksListDialog.html#HgBookmarksListDialog.__init__" />
@@ -7289,25 +7278,18 @@
       <keyword name="HgBookmarksListDialog.__deleteBookmark" id="HgBookmarksListDialog.__deleteBookmark" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksListDialog.html#HgBookmarksListDialog.__deleteBookmark" />
       <keyword name="HgBookmarksListDialog.__finish" id="HgBookmarksListDialog.__finish" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksListDialog.html#HgBookmarksListDialog.__finish" />
       <keyword name="HgBookmarksListDialog.__generateItem" id="HgBookmarksListDialog.__generateItem" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksListDialog.html#HgBookmarksListDialog.__generateItem" />
-      <keyword name="HgBookmarksListDialog.__procFinished" id="HgBookmarksListDialog.__procFinished" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksListDialog.html#HgBookmarksListDialog.__procFinished" />
       <keyword name="HgBookmarksListDialog.__processOutputLine" id="HgBookmarksListDialog.__processOutputLine" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksListDialog.html#HgBookmarksListDialog.__processOutputLine" />
       <keyword name="HgBookmarksListDialog.__pullBookmark" id="HgBookmarksListDialog.__pullBookmark" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksListDialog.html#HgBookmarksListDialog.__pullBookmark" />
       <keyword name="HgBookmarksListDialog.__pushBookmark" id="HgBookmarksListDialog.__pushBookmark" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksListDialog.html#HgBookmarksListDialog.__pushBookmark" />
-      <keyword name="HgBookmarksListDialog.__readStderr" id="HgBookmarksListDialog.__readStderr" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksListDialog.html#HgBookmarksListDialog.__readStderr" />
-      <keyword name="HgBookmarksListDialog.__readStdout" id="HgBookmarksListDialog.__readStdout" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksListDialog.html#HgBookmarksListDialog.__readStdout" />
       <keyword name="HgBookmarksListDialog.__renameBookmark" id="HgBookmarksListDialog.__renameBookmark" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksListDialog.html#HgBookmarksListDialog.__renameBookmark" />
       <keyword name="HgBookmarksListDialog.__resizeColumns" id="HgBookmarksListDialog.__resizeColumns" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksListDialog.html#HgBookmarksListDialog.__resizeColumns" />
       <keyword name="HgBookmarksListDialog.__resort" id="HgBookmarksListDialog.__resort" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksListDialog.html#HgBookmarksListDialog.__resort" />
       <keyword name="HgBookmarksListDialog.__showError" id="HgBookmarksListDialog.__showError" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksListDialog.html#HgBookmarksListDialog.__showError" />
       <keyword name="HgBookmarksListDialog.__switchTo" id="HgBookmarksListDialog.__switchTo" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksListDialog.html#HgBookmarksListDialog.__switchTo" />
       <keyword name="HgBookmarksListDialog.closeEvent" id="HgBookmarksListDialog.closeEvent" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksListDialog.html#HgBookmarksListDialog.closeEvent" />
-      <keyword name="HgBookmarksListDialog.keyPressEvent" id="HgBookmarksListDialog.keyPressEvent" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksListDialog.html#HgBookmarksListDialog.keyPressEvent" />
       <keyword name="HgBookmarksListDialog.on_bookmarksList_customContextMenuRequested" id="HgBookmarksListDialog.on_bookmarksList_customContextMenuRequested" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksListDialog.html#HgBookmarksListDialog.on_bookmarksList_customContextMenuRequested" />
       <keyword name="HgBookmarksListDialog.on_buttonBox_clicked" id="HgBookmarksListDialog.on_buttonBox_clicked" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksListDialog.html#HgBookmarksListDialog.on_buttonBox_clicked" />
-      <keyword name="HgBookmarksListDialog.on_input_returnPressed" id="HgBookmarksListDialog.on_input_returnPressed" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksListDialog.html#HgBookmarksListDialog.on_input_returnPressed" />
-      <keyword name="HgBookmarksListDialog.on_passwordCheckBox_toggled" id="HgBookmarksListDialog.on_passwordCheckBox_toggled" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksListDialog.html#HgBookmarksListDialog.on_passwordCheckBox_toggled" />
       <keyword name="HgBookmarksListDialog.on_refreshButton_clicked" id="HgBookmarksListDialog.on_refreshButton_clicked" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksListDialog.html#HgBookmarksListDialog.on_refreshButton_clicked" />
-      <keyword name="HgBookmarksListDialog.on_sendButton_clicked" id="HgBookmarksListDialog.on_sendButton_clicked" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksListDialog.html#HgBookmarksListDialog.on_sendButton_clicked" />
       <keyword name="HgBookmarksListDialog.start" id="HgBookmarksListDialog.start" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksListDialog.html#HgBookmarksListDialog.start" />
       <keyword name="HgBranchInputDialog" id="HgBranchInputDialog" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgBranchInputDialog.html#HgBranchInputDialog" />
       <keyword name="HgBranchInputDialog (Constructor)" id="HgBranchInputDialog (Constructor)" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgBranchInputDialog.html#HgBranchInputDialog.__init__" />
@@ -7378,25 +7360,18 @@
       <keyword name="HgConflictsListDialog.__finish" id="HgConflictsListDialog.__finish" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgConflictsListDialog.html#HgConflictsListDialog.__finish" />
       <keyword name="HgConflictsListDialog.__generateItem" id="HgConflictsListDialog.__generateItem" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgConflictsListDialog.html#HgConflictsListDialog.__generateItem" />
       <keyword name="HgConflictsListDialog.__getEntries" id="HgConflictsListDialog.__getEntries" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgConflictsListDialog.html#HgConflictsListDialog.__getEntries" />
-      <keyword name="HgConflictsListDialog.__procFinished" id="HgConflictsListDialog.__procFinished" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgConflictsListDialog.html#HgConflictsListDialog.__procFinished" />
       <keyword name="HgConflictsListDialog.__processOutputLine" id="HgConflictsListDialog.__processOutputLine" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgConflictsListDialog.html#HgConflictsListDialog.__processOutputLine" />
-      <keyword name="HgConflictsListDialog.__readStderr" id="HgConflictsListDialog.__readStderr" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgConflictsListDialog.html#HgConflictsListDialog.__readStderr" />
-      <keyword name="HgConflictsListDialog.__readStdout" id="HgConflictsListDialog.__readStdout" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgConflictsListDialog.html#HgConflictsListDialog.__readStdout" />
       <keyword name="HgConflictsListDialog.__resizeColumns" id="HgConflictsListDialog.__resizeColumns" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgConflictsListDialog.html#HgConflictsListDialog.__resizeColumns" />
       <keyword name="HgConflictsListDialog.__resort" id="HgConflictsListDialog.__resort" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgConflictsListDialog.html#HgConflictsListDialog.__resort" />
       <keyword name="HgConflictsListDialog.__showError" id="HgConflictsListDialog.__showError" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgConflictsListDialog.html#HgConflictsListDialog.__showError" />
       <keyword name="HgConflictsListDialog.closeEvent" id="HgConflictsListDialog.closeEvent" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgConflictsListDialog.html#HgConflictsListDialog.closeEvent" />
-      <keyword name="HgConflictsListDialog.keyPressEvent" id="HgConflictsListDialog.keyPressEvent" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgConflictsListDialog.html#HgConflictsListDialog.keyPressEvent" />
       <keyword name="HgConflictsListDialog.on_buttonBox_clicked" id="HgConflictsListDialog.on_buttonBox_clicked" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgConflictsListDialog.html#HgConflictsListDialog.on_buttonBox_clicked" />
       <keyword name="HgConflictsListDialog.on_conflictsList_itemDoubleClicked" id="HgConflictsListDialog.on_conflictsList_itemDoubleClicked" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgConflictsListDialog.html#HgConflictsListDialog.on_conflictsList_itemDoubleClicked" />
       <keyword name="HgConflictsListDialog.on_conflictsList_itemSelectionChanged" id="HgConflictsListDialog.on_conflictsList_itemSelectionChanged" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgConflictsListDialog.html#HgConflictsListDialog.on_conflictsList_itemSelectionChanged" />
       <keyword name="HgConflictsListDialog.on_editButton_clicked" id="HgConflictsListDialog.on_editButton_clicked" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgConflictsListDialog.html#HgConflictsListDialog.on_editButton_clicked" />
-      <keyword name="HgConflictsListDialog.on_input_returnPressed" id="HgConflictsListDialog.on_input_returnPressed" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgConflictsListDialog.html#HgConflictsListDialog.on_input_returnPressed" />
-      <keyword name="HgConflictsListDialog.on_passwordCheckBox_toggled" id="HgConflictsListDialog.on_passwordCheckBox_toggled" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgConflictsListDialog.html#HgConflictsListDialog.on_passwordCheckBox_toggled" />
       <keyword name="HgConflictsListDialog.on_reMergeButton_clicked" id="HgConflictsListDialog.on_reMergeButton_clicked" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgConflictsListDialog.html#HgConflictsListDialog.on_reMergeButton_clicked" />
       <keyword name="HgConflictsListDialog.on_refreshButton_clicked" id="HgConflictsListDialog.on_refreshButton_clicked" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgConflictsListDialog.html#HgConflictsListDialog.on_refreshButton_clicked" />
       <keyword name="HgConflictsListDialog.on_resolvedButton_clicked" id="HgConflictsListDialog.on_resolvedButton_clicked" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgConflictsListDialog.html#HgConflictsListDialog.on_resolvedButton_clicked" />
-      <keyword name="HgConflictsListDialog.on_sendButton_clicked" id="HgConflictsListDialog.on_sendButton_clicked" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgConflictsListDialog.html#HgConflictsListDialog.on_sendButton_clicked" />
       <keyword name="HgConflictsListDialog.on_unresolvedButton_clicked" id="HgConflictsListDialog.on_unresolvedButton_clicked" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgConflictsListDialog.html#HgConflictsListDialog.on_unresolvedButton_clicked" />
       <keyword name="HgConflictsListDialog.show" id="HgConflictsListDialog.show" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgConflictsListDialog.html#HgConflictsListDialog.show" />
       <keyword name="HgConflictsListDialog.start" id="HgConflictsListDialog.start" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgConflictsListDialog.html#HgConflictsListDialog.start" />
@@ -7409,19 +7384,12 @@
       <keyword name="HgDialog (Constructor)" id="HgDialog (Constructor)" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgDialog.html#HgDialog.__init__" />
       <keyword name="HgDialog (Module)" id="HgDialog (Module)" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgDialog.html" />
       <keyword name="HgDialog.__finish" id="HgDialog.__finish" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgDialog.html#HgDialog.__finish" />
-      <keyword name="HgDialog.__procFinished" id="HgDialog.__procFinished" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgDialog.html#HgDialog.__procFinished" />
-      <keyword name="HgDialog.__readStderr" id="HgDialog.__readStderr" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgDialog.html#HgDialog.__readStderr" />
-      <keyword name="HgDialog.__readStdout" id="HgDialog.__readStdout" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgDialog.html#HgDialog.__readStdout" />
       <keyword name="HgDialog.__showError" id="HgDialog.__showError" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgDialog.html#HgDialog.__showError" />
       <keyword name="HgDialog.__showOutput" id="HgDialog.__showOutput" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgDialog.html#HgDialog.__showOutput" />
       <keyword name="HgDialog.hasAddOrDelete" id="HgDialog.hasAddOrDelete" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgDialog.html#HgDialog.hasAddOrDelete" />
-      <keyword name="HgDialog.keyPressEvent" id="HgDialog.keyPressEvent" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgDialog.html#HgDialog.keyPressEvent" />
       <keyword name="HgDialog.normalExit" id="HgDialog.normalExit" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgDialog.html#HgDialog.normalExit" />
       <keyword name="HgDialog.normalExitWithoutErrors" id="HgDialog.normalExitWithoutErrors" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgDialog.html#HgDialog.normalExitWithoutErrors" />
       <keyword name="HgDialog.on_buttonBox_clicked" id="HgDialog.on_buttonBox_clicked" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgDialog.html#HgDialog.on_buttonBox_clicked" />
-      <keyword name="HgDialog.on_input_returnPressed" id="HgDialog.on_input_returnPressed" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgDialog.html#HgDialog.on_input_returnPressed" />
-      <keyword name="HgDialog.on_passwordCheckBox_toggled" id="HgDialog.on_passwordCheckBox_toggled" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgDialog.html#HgDialog.on_passwordCheckBox_toggled" />
-      <keyword name="HgDialog.on_sendButton_clicked" id="HgDialog.on_sendButton_clicked" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgDialog.html#HgDialog.on_sendButton_clicked" />
       <keyword name="HgDialog.startProcess" id="HgDialog.startProcess" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgDialog.html#HgDialog.startProcess" />
       <keyword name="HgDiffDialog" id="HgDiffDialog" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgDiffDialog.html#HgDiffDialog" />
       <keyword name="HgDiffDialog (Constructor)" id="HgDiffDialog (Constructor)" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgDiffDialog.html#HgDiffDialog.__init__" />
@@ -7441,8 +7409,6 @@
       <keyword name="HgDiffGenerator.__getVersionArg" id="HgDiffGenerator.__getVersionArg" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgDiffGenerator.html#HgDiffGenerator.__getVersionArg" />
       <keyword name="HgDiffGenerator.__processFileLine" id="HgDiffGenerator.__processFileLine" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgDiffGenerator.html#HgDiffGenerator.__processFileLine" />
       <keyword name="HgDiffGenerator.__processOutputLine" id="HgDiffGenerator.__processOutputLine" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgDiffGenerator.html#HgDiffGenerator.__processOutputLine" />
-      <keyword name="HgDiffGenerator.__readStderr" id="HgDiffGenerator.__readStderr" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgDiffGenerator.html#HgDiffGenerator.__readStderr" />
-      <keyword name="HgDiffGenerator.__readStdout" id="HgDiffGenerator.__readStdout" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgDiffGenerator.html#HgDiffGenerator.__readStdout" />
       <keyword name="HgDiffGenerator.getResult" id="HgDiffGenerator.getResult" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgDiffGenerator.html#HgDiffGenerator.getResult" />
       <keyword name="HgDiffGenerator.start" id="HgDiffGenerator.start" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgDiffGenerator.html#HgDiffGenerator.start" />
       <keyword name="HgDiffGenerator.stopProcess" id="HgDiffGenerator.stopProcess" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgDiffGenerator.html#HgDiffGenerator.stopProcess" />
@@ -7502,21 +7468,14 @@
       <keyword name="HgGpgSignaturesDialog.__filterSignatures" id="HgGpgSignaturesDialog.__filterSignatures" ref="eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignaturesDialog.html#HgGpgSignaturesDialog.__filterSignatures" />
       <keyword name="HgGpgSignaturesDialog.__finish" id="HgGpgSignaturesDialog.__finish" ref="eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignaturesDialog.html#HgGpgSignaturesDialog.__finish" />
       <keyword name="HgGpgSignaturesDialog.__generateItem" id="HgGpgSignaturesDialog.__generateItem" ref="eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignaturesDialog.html#HgGpgSignaturesDialog.__generateItem" />
-      <keyword name="HgGpgSignaturesDialog.__procFinished" id="HgGpgSignaturesDialog.__procFinished" ref="eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignaturesDialog.html#HgGpgSignaturesDialog.__procFinished" />
       <keyword name="HgGpgSignaturesDialog.__processOutputLine" id="HgGpgSignaturesDialog.__processOutputLine" ref="eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignaturesDialog.html#HgGpgSignaturesDialog.__processOutputLine" />
-      <keyword name="HgGpgSignaturesDialog.__readStderr" id="HgGpgSignaturesDialog.__readStderr" ref="eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignaturesDialog.html#HgGpgSignaturesDialog.__readStderr" />
-      <keyword name="HgGpgSignaturesDialog.__readStdout" id="HgGpgSignaturesDialog.__readStdout" ref="eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignaturesDialog.html#HgGpgSignaturesDialog.__readStdout" />
       <keyword name="HgGpgSignaturesDialog.__resizeColumns" id="HgGpgSignaturesDialog.__resizeColumns" ref="eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignaturesDialog.html#HgGpgSignaturesDialog.__resizeColumns" />
       <keyword name="HgGpgSignaturesDialog.__resort" id="HgGpgSignaturesDialog.__resort" ref="eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignaturesDialog.html#HgGpgSignaturesDialog.__resort" />
       <keyword name="HgGpgSignaturesDialog.__showError" id="HgGpgSignaturesDialog.__showError" ref="eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignaturesDialog.html#HgGpgSignaturesDialog.__showError" />
       <keyword name="HgGpgSignaturesDialog.closeEvent" id="HgGpgSignaturesDialog.closeEvent" ref="eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignaturesDialog.html#HgGpgSignaturesDialog.closeEvent" />
-      <keyword name="HgGpgSignaturesDialog.keyPressEvent" id="HgGpgSignaturesDialog.keyPressEvent" ref="eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignaturesDialog.html#HgGpgSignaturesDialog.keyPressEvent" />
       <keyword name="HgGpgSignaturesDialog.on_buttonBox_clicked" id="HgGpgSignaturesDialog.on_buttonBox_clicked" ref="eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignaturesDialog.html#HgGpgSignaturesDialog.on_buttonBox_clicked" />
       <keyword name="HgGpgSignaturesDialog.on_categoryCombo_activated" id="HgGpgSignaturesDialog.on_categoryCombo_activated" ref="eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignaturesDialog.html#HgGpgSignaturesDialog.on_categoryCombo_activated" />
-      <keyword name="HgGpgSignaturesDialog.on_input_returnPressed" id="HgGpgSignaturesDialog.on_input_returnPressed" ref="eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignaturesDialog.html#HgGpgSignaturesDialog.on_input_returnPressed" />
-      <keyword name="HgGpgSignaturesDialog.on_passwordCheckBox_toggled" id="HgGpgSignaturesDialog.on_passwordCheckBox_toggled" ref="eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignaturesDialog.html#HgGpgSignaturesDialog.on_passwordCheckBox_toggled" />
       <keyword name="HgGpgSignaturesDialog.on_rxEdit_textChanged" id="HgGpgSignaturesDialog.on_rxEdit_textChanged" ref="eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignaturesDialog.html#HgGpgSignaturesDialog.on_rxEdit_textChanged" />
-      <keyword name="HgGpgSignaturesDialog.on_sendButton_clicked" id="HgGpgSignaturesDialog.on_sendButton_clicked" ref="eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignaturesDialog.html#HgGpgSignaturesDialog.on_sendButton_clicked" />
       <keyword name="HgGpgSignaturesDialog.on_signaturesList_itemSelectionChanged" id="HgGpgSignaturesDialog.on_signaturesList_itemSelectionChanged" ref="eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignaturesDialog.html#HgGpgSignaturesDialog.on_signaturesList_itemSelectionChanged" />
       <keyword name="HgGpgSignaturesDialog.on_verifyButton_clicked" id="HgGpgSignaturesDialog.on_verifyButton_clicked" ref="eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignaturesDialog.html#HgGpgSignaturesDialog.on_verifyButton_clicked" />
       <keyword name="HgGpgSignaturesDialog.start" id="HgGpgSignaturesDialog.start" ref="eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignaturesDialog.html#HgGpgSignaturesDialog.start" />
@@ -7616,13 +7575,10 @@
       <keyword name="HgLogBrowserDialog.__modifyForLargeFiles" id="HgLogBrowserDialog.__modifyForLargeFiles" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html#HgLogBrowserDialog.__modifyForLargeFiles" />
       <keyword name="HgLogBrowserDialog.__phaseActTriggered" id="HgLogBrowserDialog.__phaseActTriggered" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html#HgLogBrowserDialog.__phaseActTriggered" />
       <keyword name="HgLogBrowserDialog.__prepareFieldSearch" id="HgLogBrowserDialog.__prepareFieldSearch" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html#HgLogBrowserDialog.__prepareFieldSearch" />
-      <keyword name="HgLogBrowserDialog.__procFinished" id="HgLogBrowserDialog.__procFinished" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html#HgLogBrowserDialog.__procFinished" />
       <keyword name="HgLogBrowserDialog.__processBuffer" id="HgLogBrowserDialog.__processBuffer" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html#HgLogBrowserDialog.__processBuffer" />
       <keyword name="HgLogBrowserDialog.__pullActTriggered" id="HgLogBrowserDialog.__pullActTriggered" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html#HgLogBrowserDialog.__pullActTriggered" />
       <keyword name="HgLogBrowserDialog.__pushActTriggered" id="HgLogBrowserDialog.__pushActTriggered" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html#HgLogBrowserDialog.__pushActTriggered" />
       <keyword name="HgLogBrowserDialog.__pushAllActTriggered" id="HgLogBrowserDialog.__pushAllActTriggered" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html#HgLogBrowserDialog.__pushAllActTriggered" />
-      <keyword name="HgLogBrowserDialog.__readStderr" id="HgLogBrowserDialog.__readStderr" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html#HgLogBrowserDialog.__readStderr" />
-      <keyword name="HgLogBrowserDialog.__readStdout" id="HgLogBrowserDialog.__readStdout" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html#HgLogBrowserDialog.__readStdout" />
       <keyword name="HgLogBrowserDialog.__reloadGeometry" id="HgLogBrowserDialog.__reloadGeometry" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html#HgLogBrowserDialog.__reloadGeometry" />
       <keyword name="HgLogBrowserDialog.__resetUI" id="HgLogBrowserDialog.__resetUI" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html#HgLogBrowserDialog.__resetUI" />
       <keyword name="HgLogBrowserDialog.__resizeColumnsFiles" id="HgLogBrowserDialog.__resizeColumnsFiles" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html#HgLogBrowserDialog.__resizeColumnsFiles" />
@@ -7642,7 +7598,6 @@
       <keyword name="HgLogBrowserDialog.__updateToolMenuActions" id="HgLogBrowserDialog.__updateToolMenuActions" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html#HgLogBrowserDialog.__updateToolMenuActions" />
       <keyword name="HgLogBrowserDialog.closeEvent" id="HgLogBrowserDialog.closeEvent" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html#HgLogBrowserDialog.closeEvent" />
       <keyword name="HgLogBrowserDialog.col2x" id="HgLogBrowserDialog.col2x" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html#HgLogBrowserDialog.col2x" />
-      <keyword name="HgLogBrowserDialog.keyPressEvent" id="HgLogBrowserDialog.keyPressEvent" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html#HgLogBrowserDialog.keyPressEvent" />
       <keyword name="HgLogBrowserDialog.on_branchCombo_activated" id="HgLogBrowserDialog.on_branchCombo_activated" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html#HgLogBrowserDialog.on_branchCombo_activated" />
       <keyword name="HgLogBrowserDialog.on_buttonBox_clicked" id="HgLogBrowserDialog.on_buttonBox_clicked" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html#HgLogBrowserDialog.on_buttonBox_clicked" />
       <keyword name="HgLogBrowserDialog.on_diffSelectLabel_linkActivated" id="HgLogBrowserDialog.on_diffSelectLabel_linkActivated" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html#HgLogBrowserDialog.on_diffSelectLabel_linkActivated" />
@@ -7652,18 +7607,15 @@
       <keyword name="HgLogBrowserDialog.on_findNextButton_clicked" id="HgLogBrowserDialog.on_findNextButton_clicked" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html#HgLogBrowserDialog.on_findNextButton_clicked" />
       <keyword name="HgLogBrowserDialog.on_findPrevButton_clicked" id="HgLogBrowserDialog.on_findPrevButton_clicked" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html#HgLogBrowserDialog.on_findPrevButton_clicked" />
       <keyword name="HgLogBrowserDialog.on_fromDate_dateChanged" id="HgLogBrowserDialog.on_fromDate_dateChanged" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html#HgLogBrowserDialog.on_fromDate_dateChanged" />
-      <keyword name="HgLogBrowserDialog.on_input_returnPressed" id="HgLogBrowserDialog.on_input_returnPressed" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html#HgLogBrowserDialog.on_input_returnPressed" />
       <keyword name="HgLogBrowserDialog.on_logTree_currentItemChanged" id="HgLogBrowserDialog.on_logTree_currentItemChanged" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html#HgLogBrowserDialog.on_logTree_currentItemChanged" />
       <keyword name="HgLogBrowserDialog.on_logTree_itemSelectionChanged" id="HgLogBrowserDialog.on_logTree_itemSelectionChanged" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html#HgLogBrowserDialog.on_logTree_itemSelectionChanged" />
       <keyword name="HgLogBrowserDialog.on_modeComboBox_currentIndexChanged" id="HgLogBrowserDialog.on_modeComboBox_currentIndexChanged" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html#HgLogBrowserDialog.on_modeComboBox_currentIndexChanged" />
       <keyword name="HgLogBrowserDialog.on_nextButton_clicked" id="HgLogBrowserDialog.on_nextButton_clicked" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html#HgLogBrowserDialog.on_nextButton_clicked" />
-      <keyword name="HgLogBrowserDialog.on_passwordCheckBox_toggled" id="HgLogBrowserDialog.on_passwordCheckBox_toggled" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html#HgLogBrowserDialog.on_passwordCheckBox_toggled" />
       <keyword name="HgLogBrowserDialog.on_refreshButton_clicked" id="HgLogBrowserDialog.on_refreshButton_clicked" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html#HgLogBrowserDialog.on_refreshButton_clicked" />
       <keyword name="HgLogBrowserDialog.on_rxEdit_returnPressed" id="HgLogBrowserDialog.on_rxEdit_returnPressed" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html#HgLogBrowserDialog.on_rxEdit_returnPressed" />
       <keyword name="HgLogBrowserDialog.on_rxEdit_textChanged" id="HgLogBrowserDialog.on_rxEdit_textChanged" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html#HgLogBrowserDialog.on_rxEdit_textChanged" />
       <keyword name="HgLogBrowserDialog.on_saveLabel_linkActivated" id="HgLogBrowserDialog.on_saveLabel_linkActivated" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html#HgLogBrowserDialog.on_saveLabel_linkActivated" />
       <keyword name="HgLogBrowserDialog.on_sbsSelectLabel_linkActivated" id="HgLogBrowserDialog.on_sbsSelectLabel_linkActivated" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html#HgLogBrowserDialog.on_sbsSelectLabel_linkActivated" />
-      <keyword name="HgLogBrowserDialog.on_sendButton_clicked" id="HgLogBrowserDialog.on_sendButton_clicked" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html#HgLogBrowserDialog.on_sendButton_clicked" />
       <keyword name="HgLogBrowserDialog.on_stopCheckBox_clicked" id="HgLogBrowserDialog.on_stopCheckBox_clicked" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html#HgLogBrowserDialog.on_stopCheckBox_clicked" />
       <keyword name="HgLogBrowserDialog.on_toDate_dateChanged" id="HgLogBrowserDialog.on_toDate_dateChanged" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html#HgLogBrowserDialog.on_toDate_dateChanged" />
       <keyword name="HgLogBrowserDialog.on_upButton_clicked" id="HgLogBrowserDialog.on_upButton_clicked" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html#HgLogBrowserDialog.on_upButton_clicked" />
@@ -7838,9 +7790,6 @@
       <keyword name="HgQueuesHeaderDialog (Constructor)" id="HgQueuesHeaderDialog (Constructor)" ref="eric6.Plugins.VcsPlugins.vcsMercurial.QueuesExtension.HgQueuesHeaderDialog.html#HgQueuesHeaderDialog.__init__" />
       <keyword name="HgQueuesHeaderDialog (Module)" id="HgQueuesHeaderDialog (Module)" ref="eric6.Plugins.VcsPlugins.vcsMercurial.QueuesExtension.HgQueuesHeaderDialog.html" />
       <keyword name="HgQueuesHeaderDialog.__finish" id="HgQueuesHeaderDialog.__finish" ref="eric6.Plugins.VcsPlugins.vcsMercurial.QueuesExtension.HgQueuesHeaderDialog.html#HgQueuesHeaderDialog.__finish" />
-      <keyword name="HgQueuesHeaderDialog.__procFinished" id="HgQueuesHeaderDialog.__procFinished" ref="eric6.Plugins.VcsPlugins.vcsMercurial.QueuesExtension.HgQueuesHeaderDialog.html#HgQueuesHeaderDialog.__procFinished" />
-      <keyword name="HgQueuesHeaderDialog.__readStderr" id="HgQueuesHeaderDialog.__readStderr" ref="eric6.Plugins.VcsPlugins.vcsMercurial.QueuesExtension.HgQueuesHeaderDialog.html#HgQueuesHeaderDialog.__readStderr" />
-      <keyword name="HgQueuesHeaderDialog.__readStdout" id="HgQueuesHeaderDialog.__readStdout" ref="eric6.Plugins.VcsPlugins.vcsMercurial.QueuesExtension.HgQueuesHeaderDialog.html#HgQueuesHeaderDialog.__readStdout" />
       <keyword name="HgQueuesHeaderDialog.__showError" id="HgQueuesHeaderDialog.__showError" ref="eric6.Plugins.VcsPlugins.vcsMercurial.QueuesExtension.HgQueuesHeaderDialog.html#HgQueuesHeaderDialog.__showError" />
       <keyword name="HgQueuesHeaderDialog.__showOutput" id="HgQueuesHeaderDialog.__showOutput" ref="eric6.Plugins.VcsPlugins.vcsMercurial.QueuesExtension.HgQueuesHeaderDialog.html#HgQueuesHeaderDialog.__showOutput" />
       <keyword name="HgQueuesHeaderDialog.closeEvent" id="HgQueuesHeaderDialog.closeEvent" ref="eric6.Plugins.VcsPlugins.vcsMercurial.QueuesExtension.HgQueuesHeaderDialog.html#HgQueuesHeaderDialog.closeEvent" />
@@ -7858,19 +7807,12 @@
       <keyword name="HgQueuesListDialog.__getSeries" id="HgQueuesListDialog.__getSeries" ref="eric6.Plugins.VcsPlugins.vcsMercurial.QueuesExtension.HgQueuesListDialog.html#HgQueuesListDialog.__getSeries" />
       <keyword name="HgQueuesListDialog.__getTop" id="HgQueuesListDialog.__getTop" ref="eric6.Plugins.VcsPlugins.vcsMercurial.QueuesExtension.HgQueuesListDialog.html#HgQueuesListDialog.__getTop" />
       <keyword name="HgQueuesListDialog.__markTopItem" id="HgQueuesListDialog.__markTopItem" ref="eric6.Plugins.VcsPlugins.vcsMercurial.QueuesExtension.HgQueuesListDialog.html#HgQueuesListDialog.__markTopItem" />
-      <keyword name="HgQueuesListDialog.__procFinished" id="HgQueuesListDialog.__procFinished" ref="eric6.Plugins.VcsPlugins.vcsMercurial.QueuesExtension.HgQueuesListDialog.html#HgQueuesListDialog.__procFinished" />
       <keyword name="HgQueuesListDialog.__processOutputLine" id="HgQueuesListDialog.__processOutputLine" ref="eric6.Plugins.VcsPlugins.vcsMercurial.QueuesExtension.HgQueuesListDialog.html#HgQueuesListDialog.__processOutputLine" />
-      <keyword name="HgQueuesListDialog.__readStderr" id="HgQueuesListDialog.__readStderr" ref="eric6.Plugins.VcsPlugins.vcsMercurial.QueuesExtension.HgQueuesListDialog.html#HgQueuesListDialog.__readStderr" />
-      <keyword name="HgQueuesListDialog.__readStdout" id="HgQueuesListDialog.__readStdout" ref="eric6.Plugins.VcsPlugins.vcsMercurial.QueuesExtension.HgQueuesListDialog.html#HgQueuesListDialog.__readStdout" />
       <keyword name="HgQueuesListDialog.__resizeColumns" id="HgQueuesListDialog.__resizeColumns" ref="eric6.Plugins.VcsPlugins.vcsMercurial.QueuesExtension.HgQueuesListDialog.html#HgQueuesListDialog.__resizeColumns" />
       <keyword name="HgQueuesListDialog.__resort" id="HgQueuesListDialog.__resort" ref="eric6.Plugins.VcsPlugins.vcsMercurial.QueuesExtension.HgQueuesListDialog.html#HgQueuesListDialog.__resort" />
       <keyword name="HgQueuesListDialog.__showError" id="HgQueuesListDialog.__showError" ref="eric6.Plugins.VcsPlugins.vcsMercurial.QueuesExtension.HgQueuesListDialog.html#HgQueuesListDialog.__showError" />
       <keyword name="HgQueuesListDialog.closeEvent" id="HgQueuesListDialog.closeEvent" ref="eric6.Plugins.VcsPlugins.vcsMercurial.QueuesExtension.HgQueuesListDialog.html#HgQueuesListDialog.closeEvent" />
-      <keyword name="HgQueuesListDialog.keyPressEvent" id="HgQueuesListDialog.keyPressEvent" ref="eric6.Plugins.VcsPlugins.vcsMercurial.QueuesExtension.HgQueuesListDialog.html#HgQueuesListDialog.keyPressEvent" />
       <keyword name="HgQueuesListDialog.on_buttonBox_clicked" id="HgQueuesListDialog.on_buttonBox_clicked" ref="eric6.Plugins.VcsPlugins.vcsMercurial.QueuesExtension.HgQueuesListDialog.html#HgQueuesListDialog.on_buttonBox_clicked" />
-      <keyword name="HgQueuesListDialog.on_input_returnPressed" id="HgQueuesListDialog.on_input_returnPressed" ref="eric6.Plugins.VcsPlugins.vcsMercurial.QueuesExtension.HgQueuesListDialog.html#HgQueuesListDialog.on_input_returnPressed" />
-      <keyword name="HgQueuesListDialog.on_passwordCheckBox_toggled" id="HgQueuesListDialog.on_passwordCheckBox_toggled" ref="eric6.Plugins.VcsPlugins.vcsMercurial.QueuesExtension.HgQueuesListDialog.html#HgQueuesListDialog.on_passwordCheckBox_toggled" />
-      <keyword name="HgQueuesListDialog.on_sendButton_clicked" id="HgQueuesListDialog.on_sendButton_clicked" ref="eric6.Plugins.VcsPlugins.vcsMercurial.QueuesExtension.HgQueuesListDialog.html#HgQueuesListDialog.on_sendButton_clicked" />
       <keyword name="HgQueuesListDialog.start" id="HgQueuesListDialog.start" ref="eric6.Plugins.VcsPlugins.vcsMercurial.QueuesExtension.HgQueuesListDialog.html#HgQueuesListDialog.start" />
       <keyword name="HgQueuesListGuardsDialog" id="HgQueuesListGuardsDialog" ref="eric6.Plugins.VcsPlugins.vcsMercurial.QueuesExtension.HgQueuesListGuardsDialog.html#HgQueuesListGuardsDialog" />
       <keyword name="HgQueuesListGuardsDialog (Constructor)" id="HgQueuesListGuardsDialog (Constructor)" ref="eric6.Plugins.VcsPlugins.vcsMercurial.QueuesExtension.HgQueuesListGuardsDialog.html#HgQueuesListGuardsDialog.__init__" />
@@ -7994,21 +7936,14 @@
       <keyword name="HgShelveBrowserDialog.__finish" id="HgShelveBrowserDialog.__finish" ref="eric6.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog.__finish" />
       <keyword name="HgShelveBrowserDialog.__generateShelveEntry" id="HgShelveBrowserDialog.__generateShelveEntry" ref="eric6.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog.__generateShelveEntry" />
       <keyword name="HgShelveBrowserDialog.__getShelveEntries" id="HgShelveBrowserDialog.__getShelveEntries" ref="eric6.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog.__getShelveEntries" />
-      <keyword name="HgShelveBrowserDialog.__procFinished" id="HgShelveBrowserDialog.__procFinished" ref="eric6.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog.__procFinished" />
       <keyword name="HgShelveBrowserDialog.__processBuffer" id="HgShelveBrowserDialog.__processBuffer" ref="eric6.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog.__processBuffer" />
-      <keyword name="HgShelveBrowserDialog.__readStderr" id="HgShelveBrowserDialog.__readStderr" ref="eric6.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog.__readStderr" />
-      <keyword name="HgShelveBrowserDialog.__readStdout" id="HgShelveBrowserDialog.__readStdout" ref="eric6.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog.__readStdout" />
       <keyword name="HgShelveBrowserDialog.__resetUI" id="HgShelveBrowserDialog.__resetUI" ref="eric6.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog.__resetUI" />
       <keyword name="HgShelveBrowserDialog.__resizeColumnsShelves" id="HgShelveBrowserDialog.__resizeColumnsShelves" ref="eric6.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog.__resizeColumnsShelves" />
       <keyword name="HgShelveBrowserDialog.__showError" id="HgShelveBrowserDialog.__showError" ref="eric6.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog.__showError" />
       <keyword name="HgShelveBrowserDialog.__unshelve" id="HgShelveBrowserDialog.__unshelve" ref="eric6.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog.__unshelve" />
       <keyword name="HgShelveBrowserDialog.closeEvent" id="HgShelveBrowserDialog.closeEvent" ref="eric6.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog.closeEvent" />
-      <keyword name="HgShelveBrowserDialog.keyPressEvent" id="HgShelveBrowserDialog.keyPressEvent" ref="eric6.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog.keyPressEvent" />
       <keyword name="HgShelveBrowserDialog.on_buttonBox_clicked" id="HgShelveBrowserDialog.on_buttonBox_clicked" ref="eric6.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog.on_buttonBox_clicked" />
-      <keyword name="HgShelveBrowserDialog.on_input_returnPressed" id="HgShelveBrowserDialog.on_input_returnPressed" ref="eric6.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog.on_input_returnPressed" />
-      <keyword name="HgShelveBrowserDialog.on_passwordCheckBox_toggled" id="HgShelveBrowserDialog.on_passwordCheckBox_toggled" ref="eric6.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog.on_passwordCheckBox_toggled" />
       <keyword name="HgShelveBrowserDialog.on_refreshButton_clicked" id="HgShelveBrowserDialog.on_refreshButton_clicked" ref="eric6.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog.on_refreshButton_clicked" />
-      <keyword name="HgShelveBrowserDialog.on_sendButton_clicked" id="HgShelveBrowserDialog.on_sendButton_clicked" ref="eric6.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog.on_sendButton_clicked" />
       <keyword name="HgShelveBrowserDialog.on_shelveList_currentItemChanged" id="HgShelveBrowserDialog.on_shelveList_currentItemChanged" ref="eric6.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog.on_shelveList_currentItemChanged" />
       <keyword name="HgShelveBrowserDialog.on_shelveList_customContextMenuRequested" id="HgShelveBrowserDialog.on_shelveList_customContextMenuRequested" ref="eric6.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog.on_shelveList_customContextMenuRequested" />
       <keyword name="HgShelveBrowserDialog.show" id="HgShelveBrowserDialog.show" ref="eric6.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog.show" />
@@ -8046,10 +7981,7 @@
       <keyword name="HgStatusDialog.__getUnversionedItems" id="HgStatusDialog.__getUnversionedItems" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgStatusDialog.html#HgStatusDialog.__getUnversionedItems" />
       <keyword name="HgStatusDialog.__initActionsMenu" id="HgStatusDialog.__initActionsMenu" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgStatusDialog.html#HgStatusDialog.__initActionsMenu" />
       <keyword name="HgStatusDialog.__lfAdd" id="HgStatusDialog.__lfAdd" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgStatusDialog.html#HgStatusDialog.__lfAdd" />
-      <keyword name="HgStatusDialog.__procFinished" id="HgStatusDialog.__procFinished" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgStatusDialog.html#HgStatusDialog.__procFinished" />
       <keyword name="HgStatusDialog.__processOutputLine" id="HgStatusDialog.__processOutputLine" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgStatusDialog.html#HgStatusDialog.__processOutputLine" />
-      <keyword name="HgStatusDialog.__readStderr" id="HgStatusDialog.__readStderr" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgStatusDialog.html#HgStatusDialog.__readStderr" />
-      <keyword name="HgStatusDialog.__readStdout" id="HgStatusDialog.__readStdout" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgStatusDialog.html#HgStatusDialog.__readStdout" />
       <keyword name="HgStatusDialog.__refreshDiff" id="HgStatusDialog.__refreshDiff" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgStatusDialog.html#HgStatusDialog.__refreshDiff" />
       <keyword name="HgStatusDialog.__resizeColumns" id="HgStatusDialog.__resizeColumns" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgStatusDialog.html#HgStatusDialog.__resizeColumns" />
       <keyword name="HgStatusDialog.__resort" id="HgStatusDialog.__resort" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgStatusDialog.html#HgStatusDialog.__resort" />
@@ -8059,12 +7991,8 @@
       <keyword name="HgStatusDialog.__showActionsMenu" id="HgStatusDialog.__showActionsMenu" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgStatusDialog.html#HgStatusDialog.__showActionsMenu" />
       <keyword name="HgStatusDialog.__showError" id="HgStatusDialog.__showError" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgStatusDialog.html#HgStatusDialog.__showError" />
       <keyword name="HgStatusDialog.closeEvent" id="HgStatusDialog.closeEvent" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgStatusDialog.html#HgStatusDialog.closeEvent" />
-      <keyword name="HgStatusDialog.keyPressEvent" id="HgStatusDialog.keyPressEvent" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgStatusDialog.html#HgStatusDialog.keyPressEvent" />
       <keyword name="HgStatusDialog.on_buttonBox_clicked" id="HgStatusDialog.on_buttonBox_clicked" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgStatusDialog.html#HgStatusDialog.on_buttonBox_clicked" />
-      <keyword name="HgStatusDialog.on_input_returnPressed" id="HgStatusDialog.on_input_returnPressed" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgStatusDialog.html#HgStatusDialog.on_input_returnPressed" />
-      <keyword name="HgStatusDialog.on_passwordCheckBox_toggled" id="HgStatusDialog.on_passwordCheckBox_toggled" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgStatusDialog.html#HgStatusDialog.on_passwordCheckBox_toggled" />
       <keyword name="HgStatusDialog.on_refreshButton_clicked" id="HgStatusDialog.on_refreshButton_clicked" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgStatusDialog.html#HgStatusDialog.on_refreshButton_clicked" />
-      <keyword name="HgStatusDialog.on_sendButton_clicked" id="HgStatusDialog.on_sendButton_clicked" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgStatusDialog.html#HgStatusDialog.on_sendButton_clicked" />
       <keyword name="HgStatusDialog.on_statusFilterCombo_activated" id="HgStatusDialog.on_statusFilterCombo_activated" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgStatusDialog.html#HgStatusDialog.on_statusFilterCombo_activated" />
       <keyword name="HgStatusDialog.on_statusList_itemSelectionChanged" id="HgStatusDialog.on_statusList_itemSelectionChanged" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgStatusDialog.html#HgStatusDialog.on_statusList_itemSelectionChanged" />
       <keyword name="HgStatusDialog.show" id="HgStatusDialog.show" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgStatusDialog.html#HgStatusDialog.show" />
@@ -8112,21 +8040,14 @@
       <keyword name="HgTagBranchListDialog.__finish" id="HgTagBranchListDialog.__finish" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgTagBranchListDialog.html#HgTagBranchListDialog.__finish" />
       <keyword name="HgTagBranchListDialog.__generateItem" id="HgTagBranchListDialog.__generateItem" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgTagBranchListDialog.html#HgTagBranchListDialog.__generateItem" />
       <keyword name="HgTagBranchListDialog.__highlightCurrentBranch" id="HgTagBranchListDialog.__highlightCurrentBranch" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgTagBranchListDialog.html#HgTagBranchListDialog.__highlightCurrentBranch" />
-      <keyword name="HgTagBranchListDialog.__procFinished" id="HgTagBranchListDialog.__procFinished" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgTagBranchListDialog.html#HgTagBranchListDialog.__procFinished" />
       <keyword name="HgTagBranchListDialog.__processOutputLine" id="HgTagBranchListDialog.__processOutputLine" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgTagBranchListDialog.html#HgTagBranchListDialog.__processOutputLine" />
-      <keyword name="HgTagBranchListDialog.__readStderr" id="HgTagBranchListDialog.__readStderr" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgTagBranchListDialog.html#HgTagBranchListDialog.__readStderr" />
-      <keyword name="HgTagBranchListDialog.__readStdout" id="HgTagBranchListDialog.__readStdout" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgTagBranchListDialog.html#HgTagBranchListDialog.__readStdout" />
       <keyword name="HgTagBranchListDialog.__resizeColumns" id="HgTagBranchListDialog.__resizeColumns" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgTagBranchListDialog.html#HgTagBranchListDialog.__resizeColumns" />
       <keyword name="HgTagBranchListDialog.__resort" id="HgTagBranchListDialog.__resort" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgTagBranchListDialog.html#HgTagBranchListDialog.__resort" />
       <keyword name="HgTagBranchListDialog.__showError" id="HgTagBranchListDialog.__showError" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgTagBranchListDialog.html#HgTagBranchListDialog.__showError" />
       <keyword name="HgTagBranchListDialog.__switchTo" id="HgTagBranchListDialog.__switchTo" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgTagBranchListDialog.html#HgTagBranchListDialog.__switchTo" />
       <keyword name="HgTagBranchListDialog.closeEvent" id="HgTagBranchListDialog.closeEvent" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgTagBranchListDialog.html#HgTagBranchListDialog.closeEvent" />
-      <keyword name="HgTagBranchListDialog.keyPressEvent" id="HgTagBranchListDialog.keyPressEvent" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgTagBranchListDialog.html#HgTagBranchListDialog.keyPressEvent" />
       <keyword name="HgTagBranchListDialog.on_buttonBox_clicked" id="HgTagBranchListDialog.on_buttonBox_clicked" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgTagBranchListDialog.html#HgTagBranchListDialog.on_buttonBox_clicked" />
-      <keyword name="HgTagBranchListDialog.on_input_returnPressed" id="HgTagBranchListDialog.on_input_returnPressed" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgTagBranchListDialog.html#HgTagBranchListDialog.on_input_returnPressed" />
-      <keyword name="HgTagBranchListDialog.on_passwordCheckBox_toggled" id="HgTagBranchListDialog.on_passwordCheckBox_toggled" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgTagBranchListDialog.html#HgTagBranchListDialog.on_passwordCheckBox_toggled" />
       <keyword name="HgTagBranchListDialog.on_refreshButton_clicked" id="HgTagBranchListDialog.on_refreshButton_clicked" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgTagBranchListDialog.html#HgTagBranchListDialog.on_refreshButton_clicked" />
-      <keyword name="HgTagBranchListDialog.on_sendButton_clicked" id="HgTagBranchListDialog.on_sendButton_clicked" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgTagBranchListDialog.html#HgTagBranchListDialog.on_sendButton_clicked" />
       <keyword name="HgTagBranchListDialog.on_tagList_customContextMenuRequested" id="HgTagBranchListDialog.on_tagList_customContextMenuRequested" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgTagBranchListDialog.html#HgTagBranchListDialog.on_tagList_customContextMenuRequested" />
       <keyword name="HgTagBranchListDialog.start" id="HgTagBranchListDialog.start" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgTagBranchListDialog.html#HgTagBranchListDialog.start" />
       <keyword name="HgTagDialog" id="HgTagDialog" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgTagDialog.html#HgTagDialog" />
--- a/eric6/Documentation/Source/eric6.DebugClients.Python.ThreadExtension.html	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Documentation/Source/eric6.DebugClients.Python.ThreadExtension.html	Sun Feb 02 11:27:46 2020 +0100
@@ -35,6 +35,10 @@
 <table>
 
 <tr>
+<td><a href="#DummyThreadWrapper">DummyThreadWrapper</a></td>
+<td>Wrapper class for threading._DummyThread.</td>
+</tr>
+<tr>
 <td><a href="#QThreadWrapper">QThreadWrapper</a></td>
 <td>Wrapper class for *.QThread.</td>
 </tr>
@@ -58,6 +62,49 @@
 </table>
 <hr />
 <hr />
+<a NAME="DummyThreadWrapper" ID="DummyThreadWrapper"></a>
+<h2>DummyThreadWrapper</h2>
+
+<p>
+                Wrapper class for threading._DummyThread.
+</p>
+<h3>Derived from</h3>
+module._DummyThread, ThreadWrapper
+<h3>Class Attributes</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Class Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+
+<table>
+
+<tr>
+<td><a href="#DummyThreadWrapper.__init__">DummyThreadWrapper</a></td>
+<td>Constructor</td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+
+<a NAME="DummyThreadWrapper.__init__" ID="DummyThreadWrapper.__init__"></a>
+<h4>DummyThreadWrapper (Constructor)</h4>
+<b>DummyThreadWrapper</b>(<i>*args, **kwargs</i>)
+
+<p>
+                    Constructor
+</p>
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+<hr />
 <a NAME="QThreadWrapper" ID="QThreadWrapper"></a>
 <h2>QThreadWrapper</h2>
 
--- a/eric6/Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignaturesDialog.html	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignaturesDialog.html	Sun Feb 02 11:27:46 2020 +0100
@@ -85,22 +85,10 @@
 <td>Private method to generate a patch item in the list of patches.</td>
 </tr>
 <tr>
-<td><a href="#HgGpgSignaturesDialog.__procFinished">__procFinished</a></td>
-<td>Private slot connected to the finished signal.</td>
-</tr>
-<tr>
 <td><a href="#HgGpgSignaturesDialog.__processOutputLine">__processOutputLine</a></td>
 <td>Private method to process the lines of output.</td>
 </tr>
 <tr>
-<td><a href="#HgGpgSignaturesDialog.__readStderr">__readStderr</a></td>
-<td>Private slot to handle the readyReadStderr signal.</td>
-</tr>
-<tr>
-<td><a href="#HgGpgSignaturesDialog.__readStdout">__readStdout</a></td>
-<td>Private slot to handle the readyReadStdout signal.</td>
-</tr>
-<tr>
 <td><a href="#HgGpgSignaturesDialog.__resizeColumns">__resizeColumns</a></td>
 <td>Private method to resize the list columns.</td>
 </tr>
@@ -117,10 +105,6 @@
 <td>Protected slot implementing a close event handler.</td>
 </tr>
 <tr>
-<td><a href="#HgGpgSignaturesDialog.keyPressEvent">keyPressEvent</a></td>
-<td>Protected slot to handle a key press event.</td>
-</tr>
-<tr>
 <td><a href="#HgGpgSignaturesDialog.on_buttonBox_clicked">on_buttonBox_clicked</a></td>
 <td>Private slot called by a button of the button box clicked.</td>
 </tr>
@@ -129,22 +113,10 @@
 <td>Private slot called, when a new filter category is selected.</td>
 </tr>
 <tr>
-<td><a href="#HgGpgSignaturesDialog.on_input_returnPressed">on_input_returnPressed</a></td>
-<td>Private slot to handle the press of the return key in the input field.</td>
-</tr>
-<tr>
-<td><a href="#HgGpgSignaturesDialog.on_passwordCheckBox_toggled">on_passwordCheckBox_toggled</a></td>
-<td>Private slot to handle the password checkbox toggled.</td>
-</tr>
-<tr>
 <td><a href="#HgGpgSignaturesDialog.on_rxEdit_textChanged">on_rxEdit_textChanged</a></td>
 <td>Private slot called, when a filter expression is entered.</td>
 </tr>
 <tr>
-<td><a href="#HgGpgSignaturesDialog.on_sendButton_clicked">on_sendButton_clicked</a></td>
-<td>Private slot to send the input to the subversion process.</td>
-</tr>
-<tr>
 <td><a href="#HgGpgSignaturesDialog.on_signaturesList_itemSelectionChanged">on_signaturesList_itemSelectionChanged</a></td>
 <td>Private slot handling changes of the selection.</td>
 </tr>
@@ -218,24 +190,6 @@
 signature of the changeset (string)
 </dd>
 </dl>
-<a NAME="HgGpgSignaturesDialog.__procFinished" ID="HgGpgSignaturesDialog.__procFinished"></a>
-<h4>HgGpgSignaturesDialog.__procFinished</h4>
-<b>__procFinished</b>(<i>exitCode, exitStatus</i>)
-
-<p>
-        Private slot connected to the finished signal.
-</p>
-<dl>
-
-<dt><i>exitCode</i></dt>
-<dd>
-exit code of the process (integer)
-</dd>
-<dt><i>exitStatus</i></dt>
-<dd>
-exit status of the process (QProcess.ExitStatus)
-</dd>
-</dl>
 <a NAME="HgGpgSignaturesDialog.__processOutputLine" ID="HgGpgSignaturesDialog.__processOutputLine"></a>
 <h4>HgGpgSignaturesDialog.__processOutputLine</h4>
 <b>__processOutputLine</b>(<i>line</i>)
@@ -250,28 +204,6 @@
 output line to be processed (string)
 </dd>
 </dl>
-<a NAME="HgGpgSignaturesDialog.__readStderr" ID="HgGpgSignaturesDialog.__readStderr"></a>
-<h4>HgGpgSignaturesDialog.__readStderr</h4>
-<b>__readStderr</b>(<i></i>)
-
-<p>
-        Private slot to handle the readyReadStderr signal.
-</p>
-<p>
-        It reads the error output of the process and inserts it into the
-        error pane.
-</p>
-<a NAME="HgGpgSignaturesDialog.__readStdout" ID="HgGpgSignaturesDialog.__readStdout"></a>
-<h4>HgGpgSignaturesDialog.__readStdout</h4>
-<b>__readStdout</b>(<i></i>)
-
-<p>
-        Private slot to handle the readyReadStdout signal.
-</p>
-<p>
-        It reads the output of the process, formats it and inserts it into
-        the contents pane.
-</p>
 <a NAME="HgGpgSignaturesDialog.__resizeColumns" ID="HgGpgSignaturesDialog.__resizeColumns"></a>
 <h4>HgGpgSignaturesDialog.__resizeColumns</h4>
 <b>__resizeColumns</b>(<i></i>)
@@ -314,20 +246,6 @@
 close event (QCloseEvent)
 </dd>
 </dl>
-<a NAME="HgGpgSignaturesDialog.keyPressEvent" ID="HgGpgSignaturesDialog.keyPressEvent"></a>
-<h4>HgGpgSignaturesDialog.keyPressEvent</h4>
-<b>keyPressEvent</b>(<i>evt</i>)
-
-<p>
-        Protected slot to handle a key press event.
-</p>
-<dl>
-
-<dt><i>evt</i></dt>
-<dd>
-the key press event (QKeyEvent)
-</dd>
-</dl>
 <a NAME="HgGpgSignaturesDialog.on_buttonBox_clicked" ID="HgGpgSignaturesDialog.on_buttonBox_clicked"></a>
 <h4>HgGpgSignaturesDialog.on_buttonBox_clicked</h4>
 <b>on_buttonBox_clicked</b>(<i>button</i>)
@@ -356,27 +274,6 @@
 text of the selected category (string)
 </dd>
 </dl>
-<a NAME="HgGpgSignaturesDialog.on_input_returnPressed" ID="HgGpgSignaturesDialog.on_input_returnPressed"></a>
-<h4>HgGpgSignaturesDialog.on_input_returnPressed</h4>
-<b>on_input_returnPressed</b>(<i></i>)
-
-<p>
-        Private slot to handle the press of the return key in the input field.
-</p>
-<a NAME="HgGpgSignaturesDialog.on_passwordCheckBox_toggled" ID="HgGpgSignaturesDialog.on_passwordCheckBox_toggled"></a>
-<h4>HgGpgSignaturesDialog.on_passwordCheckBox_toggled</h4>
-<b>on_passwordCheckBox_toggled</b>(<i>isOn</i>)
-
-<p>
-        Private slot to handle the password checkbox toggled.
-</p>
-<dl>
-
-<dt><i>isOn</i></dt>
-<dd>
-flag indicating the status of the check box (boolean)
-</dd>
-</dl>
 <a NAME="HgGpgSignaturesDialog.on_rxEdit_textChanged" ID="HgGpgSignaturesDialog.on_rxEdit_textChanged"></a>
 <h4>HgGpgSignaturesDialog.on_rxEdit_textChanged</h4>
 <b>on_rxEdit_textChanged</b>(<i>txt</i>)
@@ -391,13 +288,6 @@
 filter expression (string)
 </dd>
 </dl>
-<a NAME="HgGpgSignaturesDialog.on_sendButton_clicked" ID="HgGpgSignaturesDialog.on_sendButton_clicked"></a>
-<h4>HgGpgSignaturesDialog.on_sendButton_clicked</h4>
-<b>on_sendButton_clicked</b>(<i></i>)
-
-<p>
-        Private slot to send the input to the subversion process.
-</p>
 <a NAME="HgGpgSignaturesDialog.on_signaturesList_itemSelectionChanged" ID="HgGpgSignaturesDialog.on_signaturesList_itemSelectionChanged"></a>
 <h4>HgGpgSignaturesDialog.on_signaturesList_itemSelectionChanged</h4>
 <b>on_signaturesList_itemSelectionChanged</b>(<i></i>)
--- a/eric6/Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.HgAnnotateDialog.html	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.HgAnnotateDialog.html	Sun Feb 02 11:27:46 2020 +0100
@@ -81,22 +81,10 @@
 <td>Private method to generate an annotate item in the annotation list.</td>
 </tr>
 <tr>
-<td><a href="#HgAnnotateDialog.__procFinished">__procFinished</a></td>
-<td>Private slot connected to the finished signal.</td>
-</tr>
-<tr>
 <td><a href="#HgAnnotateDialog.__processOutputLine">__processOutputLine</a></td>
 <td>Private method to process the lines of output.</td>
 </tr>
 <tr>
-<td><a href="#HgAnnotateDialog.__readStderr">__readStderr</a></td>
-<td>Private slot to handle the readyReadStderr signal.</td>
-</tr>
-<tr>
-<td><a href="#HgAnnotateDialog.__readStdout">__readStdout</a></td>
-<td>Private slot to handle the readyReadStdout signal.</td>
-</tr>
-<tr>
 <td><a href="#HgAnnotateDialog.__resizeColumns">__resizeColumns</a></td>
 <td>Private method to resize the list columns.</td>
 </tr>
@@ -109,26 +97,10 @@
 <td>Protected slot implementing a close event handler.</td>
 </tr>
 <tr>
-<td><a href="#HgAnnotateDialog.keyPressEvent">keyPressEvent</a></td>
-<td>Protected slot to handle a key press event.</td>
-</tr>
-<tr>
 <td><a href="#HgAnnotateDialog.on_buttonBox_clicked">on_buttonBox_clicked</a></td>
 <td>Private slot called by a button of the button box clicked.</td>
 </tr>
 <tr>
-<td><a href="#HgAnnotateDialog.on_input_returnPressed">on_input_returnPressed</a></td>
-<td>Private slot to handle the press of the return key in the input field.</td>
-</tr>
-<tr>
-<td><a href="#HgAnnotateDialog.on_passwordCheckBox_toggled">on_passwordCheckBox_toggled</a></td>
-<td>Private slot to handle the password checkbox toggled.</td>
-</tr>
-<tr>
-<td><a href="#HgAnnotateDialog.on_sendButton_clicked">on_sendButton_clicked</a></td>
-<td>Private slot to send the input to the hg process.</td>
-</tr>
-<tr>
 <td><a href="#HgAnnotateDialog.start">start</a></td>
 <td>Public slot to start the annotate command.</td>
 </tr>
@@ -195,24 +167,6 @@
 text of the change (string)
 </dd>
 </dl>
-<a NAME="HgAnnotateDialog.__procFinished" ID="HgAnnotateDialog.__procFinished"></a>
-<h4>HgAnnotateDialog.__procFinished</h4>
-<b>__procFinished</b>(<i>exitCode, exitStatus</i>)
-
-<p>
-        Private slot connected to the finished signal.
-</p>
-<dl>
-
-<dt><i>exitCode</i></dt>
-<dd>
-exit code of the process (integer)
-</dd>
-<dt><i>exitStatus</i></dt>
-<dd>
-exit status of the process (QProcess.ExitStatus)
-</dd>
-</dl>
 <a NAME="HgAnnotateDialog.__processOutputLine" ID="HgAnnotateDialog.__processOutputLine"></a>
 <h4>HgAnnotateDialog.__processOutputLine</h4>
 <b>__processOutputLine</b>(<i>line</i>)
@@ -227,28 +181,6 @@
 output line to be processed (string)
 </dd>
 </dl>
-<a NAME="HgAnnotateDialog.__readStderr" ID="HgAnnotateDialog.__readStderr"></a>
-<h4>HgAnnotateDialog.__readStderr</h4>
-<b>__readStderr</b>(<i></i>)
-
-<p>
-        Private slot to handle the readyReadStderr signal.
-</p>
-<p>
-        It reads the error output of the process and inserts it into the
-        error pane.
-</p>
-<a NAME="HgAnnotateDialog.__readStdout" ID="HgAnnotateDialog.__readStdout"></a>
-<h4>HgAnnotateDialog.__readStdout</h4>
-<b>__readStdout</b>(<i></i>)
-
-<p>
-        Private slot to handle the readyReadStdout signal.
-</p>
-<p>
-        It reads the output of the process, formats it and inserts it into
-        the annotation list.
-</p>
 <a NAME="HgAnnotateDialog.__resizeColumns" ID="HgAnnotateDialog.__resizeColumns"></a>
 <h4>HgAnnotateDialog.__resizeColumns</h4>
 <b>__resizeColumns</b>(<i></i>)
@@ -284,20 +216,6 @@
 close event (QCloseEvent)
 </dd>
 </dl>
-<a NAME="HgAnnotateDialog.keyPressEvent" ID="HgAnnotateDialog.keyPressEvent"></a>
-<h4>HgAnnotateDialog.keyPressEvent</h4>
-<b>keyPressEvent</b>(<i>evt</i>)
-
-<p>
-        Protected slot to handle a key press event.
-</p>
-<dl>
-
-<dt><i>evt</i></dt>
-<dd>
-the key press event (QKeyEvent)
-</dd>
-</dl>
 <a NAME="HgAnnotateDialog.on_buttonBox_clicked" ID="HgAnnotateDialog.on_buttonBox_clicked"></a>
 <h4>HgAnnotateDialog.on_buttonBox_clicked</h4>
 <b>on_buttonBox_clicked</b>(<i>button</i>)
@@ -312,34 +230,6 @@
 button that was clicked (QAbstractButton)
 </dd>
 </dl>
-<a NAME="HgAnnotateDialog.on_input_returnPressed" ID="HgAnnotateDialog.on_input_returnPressed"></a>
-<h4>HgAnnotateDialog.on_input_returnPressed</h4>
-<b>on_input_returnPressed</b>(<i></i>)
-
-<p>
-        Private slot to handle the press of the return key in the input field.
-</p>
-<a NAME="HgAnnotateDialog.on_passwordCheckBox_toggled" ID="HgAnnotateDialog.on_passwordCheckBox_toggled"></a>
-<h4>HgAnnotateDialog.on_passwordCheckBox_toggled</h4>
-<b>on_passwordCheckBox_toggled</b>(<i>isOn</i>)
-
-<p>
-        Private slot to handle the password checkbox toggled.
-</p>
-<dl>
-
-<dt><i>isOn</i></dt>
-<dd>
-flag indicating the status of the check box (boolean)
-</dd>
-</dl>
-<a NAME="HgAnnotateDialog.on_sendButton_clicked" ID="HgAnnotateDialog.on_sendButton_clicked"></a>
-<h4>HgAnnotateDialog.on_sendButton_clicked</h4>
-<b>on_sendButton_clicked</b>(<i></i>)
-
-<p>
-        Private slot to send the input to the hg process.
-</p>
 <a NAME="HgAnnotateDialog.start" ID="HgAnnotateDialog.start"></a>
 <h4>HgAnnotateDialog.start</h4>
 <b>start</b>(<i>fn</i>)
--- a/eric6/Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksInOutDialog.html	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksInOutDialog.html	Sun Feb 02 11:27:46 2020 +0100
@@ -82,22 +82,10 @@
 <td>Private method to generate a bookmark item in the bookmarks list.</td>
 </tr>
 <tr>
-<td><a href="#HgBookmarksInOutDialog.__procFinished">__procFinished</a></td>
-<td>Private slot connected to the finished signal.</td>
-</tr>
-<tr>
 <td><a href="#HgBookmarksInOutDialog.__processOutputLine">__processOutputLine</a></td>
 <td>Private method to process the lines of output.</td>
 </tr>
 <tr>
-<td><a href="#HgBookmarksInOutDialog.__readStderr">__readStderr</a></td>
-<td>Private slot to handle the readyReadStderr signal.</td>
-</tr>
-<tr>
-<td><a href="#HgBookmarksInOutDialog.__readStdout">__readStdout</a></td>
-<td>Private slot to handle the readyReadStdout signal.</td>
-</tr>
-<tr>
 <td><a href="#HgBookmarksInOutDialog.__resizeColumns">__resizeColumns</a></td>
 <td>Private method to resize the list columns.</td>
 </tr>
@@ -114,26 +102,10 @@
 <td>Protected slot implementing a close event handler.</td>
 </tr>
 <tr>
-<td><a href="#HgBookmarksInOutDialog.keyPressEvent">keyPressEvent</a></td>
-<td>Protected slot to handle a key press event.</td>
-</tr>
-<tr>
 <td><a href="#HgBookmarksInOutDialog.on_buttonBox_clicked">on_buttonBox_clicked</a></td>
 <td>Private slot called by a button of the button box clicked.</td>
 </tr>
 <tr>
-<td><a href="#HgBookmarksInOutDialog.on_input_returnPressed">on_input_returnPressed</a></td>
-<td>Private slot to handle the press of the return key in the input field.</td>
-</tr>
-<tr>
-<td><a href="#HgBookmarksInOutDialog.on_passwordCheckBox_toggled">on_passwordCheckBox_toggled</a></td>
-<td>Private slot to handle the password checkbox toggled.</td>
-</tr>
-<tr>
-<td><a href="#HgBookmarksInOutDialog.on_sendButton_clicked">on_sendButton_clicked</a></td>
-<td>Private slot to send the input to the subversion process.</td>
-</tr>
-<tr>
 <td><a href="#HgBookmarksInOutDialog.start">start</a></td>
 <td>Public slot to start the bookmarks command.</td>
 </tr>
@@ -200,24 +172,6 @@
 name of the bookmark (string)
 </dd>
 </dl>
-<a NAME="HgBookmarksInOutDialog.__procFinished" ID="HgBookmarksInOutDialog.__procFinished"></a>
-<h4>HgBookmarksInOutDialog.__procFinished</h4>
-<b>__procFinished</b>(<i>exitCode, exitStatus</i>)
-
-<p>
-        Private slot connected to the finished signal.
-</p>
-<dl>
-
-<dt><i>exitCode</i></dt>
-<dd>
-exit code of the process (integer)
-</dd>
-<dt><i>exitStatus</i></dt>
-<dd>
-exit status of the process (QProcess.ExitStatus)
-</dd>
-</dl>
 <a NAME="HgBookmarksInOutDialog.__processOutputLine" ID="HgBookmarksInOutDialog.__processOutputLine"></a>
 <h4>HgBookmarksInOutDialog.__processOutputLine</h4>
 <b>__processOutputLine</b>(<i>line</i>)
@@ -232,28 +186,6 @@
 output line to be processed (string)
 </dd>
 </dl>
-<a NAME="HgBookmarksInOutDialog.__readStderr" ID="HgBookmarksInOutDialog.__readStderr"></a>
-<h4>HgBookmarksInOutDialog.__readStderr</h4>
-<b>__readStderr</b>(<i></i>)
-
-<p>
-        Private slot to handle the readyReadStderr signal.
-</p>
-<p>
-        It reads the error output of the process and inserts it into the
-        error pane.
-</p>
-<a NAME="HgBookmarksInOutDialog.__readStdout" ID="HgBookmarksInOutDialog.__readStdout"></a>
-<h4>HgBookmarksInOutDialog.__readStdout</h4>
-<b>__readStdout</b>(<i></i>)
-
-<p>
-        Private slot to handle the readyReadStdout signal.
-</p>
-<p>
-        It reads the output of the process, formats it and inserts it into
-        the contents pane.
-</p>
 <a NAME="HgBookmarksInOutDialog.__resizeColumns" ID="HgBookmarksInOutDialog.__resizeColumns"></a>
 <h4>HgBookmarksInOutDialog.__resizeColumns</h4>
 <b>__resizeColumns</b>(<i></i>)
@@ -296,20 +228,6 @@
 close event (QCloseEvent)
 </dd>
 </dl>
-<a NAME="HgBookmarksInOutDialog.keyPressEvent" ID="HgBookmarksInOutDialog.keyPressEvent"></a>
-<h4>HgBookmarksInOutDialog.keyPressEvent</h4>
-<b>keyPressEvent</b>(<i>evt</i>)
-
-<p>
-        Protected slot to handle a key press event.
-</p>
-<dl>
-
-<dt><i>evt</i></dt>
-<dd>
-the key press event (QKeyEvent)
-</dd>
-</dl>
 <a NAME="HgBookmarksInOutDialog.on_buttonBox_clicked" ID="HgBookmarksInOutDialog.on_buttonBox_clicked"></a>
 <h4>HgBookmarksInOutDialog.on_buttonBox_clicked</h4>
 <b>on_buttonBox_clicked</b>(<i>button</i>)
@@ -324,34 +242,6 @@
 button that was clicked (QAbstractButton)
 </dd>
 </dl>
-<a NAME="HgBookmarksInOutDialog.on_input_returnPressed" ID="HgBookmarksInOutDialog.on_input_returnPressed"></a>
-<h4>HgBookmarksInOutDialog.on_input_returnPressed</h4>
-<b>on_input_returnPressed</b>(<i></i>)
-
-<p>
-        Private slot to handle the press of the return key in the input field.
-</p>
-<a NAME="HgBookmarksInOutDialog.on_passwordCheckBox_toggled" ID="HgBookmarksInOutDialog.on_passwordCheckBox_toggled"></a>
-<h4>HgBookmarksInOutDialog.on_passwordCheckBox_toggled</h4>
-<b>on_passwordCheckBox_toggled</b>(<i>isOn</i>)
-
-<p>
-        Private slot to handle the password checkbox toggled.
-</p>
-<dl>
-
-<dt><i>isOn</i></dt>
-<dd>
-flag indicating the status of the check box (boolean)
-</dd>
-</dl>
-<a NAME="HgBookmarksInOutDialog.on_sendButton_clicked" ID="HgBookmarksInOutDialog.on_sendButton_clicked"></a>
-<h4>HgBookmarksInOutDialog.on_sendButton_clicked</h4>
-<b>on_sendButton_clicked</b>(<i></i>)
-
-<p>
-        Private slot to send the input to the subversion process.
-</p>
 <a NAME="HgBookmarksInOutDialog.start" ID="HgBookmarksInOutDialog.start"></a>
 <h4>HgBookmarksInOutDialog.start</h4>
 <b>start</b>(<i>path</i>)
--- a/eric6/Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksListDialog.html	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.HgBookmarksListDialog.html	Sun Feb 02 11:27:46 2020 +0100
@@ -85,10 +85,6 @@
 <td>Private method to generate a bookmark item in the bookmarks list.</td>
 </tr>
 <tr>
-<td><a href="#HgBookmarksListDialog.__procFinished">__procFinished</a></td>
-<td>Private slot connected to the finished signal.</td>
-</tr>
-<tr>
 <td><a href="#HgBookmarksListDialog.__processOutputLine">__processOutputLine</a></td>
 <td>Private method to process the lines of output.</td>
 </tr>
@@ -101,14 +97,6 @@
 <td>Private slot to push the selected bookmark.</td>
 </tr>
 <tr>
-<td><a href="#HgBookmarksListDialog.__readStderr">__readStderr</a></td>
-<td>Private slot to handle the readyReadStderr signal.</td>
-</tr>
-<tr>
-<td><a href="#HgBookmarksListDialog.__readStdout">__readStdout</a></td>
-<td>Private slot to handle the readyReadStdout signal.</td>
-</tr>
-<tr>
 <td><a href="#HgBookmarksListDialog.__renameBookmark">__renameBookmark</a></td>
 <td>Private slot to rename the selected bookmark.</td>
 </tr>
@@ -133,10 +121,6 @@
 <td>Protected slot implementing a close event handler.</td>
 </tr>
 <tr>
-<td><a href="#HgBookmarksListDialog.keyPressEvent">keyPressEvent</a></td>
-<td>Protected slot to handle a key press event.</td>
-</tr>
-<tr>
 <td><a href="#HgBookmarksListDialog.on_bookmarksList_customContextMenuRequested">on_bookmarksList_customContextMenuRequested</a></td>
 <td>Private slot to handle the context menu request.</td>
 </tr>
@@ -145,22 +129,10 @@
 <td>Private slot called by a button of the button box clicked.</td>
 </tr>
 <tr>
-<td><a href="#HgBookmarksListDialog.on_input_returnPressed">on_input_returnPressed</a></td>
-<td>Private slot to handle the press of the return key in the input field.</td>
-</tr>
-<tr>
-<td><a href="#HgBookmarksListDialog.on_passwordCheckBox_toggled">on_passwordCheckBox_toggled</a></td>
-<td>Private slot to handle the password checkbox toggled.</td>
-</tr>
-<tr>
 <td><a href="#HgBookmarksListDialog.on_refreshButton_clicked">on_refreshButton_clicked</a></td>
 <td>Private slot to refresh the status display.</td>
 </tr>
 <tr>
-<td><a href="#HgBookmarksListDialog.on_sendButton_clicked">on_sendButton_clicked</a></td>
-<td>Private slot to send the input to the subversion process.</td>
-</tr>
-<tr>
 <td><a href="#HgBookmarksListDialog.start">start</a></td>
 <td>Public slot to start the bookmarks command.</td>
 </tr>
@@ -230,24 +202,6 @@
 name of the bookmark (string)
 </dd>
 </dl>
-<a NAME="HgBookmarksListDialog.__procFinished" ID="HgBookmarksListDialog.__procFinished"></a>
-<h4>HgBookmarksListDialog.__procFinished</h4>
-<b>__procFinished</b>(<i>exitCode, exitStatus</i>)
-
-<p>
-        Private slot connected to the finished signal.
-</p>
-<dl>
-
-<dt><i>exitCode</i></dt>
-<dd>
-exit code of the process (integer)
-</dd>
-<dt><i>exitStatus</i></dt>
-<dd>
-exit status of the process (QProcess.ExitStatus)
-</dd>
-</dl>
 <a NAME="HgBookmarksListDialog.__processOutputLine" ID="HgBookmarksListDialog.__processOutputLine"></a>
 <h4>HgBookmarksListDialog.__processOutputLine</h4>
 <b>__processOutputLine</b>(<i>line</i>)
@@ -276,28 +230,6 @@
 <p>
         Private slot to push the selected bookmark.
 </p>
-<a NAME="HgBookmarksListDialog.__readStderr" ID="HgBookmarksListDialog.__readStderr"></a>
-<h4>HgBookmarksListDialog.__readStderr</h4>
-<b>__readStderr</b>(<i></i>)
-
-<p>
-        Private slot to handle the readyReadStderr signal.
-</p>
-<p>
-        It reads the error output of the process and inserts it into the
-        error pane.
-</p>
-<a NAME="HgBookmarksListDialog.__readStdout" ID="HgBookmarksListDialog.__readStdout"></a>
-<h4>HgBookmarksListDialog.__readStdout</h4>
-<b>__readStdout</b>(<i></i>)
-
-<p>
-        Private slot to handle the readyReadStdout signal.
-</p>
-<p>
-        It reads the output of the process, formats it and inserts it into
-        the contents pane.
-</p>
 <a NAME="HgBookmarksListDialog.__renameBookmark" ID="HgBookmarksListDialog.__renameBookmark"></a>
 <h4>HgBookmarksListDialog.__renameBookmark</h4>
 <b>__renameBookmark</b>(<i></i>)
@@ -354,20 +286,6 @@
 close event (QCloseEvent)
 </dd>
 </dl>
-<a NAME="HgBookmarksListDialog.keyPressEvent" ID="HgBookmarksListDialog.keyPressEvent"></a>
-<h4>HgBookmarksListDialog.keyPressEvent</h4>
-<b>keyPressEvent</b>(<i>evt</i>)
-
-<p>
-        Protected slot to handle a key press event.
-</p>
-<dl>
-
-<dt><i>evt</i></dt>
-<dd>
-the key press event (QKeyEvent)
-</dd>
-</dl>
 <a NAME="HgBookmarksListDialog.on_bookmarksList_customContextMenuRequested" ID="HgBookmarksListDialog.on_bookmarksList_customContextMenuRequested"></a>
 <h4>HgBookmarksListDialog.on_bookmarksList_customContextMenuRequested</h4>
 <b>on_bookmarksList_customContextMenuRequested</b>(<i>pos</i>)
@@ -396,27 +314,6 @@
 button that was clicked (QAbstractButton)
 </dd>
 </dl>
-<a NAME="HgBookmarksListDialog.on_input_returnPressed" ID="HgBookmarksListDialog.on_input_returnPressed"></a>
-<h4>HgBookmarksListDialog.on_input_returnPressed</h4>
-<b>on_input_returnPressed</b>(<i></i>)
-
-<p>
-        Private slot to handle the press of the return key in the input field.
-</p>
-<a NAME="HgBookmarksListDialog.on_passwordCheckBox_toggled" ID="HgBookmarksListDialog.on_passwordCheckBox_toggled"></a>
-<h4>HgBookmarksListDialog.on_passwordCheckBox_toggled</h4>
-<b>on_passwordCheckBox_toggled</b>(<i>isOn</i>)
-
-<p>
-        Private slot to handle the password checkbox toggled.
-</p>
-<dl>
-
-<dt><i>isOn</i></dt>
-<dd>
-flag indicating the status of the check box (boolean)
-</dd>
-</dl>
 <a NAME="HgBookmarksListDialog.on_refreshButton_clicked" ID="HgBookmarksListDialog.on_refreshButton_clicked"></a>
 <h4>HgBookmarksListDialog.on_refreshButton_clicked</h4>
 <b>on_refreshButton_clicked</b>(<i></i>)
@@ -424,13 +321,6 @@
 <p>
         Private slot to refresh the status display.
 </p>
-<a NAME="HgBookmarksListDialog.on_sendButton_clicked" ID="HgBookmarksListDialog.on_sendButton_clicked"></a>
-<h4>HgBookmarksListDialog.on_sendButton_clicked</h4>
-<b>on_sendButton_clicked</b>(<i></i>)
-
-<p>
-        Private slot to send the input to the subversion process.
-</p>
 <a NAME="HgBookmarksListDialog.start" ID="HgBookmarksListDialog.start"></a>
 <h4>HgBookmarksListDialog.start</h4>
 <b>start</b>(<i>path, bookmarksList</i>)
--- a/eric6/Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.HgConflictsListDialog.html	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.HgConflictsListDialog.html	Sun Feb 02 11:27:46 2020 +0100
@@ -87,22 +87,10 @@
 <td>Private method to get the conflict entries.</td>
 </tr>
 <tr>
-<td><a href="#HgConflictsListDialog.__procFinished">__procFinished</a></td>
-<td>Private slot connected to the finished signal.</td>
-</tr>
-<tr>
 <td><a href="#HgConflictsListDialog.__processOutputLine">__processOutputLine</a></td>
 <td>Private method to process the lines of output.</td>
 </tr>
 <tr>
-<td><a href="#HgConflictsListDialog.__readStderr">__readStderr</a></td>
-<td>Private slot to handle the readyReadStderr signal.</td>
-</tr>
-<tr>
-<td><a href="#HgConflictsListDialog.__readStdout">__readStdout</a></td>
-<td>Private slot to handle the readyReadStdout signal.</td>
-</tr>
-<tr>
 <td><a href="#HgConflictsListDialog.__resizeColumns">__resizeColumns</a></td>
 <td>Private method to resize the list columns.</td>
 </tr>
@@ -119,10 +107,6 @@
 <td>Protected slot implementing a close event handler.</td>
 </tr>
 <tr>
-<td><a href="#HgConflictsListDialog.keyPressEvent">keyPressEvent</a></td>
-<td>Protected slot to handle a key press event.</td>
-</tr>
-<tr>
 <td><a href="#HgConflictsListDialog.on_buttonBox_clicked">on_buttonBox_clicked</a></td>
 <td>Private slot called by a button of the button box clicked.</td>
 </tr>
@@ -139,14 +123,6 @@
 <td>Private slot to open the selected file in an editor.</td>
 </tr>
 <tr>
-<td><a href="#HgConflictsListDialog.on_input_returnPressed">on_input_returnPressed</a></td>
-<td>Private slot to handle the press of the return key in the input field.</td>
-</tr>
-<tr>
-<td><a href="#HgConflictsListDialog.on_passwordCheckBox_toggled">on_passwordCheckBox_toggled</a></td>
-<td>Private slot to handle the password checkbox toggled.</td>
-</tr>
-<tr>
 <td><a href="#HgConflictsListDialog.on_reMergeButton_clicked">on_reMergeButton_clicked</a></td>
 <td>Private slot to re-merge the selected entries.</td>
 </tr>
@@ -159,10 +135,6 @@
 <td>Private slot to mark the selected entries as resolved.</td>
 </tr>
 <tr>
-<td><a href="#HgConflictsListDialog.on_sendButton_clicked">on_sendButton_clicked</a></td>
-<td>Private slot to send the input to the subversion process.</td>
-</tr>
-<tr>
 <td><a href="#HgConflictsListDialog.on_unresolvedButton_clicked">on_unresolvedButton_clicked</a></td>
 <td>Private slot to mark the selected entries as unresolved.</td>
 </tr>
@@ -232,24 +204,6 @@
 <p>
         Private method to get the conflict entries.
 </p>
-<a NAME="HgConflictsListDialog.__procFinished" ID="HgConflictsListDialog.__procFinished"></a>
-<h4>HgConflictsListDialog.__procFinished</h4>
-<b>__procFinished</b>(<i>exitCode, exitStatus</i>)
-
-<p>
-        Private slot connected to the finished signal.
-</p>
-<dl>
-
-<dt><i>exitCode</i></dt>
-<dd>
-exit code of the process (integer)
-</dd>
-<dt><i>exitStatus</i></dt>
-<dd>
-exit status of the process (QProcess.ExitStatus)
-</dd>
-</dl>
 <a NAME="HgConflictsListDialog.__processOutputLine" ID="HgConflictsListDialog.__processOutputLine"></a>
 <h4>HgConflictsListDialog.__processOutputLine</h4>
 <b>__processOutputLine</b>(<i>line</i>)
@@ -264,28 +218,6 @@
 output line to be processed (string)
 </dd>
 </dl>
-<a NAME="HgConflictsListDialog.__readStderr" ID="HgConflictsListDialog.__readStderr"></a>
-<h4>HgConflictsListDialog.__readStderr</h4>
-<b>__readStderr</b>(<i></i>)
-
-<p>
-        Private slot to handle the readyReadStderr signal.
-</p>
-<p>
-        It reads the error output of the process and inserts it into the
-        error pane.
-</p>
-<a NAME="HgConflictsListDialog.__readStdout" ID="HgConflictsListDialog.__readStdout"></a>
-<h4>HgConflictsListDialog.__readStdout</h4>
-<b>__readStdout</b>(<i></i>)
-
-<p>
-        Private slot to handle the readyReadStdout signal.
-</p>
-<p>
-        It reads the output of the process, formats it and inserts it into
-        the contents pane.
-</p>
 <a NAME="HgConflictsListDialog.__resizeColumns" ID="HgConflictsListDialog.__resizeColumns"></a>
 <h4>HgConflictsListDialog.__resizeColumns</h4>
 <b>__resizeColumns</b>(<i></i>)
@@ -328,20 +260,6 @@
 close event (QCloseEvent)
 </dd>
 </dl>
-<a NAME="HgConflictsListDialog.keyPressEvent" ID="HgConflictsListDialog.keyPressEvent"></a>
-<h4>HgConflictsListDialog.keyPressEvent</h4>
-<b>keyPressEvent</b>(<i>evt</i>)
-
-<p>
-        Protected slot to handle a key press event.
-</p>
-<dl>
-
-<dt><i>evt</i></dt>
-<dd>
-the key press event (QKeyEvent)
-</dd>
-</dl>
 <a NAME="HgConflictsListDialog.on_buttonBox_clicked" ID="HgConflictsListDialog.on_buttonBox_clicked"></a>
 <h4>HgConflictsListDialog.on_buttonBox_clicked</h4>
 <b>on_buttonBox_clicked</b>(<i>button</i>)
@@ -388,27 +306,6 @@
 <p>
         Private slot to open the selected file in an editor.
 </p>
-<a NAME="HgConflictsListDialog.on_input_returnPressed" ID="HgConflictsListDialog.on_input_returnPressed"></a>
-<h4>HgConflictsListDialog.on_input_returnPressed</h4>
-<b>on_input_returnPressed</b>(<i></i>)
-
-<p>
-        Private slot to handle the press of the return key in the input field.
-</p>
-<a NAME="HgConflictsListDialog.on_passwordCheckBox_toggled" ID="HgConflictsListDialog.on_passwordCheckBox_toggled"></a>
-<h4>HgConflictsListDialog.on_passwordCheckBox_toggled</h4>
-<b>on_passwordCheckBox_toggled</b>(<i>isOn</i>)
-
-<p>
-        Private slot to handle the password checkbox toggled.
-</p>
-<dl>
-
-<dt><i>isOn</i></dt>
-<dd>
-flag indicating the status of the check box (boolean)
-</dd>
-</dl>
 <a NAME="HgConflictsListDialog.on_reMergeButton_clicked" ID="HgConflictsListDialog.on_reMergeButton_clicked"></a>
 <h4>HgConflictsListDialog.on_reMergeButton_clicked</h4>
 <b>on_reMergeButton_clicked</b>(<i></i>)
@@ -430,13 +327,6 @@
 <p>
         Private slot to mark the selected entries as resolved.
 </p>
-<a NAME="HgConflictsListDialog.on_sendButton_clicked" ID="HgConflictsListDialog.on_sendButton_clicked"></a>
-<h4>HgConflictsListDialog.on_sendButton_clicked</h4>
-<b>on_sendButton_clicked</b>(<i></i>)
-
-<p>
-        Private slot to send the input to the subversion process.
-</p>
 <a NAME="HgConflictsListDialog.on_unresolvedButton_clicked" ID="HgConflictsListDialog.on_unresolvedButton_clicked"></a>
 <h4>HgConflictsListDialog.on_unresolvedButton_clicked</h4>
 <b>on_unresolvedButton_clicked</b>(<i></i>)
--- a/eric6/Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.HgDialog.html	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.HgDialog.html	Sun Feb 02 11:27:46 2020 +0100
@@ -82,18 +82,6 @@
 <td>Private slot called when the process finished or the user pressed the button.</td>
 </tr>
 <tr>
-<td><a href="#HgDialog.__procFinished">__procFinished</a></td>
-<td>Private slot connected to the finished signal.</td>
-</tr>
-<tr>
-<td><a href="#HgDialog.__readStderr">__readStderr</a></td>
-<td>Private slot to handle the readyReadStandardError signal.</td>
-</tr>
-<tr>
-<td><a href="#HgDialog.__readStdout">__readStdout</a></td>
-<td>Private slot to handle the readyReadStandardOutput signal.</td>
-</tr>
-<tr>
 <td><a href="#HgDialog.__showError">__showError</a></td>
 <td>Private slot to show some error.</td>
 </tr>
@@ -106,10 +94,6 @@
 <td>Public method to check, if the last action contained an add or delete.</td>
 </tr>
 <tr>
-<td><a href="#HgDialog.keyPressEvent">keyPressEvent</a></td>
-<td>Protected slot to handle a key press event.</td>
-</tr>
-<tr>
 <td><a href="#HgDialog.normalExit">normalExit</a></td>
 <td>Public method to check for a normal process termination.</td>
 </tr>
@@ -122,18 +106,6 @@
 <td>Private slot called by a button of the button box clicked.</td>
 </tr>
 <tr>
-<td><a href="#HgDialog.on_input_returnPressed">on_input_returnPressed</a></td>
-<td>Private slot to handle the press of the return key in the input field.</td>
-</tr>
-<tr>
-<td><a href="#HgDialog.on_passwordCheckBox_toggled">on_passwordCheckBox_toggled</a></td>
-<td>Private slot to handle the password checkbox toggled.</td>
-</tr>
-<tr>
-<td><a href="#HgDialog.on_sendButton_clicked">on_sendButton_clicked</a></td>
-<td>Private slot to send the input to the Mercurial process.</td>
-</tr>
-<tr>
 <td><a href="#HgDialog.startProcess">startProcess</a></td>
 <td>Public slot used to start the process.</td>
 </tr>
@@ -179,46 +151,6 @@
         Private slot called when the process finished or the user pressed
         the button.
 </p>
-<a NAME="HgDialog.__procFinished" ID="HgDialog.__procFinished"></a>
-<h4>HgDialog.__procFinished</h4>
-<b>__procFinished</b>(<i>exitCode, exitStatus</i>)
-
-<p>
-        Private slot connected to the finished signal.
-</p>
-<dl>
-
-<dt><i>exitCode</i></dt>
-<dd>
-exit code of the process (integer)
-</dd>
-<dt><i>exitStatus</i></dt>
-<dd>
-exit status of the process (QProcess.ExitStatus)
-</dd>
-</dl>
-<a NAME="HgDialog.__readStderr" ID="HgDialog.__readStderr"></a>
-<h4>HgDialog.__readStderr</h4>
-<b>__readStderr</b>(<i></i>)
-
-<p>
-        Private slot to handle the readyReadStandardError signal.
-</p>
-<p>
-        It reads the error output of the process and inserts it into the
-        error pane.
-</p>
-<a NAME="HgDialog.__readStdout" ID="HgDialog.__readStdout"></a>
-<h4>HgDialog.__readStdout</h4>
-<b>__readStdout</b>(<i></i>)
-
-<p>
-        Private slot to handle the readyReadStandardOutput signal.
-</p>
-<p>
-        It reads the output of the process, formats it and inserts it into
-        the contents pane.
-</p>
 <a NAME="HgDialog.__showError" ID="HgDialog.__showError"></a>
 <h4>HgDialog.__showError</h4>
 <b>__showError</b>(<i>out</i>)
@@ -260,20 +192,6 @@
 flag indicating the presence of an add or delete (boolean)
 </dd>
 </dl>
-<a NAME="HgDialog.keyPressEvent" ID="HgDialog.keyPressEvent"></a>
-<h4>HgDialog.keyPressEvent</h4>
-<b>keyPressEvent</b>(<i>evt</i>)
-
-<p>
-        Protected slot to handle a key press event.
-</p>
-<dl>
-
-<dt><i>evt</i></dt>
-<dd>
-the key press event (QKeyEvent)
-</dd>
-</dl>
 <a NAME="HgDialog.normalExit" ID="HgDialog.normalExit"></a>
 <h4>HgDialog.normalExit</h4>
 <b>normalExit</b>(<i></i>)
@@ -315,34 +233,6 @@
 button that was clicked (QAbstractButton)
 </dd>
 </dl>
-<a NAME="HgDialog.on_input_returnPressed" ID="HgDialog.on_input_returnPressed"></a>
-<h4>HgDialog.on_input_returnPressed</h4>
-<b>on_input_returnPressed</b>(<i></i>)
-
-<p>
-        Private slot to handle the press of the return key in the input field.
-</p>
-<a NAME="HgDialog.on_passwordCheckBox_toggled" ID="HgDialog.on_passwordCheckBox_toggled"></a>
-<h4>HgDialog.on_passwordCheckBox_toggled</h4>
-<b>on_passwordCheckBox_toggled</b>(<i>isOn</i>)
-
-<p>
-        Private slot to handle the password checkbox toggled.
-</p>
-<dl>
-
-<dt><i>isOn</i></dt>
-<dd>
-flag indicating the status of the check box (boolean)
-</dd>
-</dl>
-<a NAME="HgDialog.on_sendButton_clicked" ID="HgDialog.on_sendButton_clicked"></a>
-<h4>HgDialog.on_sendButton_clicked</h4>
-<b>on_sendButton_clicked</b>(<i></i>)
-
-<p>
-        Private slot to send the input to the Mercurial process.
-</p>
 <a NAME="HgDialog.startProcess" ID="HgDialog.startProcess"></a>
 <h4>HgDialog.startProcess</h4>
 <b>startProcess</b>(<i>args, workingDir=None, showArgs=True, environment=None</i>)
--- a/eric6/Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.HgDiffGenerator.html	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.HgDiffGenerator.html	Sun Feb 02 11:27:46 2020 +0100
@@ -101,14 +101,6 @@
 <td>Private method to process the lines of output.</td>
 </tr>
 <tr>
-<td><a href="#HgDiffGenerator.__readStderr">__readStderr</a></td>
-<td>Private slot to handle the readyReadStandardError signal.</td>
-</tr>
-<tr>
-<td><a href="#HgDiffGenerator.__readStdout">__readStdout</a></td>
-<td>Private slot to handle the readyReadStandardOutput signal.</td>
-</tr>
-<tr>
 <td><a href="#HgDiffGenerator.getResult">getResult</a></td>
 <td>Public method to return the result data.</td>
 </tr>
@@ -221,28 +213,6 @@
 output line to be processed (string)
 </dd>
 </dl>
-<a NAME="HgDiffGenerator.__readStderr" ID="HgDiffGenerator.__readStderr"></a>
-<h4>HgDiffGenerator.__readStderr</h4>
-<b>__readStderr</b>(<i></i>)
-
-<p>
-        Private slot to handle the readyReadStandardError signal.
-</p>
-<p>
-        It reads the error output of the process and inserts it into the
-        error pane.
-</p>
-<a NAME="HgDiffGenerator.__readStdout" ID="HgDiffGenerator.__readStdout"></a>
-<h4>HgDiffGenerator.__readStdout</h4>
-<b>__readStdout</b>(<i></i>)
-
-<p>
-        Private slot to handle the readyReadStandardOutput signal.
-</p>
-<p>
-        It reads the output of the process, formats it and inserts it into
-        the contents pane.
-</p>
 <a NAME="HgDiffGenerator.getResult" ID="HgDiffGenerator.getResult"></a>
 <h4>HgDiffGenerator.getResult</h4>
 <b>getResult</b>(<i></i>)
--- a/eric6/Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html	Sun Feb 02 11:27:46 2020 +0100
@@ -209,10 +209,6 @@
 <td>Private slot to prepare the filed search data.</td>
 </tr>
 <tr>
-<td><a href="#HgLogBrowserDialog.__procFinished">__procFinished</a></td>
-<td>Private slot connected to the finished signal.</td>
-</tr>
-<tr>
 <td><a href="#HgLogBrowserDialog.__processBuffer">__processBuffer</a></td>
 <td>Private method to process the buffered output of the hg log command.</td>
 </tr>
@@ -229,14 +225,6 @@
 <td>Private slot to push all changes to a remote repository.</td>
 </tr>
 <tr>
-<td><a href="#HgLogBrowserDialog.__readStderr">__readStderr</a></td>
-<td>Private slot to handle the readyReadStandardError signal.</td>
-</tr>
-<tr>
-<td><a href="#HgLogBrowserDialog.__readStdout">__readStdout</a></td>
-<td>Private slot to handle the readyReadStandardOutput signal.</td>
-</tr>
-<tr>
 <td><a href="#HgLogBrowserDialog.__reloadGeometry">__reloadGeometry</a></td>
 <td>Private method to restore the geometry.</td>
 </tr>
@@ -313,10 +301,6 @@
 <td>Local function to calculate a x-position for a column.</td>
 </tr>
 <tr>
-<td><a href="#HgLogBrowserDialog.keyPressEvent">keyPressEvent</a></td>
-<td>Protected slot to handle a key press event.</td>
-</tr>
-<tr>
 <td><a href="#HgLogBrowserDialog.on_branchCombo_activated">on_branchCombo_activated</a></td>
 <td>Private slot called, when a new branch is selected.</td>
 </tr>
@@ -353,10 +337,6 @@
 <td>Private slot called, when the from date changes.</td>
 </tr>
 <tr>
-<td><a href="#HgLogBrowserDialog.on_input_returnPressed">on_input_returnPressed</a></td>
-<td>Private slot to handle the press of the return key in the input field.</td>
-</tr>
-<tr>
 <td><a href="#HgLogBrowserDialog.on_logTree_currentItemChanged">on_logTree_currentItemChanged</a></td>
 <td>Private slot called, when the current item of the log tree changes.</td>
 </tr>
@@ -373,10 +353,6 @@
 <td>Private slot to handle the Next button.</td>
 </tr>
 <tr>
-<td><a href="#HgLogBrowserDialog.on_passwordCheckBox_toggled">on_passwordCheckBox_toggled</a></td>
-<td>Private slot to handle the password checkbox toggled.</td>
-</tr>
-<tr>
 <td><a href="#HgLogBrowserDialog.on_refreshButton_clicked">on_refreshButton_clicked</a></td>
 <td>Private slot to refresh the log.</td>
 </tr>
@@ -397,10 +373,6 @@
 <td>Private slot to handle selection of a side-by-side link.</td>
 </tr>
 <tr>
-<td><a href="#HgLogBrowserDialog.on_sendButton_clicked">on_sendButton_clicked</a></td>
-<td>Private slot to send the input to the mercurial process.</td>
-</tr>
-<tr>
 <td><a href="#HgLogBrowserDialog.on_stopCheckBox_clicked">on_stopCheckBox_clicked</a></td>
 <td>Private slot called, when the stop on copy/move checkbox is clicked.</td>
 </tr>
@@ -959,24 +931,6 @@
             that the field index is a data role (integer, string, boolean)
 </dd>
 </dl>
-<a NAME="HgLogBrowserDialog.__procFinished" ID="HgLogBrowserDialog.__procFinished"></a>
-<h4>HgLogBrowserDialog.__procFinished</h4>
-<b>__procFinished</b>(<i>exitCode, exitStatus</i>)
-
-<p>
-        Private slot connected to the finished signal.
-</p>
-<dl>
-
-<dt><i>exitCode</i></dt>
-<dd>
-exit code of the process (integer)
-</dd>
-<dt><i>exitStatus</i></dt>
-<dd>
-exit status of the process (QProcess.ExitStatus)
-</dd>
-</dl>
 <a NAME="HgLogBrowserDialog.__processBuffer" ID="HgLogBrowserDialog.__processBuffer"></a>
 <h4>HgLogBrowserDialog.__processBuffer</h4>
 <b>__processBuffer</b>(<i></i>)
@@ -1006,27 +960,6 @@
 <p>
         Private slot to push all changes to a remote repository.
 </p>
-<a NAME="HgLogBrowserDialog.__readStderr" ID="HgLogBrowserDialog.__readStderr"></a>
-<h4>HgLogBrowserDialog.__readStderr</h4>
-<b>__readStderr</b>(<i></i>)
-
-<p>
-        Private slot to handle the readyReadStandardError signal.
-</p>
-<p>
-        It reads the error output of the process and inserts it into the
-        error pane.
-</p>
-<a NAME="HgLogBrowserDialog.__readStdout" ID="HgLogBrowserDialog.__readStdout"></a>
-<h4>HgLogBrowserDialog.__readStdout</h4>
-<b>__readStdout</b>(<i></i>)
-
-<p>
-        Private slot to handle the readyReadStandardOutput signal.
-</p>
-<p>
-        It reads the output of the process and inserts it into a buffer.
-</p>
 <a NAME="HgLogBrowserDialog.__reloadGeometry" ID="HgLogBrowserDialog.__reloadGeometry"></a>
 <h4>HgLogBrowserDialog.__reloadGeometry</h4>
 <b>__reloadGeometry</b>(<i></i>)
@@ -1213,20 +1146,6 @@
 radius of the indicator circle (integer)
 </dd>
 </dl>
-<a NAME="HgLogBrowserDialog.keyPressEvent" ID="HgLogBrowserDialog.keyPressEvent"></a>
-<h4>HgLogBrowserDialog.keyPressEvent</h4>
-<b>keyPressEvent</b>(<i>evt</i>)
-
-<p>
-        Protected slot to handle a key press event.
-</p>
-<dl>
-
-<dt><i>evt</i></dt>
-<dd>
-the key press event (QKeyEvent)
-</dd>
-</dl>
 <a NAME="HgLogBrowserDialog.on_branchCombo_activated" ID="HgLogBrowserDialog.on_branchCombo_activated"></a>
 <h4>HgLogBrowserDialog.on_branchCombo_activated</h4>
 <b>on_branchCombo_activated</b>(<i>txt</i>)
@@ -1336,13 +1255,6 @@
 new date (QDate)
 </dd>
 </dl>
-<a NAME="HgLogBrowserDialog.on_input_returnPressed" ID="HgLogBrowserDialog.on_input_returnPressed"></a>
-<h4>HgLogBrowserDialog.on_input_returnPressed</h4>
-<b>on_input_returnPressed</b>(<i></i>)
-
-<p>
-        Private slot to handle the press of the return key in the input field.
-</p>
 <a NAME="HgLogBrowserDialog.on_logTree_currentItemChanged" ID="HgLogBrowserDialog.on_logTree_currentItemChanged"></a>
 <h4>HgLogBrowserDialog.on_logTree_currentItemChanged</h4>
 <b>on_logTree_currentItemChanged</b>(<i>current, previous</i>)
@@ -1389,20 +1301,6 @@
 <p>
         Private slot to handle the Next button.
 </p>
-<a NAME="HgLogBrowserDialog.on_passwordCheckBox_toggled" ID="HgLogBrowserDialog.on_passwordCheckBox_toggled"></a>
-<h4>HgLogBrowserDialog.on_passwordCheckBox_toggled</h4>
-<b>on_passwordCheckBox_toggled</b>(<i>isOn</i>)
-
-<p>
-        Private slot to handle the password checkbox toggled.
-</p>
-<dl>
-
-<dt><i>isOn</i></dt>
-<dd>
-flag indicating the status of the check box (boolean)
-</dd>
-</dl>
 <a NAME="HgLogBrowserDialog.on_refreshButton_clicked" ID="HgLogBrowserDialog.on_refreshButton_clicked"></a>
 <h4>HgLogBrowserDialog.on_refreshButton_clicked</h4>
 <b>on_refreshButton_clicked</b>(<i>addNext=False</i>)
@@ -1467,13 +1365,6 @@
 text of the selected link
 </dd>
 </dl>
-<a NAME="HgLogBrowserDialog.on_sendButton_clicked" ID="HgLogBrowserDialog.on_sendButton_clicked"></a>
-<h4>HgLogBrowserDialog.on_sendButton_clicked</h4>
-<b>on_sendButton_clicked</b>(<i></i>)
-
-<p>
-        Private slot to send the input to the mercurial process.
-</p>
 <a NAME="HgLogBrowserDialog.on_stopCheckBox_clicked" ID="HgLogBrowserDialog.on_stopCheckBox_clicked"></a>
 <h4>HgLogBrowserDialog.on_stopCheckBox_clicked</h4>
 <b>on_stopCheckBox_clicked</b>(<i>checked</i>)
--- a/eric6/Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.HgStatusDialog.html	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.HgStatusDialog.html	Sun Feb 02 11:27:46 2020 +0100
@@ -159,22 +159,10 @@
 <td>Private slot to add a file to the repository.</td>
 </tr>
 <tr>
-<td><a href="#HgStatusDialog.__procFinished">__procFinished</a></td>
-<td>Private slot connected to the finished signal.</td>
-</tr>
-<tr>
 <td><a href="#HgStatusDialog.__processOutputLine">__processOutputLine</a></td>
 <td>Private method to process the lines of output.</td>
 </tr>
 <tr>
-<td><a href="#HgStatusDialog.__readStderr">__readStderr</a></td>
-<td>Private slot to handle the readyReadStandardError signal.</td>
-</tr>
-<tr>
-<td><a href="#HgStatusDialog.__readStdout">__readStdout</a></td>
-<td>Private slot to handle the readyReadStandardOutput signal.</td>
-</tr>
-<tr>
 <td><a href="#HgStatusDialog.__refreshDiff">__refreshDiff</a></td>
 <td>Private method to refresh the diff output after a refresh.</td>
 </tr>
@@ -211,30 +199,14 @@
 <td>Protected slot implementing a close event handler.</td>
 </tr>
 <tr>
-<td><a href="#HgStatusDialog.keyPressEvent">keyPressEvent</a></td>
-<td>Protected slot to handle a key press event.</td>
-</tr>
-<tr>
 <td><a href="#HgStatusDialog.on_buttonBox_clicked">on_buttonBox_clicked</a></td>
 <td>Private slot called by a button of the button box clicked.</td>
 </tr>
 <tr>
-<td><a href="#HgStatusDialog.on_input_returnPressed">on_input_returnPressed</a></td>
-<td>Private slot to handle the press of the return key in the input field.</td>
-</tr>
-<tr>
-<td><a href="#HgStatusDialog.on_passwordCheckBox_toggled">on_passwordCheckBox_toggled</a></td>
-<td>Private slot to handle the password checkbox toggled.</td>
-</tr>
-<tr>
 <td><a href="#HgStatusDialog.on_refreshButton_clicked">on_refreshButton_clicked</a></td>
 <td>Private slot to refresh the status display.</td>
 </tr>
 <tr>
-<td><a href="#HgStatusDialog.on_sendButton_clicked">on_sendButton_clicked</a></td>
-<td>Private slot to send the input to the subversion process.</td>
-</tr>
-<tr>
 <td><a href="#HgStatusDialog.on_statusFilterCombo_activated">on_statusFilterCombo_activated</a></td>
 <td>Private slot to react to the selection of a status filter.</td>
 </tr>
@@ -484,24 +456,6 @@
 add mode (string one of 'normal' or 'large')
 </dd>
 </dl>
-<a NAME="HgStatusDialog.__procFinished" ID="HgStatusDialog.__procFinished"></a>
-<h4>HgStatusDialog.__procFinished</h4>
-<b>__procFinished</b>(<i>exitCode, exitStatus</i>)
-
-<p>
-        Private slot connected to the finished signal.
-</p>
-<dl>
-
-<dt><i>exitCode</i></dt>
-<dd>
-exit code of the process (integer)
-</dd>
-<dt><i>exitStatus</i></dt>
-<dd>
-exit status of the process (QProcess.ExitStatus)
-</dd>
-</dl>
 <a NAME="HgStatusDialog.__processOutputLine" ID="HgStatusDialog.__processOutputLine"></a>
 <h4>HgStatusDialog.__processOutputLine</h4>
 <b>__processOutputLine</b>(<i>line</i>)
@@ -516,28 +470,6 @@
 output line to be processed (string)
 </dd>
 </dl>
-<a NAME="HgStatusDialog.__readStderr" ID="HgStatusDialog.__readStderr"></a>
-<h4>HgStatusDialog.__readStderr</h4>
-<b>__readStderr</b>(<i></i>)
-
-<p>
-        Private slot to handle the readyReadStandardError signal.
-</p>
-<p>
-        It reads the error output of the process and inserts it into the
-        error pane.
-</p>
-<a NAME="HgStatusDialog.__readStdout" ID="HgStatusDialog.__readStdout"></a>
-<h4>HgStatusDialog.__readStdout</h4>
-<b>__readStdout</b>(<i></i>)
-
-<p>
-        Private slot to handle the readyReadStandardOutput signal.
-</p>
-<p>
-        It reads the output of the process, formats it and inserts it into
-        the contents pane.
-</p>
 <a NAME="HgStatusDialog.__refreshDiff" ID="HgStatusDialog.__refreshDiff"></a>
 <h4>HgStatusDialog.__refreshDiff</h4>
 <b>__refreshDiff</b>(<i></i>)
@@ -615,20 +547,6 @@
 close event (QCloseEvent)
 </dd>
 </dl>
-<a NAME="HgStatusDialog.keyPressEvent" ID="HgStatusDialog.keyPressEvent"></a>
-<h4>HgStatusDialog.keyPressEvent</h4>
-<b>keyPressEvent</b>(<i>evt</i>)
-
-<p>
-        Protected slot to handle a key press event.
-</p>
-<dl>
-
-<dt><i>evt</i></dt>
-<dd>
-the key press event (QKeyEvent)
-</dd>
-</dl>
 <a NAME="HgStatusDialog.on_buttonBox_clicked" ID="HgStatusDialog.on_buttonBox_clicked"></a>
 <h4>HgStatusDialog.on_buttonBox_clicked</h4>
 <b>on_buttonBox_clicked</b>(<i>button</i>)
@@ -643,27 +561,6 @@
 button that was clicked (QAbstractButton)
 </dd>
 </dl>
-<a NAME="HgStatusDialog.on_input_returnPressed" ID="HgStatusDialog.on_input_returnPressed"></a>
-<h4>HgStatusDialog.on_input_returnPressed</h4>
-<b>on_input_returnPressed</b>(<i></i>)
-
-<p>
-        Private slot to handle the press of the return key in the input field.
-</p>
-<a NAME="HgStatusDialog.on_passwordCheckBox_toggled" ID="HgStatusDialog.on_passwordCheckBox_toggled"></a>
-<h4>HgStatusDialog.on_passwordCheckBox_toggled</h4>
-<b>on_passwordCheckBox_toggled</b>(<i>isOn</i>)
-
-<p>
-        Private slot to handle the password checkbox toggled.
-</p>
-<dl>
-
-<dt><i>isOn</i></dt>
-<dd>
-flag indicating the status of the check box (boolean)
-</dd>
-</dl>
 <a NAME="HgStatusDialog.on_refreshButton_clicked" ID="HgStatusDialog.on_refreshButton_clicked"></a>
 <h4>HgStatusDialog.on_refreshButton_clicked</h4>
 <b>on_refreshButton_clicked</b>(<i></i>)
@@ -671,13 +568,6 @@
 <p>
         Private slot to refresh the status display.
 </p>
-<a NAME="HgStatusDialog.on_sendButton_clicked" ID="HgStatusDialog.on_sendButton_clicked"></a>
-<h4>HgStatusDialog.on_sendButton_clicked</h4>
-<b>on_sendButton_clicked</b>(<i></i>)
-
-<p>
-        Private slot to send the input to the subversion process.
-</p>
 <a NAME="HgStatusDialog.on_statusFilterCombo_activated" ID="HgStatusDialog.on_statusFilterCombo_activated"></a>
 <h4>HgStatusDialog.on_statusFilterCombo_activated</h4>
 <b>on_statusFilterCombo_activated</b>(<i>txt</i>)
--- a/eric6/Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.HgStatusMonitorThread.html	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.HgStatusMonitorThread.html	Sun Feb 02 11:27:46 2020 +0100
@@ -128,6 +128,18 @@
 <p>
         Private method to initialize the Mercurial client.
 </p>
+<dl>
+<dt>Returns:</dt>
+<dd>
+tuple containing an OK flag and potentially an error message
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+tuple of (bool, str)
+</dd>
+</dl>
 <a NAME="HgStatusMonitorThread._getInfo" ID="HgStatusMonitorThread._getInfo"></a>
 <h4>HgStatusMonitorThread._getInfo</h4>
 <b>_getInfo</b>(<i></i>)
@@ -135,10 +147,6 @@
 <p>
         Protected method implementing the real info action.
 </p>
-<p>
-        This method should be overridden and create a short info message to be
-        shown in the main window status bar right next to the status indicator.
-</p>
 <dl>
 <dt>Returns:</dt>
 <dd>
@@ -159,10 +167,10 @@
         Protected method implementing the monitoring action.
 </p>
 <p>
-        This method populates the statusList member variable
-        with a list of strings giving the status in the first column and the
-        path relative to the project directory starting with the third column.
-        The allowed status flags are:
+        This method populates the statusList member variable with a list of
+        strings giving the status in the first column and the path relative
+        to the project directory starting with the third column. The allowed
+        status flags are:
         <ul>
             <li>"A" path was added but not yet comitted</li>
             <li>"M" path has local changes</li>
@@ -176,8 +184,14 @@
 <dl>
 <dt>Returns:</dt>
 <dd>
-tuple of flag indicating successful operation (boolean) and
-            a status message in case of non successful operation (string)
+tuple of flag indicating successful operation and a status
+            message in case of non successful operation
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+tuple of (bool, str)
 </dd>
 </dl>
 <a NAME="HgStatusMonitorThread._shutdown" ID="HgStatusMonitorThread._shutdown"></a>
--- a/eric6/Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.HgTagBranchListDialog.html	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.HgTagBranchListDialog.html	Sun Feb 02 11:27:46 2020 +0100
@@ -93,22 +93,10 @@
 <td>Private method to highlight the current branch with a bold font.</td>
 </tr>
 <tr>
-<td><a href="#HgTagBranchListDialog.__procFinished">__procFinished</a></td>
-<td>Private slot connected to the finished signal.</td>
-</tr>
-<tr>
 <td><a href="#HgTagBranchListDialog.__processOutputLine">__processOutputLine</a></td>
 <td>Private method to process the lines of output.</td>
 </tr>
 <tr>
-<td><a href="#HgTagBranchListDialog.__readStderr">__readStderr</a></td>
-<td>Private slot to handle the readyReadStderr signal.</td>
-</tr>
-<tr>
-<td><a href="#HgTagBranchListDialog.__readStdout">__readStdout</a></td>
-<td>Private slot to handle the readyReadStdout signal.</td>
-</tr>
-<tr>
 <td><a href="#HgTagBranchListDialog.__resizeColumns">__resizeColumns</a></td>
 <td>Private method to resize the list columns.</td>
 </tr>
@@ -129,30 +117,14 @@
 <td>Protected slot implementing a close event handler.</td>
 </tr>
 <tr>
-<td><a href="#HgTagBranchListDialog.keyPressEvent">keyPressEvent</a></td>
-<td>Protected slot to handle a key press event.</td>
-</tr>
-<tr>
 <td><a href="#HgTagBranchListDialog.on_buttonBox_clicked">on_buttonBox_clicked</a></td>
 <td>Private slot called by a button of the button box clicked.</td>
 </tr>
 <tr>
-<td><a href="#HgTagBranchListDialog.on_input_returnPressed">on_input_returnPressed</a></td>
-<td>Private slot to handle the press of the return key in the input field.</td>
-</tr>
-<tr>
-<td><a href="#HgTagBranchListDialog.on_passwordCheckBox_toggled">on_passwordCheckBox_toggled</a></td>
-<td>Private slot to handle the password checkbox toggled.</td>
-</tr>
-<tr>
 <td><a href="#HgTagBranchListDialog.on_refreshButton_clicked">on_refreshButton_clicked</a></td>
 <td>Private slot to refresh the log.</td>
 </tr>
 <tr>
-<td><a href="#HgTagBranchListDialog.on_sendButton_clicked">on_sendButton_clicked</a></td>
-<td>Private slot to send the input to the subversion process.</td>
-</tr>
-<tr>
 <td><a href="#HgTagBranchListDialog.on_tagList_customContextMenuRequested">on_tagList_customContextMenuRequested</a></td>
 <td>Private slot to handle the context menu request.</td>
 </tr>
@@ -240,24 +212,6 @@
 <p>
         Private method to highlight the current branch with a bold font.
 </p>
-<a NAME="HgTagBranchListDialog.__procFinished" ID="HgTagBranchListDialog.__procFinished"></a>
-<h4>HgTagBranchListDialog.__procFinished</h4>
-<b>__procFinished</b>(<i>exitCode, exitStatus</i>)
-
-<p>
-        Private slot connected to the finished signal.
-</p>
-<dl>
-
-<dt><i>exitCode</i></dt>
-<dd>
-exit code of the process (integer)
-</dd>
-<dt><i>exitStatus</i></dt>
-<dd>
-exit status of the process (QProcess.ExitStatus)
-</dd>
-</dl>
 <a NAME="HgTagBranchListDialog.__processOutputLine" ID="HgTagBranchListDialog.__processOutputLine"></a>
 <h4>HgTagBranchListDialog.__processOutputLine</h4>
 <b>__processOutputLine</b>(<i>line</i>)
@@ -272,28 +226,6 @@
 output line to be processed (string)
 </dd>
 </dl>
-<a NAME="HgTagBranchListDialog.__readStderr" ID="HgTagBranchListDialog.__readStderr"></a>
-<h4>HgTagBranchListDialog.__readStderr</h4>
-<b>__readStderr</b>(<i></i>)
-
-<p>
-        Private slot to handle the readyReadStderr signal.
-</p>
-<p>
-        It reads the error output of the process and inserts it into the
-        error pane.
-</p>
-<a NAME="HgTagBranchListDialog.__readStdout" ID="HgTagBranchListDialog.__readStdout"></a>
-<h4>HgTagBranchListDialog.__readStdout</h4>
-<b>__readStdout</b>(<i></i>)
-
-<p>
-        Private slot to handle the readyReadStdout signal.
-</p>
-<p>
-        It reads the output of the process, formats it and inserts it into
-        the contents pane.
-</p>
 <a NAME="HgTagBranchListDialog.__resizeColumns" ID="HgTagBranchListDialog.__resizeColumns"></a>
 <h4>HgTagBranchListDialog.__resizeColumns</h4>
 <b>__resizeColumns</b>(<i></i>)
@@ -343,20 +275,6 @@
 close event (QCloseEvent)
 </dd>
 </dl>
-<a NAME="HgTagBranchListDialog.keyPressEvent" ID="HgTagBranchListDialog.keyPressEvent"></a>
-<h4>HgTagBranchListDialog.keyPressEvent</h4>
-<b>keyPressEvent</b>(<i>evt</i>)
-
-<p>
-        Protected slot to handle a key press event.
-</p>
-<dl>
-
-<dt><i>evt</i></dt>
-<dd>
-the key press event (QKeyEvent)
-</dd>
-</dl>
 <a NAME="HgTagBranchListDialog.on_buttonBox_clicked" ID="HgTagBranchListDialog.on_buttonBox_clicked"></a>
 <h4>HgTagBranchListDialog.on_buttonBox_clicked</h4>
 <b>on_buttonBox_clicked</b>(<i>button</i>)
@@ -371,27 +289,6 @@
 button that was clicked (QAbstractButton)
 </dd>
 </dl>
-<a NAME="HgTagBranchListDialog.on_input_returnPressed" ID="HgTagBranchListDialog.on_input_returnPressed"></a>
-<h4>HgTagBranchListDialog.on_input_returnPressed</h4>
-<b>on_input_returnPressed</b>(<i></i>)
-
-<p>
-        Private slot to handle the press of the return key in the input field.
-</p>
-<a NAME="HgTagBranchListDialog.on_passwordCheckBox_toggled" ID="HgTagBranchListDialog.on_passwordCheckBox_toggled"></a>
-<h4>HgTagBranchListDialog.on_passwordCheckBox_toggled</h4>
-<b>on_passwordCheckBox_toggled</b>(<i>isOn</i>)
-
-<p>
-        Private slot to handle the password checkbox toggled.
-</p>
-<dl>
-
-<dt><i>isOn</i></dt>
-<dd>
-flag indicating the status of the check box (boolean)
-</dd>
-</dl>
 <a NAME="HgTagBranchListDialog.on_refreshButton_clicked" ID="HgTagBranchListDialog.on_refreshButton_clicked"></a>
 <h4>HgTagBranchListDialog.on_refreshButton_clicked</h4>
 <b>on_refreshButton_clicked</b>(<i></i>)
@@ -399,13 +296,6 @@
 <p>
         Private slot to refresh the log.
 </p>
-<a NAME="HgTagBranchListDialog.on_sendButton_clicked" ID="HgTagBranchListDialog.on_sendButton_clicked"></a>
-<h4>HgTagBranchListDialog.on_sendButton_clicked</h4>
-<b>on_sendButton_clicked</b>(<i></i>)
-
-<p>
-        Private slot to send the input to the subversion process.
-</p>
 <a NAME="HgTagBranchListDialog.on_tagList_customContextMenuRequested" ID="HgTagBranchListDialog.on_tagList_customContextMenuRequested"></a>
 <h4>HgTagBranchListDialog.on_tagList_customContextMenuRequested</h4>
 <b>on_tagList_customContextMenuRequested</b>(<i>pos</i>)
--- a/eric6/Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.QueuesExtension.HgQueuesHeaderDialog.html	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.QueuesExtension.HgQueuesHeaderDialog.html	Sun Feb 02 11:27:46 2020 +0100
@@ -78,18 +78,6 @@
 <td>Private slot called when the process finished or the user pressed the button.</td>
 </tr>
 <tr>
-<td><a href="#HgQueuesHeaderDialog.__procFinished">__procFinished</a></td>
-<td>Private slot connected to the finished signal.</td>
-</tr>
-<tr>
-<td><a href="#HgQueuesHeaderDialog.__readStderr">__readStderr</a></td>
-<td>Private slot to handle the readyReadStderr signal.</td>
-</tr>
-<tr>
-<td><a href="#HgQueuesHeaderDialog.__readStdout">__readStdout</a></td>
-<td>Private slot to handle the readyReadStdout signal.</td>
-</tr>
-<tr>
 <td><a href="#HgQueuesHeaderDialog.__showError">__showError</a></td>
 <td>Private slot to show some error.</td>
 </tr>
@@ -142,46 +130,6 @@
         Private slot called when the process finished or the user pressed
         the button.
 </p>
-<a NAME="HgQueuesHeaderDialog.__procFinished" ID="HgQueuesHeaderDialog.__procFinished"></a>
-<h4>HgQueuesHeaderDialog.__procFinished</h4>
-<b>__procFinished</b>(<i>exitCode, exitStatus</i>)
-
-<p>
-        Private slot connected to the finished signal.
-</p>
-<dl>
-
-<dt><i>exitCode</i></dt>
-<dd>
-exit code of the process (integer)
-</dd>
-<dt><i>exitStatus</i></dt>
-<dd>
-exit status of the process (QProcess.ExitStatus)
-</dd>
-</dl>
-<a NAME="HgQueuesHeaderDialog.__readStderr" ID="HgQueuesHeaderDialog.__readStderr"></a>
-<h4>HgQueuesHeaderDialog.__readStderr</h4>
-<b>__readStderr</b>(<i></i>)
-
-<p>
-        Private slot to handle the readyReadStderr signal.
-</p>
-<p>
-        It reads the error output of the process and inserts it into the
-        error pane.
-</p>
-<a NAME="HgQueuesHeaderDialog.__readStdout" ID="HgQueuesHeaderDialog.__readStdout"></a>
-<h4>HgQueuesHeaderDialog.__readStdout</h4>
-<b>__readStdout</b>(<i></i>)
-
-<p>
-        Private slot to handle the readyReadStdout signal.
-</p>
-<p>
-        It reads the output of the process, formats it and inserts it into
-        the contents pane.
-</p>
 <a NAME="HgQueuesHeaderDialog.__showError" ID="HgQueuesHeaderDialog.__showError"></a>
 <h4>HgQueuesHeaderDialog.__showError</h4>
 <b>__showError</b>(<i>out</i>)
--- a/eric6/Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.QueuesExtension.HgQueuesListDialog.html	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.QueuesExtension.HgQueuesListDialog.html	Sun Feb 02 11:27:46 2020 +0100
@@ -94,22 +94,10 @@
 <td>Private slot to mark the top patch entry.</td>
 </tr>
 <tr>
-<td><a href="#HgQueuesListDialog.__procFinished">__procFinished</a></td>
-<td>Private slot connected to the finished signal.</td>
-</tr>
-<tr>
 <td><a href="#HgQueuesListDialog.__processOutputLine">__processOutputLine</a></td>
 <td>Private method to process the lines of output.</td>
 </tr>
 <tr>
-<td><a href="#HgQueuesListDialog.__readStderr">__readStderr</a></td>
-<td>Private slot to handle the readyReadStderr signal.</td>
-</tr>
-<tr>
-<td><a href="#HgQueuesListDialog.__readStdout">__readStdout</a></td>
-<td>Private slot to handle the readyReadStdout signal.</td>
-</tr>
-<tr>
 <td><a href="#HgQueuesListDialog.__resizeColumns">__resizeColumns</a></td>
 <td>Private method to resize the list columns.</td>
 </tr>
@@ -126,26 +114,10 @@
 <td>Protected slot implementing a close event handler.</td>
 </tr>
 <tr>
-<td><a href="#HgQueuesListDialog.keyPressEvent">keyPressEvent</a></td>
-<td>Protected slot to handle a key press event.</td>
-</tr>
-<tr>
 <td><a href="#HgQueuesListDialog.on_buttonBox_clicked">on_buttonBox_clicked</a></td>
 <td>Private slot called by a button of the button box clicked.</td>
 </tr>
 <tr>
-<td><a href="#HgQueuesListDialog.on_input_returnPressed">on_input_returnPressed</a></td>
-<td>Private slot to handle the press of the return key in the input field.</td>
-</tr>
-<tr>
-<td><a href="#HgQueuesListDialog.on_passwordCheckBox_toggled">on_passwordCheckBox_toggled</a></td>
-<td>Private slot to handle the password checkbox toggled.</td>
-</tr>
-<tr>
-<td><a href="#HgQueuesListDialog.on_sendButton_clicked">on_sendButton_clicked</a></td>
-<td>Private slot to send the input to the subversion process.</td>
-</tr>
-<tr>
 <td><a href="#HgQueuesListDialog.start">start</a></td>
 <td>Public slot to start the list command.</td>
 </tr>
@@ -249,24 +221,6 @@
 name of the patch (string)
 </dd>
 </dl>
-<a NAME="HgQueuesListDialog.__procFinished" ID="HgQueuesListDialog.__procFinished"></a>
-<h4>HgQueuesListDialog.__procFinished</h4>
-<b>__procFinished</b>(<i>exitCode, exitStatus</i>)
-
-<p>
-        Private slot connected to the finished signal.
-</p>
-<dl>
-
-<dt><i>exitCode</i></dt>
-<dd>
-exit code of the process (integer)
-</dd>
-<dt><i>exitStatus</i></dt>
-<dd>
-exit status of the process (QProcess.ExitStatus)
-</dd>
-</dl>
 <a NAME="HgQueuesListDialog.__processOutputLine" ID="HgQueuesListDialog.__processOutputLine"></a>
 <h4>HgQueuesListDialog.__processOutputLine</h4>
 <b>__processOutputLine</b>(<i>line</i>)
@@ -281,28 +235,6 @@
 output line to be processed (string)
 </dd>
 </dl>
-<a NAME="HgQueuesListDialog.__readStderr" ID="HgQueuesListDialog.__readStderr"></a>
-<h4>HgQueuesListDialog.__readStderr</h4>
-<b>__readStderr</b>(<i></i>)
-
-<p>
-        Private slot to handle the readyReadStderr signal.
-</p>
-<p>
-        It reads the error output of the process and inserts it into the
-        error pane.
-</p>
-<a NAME="HgQueuesListDialog.__readStdout" ID="HgQueuesListDialog.__readStdout"></a>
-<h4>HgQueuesListDialog.__readStdout</h4>
-<b>__readStdout</b>(<i></i>)
-
-<p>
-        Private slot to handle the readyReadStdout signal.
-</p>
-<p>
-        It reads the output of the process, formats it and inserts it into
-        the contents pane.
-</p>
 <a NAME="HgQueuesListDialog.__resizeColumns" ID="HgQueuesListDialog.__resizeColumns"></a>
 <h4>HgQueuesListDialog.__resizeColumns</h4>
 <b>__resizeColumns</b>(<i></i>)
@@ -345,20 +277,6 @@
 close event (QCloseEvent)
 </dd>
 </dl>
-<a NAME="HgQueuesListDialog.keyPressEvent" ID="HgQueuesListDialog.keyPressEvent"></a>
-<h4>HgQueuesListDialog.keyPressEvent</h4>
-<b>keyPressEvent</b>(<i>evt</i>)
-
-<p>
-        Protected slot to handle a key press event.
-</p>
-<dl>
-
-<dt><i>evt</i></dt>
-<dd>
-the key press event (QKeyEvent)
-</dd>
-</dl>
 <a NAME="HgQueuesListDialog.on_buttonBox_clicked" ID="HgQueuesListDialog.on_buttonBox_clicked"></a>
 <h4>HgQueuesListDialog.on_buttonBox_clicked</h4>
 <b>on_buttonBox_clicked</b>(<i>button</i>)
@@ -373,34 +291,6 @@
 button that was clicked (QAbstractButton)
 </dd>
 </dl>
-<a NAME="HgQueuesListDialog.on_input_returnPressed" ID="HgQueuesListDialog.on_input_returnPressed"></a>
-<h4>HgQueuesListDialog.on_input_returnPressed</h4>
-<b>on_input_returnPressed</b>(<i></i>)
-
-<p>
-        Private slot to handle the press of the return key in the input field.
-</p>
-<a NAME="HgQueuesListDialog.on_passwordCheckBox_toggled" ID="HgQueuesListDialog.on_passwordCheckBox_toggled"></a>
-<h4>HgQueuesListDialog.on_passwordCheckBox_toggled</h4>
-<b>on_passwordCheckBox_toggled</b>(<i>isOn</i>)
-
-<p>
-        Private slot to handle the password checkbox toggled.
-</p>
-<dl>
-
-<dt><i>isOn</i></dt>
-<dd>
-flag indicating the status of the check box (boolean)
-</dd>
-</dl>
-<a NAME="HgQueuesListDialog.on_sendButton_clicked" ID="HgQueuesListDialog.on_sendButton_clicked"></a>
-<h4>HgQueuesListDialog.on_sendButton_clicked</h4>
-<b>on_sendButton_clicked</b>(<i></i>)
-
-<p>
-        Private slot to send the input to the subversion process.
-</p>
 <a NAME="HgQueuesListDialog.start" ID="HgQueuesListDialog.start"></a>
 <h4>HgQueuesListDialog.start</h4>
 <b>start</b>(<i>path</i>)
--- a/eric6/Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html	Sun Feb 02 11:27:46 2020 +0100
@@ -93,22 +93,10 @@
 <td>Private method to retrieve the list of shelves.</td>
 </tr>
 <tr>
-<td><a href="#HgShelveBrowserDialog.__procFinished">__procFinished</a></td>
-<td>Private slot connected to the finished signal.</td>
-</tr>
-<tr>
 <td><a href="#HgShelveBrowserDialog.__processBuffer">__processBuffer</a></td>
 <td>Private method to process the buffered output of the hg shelve command.</td>
 </tr>
 <tr>
-<td><a href="#HgShelveBrowserDialog.__readStderr">__readStderr</a></td>
-<td>Private slot to handle the readyReadStandardError signal.</td>
-</tr>
-<tr>
-<td><a href="#HgShelveBrowserDialog.__readStdout">__readStdout</a></td>
-<td>Private slot to handle the readyReadStandardOutput signal.</td>
-</tr>
-<tr>
 <td><a href="#HgShelveBrowserDialog.__resetUI">__resetUI</a></td>
 <td>Private method to reset the user interface.</td>
 </tr>
@@ -129,30 +117,14 @@
 <td>Protected slot implementing a close event handler.</td>
 </tr>
 <tr>
-<td><a href="#HgShelveBrowserDialog.keyPressEvent">keyPressEvent</a></td>
-<td>Protected slot to handle a key press event.</td>
-</tr>
-<tr>
 <td><a href="#HgShelveBrowserDialog.on_buttonBox_clicked">on_buttonBox_clicked</a></td>
 <td>Private slot called by a button of the button box clicked.</td>
 </tr>
 <tr>
-<td><a href="#HgShelveBrowserDialog.on_input_returnPressed">on_input_returnPressed</a></td>
-<td>Private slot to handle the press of the return key in the input field.</td>
-</tr>
-<tr>
-<td><a href="#HgShelveBrowserDialog.on_passwordCheckBox_toggled">on_passwordCheckBox_toggled</a></td>
-<td>Private slot to handle the password checkbox toggled.</td>
-</tr>
-<tr>
 <td><a href="#HgShelveBrowserDialog.on_refreshButton_clicked">on_refreshButton_clicked</a></td>
 <td>Private slot to refresh the list of shelves.</td>
 </tr>
 <tr>
-<td><a href="#HgShelveBrowserDialog.on_sendButton_clicked">on_sendButton_clicked</a></td>
-<td>Private slot to send the input to the mercurial process.</td>
-</tr>
-<tr>
 <td><a href="#HgShelveBrowserDialog.on_shelveList_currentItemChanged">on_shelveList_currentItemChanged</a></td>
 <td>Private slot called, when the current item of the shelve list changes.</td>
 </tr>
@@ -256,24 +228,6 @@
 <p>
         Private method to retrieve the list of shelves.
 </p>
-<a NAME="HgShelveBrowserDialog.__procFinished" ID="HgShelveBrowserDialog.__procFinished"></a>
-<h4>HgShelveBrowserDialog.__procFinished</h4>
-<b>__procFinished</b>(<i>exitCode, exitStatus</i>)
-
-<p>
-        Private slot connected to the finished signal.
-</p>
-<dl>
-
-<dt><i>exitCode</i></dt>
-<dd>
-exit code of the process (integer)
-</dd>
-<dt><i>exitStatus</i></dt>
-<dd>
-exit status of the process (QProcess.ExitStatus)
-</dd>
-</dl>
 <a NAME="HgShelveBrowserDialog.__processBuffer" ID="HgShelveBrowserDialog.__processBuffer"></a>
 <h4>HgShelveBrowserDialog.__processBuffer</h4>
 <b>__processBuffer</b>(<i></i>)
@@ -281,27 +235,6 @@
 <p>
         Private method to process the buffered output of the hg shelve command.
 </p>
-<a NAME="HgShelveBrowserDialog.__readStderr" ID="HgShelveBrowserDialog.__readStderr"></a>
-<h4>HgShelveBrowserDialog.__readStderr</h4>
-<b>__readStderr</b>(<i></i>)
-
-<p>
-        Private slot to handle the readyReadStandardError signal.
-</p>
-<p>
-        It reads the error output of the process and inserts it into the
-        error pane.
-</p>
-<a NAME="HgShelveBrowserDialog.__readStdout" ID="HgShelveBrowserDialog.__readStdout"></a>
-<h4>HgShelveBrowserDialog.__readStdout</h4>
-<b>__readStdout</b>(<i></i>)
-
-<p>
-        Private slot to handle the readyReadStandardOutput signal.
-</p>
-<p>
-        It reads the output of the process and inserts it into a buffer.
-</p>
 <a NAME="HgShelveBrowserDialog.__resetUI" ID="HgShelveBrowserDialog.__resetUI"></a>
 <h4>HgShelveBrowserDialog.__resetUI</h4>
 <b>__resetUI</b>(<i></i>)
@@ -351,20 +284,6 @@
 close event (QCloseEvent)
 </dd>
 </dl>
-<a NAME="HgShelveBrowserDialog.keyPressEvent" ID="HgShelveBrowserDialog.keyPressEvent"></a>
-<h4>HgShelveBrowserDialog.keyPressEvent</h4>
-<b>keyPressEvent</b>(<i>evt</i>)
-
-<p>
-        Protected slot to handle a key press event.
-</p>
-<dl>
-
-<dt><i>evt</i></dt>
-<dd>
-the key press event (QKeyEvent)
-</dd>
-</dl>
 <a NAME="HgShelveBrowserDialog.on_buttonBox_clicked" ID="HgShelveBrowserDialog.on_buttonBox_clicked"></a>
 <h4>HgShelveBrowserDialog.on_buttonBox_clicked</h4>
 <b>on_buttonBox_clicked</b>(<i>button</i>)
@@ -379,27 +298,6 @@
 button that was clicked (QAbstractButton)
 </dd>
 </dl>
-<a NAME="HgShelveBrowserDialog.on_input_returnPressed" ID="HgShelveBrowserDialog.on_input_returnPressed"></a>
-<h4>HgShelveBrowserDialog.on_input_returnPressed</h4>
-<b>on_input_returnPressed</b>(<i></i>)
-
-<p>
-        Private slot to handle the press of the return key in the input field.
-</p>
-<a NAME="HgShelveBrowserDialog.on_passwordCheckBox_toggled" ID="HgShelveBrowserDialog.on_passwordCheckBox_toggled"></a>
-<h4>HgShelveBrowserDialog.on_passwordCheckBox_toggled</h4>
-<b>on_passwordCheckBox_toggled</b>(<i>isOn</i>)
-
-<p>
-        Private slot to handle the password checkbox toggled.
-</p>
-<dl>
-
-<dt><i>isOn</i></dt>
-<dd>
-flag indicating the status of the check box (boolean)
-</dd>
-</dl>
 <a NAME="HgShelveBrowserDialog.on_refreshButton_clicked" ID="HgShelveBrowserDialog.on_refreshButton_clicked"></a>
 <h4>HgShelveBrowserDialog.on_refreshButton_clicked</h4>
 <b>on_refreshButton_clicked</b>(<i></i>)
@@ -407,13 +305,6 @@
 <p>
         Private slot to refresh the list of shelves.
 </p>
-<a NAME="HgShelveBrowserDialog.on_sendButton_clicked" ID="HgShelveBrowserDialog.on_sendButton_clicked"></a>
-<h4>HgShelveBrowserDialog.on_sendButton_clicked</h4>
-<b>on_sendButton_clicked</b>(<i></i>)
-
-<p>
-        Private slot to send the input to the mercurial process.
-</p>
 <a NAME="HgShelveBrowserDialog.on_shelveList_currentItemChanged" ID="HgShelveBrowserDialog.on_shelveList_currentItemChanged"></a>
 <h4>HgShelveBrowserDialog.on_shelveList_currentItemChanged</h4>
 <b>on_shelveList_currentItemChanged</b>(<i>current, previous</i>)
--- a/eric6/Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.hg.html	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.hg.html	Sun Feb 02 11:27:46 2020 +0100
@@ -95,6 +95,10 @@
 <td>Private method to check, if the default and default-push URLs have been configured.</td>
 </tr>
 <tr>
+<td><a href="#Hg.__createClient">__createClient</a></td>
+<td>Private method to create a Mercurial command server client.</td>
+</tr>
+<tr>
 <td><a href="#Hg.__getExtensionsInfo">__getExtensionsInfo</a></td>
 <td>Private method to get the active extensions from Mercurial.</td>
 </tr>
@@ -579,6 +583,20 @@
         Private method to check, if the default and default-push URLs
         have been configured.
 </p>
+<a NAME="Hg.__createClient" ID="Hg.__createClient"></a>
+<h4>Hg.__createClient</h4>
+<b>__createClient</b>(<i>repodir=""</i>)
+
+<p>
+        Private method to create a Mercurial command server client.
+</p>
+<dl>
+
+<dt><i>repodir</i> (str)</dt>
+<dd>
+path of the local repository
+</dd>
+</dl>
 <a NAME="Hg.__getExtensionsInfo" ID="Hg.__getExtensionsInfo"></a>
 <h4>Hg.__getExtensionsInfo</h4>
 <b>__getExtensionsInfo</b>(<i></i>)
--- a/eric6/E5Gui/E5ModelMenu.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/E5Gui/E5ModelMenu.py	Sun Feb 02 11:27:46 2020 +0100
@@ -266,7 +266,10 @@
         """
         fm = QFontMetrics(self.font())
         if self.__maxWidth == -1:
-            self.__maxWidth = fm.width('m') * 30
+            try:
+                self.__maxWidth = fm.horizontalAdvance("m") * 30
+            except AttributeError:
+                self.__maxWidth = fm.width('m') * 30
         smallText = fm.elidedText(text, Qt.ElideMiddle, self.__maxWidth)
         
         return QAction(icon, smallText, parent)
--- a/eric6/E5Gui/E5SqueezeLabels.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/E5Gui/E5SqueezeLabels.py	Sun Feb 02 11:27:46 2020 +0100
@@ -37,7 +37,11 @@
         @param event reference to the paint event (QPaintEvent)
         """
         fm = self.fontMetrics()
-        if fm.width(self.__text) > self.contentsRect().width():
+        try:
+            pixelLength = fm.horizontalAdvance(self.__text)
+        except AttributeError:
+            pixelLength = fm.width(self.__text)
+        if pixelLength > self.contentsRect().width():
             self.__elided = fm.elidedText(
                 self.text(), Qt.ElideMiddle, self.width())
             super(E5SqueezeLabel, self).setText(self.__elided)
@@ -110,9 +114,7 @@
         
         @param event reference to the paint event (QPaintEvent)
         """
-        fm = self.fontMetrics()
-        if (fm.width(self.__surrounding.format(self.__path)) >
-                self.contentsRect().width()):
+        if self.length(self.__path) > self.contentsRect().width():
             super(E5SqueezeLabelPath, self).setText(
                 self.__surrounding.format(compactPath(self.__path,
                                           self.contentsRect().width(),
@@ -130,4 +132,8 @@
         @param txt text to calculate the length for after wrapped (string)
         @return length of the wrapped text in pixels (integer)
         """
-        return self.fontMetrics().width(self.__surrounding.format(txt))
+        fm = self.fontMetrics()
+        try:
+            return fm.horizontalAdvance(self.__surrounding.format(txt))
+        except AttributeError:
+            return fm.width(self.__surrounding.format(txt))
--- a/eric6/E5Gui/E5ZoomWidget.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/E5Gui/E5ZoomWidget.py	Sun Feb 02 11:27:46 2020 +0100
@@ -292,7 +292,10 @@
             )
         fmtStr = "{0}%" if self.__percent else "{0}"
         label = fmtStr.format("0" * labelLen)
-        width = self.valueLabel.fontMetrics().width(label)
+        try:
+            width = self.valueLabel.fontMetrics().horizontalAdvance(label)
+        except AttributeError:
+            width = self.valueLabel.fontMetrics().width(label)
         self.valueLabel.setMinimumWidth(width)
         self.valueLabel.setMaximumWidth(width)
     
--- a/eric6/HexEdit/HexEditWidget.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/HexEdit/HexEditWidget.py	Sun Feb 02 11:27:46 2020 +0100
@@ -612,7 +612,10 @@
         @type QFont
         """
         super(HexEditWidget, self).setFont(font)
-        self.__pxCharWidth = self.fontMetrics().width("2")
+        try:
+            self.__pxCharWidth = self.fontMetrics().horizontalAdvance("2")
+        except AttributeError:
+            self.__pxCharWidth = self.fontMetrics().width("2")
         self.__pxCharHeight = self.fontMetrics().height()
         self.__pxGapAdr = self.__pxCharWidth // 2
         self.__pxGapAdrHex = self.__pxCharWidth
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/CloseheadExtension/HgCloseHeadSelectionDialog.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Plugins/VcsPlugins/vcsMercurial/CloseheadExtension/HgCloseHeadSelectionDialog.py	Sun Feb 02 11:27:46 2020 +0100
@@ -7,10 +7,7 @@
 Module implementing a dialog to select the heads to be closed.
 """
 
-
-import os
-
-from PyQt5.QtCore import pyqtSlot, QProcess
+from PyQt5.QtCore import pyqtSlot
 from PyQt5.QtWidgets import QDialog, QDialogButtonBox, QTreeWidgetItem
 
 from .Ui_HgCloseHeadSelectionDialog import Ui_HgCloseHeadSelectionDialog
@@ -59,25 +56,7 @@
         
         output = ""
         client = vcs.getClient()
-        if client is None:
-            # find the root of the repo
-            repodir = self.splitPath(ppath)[0]
-            while not os.path.isdir(os.path.join(repodir, self.adminDir)):
-                repodir = os.path.dirname(repodir)
-                if os.path.splitdrive(repodir)[1] == os.sep:
-                    return []
-            
-            process = QProcess()
-            process.setWorkingDirectory(repodir)
-            process.start('hg', args)
-            procStarted = process.waitForStarted(5000)
-            if procStarted:
-                finished = process.waitForFinished(30000)
-                if finished and process.exitCode() == 0:
-                    output = str(process.readAllStandardOutput(),
-                                 self.getEncoding(), 'replace')
-        else:
-            output, error = client.runcommand(args)
+        output, error = client.runcommand(args)
         
         heads = []
         if output:
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/GpgExtension/HgGpgSignaturesDialog.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Plugins/VcsPlugins/vcsMercurial/GpgExtension/HgGpgSignaturesDialog.py	Sun Feb 02 11:27:46 2020 +0100
@@ -7,22 +7,15 @@
 Module implementing a dialog showing signed changesets.
 """
 
-
 import os
 
-from PyQt5.QtCore import (
-    pyqtSlot, QProcess, QTimer, Qt, QRegExp, QCoreApplication
-)
+from PyQt5.QtCore import pyqtSlot, Qt, QRegExp, QCoreApplication
 from PyQt5.QtWidgets import (
-    QDialog, QDialogButtonBox, QHeaderView, QTreeWidgetItem, QLineEdit
+    QDialog, QDialogButtonBox, QHeaderView, QTreeWidgetItem
 )
 
-from E5Gui import E5MessageBox
-
 from .Ui_HgGpgSignaturesDialog import Ui_HgGpgSignaturesDialog
 
-from Globals import strToQByteArray
-
 
 class HgGpgSignaturesDialog(QDialog, Ui_HgGpgSignaturesDialog):
     """
@@ -42,14 +35,9 @@
         self.buttonBox.button(QDialogButtonBox.Close).setEnabled(False)
         self.buttonBox.button(QDialogButtonBox.Cancel).setDefault(True)
         
-        self.process = QProcess()
         self.vcs = vcs
         self.__hgClient = vcs.getClient()
         
-        self.process.finished.connect(self.__procFinished)
-        self.process.readyReadStandardOutput.connect(self.__readStdout)
-        self.process.readyReadStandardError.connect(self.__readStderr)
-        
         self.show()
         QCoreApplication.processEvents()
     
@@ -59,17 +47,8 @@
         
         @param e close event (QCloseEvent)
         """
-        if self.__hgClient:
-            if self.__hgClient.isExecuting():
-                self.__hgClient.cancel()
-        else:
-            if (
-                self.process is not None and
-                self.process.state() != QProcess.NotRunning
-            ):
-                self.process.terminate()
-                QTimer.singleShot(2000, self.process.kill)
-                self.process.waitForFinished(3000)
+        if self.__hgClient.isExecuting():
+            self.__hgClient.cancel()
         
         e.accept()
     
@@ -96,55 +75,21 @@
         
         args = self.vcs.initCommand("sigs")
         
-        if self.__hgClient:
-            self.inputGroup.setEnabled(False)
-            self.inputGroup.hide()
-            
-            out, err = self.__hgClient.runcommand(args)
-            if err:
-                self.__showError(err)
-            if out:
-                for line in out.splitlines():
-                    self.__processOutputLine(line)
-                    if self.__hgClient.wasCanceled():
-                        break
-            self.__finish()
-        else:
-            self.process.kill()
-            self.process.setWorkingDirectory(repodir)
-            
-            self.process.start('hg', args)
-            procStarted = self.process.waitForStarted(5000)
-            if not procStarted:
-                self.inputGroup.setEnabled(False)
-                self.inputGroup.hide()
-                E5MessageBox.critical(
-                    self,
-                    self.tr('Process Generation Error'),
-                    self.tr(
-                        'The process {0} could not be started. '
-                        'Ensure, that it is in the search path.'
-                    ).format('hg'))
-            else:
-                self.inputGroup.setEnabled(True)
-                self.inputGroup.show()
+        out, err = self.__hgClient.runcommand(args)
+        if err:
+            self.__showError(err)
+        if out:
+            for line in out.splitlines():
+                self.__processOutputLine(line)
+                if self.__hgClient.wasCanceled():
+                    break
+        self.__finish()
     
     def __finish(self):
         """
         Private slot called when the process finished or the user pressed
         the button.
         """
-        if (
-            self.process is not None and
-            self.process.state() != QProcess.NotRunning
-        ):
-            self.process.terminate()
-            QTimer.singleShot(2000, self.process.kill)
-            self.process.waitForFinished(3000)
-        
-        self.inputGroup.setEnabled(False)
-        self.inputGroup.hide()
-        
         self.buttonBox.button(QDialogButtonBox.Close).setEnabled(True)
         self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(False)
         self.buttonBox.button(QDialogButtonBox.Close).setDefault(True)
@@ -166,19 +111,7 @@
         if button == self.buttonBox.button(QDialogButtonBox.Close):
             self.close()
         elif button == self.buttonBox.button(QDialogButtonBox.Cancel):
-            if self.__hgClient:
-                self.__hgClient.cancel()
-            else:
-                self.__finish()
-    
-    def __procFinished(self, exitCode, exitStatus):
-        """
-        Private slot connected to the finished signal.
-        
-        @param exitCode exit code of the process (integer)
-        @param exitStatus exit status of the process (QProcess.ExitStatus)
-        """
-        self.__finish()
+            self.__hgClient.cancel()
     
     def __resort(self):
         """
@@ -222,20 +155,6 @@
                 topItm = topItems[0]
             QTreeWidgetItem(topItm, [signature])
     
-    def __readStdout(self):
-        """
-        Private slot to handle the readyReadStdout signal.
-        
-        It reads the output of the process, formats it and inserts it into
-        the contents pane.
-        """
-        self.process.setReadChannel(QProcess.StandardOutput)
-        
-        while self.process.canReadLine():
-            s = str(self.process.readLine(), self.vcs.getEncoding(),
-                    'replace').strip()
-            self.__processOutputLine(s)
-    
     def __processOutputLine(self, line):
         """
         Private method to process the lines of output.
@@ -250,18 +169,6 @@
             signature = " ".join(li)
             self.__generateItem(rev, changeset, signature)
     
-    def __readStderr(self):
-        """
-        Private slot to handle the readyReadStderr signal.
-        
-        It reads the error output of the process and inserts it into the
-        error pane.
-        """
-        if self.process is not None:
-            s = str(self.process.readAllStandardError(),
-                    self.vcs.getEncoding(), 'replace')
-            self.__showError(s)
-    
     def __showError(self, out):
         """
         Private slot to show some error.
@@ -342,53 +249,3 @@
                     else:
                         childItem.setHidden(False)
                 topLevelItem.setHidden(visibleChildren == 0)
-    
-    def on_passwordCheckBox_toggled(self, isOn):
-        """
-        Private slot to handle the password checkbox toggled.
-        
-        @param isOn flag indicating the status of the check box (boolean)
-        """
-        if isOn:
-            self.input.setEchoMode(QLineEdit.Password)
-        else:
-            self.input.setEchoMode(QLineEdit.Normal)
-    
-    @pyqtSlot()
-    def on_sendButton_clicked(self):
-        """
-        Private slot to send the input to the subversion process.
-        """
-        inputTxt = self.input.text()
-        inputTxt += os.linesep
-        
-        if self.passwordCheckBox.isChecked():
-            self.errors.insertPlainText(os.linesep)
-            self.errors.ensureCursorVisible()
-        else:
-            self.errors.insertPlainText(inputTxt)
-            self.errors.ensureCursorVisible()
-        
-        self.process.write(strToQByteArray(inputTxt))
-        
-        self.passwordCheckBox.setChecked(False)
-        self.input.clear()
-    
-    def on_input_returnPressed(self):
-        """
-        Private slot to handle the press of the return key in the input field.
-        """
-        self.intercept = True
-        self.on_sendButton_clicked()
-    
-    def keyPressEvent(self, evt):
-        """
-        Protected slot to handle a key press event.
-        
-        @param evt the key press event (QKeyEvent)
-        """
-        if self.intercept:
-            self.intercept = False
-            evt.accept()
-            return
-        super(HgGpgSignaturesDialog, self).keyPressEvent(evt)
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/GpgExtension/HgGpgSignaturesDialog.ui	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Plugins/VcsPlugins/vcsMercurial/GpgExtension/HgGpgSignaturesDialog.ui	Sun Feb 02 11:27:46 2020 +0100
@@ -154,64 +154,6 @@
     </widget>
    </item>
    <item>
-    <widget class="QGroupBox" name="inputGroup">
-     <property name="title">
-      <string>Input</string>
-     </property>
-     <layout class="QGridLayout" name="_2">
-      <item row="1" column="1">
-       <spacer>
-        <property name="orientation">
-         <enum>Qt::Horizontal</enum>
-        </property>
-        <property name="sizeType">
-         <enum>QSizePolicy::Expanding</enum>
-        </property>
-        <property name="sizeHint" stdset="0">
-         <size>
-          <width>327</width>
-          <height>29</height>
-         </size>
-        </property>
-       </spacer>
-      </item>
-      <item row="1" column="2">
-       <widget class="QPushButton" name="sendButton">
-        <property name="toolTip">
-         <string>Press to send the input to the hg process</string>
-        </property>
-        <property name="text">
-         <string>&amp;Send</string>
-        </property>
-        <property name="shortcut">
-         <string>Alt+S</string>
-        </property>
-       </widget>
-      </item>
-      <item row="0" column="0" colspan="3">
-       <widget class="QLineEdit" name="input">
-        <property name="toolTip">
-         <string>Enter data to be sent to the hg process</string>
-        </property>
-       </widget>
-      </item>
-      <item row="1" column="0">
-       <widget class="QCheckBox" name="passwordCheckBox">
-        <property name="toolTip">
-         <string>Select to switch the input field to password mode</string>
-        </property>
-        <property name="text">
-         <string>&amp;Password Mode</string>
-        </property>
-        <property name="shortcut">
-         <string>Alt+P</string>
-        </property>
-       </widget>
-      </item>
-     </layout>
-    </widget>
-   </item>
-   <item>
     <widget class="QDialogButtonBox" name="buttonBox">
      <property name="orientation">
       <enum>Qt::Horizontal</enum>
@@ -236,9 +178,6 @@
   <tabstop>signaturesList</tabstop>
   <tabstop>verifyButton</tabstop>
   <tabstop>errors</tabstop>
-  <tabstop>input</tabstop>
-  <tabstop>passwordCheckBox</tabstop>
-  <tabstop>sendButton</tabstop>
   <tabstop>buttonBox</tabstop>
  </tabstops>
  <resources/>
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgAnnotateDialog.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgAnnotateDialog.py	Sun Feb 02 11:27:46 2020 +0100
@@ -7,21 +7,17 @@
 Module implementing a dialog to show the output of the hg annotate command.
 """
 
-
 import os
 import re
 
-from PyQt5.QtCore import pyqtSlot, QProcess, QTimer, Qt, QCoreApplication
+from PyQt5.QtCore import Qt, QCoreApplication
 from PyQt5.QtWidgets import (
-    QDialog, QDialogButtonBox, QHeaderView, QLineEdit, QTreeWidgetItem
+    QDialog, QDialogButtonBox, QHeaderView, QTreeWidgetItem
 )
 
-from E5Gui import E5MessageBox
-
 from .Ui_HgAnnotateDialog import Ui_HgAnnotateDialog
 
 import Preferences
-from Globals import strToQByteArray
 
 
 class HgAnnotateDialog(QDialog, Ui_HgAnnotateDialog):
@@ -53,14 +49,6 @@
         font = Preferences.getEditorOtherFonts("MonospacedFont")
         self.annotateList.setFont(font)
         
-        if self.__hgClient:
-            self.process = None
-        else:
-            self.process = QProcess()
-            self.process.finished.connect(self.__procFinished)
-            self.process.readyReadStandardOutput.connect(self.__readStdout)
-            self.process.readyReadStandardError.connect(self.__readStderr)
-        
         self.show()
         QCoreApplication.processEvents()
     
@@ -70,17 +58,8 @@
         
         @param e close event (QCloseEvent)
         """
-        if self.__hgClient:
-            if self.__hgClient.isExecuting():
-                self.__hgClient.cancel()
-        else:
-            if (
-                self.process is not None and
-                self.process.state() != QProcess.NotRunning
-            ):
-                self.process.terminate()
-                QTimer.singleShot(2000, self.process.kill)
-                self.process.waitForFinished(3000)
+        if self.__hgClient.isExecuting():
+            self.__hgClient.cancel()
         
         e.accept()
     
@@ -114,55 +93,21 @@
         args.append('--quiet')
         args.append(fn)
         
-        if self.__hgClient:
-            self.inputGroup.setEnabled(False)
-            self.inputGroup.hide()
-            
-            out, err = self.__hgClient.runcommand(args)
-            if err:
-                self.__showError(err)
-            if out:
-                for line in out.splitlines():
-                    self.__processOutputLine(line)
-                    if self.__hgClient.wasCanceled():
-                        break
-            self.__finish()
-        else:
-            self.process.kill()
-            self.process.setWorkingDirectory(repodir)
-            
-            self.process.start('hg', args)
-            procStarted = self.process.waitForStarted(5000)
-            if not procStarted:
-                self.inputGroup.setEnabled(False)
-                self.inputGroup.hide()
-                E5MessageBox.critical(
-                    self,
-                    self.tr('Process Generation Error'),
-                    self.tr(
-                        'The process {0} could not be started. '
-                        'Ensure, that it is in the search path.'
-                    ).format('hg'))
-            else:
-                self.inputGroup.setEnabled(True)
-                self.inputGroup.show()
+        out, err = self.__hgClient.runcommand(args)
+        if err:
+            self.__showError(err)
+        if out:
+            for line in out.splitlines():
+                self.__processOutputLine(line)
+                if self.__hgClient.wasCanceled():
+                    break
+        self.__finish()
     
     def __finish(self):
         """
         Private slot called when the process finished or the user pressed
         the button.
         """
-        if (
-            self.process is not None and
-            self.process.state() != QProcess.NotRunning
-        ):
-            self.process.terminate()
-            QTimer.singleShot(2000, self.process.kill)
-            self.process.waitForFinished(3000)
-        
-        self.inputGroup.setEnabled(False)
-        self.inputGroup.hide()
-        
         self.buttonBox.button(QDialogButtonBox.Close).setEnabled(True)
         self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(False)
         self.buttonBox.button(QDialogButtonBox.Close).setDefault(True)
@@ -185,15 +130,6 @@
             else:
                 self.__finish()
     
-    def __procFinished(self, exitCode, exitStatus):
-        """
-        Private slot connected to the finished signal.
-        
-        @param exitCode exit code of the process (integer)
-        @param exitStatus exit status of the process (QProcess.ExitStatus)
-        """
-        self.__finish()
-    
     def __resizeColumns(self):
         """
         Private method to resize the list columns.
@@ -218,20 +154,6 @@
         itm.setTextAlignment(0, Qt.AlignRight)
         itm.setTextAlignment(4, Qt.AlignRight)
     
-    def __readStdout(self):
-        """
-        Private slot to handle the readyReadStdout signal.
-        
-        It reads the output of the process, formats it and inserts it into
-        the annotation list.
-        """
-        self.process.setReadChannel(QProcess.StandardOutput)
-        
-        while self.process.canReadLine():
-            s = str(self.process.readLine(), self.vcs.getEncoding(),
-                    'replace').strip()
-            self.__processOutputLine(s)
-    
     def __processOutputLine(self, line):
         """
         Private method to process the lines of output.
@@ -248,18 +170,6 @@
         self.__generateItem(rev.strip(), changeset.strip(), author.strip(),
                             date.strip(), text)
     
-    def __readStderr(self):
-        """
-        Private slot to handle the readyReadStderr signal.
-        
-        It reads the error output of the process and inserts it into the
-        error pane.
-        """
-        if self.process is not None:
-            s = str(self.process.readAllStandardError(),
-                    self.vcs.getEncoding(), 'replace')
-            self.__showError(s)
-    
     def __showError(self, out):
         """
         Private slot to show some error.
@@ -269,53 +179,3 @@
         self.errorGroup.show()
         self.errors.insertPlainText(out)
         self.errors.ensureCursorVisible()
-    
-    def on_passwordCheckBox_toggled(self, isOn):
-        """
-        Private slot to handle the password checkbox toggled.
-        
-        @param isOn flag indicating the status of the check box (boolean)
-        """
-        if isOn:
-            self.input.setEchoMode(QLineEdit.Password)
-        else:
-            self.input.setEchoMode(QLineEdit.Normal)
-    
-    @pyqtSlot()
-    def on_sendButton_clicked(self):
-        """
-        Private slot to send the input to the hg process.
-        """
-        inputTxt = self.input.text()
-        inputTxt += os.linesep
-        
-        if self.passwordCheckBox.isChecked():
-            self.errors.insertPlainText(os.linesep)
-            self.errors.ensureCursorVisible()
-        else:
-            self.errors.insertPlainText(inputTxt)
-            self.errors.ensureCursorVisible()
-        
-        self.process.write(strToQByteArray(inputTxt))
-        
-        self.passwordCheckBox.setChecked(False)
-        self.input.clear()
-    
-    def on_input_returnPressed(self):
-        """
-        Private slot to handle the press of the return key in the input field.
-        """
-        self.intercept = True
-        self.on_sendButton_clicked()
-    
-    def keyPressEvent(self, evt):
-        """
-        Protected slot to handle a key press event.
-        
-        @param evt the key press event (QKeyEvent)
-        """
-        if self.intercept:
-            self.intercept = False
-            evt.accept()
-            return
-        super(HgAnnotateDialog, self).keyPressEvent(evt)
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgAnnotateDialog.ui	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgAnnotateDialog.ui	Sun Feb 02 11:27:46 2020 +0100
@@ -93,64 +93,6 @@
     </widget>
    </item>
    <item>
-    <widget class="QGroupBox" name="inputGroup">
-     <property name="title">
-      <string>Input</string>
-     </property>
-     <layout class="QGridLayout">
-      <item row="1" column="1">
-       <spacer>
-        <property name="orientation">
-         <enum>Qt::Horizontal</enum>
-        </property>
-        <property name="sizeType">
-         <enum>QSizePolicy::Expanding</enum>
-        </property>
-        <property name="sizeHint" stdset="0">
-         <size>
-          <width>327</width>
-          <height>29</height>
-         </size>
-        </property>
-       </spacer>
-      </item>
-      <item row="1" column="2">
-       <widget class="QPushButton" name="sendButton">
-        <property name="toolTip">
-         <string>Press to send the input to the hg process</string>
-        </property>
-        <property name="text">
-         <string>&amp;Send</string>
-        </property>
-        <property name="shortcut">
-         <string>Alt+S</string>
-        </property>
-       </widget>
-      </item>
-      <item row="0" column="0" colspan="3">
-       <widget class="QLineEdit" name="input">
-        <property name="toolTip">
-         <string>Enter data to be sent to the hg process</string>
-        </property>
-       </widget>
-      </item>
-      <item row="1" column="0">
-       <widget class="QCheckBox" name="passwordCheckBox">
-        <property name="toolTip">
-         <string>Select to switch the input field to password mode</string>
-        </property>
-        <property name="text">
-         <string>&amp;Password Mode</string>
-        </property>
-        <property name="shortcut">
-         <string>Alt+P</string>
-        </property>
-       </widget>
-      </item>
-     </layout>
-    </widget>
-   </item>
-   <item>
     <widget class="QDialogButtonBox" name="buttonBox">
      <property name="orientation">
       <enum>Qt::Horizontal</enum>
@@ -165,9 +107,6 @@
  <tabstops>
   <tabstop>annotateList</tabstop>
   <tabstop>errors</tabstop>
-  <tabstop>input</tabstop>
-  <tabstop>passwordCheckBox</tabstop>
-  <tabstop>sendButton</tabstop>
   <tabstop>buttonBox</tabstop>
  </tabstops>
  <resources/>
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgBookmarksInOutDialog.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgBookmarksInOutDialog.py	Sun Feb 02 11:27:46 2020 +0100
@@ -7,20 +7,15 @@
 Module implementing a dialog to show a list of incoming or outgoing bookmarks.
 """
 
-
 import os
 
-from PyQt5.QtCore import pyqtSlot, QProcess, Qt, QTimer, QCoreApplication
+from PyQt5.QtCore import Qt, QCoreApplication
 from PyQt5.QtWidgets import (
-    QDialog, QDialogButtonBox, QHeaderView, QTreeWidgetItem, QLineEdit
+    QDialog, QDialogButtonBox, QHeaderView, QTreeWidgetItem
 )
 
-from E5Gui import E5MessageBox
-
 from .Ui_HgBookmarksInOutDialog import Ui_HgBookmarksInOutDialog
 
-from Globals import strToQByteArray
-
 
 class HgBookmarksInOutDialog(QDialog, Ui_HgBookmarksInOutDialog):
     """
@@ -54,7 +49,6 @@
         elif mode == self.OUTGOING:
             self.setWindowTitle(self.tr("Mercurial Outgoing Bookmarks"))
         
-        self.process = QProcess()
         self.vcs = vcs
         self.mode = mode
         self.__hgClient = vcs.getClient()
@@ -63,10 +57,6 @@
             self.bookmarksList.columnCount(), "")
         self.bookmarksList.header().setSortIndicator(3, Qt.AscendingOrder)
         
-        self.process.finished.connect(self.__procFinished)
-        self.process.readyReadStandardOutput.connect(self.__readStdout)
-        self.process.readyReadStandardError.connect(self.__readStderr)
-        
         self.show()
         QCoreApplication.processEvents()
     
@@ -76,17 +66,8 @@
         
         @param e close event (QCloseEvent)
         """
-        if self.__hgClient:
-            if self.__hgClient.isExecuting():
-                self.__hgClient.cancel()
-        else:
-            if (
-                self.process is not None and
-                self.process.state() != QProcess.NotRunning
-            ):
-                self.process.terminate()
-                QTimer.singleShot(2000, self.process.kill)
-                self.process.waitForFinished(3000)
+        if self.__hgClient.isExecuting():
+            self.__hgClient.cancel()
         
         e.accept()
     
@@ -119,55 +100,21 @@
             raise ValueError("Bad value for mode")
         args.append('--bookmarks')
         
-        if self.__hgClient:
-            self.inputGroup.setEnabled(False)
-            self.inputGroup.hide()
-            
-            out, err = self.__hgClient.runcommand(args)
-            if err:
-                self.__showError(err)
-            if out:
-                for line in out.splitlines():
-                    self.__processOutputLine(line)
-                    if self.__hgClient.wasCanceled():
-                        break
-            self.__finish()
-        else:
-            self.process.kill()
-            self.process.setWorkingDirectory(repodir)
-            
-            self.process.start('hg', args)
-            procStarted = self.process.waitForStarted(5000)
-            if not procStarted:
-                self.inputGroup.setEnabled(False)
-                self.inputGroup.hide()
-                E5MessageBox.critical(
-                    self,
-                    self.tr('Process Generation Error'),
-                    self.tr(
-                        'The process {0} could not be started. '
-                        'Ensure, that it is in the search path.'
-                    ).format('hg'))
-            else:
-                self.inputGroup.setEnabled(True)
-                self.inputGroup.show()
+        out, err = self.__hgClient.runcommand(args)
+        if err:
+            self.__showError(err)
+        if out:
+            for line in out.splitlines():
+                self.__processOutputLine(line)
+                if self.__hgClient.wasCanceled():
+                    break
+        self.__finish()
     
     def __finish(self):
         """
         Private slot called when the process finished or the user pressed
         the button.
         """
-        if (
-            self.process is not None and
-            self.process.state() != QProcess.NotRunning
-        ):
-            self.process.terminate()
-            QTimer.singleShot(2000, self.process.kill)
-            self.process.waitForFinished(3000)
-        
-        self.inputGroup.setEnabled(False)
-        self.inputGroup.hide()
-        
         self.buttonBox.button(QDialogButtonBox.Close).setEnabled(True)
         self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(False)
         self.buttonBox.button(QDialogButtonBox.Close).setDefault(True)
@@ -194,15 +141,6 @@
             else:
                 self.__finish()
     
-    def __procFinished(self, exitCode, exitStatus):
-        """
-        Private slot connected to the finished signal.
-        
-        @param exitCode exit code of the process (integer)
-        @param exitStatus exit status of the process (QProcess.ExitStatus)
-        """
-        self.__finish()
-    
     def __resort(self):
         """
         Private method to resort the tree.
@@ -230,19 +168,6 @@
             name,
             changeset])
     
-    def __readStdout(self):
-        """
-        Private slot to handle the readyReadStdout signal.
-        
-        It reads the output of the process, formats it and inserts it into
-        the contents pane.
-        """
-        self.process.setReadChannel(QProcess.StandardOutput)
-        
-        while self.process.canReadLine():
-            s = str(self.process.readLine(), self.vcs.getEncoding(), 'replace')
-            self.__processOutputLine(s)
-    
     def __processOutputLine(self, line):
         """
         Private method to process the lines of output.
@@ -256,18 +181,6 @@
             name = " ".join(li)
             self.__generateItem(changeset, name)
     
-    def __readStderr(self):
-        """
-        Private slot to handle the readyReadStderr signal.
-        
-        It reads the error output of the process and inserts it into the
-        error pane.
-        """
-        if self.process is not None:
-            s = str(self.process.readAllStandardError(),
-                    self.vcs.getEncoding(), 'replace')
-            self.__showError(s)
-    
     def __showError(self, out):
         """
         Private slot to show some error.
@@ -277,53 +190,3 @@
         self.errorGroup.show()
         self.errors.insertPlainText(out)
         self.errors.ensureCursorVisible()
-    
-    def on_passwordCheckBox_toggled(self, isOn):
-        """
-        Private slot to handle the password checkbox toggled.
-        
-        @param isOn flag indicating the status of the check box (boolean)
-        """
-        if isOn:
-            self.input.setEchoMode(QLineEdit.Password)
-        else:
-            self.input.setEchoMode(QLineEdit.Normal)
-    
-    @pyqtSlot()
-    def on_sendButton_clicked(self):
-        """
-        Private slot to send the input to the subversion process.
-        """
-        inputTxt = self.input.text()
-        inputTxt += os.linesep
-        
-        if self.passwordCheckBox.isChecked():
-            self.errors.insertPlainText(os.linesep)
-            self.errors.ensureCursorVisible()
-        else:
-            self.errors.insertPlainText(inputTxt)
-            self.errors.ensureCursorVisible()
-        
-        self.process.write(strToQByteArray(inputTxt))
-        
-        self.passwordCheckBox.setChecked(False)
-        self.input.clear()
-    
-    def on_input_returnPressed(self):
-        """
-        Private slot to handle the press of the return key in the input field.
-        """
-        self.intercept = True
-        self.on_sendButton_clicked()
-    
-    def keyPressEvent(self, evt):
-        """
-        Protected slot to handle a key press event.
-        
-        @param evt the key press event (QKeyEvent)
-        """
-        if self.intercept:
-            self.intercept = False
-            evt.accept()
-            return
-        super(HgBookmarksInOutDialog, self).keyPressEvent(evt)
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgBookmarksInOutDialog.ui	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgBookmarksInOutDialog.ui	Sun Feb 02 11:27:46 2020 +0100
@@ -79,64 +79,6 @@
     </widget>
    </item>
    <item>
-    <widget class="QGroupBox" name="inputGroup">
-     <property name="title">
-      <string>Input</string>
-     </property>
-     <layout class="QGridLayout">
-      <item row="1" column="1">
-       <spacer>
-        <property name="orientation">
-         <enum>Qt::Horizontal</enum>
-        </property>
-        <property name="sizeType">
-         <enum>QSizePolicy::Expanding</enum>
-        </property>
-        <property name="sizeHint" stdset="0">
-         <size>
-          <width>327</width>
-          <height>29</height>
-         </size>
-        </property>
-       </spacer>
-      </item>
-      <item row="1" column="2">
-       <widget class="QPushButton" name="sendButton">
-        <property name="toolTip">
-         <string>Press to send the input to the hg process</string>
-        </property>
-        <property name="text">
-         <string>&amp;Send</string>
-        </property>
-        <property name="shortcut">
-         <string>Alt+S</string>
-        </property>
-       </widget>
-      </item>
-      <item row="0" column="0" colspan="3">
-       <widget class="QLineEdit" name="input">
-        <property name="toolTip">
-         <string>Enter data to be sent to the hg process</string>
-        </property>
-       </widget>
-      </item>
-      <item row="1" column="0">
-       <widget class="QCheckBox" name="passwordCheckBox">
-        <property name="toolTip">
-         <string>Select to switch the input field to password mode</string>
-        </property>
-        <property name="text">
-         <string>&amp;Password Mode</string>
-        </property>
-        <property name="shortcut">
-         <string>Alt+P</string>
-        </property>
-       </widget>
-      </item>
-     </layout>
-    </widget>
-   </item>
-   <item>
     <widget class="QDialogButtonBox" name="buttonBox">
      <property name="orientation">
       <enum>Qt::Horizontal</enum>
@@ -150,9 +92,6 @@
  </widget>
  <pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
  <tabstops>
-  <tabstop>input</tabstop>
-  <tabstop>passwordCheckBox</tabstop>
-  <tabstop>sendButton</tabstop>
   <tabstop>bookmarksList</tabstop>
   <tabstop>errors</tabstop>
   <tabstop>buttonBox</tabstop>
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgBookmarksListDialog.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgBookmarksListDialog.py	Sun Feb 02 11:27:46 2020 +0100
@@ -7,12 +7,9 @@
 Module implementing a dialog to show a list of bookmarks.
 """
 
-
 import os
 
-from PyQt5.QtCore import (
-    pyqtSlot, QProcess, Qt, QTimer, QCoreApplication, QPoint
-)
+from PyQt5.QtCore import pyqtSlot, Qt, QCoreApplication, QPoint
 from PyQt5.QtWidgets import (
     QDialog, QDialogButtonBox, QHeaderView, QTreeWidgetItem, QLineEdit, QMenu,
     QInputDialog
@@ -24,7 +21,6 @@
 from .Ui_HgBookmarksListDialog import Ui_HgBookmarksListDialog
 
 import UI.PixmapCache
-from Globals import strToQByteArray
 
 
 class HgBookmarksListDialog(QDialog, Ui_HgBookmarksListDialog):
@@ -50,7 +46,6 @@
         self.buttonBox.button(QDialogButtonBox.Close).setEnabled(False)
         self.buttonBox.button(QDialogButtonBox.Cancel).setDefault(True)
         
-        self.process = QProcess()
         self.vcs = vcs
         self.__bookmarksList = None
         self.__repoDir = None
@@ -62,10 +57,6 @@
             self.bookmarksList.columnCount(), "")
         self.bookmarksList.header().setSortIndicator(3, Qt.AscendingOrder)
         
-        self.process.finished.connect(self.__procFinished)
-        self.process.readyReadStandardOutput.connect(self.__readStdout)
-        self.process.readyReadStandardError.connect(self.__readStderr)
-        
         self.show()
         QCoreApplication.processEvents()
     
@@ -75,17 +66,8 @@
         
         @param e close event (QCloseEvent)
         """
-        if self.__hgClient:
-            if self.__hgClient.isExecuting():
-                self.__hgClient.cancel()
-        else:
-            if (
-                self.process is not None and
-                self.process.state() != QProcess.NotRunning
-            ):
-                self.process.terminate()
-                QTimer.singleShot(2000, self.process.kill)
-                self.process.waitForFinished(3000)
+        if self.__hgClient.isExecuting():
+            self.__hgClient.cancel()
         
         e.accept()
     
@@ -120,60 +102,23 @@
         
         args = self.vcs.initCommand("bookmarks")
         
-        if self.__hgClient:
-            self.inputGroup.setEnabled(False)
-            self.inputGroup.hide()
-            self.refreshButton.setEnabled(False)
-            
-            out, err = self.__hgClient.runcommand(args)
-            if err:
-                self.__showError(err)
-            if out:
-                for line in out.splitlines():
-                    self.__processOutputLine(line)
-                    if self.__hgClient.wasCanceled():
-                        break
-            self.__finish()
-        else:
-            self.process.kill()
-            self.process.setWorkingDirectory(repodir)
-            
-            self.process.start('hg', args)
-            procStarted = self.process.waitForStarted(5000)
-            if not procStarted:
-                self.inputGroup.setEnabled(False)
-                self.inputGroup.hide()
-                E5MessageBox.critical(
-                    self,
-                    self.tr('Process Generation Error'),
-                    self.tr(
-                        'The process {0} could not be started. '
-                        'Ensure, that it is in the search path.'
-                    ).format('hg'))
-            else:
-                self.buttonBox.button(QDialogButtonBox.Close).setEnabled(False)
-                self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(True)
-                self.buttonBox.button(QDialogButtonBox.Cancel).setDefault(True)
-                
-                self.inputGroup.setEnabled(True)
-                self.inputGroup.show()
-                self.refreshButton.setEnabled(False)
+        self.refreshButton.setEnabled(False)
+        
+        out, err = self.__hgClient.runcommand(args)
+        if err:
+            self.__showError(err)
+        if out:
+            for line in out.splitlines():
+                self.__processOutputLine(line)
+                if self.__hgClient.wasCanceled():
+                    break
+        self.__finish()
     
     def __finish(self):
         """
         Private slot called when the process finished or the user pressed
         the button.
         """
-        if (
-            self.process is not None and
-            self.process.state() != QProcess.NotRunning
-        ):
-            self.process.terminate()
-            QTimer.singleShot(2000, self.process.kill)
-            self.process.waitForFinished(3000)
-        
-        self.inputGroup.setEnabled(False)
-        self.inputGroup.hide()
         self.refreshButton.setEnabled(True)
         
         self.buttonBox.button(QDialogButtonBox.Close).setEnabled(True)
@@ -218,15 +163,6 @@
         elif button == self.refreshButton:
             self.on_refreshButton_clicked()
     
-    def __procFinished(self, exitCode, exitStatus):
-        """
-        Private slot connected to the finished signal.
-        
-        @param exitCode exit code of the process (integer)
-        @param exitStatus exit status of the process (QProcess.ExitStatus)
-        """
-        self.__finish()
-    
     def __resort(self):
         """
         Private method to resort the tree.
@@ -266,20 +202,6 @@
             # error message
             itm.setData(0, Qt.DisplayRole, revision)
     
-    def __readStdout(self):
-        """
-        Private slot to handle the readyReadStdout signal.
-        
-        It reads the output of the process, formats it and inserts it into
-        the contents pane.
-        """
-        self.process.setReadChannel(QProcess.StandardOutput)
-        
-        while self.process.canReadLine():
-            s = str(self.process.readLine(), self.vcs.getEncoding(),
-                    'replace').strip()
-            self.__processOutputLine(s)
-    
     def __processOutputLine(self, line):
         """
         Private method to process the lines of output.
@@ -301,18 +223,6 @@
             if self.__bookmarksList is not None:
                 self.__bookmarksList.append(name)
     
-    def __readStderr(self):
-        """
-        Private slot to handle the readyReadStderr signal.
-        
-        It reads the error output of the process and inserts it into the
-        error pane.
-        """
-        if self.process is not None:
-            s = str(self.process.readAllStandardError(),
-                    self.vcs.getEncoding(), 'replace')
-            self.__showError(s)
-    
     def __showError(self, out):
         """
         Private slot to show some error.
@@ -323,56 +233,6 @@
         self.errors.insertPlainText(out)
         self.errors.ensureCursorVisible()
     
-    def on_passwordCheckBox_toggled(self, isOn):
-        """
-        Private slot to handle the password checkbox toggled.
-        
-        @param isOn flag indicating the status of the check box (boolean)
-        """
-        if isOn:
-            self.input.setEchoMode(QLineEdit.Password)
-        else:
-            self.input.setEchoMode(QLineEdit.Normal)
-    
-    @pyqtSlot()
-    def on_sendButton_clicked(self):
-        """
-        Private slot to send the input to the subversion process.
-        """
-        inputTxt = self.input.text()
-        inputTxt += os.linesep
-        
-        if self.passwordCheckBox.isChecked():
-            self.errors.insertPlainText(os.linesep)
-            self.errors.ensureCursorVisible()
-        else:
-            self.errors.insertPlainText(inputTxt)
-            self.errors.ensureCursorVisible()
-        
-        self.process.write(strToQByteArray(inputTxt))
-        
-        self.passwordCheckBox.setChecked(False)
-        self.input.clear()
-    
-    def on_input_returnPressed(self):
-        """
-        Private slot to handle the press of the return key in the input field.
-        """
-        self.intercept = True
-        self.on_sendButton_clicked()
-    
-    def keyPressEvent(self, evt):
-        """
-        Protected slot to handle a key press event.
-        
-        @param evt the key press event (QKeyEvent)
-        """
-        if self.intercept:
-            self.intercept = False
-            evt.accept()
-            return
-        super(HgBookmarksListDialog, self).keyPressEvent(evt)
-    
     @pyqtSlot()
     def on_refreshButton_clicked(self):
         """
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgBookmarksListDialog.ui	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgBookmarksListDialog.ui	Sun Feb 02 11:27:46 2020 +0100
@@ -96,64 +96,6 @@
     </widget>
    </item>
    <item>
-    <widget class="QGroupBox" name="inputGroup">
-     <property name="title">
-      <string>Input</string>
-     </property>
-     <layout class="QGridLayout">
-      <item row="1" column="1">
-       <spacer>
-        <property name="orientation">
-         <enum>Qt::Horizontal</enum>
-        </property>
-        <property name="sizeType">
-         <enum>QSizePolicy::Expanding</enum>
-        </property>
-        <property name="sizeHint" stdset="0">
-         <size>
-          <width>327</width>
-          <height>29</height>
-         </size>
-        </property>
-       </spacer>
-      </item>
-      <item row="1" column="2">
-       <widget class="QPushButton" name="sendButton">
-        <property name="toolTip">
-         <string>Press to send the input to the hg process</string>
-        </property>
-        <property name="text">
-         <string>&amp;Send</string>
-        </property>
-        <property name="shortcut">
-         <string>Alt+S</string>
-        </property>
-       </widget>
-      </item>
-      <item row="0" column="0" colspan="3">
-       <widget class="QLineEdit" name="input">
-        <property name="toolTip">
-         <string>Enter data to be sent to the hg process</string>
-        </property>
-       </widget>
-      </item>
-      <item row="1" column="0">
-       <widget class="QCheckBox" name="passwordCheckBox">
-        <property name="toolTip">
-         <string>Select to switch the input field to password mode</string>
-        </property>
-        <property name="text">
-         <string>&amp;Password Mode</string>
-        </property>
-        <property name="shortcut">
-         <string>Alt+P</string>
-        </property>
-       </widget>
-      </item>
-     </layout>
-    </widget>
-   </item>
-   <item>
     <widget class="QDialogButtonBox" name="buttonBox">
      <property name="orientation">
       <enum>Qt::Horizontal</enum>
@@ -167,9 +109,6 @@
  </widget>
  <pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
  <tabstops>
-  <tabstop>input</tabstop>
-  <tabstop>passwordCheckBox</tabstop>
-  <tabstop>sendButton</tabstop>
   <tabstop>bookmarksList</tabstop>
   <tabstop>errors</tabstop>
   <tabstop>buttonBox</tabstop>
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgClient.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgClient.py	Sun Feb 02 11:27:46 2020 +0100
@@ -318,6 +318,12 @@
             output and/or error functions were given, the respective return
             value will be an empty string.
         """
+        if not self.__started:
+            # try to start the Mercurial command server
+            ok, startError = self.startServer()
+            if not ok:
+                return "", startError
+        
         self.__commandRunning = True
         outputChannels = {}
         outputBuffer = None
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgConflictsListDialog.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgConflictsListDialog.py	Sun Feb 02 11:27:46 2020 +0100
@@ -8,22 +8,19 @@
 conflicts.
 """
 
-
 import os
 
-from PyQt5.QtCore import pyqtSlot, Qt, QPoint, QProcess, QTimer
+from PyQt5.QtCore import pyqtSlot, Qt, QPoint
 from PyQt5.QtWidgets import (
-    QAbstractButton, QDialogButtonBox, QHeaderView, QTreeWidgetItem, QLineEdit,
+    QAbstractButton, QDialogButtonBox, QHeaderView, QTreeWidgetItem,
     QApplication, QWidget
 )
 
-from E5Gui import E5MessageBox
 from E5Gui.E5Application import e5App
 
 from .Ui_HgConflictsListDialog import Ui_HgConflictsListDialog
 
 import Utilities.MimeTypes
-from Globals import strToQByteArray
 
 
 class HgConflictsListDialog(QWidget, Ui_HgConflictsListDialog):
@@ -63,13 +60,6 @@
         self.project = e5App().getObject("Project")
         
         self.__hgClient = vcs.getClient()
-        if self.__hgClient:
-            self.process = None
-        else:
-            self.process = QProcess()
-            self.process.finished.connect(self.__procFinished)
-            self.process.readyReadStandardOutput.connect(self.__readStdout)
-            self.process.readyReadStandardError.connect(self.__readStderr)
     
     def closeEvent(self, e):
         """
@@ -77,17 +67,8 @@
         
         @param e close event (QCloseEvent)
         """
-        if self.__hgClient:
-            if self.__hgClient.isExecuting():
-                self.__hgClient.cancel()
-        else:
-            if (
-                self.process is not None and
-                self.process.state() != QProcess.NotRunning
-            ):
-                self.process.terminate()
-                QTimer.singleShot(2000, self.process.kill)
-                self.process.waitForFinished(3000)
+        if self.__hgClient.isExecuting():
+            self.__hgClient.cancel()
         
         self.__position = self.pos()
         
@@ -136,60 +117,27 @@
         args = self.vcs.initCommand("resolve")
         args.append('--list')
         
-        if self.__hgClient:
-            self.inputGroup.setEnabled(False)
-            self.inputGroup.hide()
-            
-            out, err = self.__hgClient.runcommand(args)
-            if err:
-                self.__showError(err)
-            if out:
-                for line in out.splitlines():
-                    self.__processOutputLine(line)
-                    if self.__hgClient.wasCanceled():
-                        break
-            self.__finish()
-        else:
-            self.process.kill()
-            self.process.setWorkingDirectory(self.__repodir)
-            
-            self.process.start('hg', args)
-            procStarted = self.process.waitForStarted(5000)
-            if not procStarted:
-                self.inputGroup.setEnabled(False)
-                self.inputGroup.hide()
-                E5MessageBox.critical(
-                    self,
-                    self.tr('Process Generation Error'),
-                    self.tr(
-                        'The process {0} could not be started. '
-                        'Ensure, that it is in the search path.'
-                    ).format('hg'))
-            else:
-                self.inputGroup.setEnabled(True)
-                self.inputGroup.show()
+        out, err = self.__hgClient.runcommand(args)
+        if err:
+            self.__showError(err)
+        if out:
+            for line in out.splitlines():
+                self.__processOutputLine(line)
+                if self.__hgClient.wasCanceled():
+                    break
+        self.__finish()
 
     def __finish(self):
         """
         Private slot called when the process finished or the user pressed
         the button.
         """
-        if (
-            self.process is not None and
-            self.process.state() != QProcess.NotRunning
-        ):
-            self.process.terminate()
-            QTimer.singleShot(2000, self.process.kill)
-            self.process.waitForFinished(3000)
-        
         QApplication.restoreOverrideCursor()
         
         self.buttonBox.button(QDialogButtonBox.Close).setEnabled(True)
         self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(False)
         self.buttonBox.button(QDialogButtonBox.Close).setDefault(True)
         
-        self.inputGroup.setEnabled(False)
-        self.inputGroup.hide()
         self.refreshButton.setEnabled(True)
         
         self.__resizeColumns()
@@ -206,22 +154,10 @@
         if button == self.buttonBox.button(QDialogButtonBox.Close):
             self.close()
         elif button == self.buttonBox.button(QDialogButtonBox.Cancel):
-            if self.__hgClient:
-                self.__hgClient.cancel()
-            else:
-                self.__finish()
+            self.__hgClient.cancel()
         elif button == self.refreshButton:
             self.on_refreshButton_clicked()
     
-    def __procFinished(self, exitCode, exitStatus):
-        """
-        Private slot connected to the finished signal.
-        
-        @param exitCode exit code of the process (integer)
-        @param exitStatus exit status of the process (QProcess.ExitStatus)
-        """
-        self.__finish()
-    
     def __resort(self):
         """
         Private method to resort the tree.
@@ -257,20 +193,6 @@
         itm.setData(0, self.StatusRole, status)
         itm.setData(0, self.FilenameRole, self.project.getAbsolutePath(name))
     
-    def __readStdout(self):
-        """
-        Private slot to handle the readyReadStdout signal.
-        
-        It reads the output of the process, formats it and inserts it into
-        the contents pane.
-        """
-        self.process.setReadChannel(QProcess.StandardOutput)
-        
-        while self.process.canReadLine():
-            s = str(self.process.readLine(), self.vcs.getEncoding(),
-                    'replace').strip()
-            self.__processOutputLine(s)
-    
     def __processOutputLine(self, line):
         """
         Private method to process the lines of output.
@@ -280,32 +202,6 @@
         status, filename = line.strip().split(None, 1)
         self.__generateItem(status, filename)
     
-    @pyqtSlot()
-    def on_refreshButton_clicked(self):
-        """
-        Private slot to refresh the log.
-        """
-        self.buttonBox.button(QDialogButtonBox.Close).setEnabled(False)
-        self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(True)
-        self.buttonBox.button(QDialogButtonBox.Cancel).setDefault(True)
-        
-        self.inputGroup.setEnabled(True)
-        self.inputGroup.show()
-        self.refreshButton.setEnabled(False)
-        self.start(self.__repodir)
-    
-    def __readStderr(self):
-        """
-        Private slot to handle the readyReadStderr signal.
-        
-        It reads the error output of the process and inserts it into the
-        error pane.
-        """
-        if self.process is not None:
-            s = str(self.process.readAllStandardError(),
-                    self.vcs.getEncoding(), 'replace')
-            self.__showError(s)
-    
     def __showError(self, out):
         """
         Private slot to show some error.
@@ -316,55 +212,17 @@
         self.errors.insertPlainText(out)
         self.errors.ensureCursorVisible()
     
-    def on_passwordCheckBox_toggled(self, isOn):
-        """
-        Private slot to handle the password checkbox toggled.
-        
-        @param isOn flag indicating the status of the check box (boolean)
+    @pyqtSlot()
+    def on_refreshButton_clicked(self):
         """
-        if isOn:
-            self.input.setEchoMode(QLineEdit.Password)
-        else:
-            self.input.setEchoMode(QLineEdit.Normal)
-    
-    @pyqtSlot()
-    def on_sendButton_clicked(self):
+        Private slot to refresh the log.
         """
-        Private slot to send the input to the subversion process.
-        """
-        inputTxt = self.input.text()
-        inputTxt += os.linesep
+        self.buttonBox.button(QDialogButtonBox.Close).setEnabled(False)
+        self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(True)
+        self.buttonBox.button(QDialogButtonBox.Cancel).setDefault(True)
         
-        if self.passwordCheckBox.isChecked():
-            self.errors.insertPlainText(os.linesep)
-            self.errors.ensureCursorVisible()
-        else:
-            self.errors.insertPlainText(inputTxt)
-            self.errors.ensureCursorVisible()
-        
-        self.process.write(strToQByteArray(inputTxt))
-        
-        self.passwordCheckBox.setChecked(False)
-        self.input.clear()
-    
-    def on_input_returnPressed(self):
-        """
-        Private slot to handle the press of the return key in the input field.
-        """
-        self.intercept = True
-        self.on_sendButton_clicked()
-    
-    def keyPressEvent(self, evt):
-        """
-        Protected slot to handle a key press event.
-        
-        @param evt the key press event (QKeyEvent)
-        """
-        if self.intercept:
-            self.intercept = False
-            evt.accept()
-            return
-        super(HgConflictsListDialog, self).keyPressEvent(evt)
+        self.refreshButton.setEnabled(False)
+        self.start(self.__repodir)
     
     @pyqtSlot(QTreeWidgetItem, int)
     def on_conflictsList_itemDoubleClicked(self, item, column):
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgConflictsListDialog.ui	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgConflictsListDialog.ui	Sun Feb 02 11:27:46 2020 +0100
@@ -158,64 +158,6 @@
     </widget>
    </item>
    <item>
-    <widget class="QGroupBox" name="inputGroup">
-     <property name="title">
-      <string>Input</string>
-     </property>
-     <layout class="QGridLayout" name="_2">
-      <item row="1" column="1">
-       <spacer>
-        <property name="orientation">
-         <enum>Qt::Horizontal</enum>
-        </property>
-        <property name="sizeType">
-         <enum>QSizePolicy::Expanding</enum>
-        </property>
-        <property name="sizeHint" stdset="0">
-         <size>
-          <width>327</width>
-          <height>29</height>
-         </size>
-        </property>
-       </spacer>
-      </item>
-      <item row="1" column="2">
-       <widget class="QPushButton" name="sendButton">
-        <property name="toolTip">
-         <string>Press to send the input to the hg process</string>
-        </property>
-        <property name="text">
-         <string>&amp;Send</string>
-        </property>
-        <property name="shortcut">
-         <string>Alt+S</string>
-        </property>
-       </widget>
-      </item>
-      <item row="0" column="0" colspan="3">
-       <widget class="QLineEdit" name="input">
-        <property name="toolTip">
-         <string>Enter data to be sent to the hg process</string>
-        </property>
-       </widget>
-      </item>
-      <item row="1" column="0">
-       <widget class="QCheckBox" name="passwordCheckBox">
-        <property name="toolTip">
-         <string>Select to switch the input field to password mode</string>
-        </property>
-        <property name="text">
-         <string>&amp;Password Mode</string>
-        </property>
-        <property name="shortcut">
-         <string>Alt+P</string>
-        </property>
-       </widget>
-      </item>
-     </layout>
-    </widget>
-   </item>
-   <item>
     <widget class="QDialogButtonBox" name="buttonBox">
      <property name="orientation">
       <enum>Qt::Horizontal</enum>
@@ -234,9 +176,6 @@
   <tabstop>reMergeButton</tabstop>
   <tabstop>editButton</tabstop>
   <tabstop>errors</tabstop>
-  <tabstop>input</tabstop>
-  <tabstop>passwordCheckBox</tabstop>
-  <tabstop>sendButton</tabstop>
   <tabstop>buttonBox</tabstop>
  </tabstops>
  <resources/>
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgDialog.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgDialog.py	Sun Feb 02 11:27:46 2020 +0100
@@ -7,21 +7,13 @@
 Module implementing a dialog starting a process and showing its output.
 """
 
-
-import os
-
-from PyQt5.QtCore import (
-    QProcess, QTimer, pyqtSlot, Qt, QCoreApplication, QProcessEnvironment
-)
-from PyQt5.QtWidgets import QDialog, QDialogButtonBox, QLineEdit
-
-from E5Gui import E5MessageBox
+from PyQt5.QtCore import Qt, QCoreApplication
+from PyQt5.QtWidgets import QDialog, QDialogButtonBox
 
 from .Ui_HgDialog import Ui_HgDialog
 
 import Preferences
 import Utilities
-from Globals import strToQByteArray
 
 
 class HgDialog(QDialog, Ui_HgDialog):
@@ -49,13 +41,8 @@
         self.buttonBox.button(QDialogButtonBox.Close).setEnabled(False)
         self.buttonBox.button(QDialogButtonBox.Cancel).setDefault(True)
         
-        self.process = None
         self.username = ''
         self.password = ''
-        if useClient:
-            self.__hgClient = hg.getClient()
-        else:
-            self.__hgClient = None
         self.vcs = hg
         
         self.outputGroup.setTitle(text)
@@ -68,19 +55,6 @@
         Private slot called when the process finished or the user pressed
         the button.
         """
-        if (
-            self.process is not None and
-            self.process.state() != QProcess.NotRunning
-        ):
-            self.process.terminate()
-            QTimer.singleShot(2000, self.process.kill)
-            self.process.waitForFinished(3000)
-        
-        self.inputGroup.setEnabled(False)
-        self.inputGroup.hide()
-        
-        self.process = None
-        
         self.buttonBox.button(QDialogButtonBox.Close).setEnabled(True)
         self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(False)
         self.buttonBox.button(QDialogButtonBox.Close).setDefault(True)
@@ -103,20 +77,7 @@
         if button == self.buttonBox.button(QDialogButtonBox.Close):
             self.close()
         elif button == self.buttonBox.button(QDialogButtonBox.Cancel):
-            if self.__hgClient:
-                self.__hgClient.cancel()
-            else:
-                self.__finish()
-    
-    def __procFinished(self, exitCode, exitStatus):
-        """
-        Private slot connected to the finished signal.
-        
-        @param exitCode exit code of the process (integer)
-        @param exitStatus exit status of the process (QProcess.ExitStatus)
-        """
-        self.normal = (exitStatus == QProcess.NormalExit) and (exitCode == 0)
-        self.__finish()
+            self.vcs.getClient().cancel()
     
     def startProcess(self, args, workingDir=None, showArgs=True,
                      environment=None):
@@ -132,7 +93,6 @@
         """
         self.errorGroup.hide()
         self.normal = False
-        self.intercept = False
         
         self.__hasAddOrDelete = False
         if (
@@ -150,53 +110,19 @@
             self.resultbox.append(' '.join(args))
             self.resultbox.append('')
         
-        if self.__hgClient is None:
-            self.process = QProcess()
-            if environment:
-                env = QProcessEnvironment.systemEnvironment()
-                for key, value in environment.items():
-                    env.insert(key, value)
-                self.process.setProcessEnvironment(env)
-            
-            self.process.finished.connect(self.__procFinished)
-            self.process.readyReadStandardOutput.connect(self.__readStdout)
-            self.process.readyReadStandardError.connect(self.__readStderr)
-            
-            if workingDir:
-                self.process.setWorkingDirectory(workingDir)
-            self.process.start('hg', args)
-            procStarted = self.process.waitForStarted(5000)
-            if not procStarted:
-                self.buttonBox.setFocus()
-                self.inputGroup.setEnabled(False)
-                E5MessageBox.critical(
-                    self,
-                    self.tr('Process Generation Error'),
-                    self.tr(
-                        'The process {0} could not be started. '
-                        'Ensure, that it is in the search path.'
-                    ).format('hg'))
-            else:
-                self.inputGroup.setEnabled(True)
-                self.inputGroup.show()
-            return procStarted
-        else:
-            self.inputGroup.setEnabled(False)
-            self.inputGroup.hide()
-            
-            out, err = self.__hgClient.runcommand(
-                args, output=self.__showOutput, error=self.__showError)
-            
-            if err:
-                self.__showError(err)
-            if out:
-                self.__showOutput(out)
-            
-            self.normal = True
-            
-            self.__finish()
-            
-            return True
+        out, err = self.vcs.getClient().runcommand(
+            args, output=self.__showOutput, error=self.__showError)
+        
+        if err:
+            self.__showError(err)
+        if out:
+            self.__showOutput(out)
+        
+        self.normal = True
+        
+        self.__finish()
+        
+        return True
     
     def normalExit(self):
         """
@@ -215,19 +141,6 @@
         """
         return self.normal and self.errors.toPlainText() == ""
     
-    def __readStdout(self):
-        """
-        Private slot to handle the readyReadStandardOutput signal.
-        
-        It reads the output of the process, formats it and inserts it into
-        the contents pane.
-        """
-        if self.process is not None:
-            s = str(self.process.readAllStandardOutput(),
-                    self.vcs.getEncoding(),
-                    'replace')
-            self.__showOutput(s)
-    
     def __showOutput(self, out):
         """
         Private slot to show some output.
@@ -246,19 +159,6 @@
         
         QCoreApplication.processEvents()
     
-    def __readStderr(self):
-        """
-        Private slot to handle the readyReadStandardError signal.
-        
-        It reads the error output of the process and inserts it into the
-        error pane.
-        """
-        if self.process is not None:
-            s = str(self.process.readAllStandardError(),
-                    self.vcs.getEncoding(),
-                    'replace')
-            self.__showError(s)
-    
     def __showError(self, out):
         """
         Private slot to show some error.
@@ -271,56 +171,6 @@
         
         QCoreApplication.processEvents()
     
-    def on_passwordCheckBox_toggled(self, isOn):
-        """
-        Private slot to handle the password checkbox toggled.
-        
-        @param isOn flag indicating the status of the check box (boolean)
-        """
-        if isOn:
-            self.input.setEchoMode(QLineEdit.Password)
-        else:
-            self.input.setEchoMode(QLineEdit.Normal)
-    
-    @pyqtSlot()
-    def on_sendButton_clicked(self):
-        """
-        Private slot to send the input to the Mercurial process.
-        """
-        inputTxt = self.input.text()
-        inputTxt += os.linesep
-        
-        if self.passwordCheckBox.isChecked():
-            self.errors.insertPlainText(os.linesep)
-            self.errors.ensureCursorVisible()
-        else:
-            self.errors.insertPlainText(inputTxt)
-            self.errors.ensureCursorVisible()
-        
-        self.process.write(strToQByteArray(inputTxt))
-        
-        self.passwordCheckBox.setChecked(False)
-        self.input.clear()
-    
-    def on_input_returnPressed(self):
-        """
-        Private slot to handle the press of the return key in the input field.
-        """
-        self.intercept = True
-        self.on_sendButton_clicked()
-    
-    def keyPressEvent(self, evt):
-        """
-        Protected slot to handle a key press event.
-        
-        @param evt the key press event (QKeyEvent)
-        """
-        if self.intercept:
-            self.intercept = False
-            evt.accept()
-            return
-        super(HgDialog, self).keyPressEvent(evt)
-    
     def hasAddOrDelete(self):
         """
         Public method to check, if the last action contained an add or delete.
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgDialog.ui	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgDialog.ui	Sun Feb 02 11:27:46 2020 +0100
@@ -68,64 +68,6 @@
     </widget>
    </item>
    <item>
-    <widget class="QGroupBox" name="inputGroup">
-     <property name="title">
-      <string>Input</string>
-     </property>
-     <layout class="QGridLayout">
-      <item row="1" column="1">
-       <spacer>
-        <property name="orientation">
-         <enum>Qt::Horizontal</enum>
-        </property>
-        <property name="sizeType">
-         <enum>QSizePolicy::Expanding</enum>
-        </property>
-        <property name="sizeHint" stdset="0">
-         <size>
-          <width>327</width>
-          <height>29</height>
-         </size>
-        </property>
-       </spacer>
-      </item>
-      <item row="1" column="2">
-       <widget class="QPushButton" name="sendButton">
-        <property name="toolTip">
-         <string>Press to send the input to the hg process</string>
-        </property>
-        <property name="text">
-         <string>&amp;Send</string>
-        </property>
-        <property name="shortcut">
-         <string>Alt+S</string>
-        </property>
-       </widget>
-      </item>
-      <item row="0" column="0" colspan="3">
-       <widget class="QLineEdit" name="input">
-        <property name="toolTip">
-         <string>Enter data to be sent to the hg process</string>
-        </property>
-       </widget>
-      </item>
-      <item row="1" column="0">
-       <widget class="QCheckBox" name="passwordCheckBox">
-        <property name="toolTip">
-         <string>Select to switch the input field to password mode</string>
-        </property>
-        <property name="text">
-         <string>&amp;Password Mode</string>
-        </property>
-        <property name="shortcut">
-         <string>Alt+P</string>
-        </property>
-       </widget>
-      </item>
-     </layout>
-    </widget>
-   </item>
-   <item>
     <widget class="QDialogButtonBox" name="buttonBox">
      <property name="orientation">
       <enum>Qt::Horizontal</enum>
@@ -141,9 +83,6 @@
  <tabstops>
   <tabstop>resultbox</tabstop>
   <tabstop>errors</tabstop>
-  <tabstop>input</tabstop>
-  <tabstop>passwordCheckBox</tabstop>
-  <tabstop>sendButton</tabstop>
   <tabstop>buttonBox</tabstop>
  </tabstops>
  <resources/>
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgDiffGenerator.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgDiffGenerator.py	Sun Feb 02 11:27:46 2020 +0100
@@ -7,10 +7,9 @@
 Module implementing a class to generate the output of the hg diff command.
 """
 
-
 import os
 
-from PyQt5.QtCore import pyqtSignal, QProcess, QTimer, QObject
+from PyQt5.QtCore import pyqtSignal, QObject
 
 
 class HgDiffGenerator(QObject):
@@ -33,29 +32,13 @@
         self.vcs = vcs
         
         self.__hgClient = self.vcs.getClient()
-        if self.__hgClient:
-            self.process = None
-        else:
-            self.process = QProcess()
-            self.process.finished.connect(self.__finish)
-            self.process.readyReadStandardOutput.connect(self.__readStdout)
-            self.process.readyReadStandardError.connect(self.__readStderr)
     
     def stopProcess(self):
         """
         Public slot to stop the diff process.
         """
-        if self.__hgClient:
-            if self.__hgClient.isExecuting():
-                self.__hgClient.cancel()
-        else:
-            if (
-                self.process is not None and
-                self.process.state() != QProcess.NotRunning
-            ):
-                self.process.terminate()
-                QTimer.singleShot(2000, self.process.kill)
-                self.process.waitForFinished(3000)
+        if self.__hgClient.isExecuting():
+            self.__hgClient.cancel()
     
     def __getVersionArg(self, version):
         """
@@ -124,34 +107,18 @@
         self.__output = []
         self.__errors = []
         
-        if self.__hgClient:
-            out, err = self.__hgClient.runcommand(args)
-            
-            if err:
-                self.__errors = err.splitlines(True)
-            
-            if out:
-                for line in out.splitlines(True):
-                    self.__processOutputLine(line)
-                    if self.__hgClient.wasCanceled():
-                        break
-            
-            self.__finish()
-        else:
-            # find the root of the repo
-            repodir = dname
-            while not os.path.isdir(os.path.join(repodir, self.vcs.adminDir)):
-                repodir = os.path.dirname(repodir)
-                if os.path.splitdrive(repodir)[1] == os.sep:
-                    return False
-            
-            self.process.kill()
-            self.process.setWorkingDirectory(repodir)
-            
-            self.process.start('hg', args)
-            procStarted = self.process.waitForStarted(5000)
-            if not procStarted:
-                return False
+        out, err = self.__hgClient.runcommand(args)
+        
+        if err:
+            self.__errors = err.splitlines(True)
+        
+        if out:
+            for line in out.splitlines(True):
+                self.__processOutputLine(line)
+                if self.__hgClient.wasCanceled():
+                    break
+        
+        self.__finish()
         
         return True
     
@@ -218,29 +185,3 @@
             self.__processFileLine(line)
         
         self.__output.append(line)
-    
-    def __readStdout(self):
-        """
-        Private slot to handle the readyReadStandardOutput signal.
-        
-        It reads the output of the process, formats it and inserts it into
-        the contents pane.
-        """
-        self.process.setReadChannel(QProcess.StandardOutput)
-        
-        while self.process.canReadLine():
-            line = str(self.process.readLine(), self.vcs.getEncoding(),
-                       'replace')
-            self.__processOutputLine(line)
-    
-    def __readStderr(self):
-        """
-        Private slot to handle the readyReadStandardError signal.
-        
-        It reads the error output of the process and inserts it into the
-        error pane.
-        """
-        if self.process is not None:
-            s = str(self.process.readAllStandardError(),
-                    self.vcs.getEncoding(), 'replace')
-            self.__errors.append(s)
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py	Sun Feb 02 11:27:46 2020 +0100
@@ -7,14 +7,11 @@
 Module implementing a dialog to browse the log history.
 """
 
-
 import os
 import re
 import collections
 
-from PyQt5.QtCore import (
-    pyqtSlot, Qt, QDate, QProcess, QTimer, QRegExp, QSize, QPoint, QFileInfo
-)
+from PyQt5.QtCore import pyqtSlot, Qt, QDate, QRegExp, QSize, QPoint, QFileInfo
 from PyQt5.QtGui import (
     QCursor, QColor, QPixmap, QPainter, QPen, QBrush, QIcon, QTextCursor
 )
@@ -34,7 +31,6 @@
 import UI.PixmapCache
 import Preferences
 import Utilities
-from Globals import strToQByteArray
 
 COLORNAMES = ["blue", "darkgreen", "red", "green", "darkblue", "purple",
               "cyan", "olive", "magenta", "darkred", "darkmagenta",
@@ -200,14 +196,6 @@
         # roles used in the file tree
         self.__diffFileLineRole = Qt.UserRole
         
-        if self.__hgClient:
-            self.process = None
-        else:
-            self.process = QProcess()
-            self.process.finished.connect(self.__procFinished)
-            self.process.readyReadStandardOutput.connect(self.__readStdout)
-            self.process.readyReadStandardError.connect(self.__readStderr)
-        
         self.flags = {
             'A': self.tr('Added'),
             'D': self.tr('Deleted'),
@@ -430,17 +418,8 @@
         
         @param e close event (QCloseEvent)
         """
-        if self.__hgClient:
-            if self.__hgClient.isExecuting():
-                self.__hgClient.cancel()
-        else:
-            if (
-                self.process is not None and
-                self.process.state() != QProcess.NotRunning
-            ):
-                self.process.terminate()
-                QTimer.singleShot(2000, self.process.kill)
-                self.process.waitForFinished(3000)
+        if self.__hgClient.isExecuting():
+            self.__hgClient.cancel()
         
         self.vcs.getPlugin().setPreferences(
             "LogBrowserGeometry", self.saveGeometry())
@@ -756,31 +735,7 @@
             if not self.projectMode:
                 args.append(self.__filename)
             
-            output = ""
-            if self.__hgClient:
-                output, errMsg = self.__hgClient.runcommand(args)
-            else:
-                process = QProcess()
-                process.setWorkingDirectory(self.repodir)
-                process.start('hg', args)
-                procStarted = process.waitForStarted(5000)
-                if procStarted:
-                    finished = process.waitForFinished(30000)
-                    if finished and process.exitCode() == 0:
-                        output = str(process.readAllStandardOutput(),
-                                     self.vcs.getEncoding(), 'replace')
-                    else:
-                        if not finished:
-                            errMsg = self.tr(
-                                "The hg process did not finish within 30s.")
-                else:
-                    errMsg = self.tr("Could not start the hg executable.")
-                
-                if errMsg:
-                    E5MessageBox.critical(
-                        self,
-                        self.tr("Mercurial Error"),
-                        errMsg)
+            output, errMsg = self.__hgClient.runcommand(args)
             
             if output:
                 parents = [int(p) for p in output.strip().splitlines()]
@@ -796,25 +751,7 @@
         args = self.vcs.initCommand("identify")
         args.append("-nb")
         
-        output = ""
-        if self.__hgClient:
-            output, errMsg = self.__hgClient.runcommand(args)
-        else:
-            process = QProcess()
-            process.setWorkingDirectory(self.repodir)
-            process.start('hg', args)
-            procStarted = process.waitForStarted(5000)
-            if procStarted:
-                finished = process.waitForFinished(30000)
-                if finished and process.exitCode() == 0:
-                    output = str(process.readAllStandardOutput(),
-                                 self.vcs.getEncoding(), 'replace')
-                else:
-                    if not finished:
-                        errMsg = self.tr(
-                            "The hg process did not finish within 30s.")
-            else:
-                errMsg = self.tr("Could not start the hg executable.")
+        output, errMsg = self.__hgClient.runcommand(args)
         
         if errMsg:
             E5MessageBox.critical(
@@ -843,25 +780,7 @@
         args = self.vcs.initCommand("branches")
         args.append("--closed")
         
-        output = ""
-        if self.__hgClient:
-            output, errMsg = self.__hgClient.runcommand(args)
-        else:
-            process = QProcess()
-            process.setWorkingDirectory(self.repodir)
-            process.start('hg', args)
-            procStarted = process.waitForStarted(5000)
-            if procStarted:
-                finished = process.waitForFinished(30000)
-                if finished and process.exitCode() == 0:
-                    output = str(process.readAllStandardOutput(),
-                                 self.vcs.getEncoding(), 'replace')
-                else:
-                    if not finished:
-                        errMsg = self.tr(
-                            "The hg process did not finish within 30s.")
-            else:
-                errMsg = self.tr("Could not start the hg executable.")
+        output, errMsg = self.__hgClient.runcommand(args)
         
         if errMsg:
             E5MessageBox.critical(
@@ -888,25 +807,7 @@
         args.append("--template")
         args.append("{rev}\n")
         
-        output = ""
-        if self.__hgClient:
-            output, errMsg = self.__hgClient.runcommand(args)
-        else:
-            process = QProcess()
-            process.setWorkingDirectory(self.repodir)
-            process.start('hg', args)
-            procStarted = process.waitForStarted(5000)
-            if procStarted:
-                finished = process.waitForFinished(30000)
-                if finished and process.exitCode() == 0:
-                    output = str(process.readAllStandardOutput(),
-                                 self.vcs.getEncoding(), 'replace')
-                else:
-                    if not finished:
-                        errMsg = self.tr(
-                            "The hg process did not finish within 30s.")
-            else:
-                errMsg = self.tr("Could not start the hg executable.")
+        output, errMsg = self.__hgClient.runcommand(args)
         
         if errMsg:
             E5MessageBox.critical(
@@ -933,25 +834,7 @@
         
         args = self.vcs.initCommand("tags")
         
-        output = ""
-        if self.__hgClient:
-            output, errMsg = self.__hgClient.runcommand(args)
-        else:
-            process = QProcess()
-            process.setWorkingDirectory(self.repodir)
-            process.start('hg', args)
-            procStarted = process.waitForStarted(5000)
-            if procStarted:
-                finished = process.waitForFinished(30000)
-                if finished and process.exitCode() == 0:
-                    output = str(process.readAllStandardOutput(),
-                                 self.vcs.getEncoding(), 'replace')
-                else:
-                    if not finished:
-                        errMsg = self.tr(
-                            "The hg process did not finish within 30s.")
-            else:
-                errMsg = self.tr("Could not start the hg executable.")
+        output, errMsg = self.__hgClient.runcommand(args)
         
         if errMsg:
             E5MessageBox.critical(
@@ -1137,74 +1020,37 @@
         if not self.projectMode:
             args.append(self.__filename)
         
-        if self.__hgClient:
-            self.inputGroup.setEnabled(False)
-            self.inputGroup.hide()
-            
-            if preargs:
-                out, err = self.__hgClient.runcommand(preargs)
-            else:
-                err = ""
-            if err:
-                if (
-                    self.commandMode == "incoming" and
-                    self.initialCommandMode == "full_log"
-                ):
-                    # ignore the error
-                    self.commandMode = "log"
-                else:
-                    self.__showError(err)
-            elif (
-                self.commandMode != "incoming" or
-                (self.vcs.bundleFile and
-                 os.path.exists(self.vcs.bundleFile)) or
-                self.__bundle
-            ):
-                out, err = self.__hgClient.runcommand(args)
-                self.buf = out.splitlines(True)
-                if err:
-                    self.__showError(err)
-                self.__processBuffer()
-            elif (
+        if preargs:
+            out, err = self.__hgClient.runcommand(preargs)
+        else:
+            err = ""
+        if err:
+            if (
                 self.commandMode == "incoming" and
                 self.initialCommandMode == "full_log"
             ):
-                # no incoming changesets, just switch to log mode
+                # ignore the error
                 self.commandMode = "log"
-            self.__finish()
-        else:
-            self.process.kill()
-            
-            self.process.setWorkingDirectory(self.repodir)
-            
-            if preargs:
-                process = QProcess()
-                process.setWorkingDirectory(self.repodir)
-                process.start('hg', args)
-                procStarted = process.waitForStarted(5000)
-                if procStarted:
-                    process.waitForFinished(30000)
-            
-            if (
-                self.commandMode != "incoming" or
-                (self.vcs.bundleFile and
-                 os.path.exists(self.vcs.bundleFile)) or
-                self.__bundle
-            ):
-                self.process.start('hg', args)
-                procStarted = self.process.waitForStarted(5000)
-                if not procStarted:
-                    self.inputGroup.setEnabled(False)
-                    self.inputGroup.hide()
-                    E5MessageBox.critical(
-                        self,
-                        self.tr('Process Generation Error'),
-                        self.tr(
-                            'The process {0} could not be started. '
-                            'Ensure, that it is in the search path.'
-                        ).format('hg'))
             else:
-                self.__finish()
+                self.__showError(err)
+        elif (
+            self.commandMode != "incoming" or
+            (self.vcs.bundleFile and
+             os.path.exists(self.vcs.bundleFile)) or
+            self.__bundle
+        ):
+            out, err = self.__hgClient.runcommand(args)
+            self.buf = out.splitlines(True)
+            if err:
+                self.__showError(err)
+            self.__processBuffer()
+        elif (
+            self.commandMode == "incoming" and
+            self.initialCommandMode == "full_log"
+        ):
+            # no incoming changesets, just switch to log mode
+            self.commandMode = "log"
+        self.__finish()
     
     def start(self, fn, bundle=None, isFile=False, noEntries=0):
         """
@@ -1257,37 +1103,17 @@
         self.__getHeads()
         self.__getLogEntries(noEntries=noEntries)
     
-    def __procFinished(self, exitCode, exitStatus):
-        """
-        Private slot connected to the finished signal.
-        
-        @param exitCode exit code of the process (integer)
-        @param exitStatus exit status of the process (QProcess.ExitStatus)
-        """
-        self.__processBuffer()
-        self.__finish()
-    
     def __finish(self):
         """
         Private slot called when the process finished or the user pressed
         the button.
         """
-        if (
-            self.process is not None and
-            self.process.state() != QProcess.NotRunning
-        ):
-            self.process.terminate()
-            QTimer.singleShot(2000, self.process.kill)
-            self.process.waitForFinished(3000)
-        
         QApplication.restoreOverrideCursor()
         
         self.buttonBox.button(QDialogButtonBox.Close).setEnabled(True)
         self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(False)
         self.buttonBox.button(QDialogButtonBox.Close).setDefault(True)
         
-        self.inputGroup.setEnabled(False)
-        self.inputGroup.hide()
         self.refreshButton.setEnabled(True)
         
         while self.__finishCallbacks:
@@ -1496,31 +1322,6 @@
                     items[0].setSelected(True)
             self.__selectedRevisions = []
     
-    def __readStdout(self):
-        """
-        Private slot to handle the readyReadStandardOutput signal.
-        
-        It reads the output of the process and inserts it into a buffer.
-        """
-        self.process.setReadChannel(QProcess.StandardOutput)
-        
-        while self.process.canReadLine():
-            line = str(self.process.readLine(), self.vcs.getEncoding(),
-                       'replace')
-            self.buf.append(line)
-    
-    def __readStderr(self):
-        """
-        Private slot to handle the readyReadStandardError signal.
-        
-        It reads the error output of the process and inserts it into the
-        error pane.
-        """
-        if self.process is not None:
-            s = str(self.process.readAllStandardError(),
-                    self.vcs.getEncoding(), 'replace')
-            self.__showError(s)
-    
     def __showError(self, out):
         """
         Private slot to show some error.
@@ -1530,11 +1331,6 @@
         self.errorGroup.show()
         self.errors.insertPlainText(out)
         self.errors.ensureCursorVisible()
-        
-        if not self.__hgClient:
-            # show input in case the process asked for some input
-            self.inputGroup.setEnabled(True)
-            self.inputGroup.show()
     
     def on_buttonBox_clicked(self, button):
         """
@@ -1546,10 +1342,7 @@
             self.close()
         elif button == self.buttonBox.button(QDialogButtonBox.Cancel):
             self.cancelled = True
-            if self.__hgClient:
-                self.__hgClient.cancel()
-            else:
-                self.__finish()
+            self.__hgClient.cancel()
         elif button == self.refreshButton:
             self.on_refreshButton_clicked()
     
@@ -2158,56 +1951,6 @@
         self.start(self.__filename, bundle=self.__bundle, isFile=self.__isFile,
                    noEntries=self.logTree.topLevelItemCount())
     
-    def on_passwordCheckBox_toggled(self, isOn):
-        """
-        Private slot to handle the password checkbox toggled.
-        
-        @param isOn flag indicating the status of the check box (boolean)
-        """
-        if isOn:
-            self.input.setEchoMode(QLineEdit.Password)
-        else:
-            self.input.setEchoMode(QLineEdit.Normal)
-    
-    @pyqtSlot()
-    def on_sendButton_clicked(self):
-        """
-        Private slot to send the input to the mercurial process.
-        """
-        inputTxt = self.input.text()
-        inputTxt += os.linesep
-        
-        if self.passwordCheckBox.isChecked():
-            self.errors.insertPlainText(os.linesep)
-            self.errors.ensureCursorVisible()
-        else:
-            self.errors.insertPlainText(inputTxt)
-            self.errors.ensureCursorVisible()
-        
-        self.process.write(strToQByteArray(inputTxt))
-        
-        self.passwordCheckBox.setChecked(False)
-        self.input.clear()
-    
-    def on_input_returnPressed(self):
-        """
-        Private slot to handle the press of the return key in the input field.
-        """
-        self.intercept = True
-        self.on_sendButton_clicked()
-    
-    def keyPressEvent(self, evt):
-        """
-        Protected slot to handle a key press event.
-        
-        @param evt the key press event (QKeyEvent)
-        """
-        if self.intercept:
-            self.intercept = False
-            evt.accept()
-            return
-        super(HgLogBrowserDialog, self).keyPressEvent(evt)
-    
     @pyqtSlot()
     def __phaseActTriggered(self):
         """
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.ui	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.ui	Sun Feb 02 11:27:46 2020 +0100
@@ -178,7 +178,7 @@
      <property name="orientation">
       <enum>Qt::Vertical</enum>
      </property>
-     <widget class="QWidget" name="">
+     <widget class="QWidget" name="layoutWidget">
       <layout class="QVBoxLayout" name="verticalLayout_2">
        <item>
         <widget class="QTreeWidget" name="logTree">
@@ -537,64 +537,6 @@
     </widget>
    </item>
    <item>
-    <widget class="QGroupBox" name="inputGroup">
-     <property name="title">
-      <string>Input</string>
-     </property>
-     <layout class="QGridLayout">
-      <item row="1" column="1">
-       <spacer>
-        <property name="orientation">
-         <enum>Qt::Horizontal</enum>
-        </property>
-        <property name="sizeType">
-         <enum>QSizePolicy::Expanding</enum>
-        </property>
-        <property name="sizeHint" stdset="0">
-         <size>
-          <width>327</width>
-          <height>29</height>
-         </size>
-        </property>
-       </spacer>
-      </item>
-      <item row="1" column="2">
-       <widget class="QPushButton" name="sendButton">
-        <property name="toolTip">
-         <string>Press to send the input to the hg process</string>
-        </property>
-        <property name="text">
-         <string>&amp;Send</string>
-        </property>
-        <property name="shortcut">
-         <string>Alt+S</string>
-        </property>
-       </widget>
-      </item>
-      <item row="0" column="0" colspan="3">
-       <widget class="QLineEdit" name="input">
-        <property name="toolTip">
-         <string>Enter data to be sent to the hg process</string>
-        </property>
-       </widget>
-      </item>
-      <item row="1" column="0">
-       <widget class="QCheckBox" name="passwordCheckBox">
-        <property name="toolTip">
-         <string>Select to switch the input field to password mode</string>
-        </property>
-        <property name="text">
-         <string>&amp;Password Mode</string>
-        </property>
-        <property name="shortcut">
-         <string>Alt+P</string>
-        </property>
-       </widget>
-      </item>
-     </layout>
-    </widget>
-   </item>
-   <item>
     <widget class="QDialogButtonBox" name="buttonBox">
      <property name="orientation">
       <enum>Qt::Horizontal</enum>
@@ -636,9 +578,6 @@
   <tabstop>saveLabel</tabstop>
   <tabstop>diffEdit</tabstop>
   <tabstop>errors</tabstop>
-  <tabstop>input</tabstop>
-  <tabstop>passwordCheckBox</tabstop>
-  <tabstop>sendButton</tabstop>
  </tabstops>
  <resources/>
  <connections/>
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgStatusDialog.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgStatusDialog.py	Sun Feb 02 11:27:46 2020 +0100
@@ -8,13 +8,12 @@
 process.
 """
 
-
 import os
 
-from PyQt5.QtCore import pyqtSlot, Qt, QProcess, QTimer, QSize
+from PyQt5.QtCore import pyqtSlot, Qt, QSize
 from PyQt5.QtGui import QTextCursor
 from PyQt5.QtWidgets import (
-    QWidget, QDialogButtonBox, QMenu, QHeaderView, QTreeWidgetItem, QLineEdit
+    QWidget, QDialogButtonBox, QMenu, QHeaderView, QTreeWidgetItem
 )
 
 from E5Gui.E5Application import e5App
@@ -27,7 +26,6 @@
 
 import Preferences
 import UI.PixmapCache
-from Globals import strToQByteArray
 
 
 class HgStatusDialog(QWidget, Ui_HgStatusDialog):
@@ -64,13 +62,6 @@
         self.vcs.committed.connect(self.__committed)
         self.__hgClient = self.vcs.getClient()
         self.__mq = mq
-        if self.__hgClient:
-            self.process = None
-        else:
-            self.process = QProcess()
-            self.process.finished.connect(self.__procFinished)
-            self.process.readyReadStandardOutput.connect(self.__readStdout)
-            self.process.readyReadStandardError.connect(self.__readStderr)
         
         self.statusList.headerItem().setText(self.__lastColumn, "")
         self.statusList.header().setSortIndicator(
@@ -212,17 +203,8 @@
         
         @param e close event (QCloseEvent)
         """
-        if self.__hgClient:
-            if self.__hgClient.isExecuting():
-                self.__hgClient.cancel()
-        else:
-            if (
-                self.process is not None and
-                self.process.state() != QProcess.NotRunning
-            ):
-                self.process.terminate()
-                QTimer.singleShot(2000, self.process.kill)
-                self.process.waitForFinished(3000)
+        if self.__hgClient.isExecuting():
+            self.__hgClient.cancel()
         
         if self.__mq:
             self.vcs.getPlugin().setPreferences(
@@ -353,60 +335,23 @@
             if os.path.splitdrive(repodir)[1] == os.sep:
                 return
         
-        if self.__hgClient:
-            self.inputGroup.setEnabled(False)
-            self.inputGroup.hide()
-            self.refreshButton.setEnabled(False)
-            
-            out, err = self.__hgClient.runcommand(args)
-            if err:
-                self.__showError(err)
-            if out:
-                for line in out.splitlines():
-                    self.__processOutputLine(line)
-                    if self.__hgClient.wasCanceled():
-                        break
-            self.__finish()
-        else:
-            if self.process:
-                self.process.kill()
-            
-            self.process.setWorkingDirectory(repodir)
-            
-            self.process.start('hg', args)
-            procStarted = self.process.waitForStarted(5000)
-            if not procStarted:
-                self.inputGroup.setEnabled(False)
-                self.inputGroup.hide()
-                E5MessageBox.critical(
-                    self,
-                    self.tr('Process Generation Error'),
-                    self.tr(
-                        'The process {0} could not be started. '
-                        'Ensure, that it is in the search path.'
-                    ).format('hg'))
-            else:
-                self.buttonBox.button(QDialogButtonBox.Close).setEnabled(False)
-                self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(True)
-                self.buttonBox.button(QDialogButtonBox.Cancel).setDefault(True)
-                
-                self.refreshButton.setEnabled(False)
+        self.refreshButton.setEnabled(False)
+        
+        out, err = self.__hgClient.runcommand(args)
+        if err:
+            self.__showError(err)
+        if out:
+            for line in out.splitlines():
+                self.__processOutputLine(line)
+                if self.__hgClient.wasCanceled():
+                    break
+        self.__finish()
     
     def __finish(self):
         """
         Private slot called when the process finished or the user pressed
         the button.
         """
-        if (
-            self.process is not None and
-            self.process.state() != QProcess.NotRunning
-        ):
-            self.process.terminate()
-            QTimer.singleShot(2000, self.process.kill)
-            self.process.waitForFinished(3000)
-        
-        self.inputGroup.setEnabled(False)
-        self.inputGroup.hide()
         self.refreshButton.setEnabled(True)
         
         self.buttonBox.button(QDialogButtonBox.Close).setEnabled(True)
@@ -436,37 +381,10 @@
         if button == self.buttonBox.button(QDialogButtonBox.Close):
             self.close()
         elif button == self.buttonBox.button(QDialogButtonBox.Cancel):
-            if self.__hgClient:
-                self.__hgClient.cancel()
-            else:
-                self.__finish()
+            self.__hgClient.cancel()
         elif button == self.refreshButton:
             self.on_refreshButton_clicked()
     
-    def __procFinished(self, exitCode, exitStatus):
-        """
-        Private slot connected to the finished signal.
-        
-        @param exitCode exit code of the process (integer)
-        @param exitStatus exit status of the process (QProcess.ExitStatus)
-        """
-        self.__finish()
-    
-    def __readStdout(self):
-        """
-        Private slot to handle the readyReadStandardOutput signal.
-        
-        It reads the output of the process, formats it and inserts it into
-        the contents pane.
-        """
-        if self.process is not None:
-            self.process.setReadChannel(QProcess.StandardOutput)
-            
-            while self.process.canReadLine():
-                line = str(self.process.readLine(), self.vcs.getEncoding(),
-                           'replace')
-                self.__processOutputLine(line)
-    
     def __processOutputLine(self, line):
         """
         Private method to process the lines of output.
@@ -477,18 +395,6 @@
             status, path = line.strip().split(" ", 1)
             self.__generateItem(status, path)
     
-    def __readStderr(self):
-        """
-        Private slot to handle the readyReadStandardError signal.
-        
-        It reads the error output of the process and inserts it into the
-        error pane.
-        """
-        if self.process is not None:
-            s = str(self.process.readAllStandardError(),
-                    self.vcs.getEncoding(), 'replace')
-            self.__showError(s)
-    
     def __showError(self, out):
         """
         Private slot to show some error.
@@ -498,61 +404,6 @@
         self.errorGroup.show()
         self.errors.insertPlainText(out)
         self.errors.ensureCursorVisible()
-        
-        if not self.__hgClient:
-            # show input in case the process asked for some input
-            self.inputGroup.setEnabled(True)
-            self.inputGroup.show()
-    
-    def on_passwordCheckBox_toggled(self, isOn):
-        """
-        Private slot to handle the password checkbox toggled.
-        
-        @param isOn flag indicating the status of the check box (boolean)
-        """
-        if isOn:
-            self.input.setEchoMode(QLineEdit.Password)
-        else:
-            self.input.setEchoMode(QLineEdit.Normal)
-    
-    @pyqtSlot()
-    def on_sendButton_clicked(self):
-        """
-        Private slot to send the input to the subversion process.
-        """
-        inputTxt = self.input.text()
-        inputTxt += os.linesep
-        
-        if self.passwordCheckBox.isChecked():
-            self.errors.insertPlainText(os.linesep)
-            self.errors.ensureCursorVisible()
-        else:
-            self.errors.insertPlainText(inputTxt)
-            self.errors.ensureCursorVisible()
-        
-        self.process.write(strToQByteArray(inputTxt))
-        
-        self.passwordCheckBox.setChecked(False)
-        self.input.clear()
-    
-    def on_input_returnPressed(self):
-        """
-        Private slot to handle the press of the return key in the input field.
-        """
-        self.intercept = True
-        self.on_sendButton_clicked()
-    
-    def keyPressEvent(self, evt):
-        """
-        Protected slot to handle a key press event.
-        
-        @param evt the key press event (QKeyEvent)
-        """
-        if self.intercept:
-            self.intercept = False
-            evt.accept()
-            return
-        super(HgStatusDialog, self).keyPressEvent(evt)
     
     @pyqtSlot()
     def on_refreshButton_clicked(self):
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgStatusDialog.ui	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgStatusDialog.ui	Sun Feb 02 11:27:46 2020 +0100
@@ -175,64 +175,6 @@
     </widget>
    </item>
    <item>
-    <widget class="QGroupBox" name="inputGroup">
-     <property name="title">
-      <string>Input</string>
-     </property>
-     <layout class="QGridLayout">
-      <item row="1" column="1">
-       <spacer>
-        <property name="orientation">
-         <enum>Qt::Horizontal</enum>
-        </property>
-        <property name="sizeType">
-         <enum>QSizePolicy::Expanding</enum>
-        </property>
-        <property name="sizeHint" stdset="0">
-         <size>
-          <width>327</width>
-          <height>29</height>
-         </size>
-        </property>
-       </spacer>
-      </item>
-      <item row="1" column="2">
-       <widget class="QPushButton" name="sendButton">
-        <property name="toolTip">
-         <string>Press to send the input to the hg process</string>
-        </property>
-        <property name="text">
-         <string>&amp;Send</string>
-        </property>
-        <property name="shortcut">
-         <string>Alt+S</string>
-        </property>
-       </widget>
-      </item>
-      <item row="0" column="0" colspan="3">
-       <widget class="QLineEdit" name="input">
-        <property name="toolTip">
-         <string>Enter data to be sent to the hg process</string>
-        </property>
-       </widget>
-      </item>
-      <item row="1" column="0">
-       <widget class="QCheckBox" name="passwordCheckBox">
-        <property name="toolTip">
-         <string>Select to switch the input field to password mode</string>
-        </property>
-        <property name="text">
-         <string>&amp;Password Mode</string>
-        </property>
-        <property name="shortcut">
-         <string>Alt+P</string>
-        </property>
-       </widget>
-      </item>
-     </layout>
-    </widget>
-   </item>
-   <item>
     <widget class="QDialogButtonBox" name="buttonBox">
      <property name="orientation">
       <enum>Qt::Horizontal</enum>
@@ -251,9 +193,6 @@
   <tabstop>statusList</tabstop>
   <tabstop>diffEdit</tabstop>
   <tabstop>errors</tabstop>
-  <tabstop>input</tabstop>
-  <tabstop>passwordCheckBox</tabstop>
-  <tabstop>sendButton</tabstop>
  </tabstops>
  <resources/>
  <connections/>
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgStatusMonitorThread.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgStatusMonitorThread.py	Sun Feb 02 11:27:46 2020 +0100
@@ -7,9 +7,6 @@
 Module implementing the VCS status monitor thread class for Mercurial.
 """
 
-
-from PyQt5.QtCore import QProcess
-
 from VCS.StatusMonitorThread import VcsStatusMonitorThread
 
 
@@ -29,16 +26,15 @@
         VcsStatusMonitorThread.__init__(self, interval, project, vcs, parent)
         
         self.__client = None
-        self.__useCommandLine = False
     
     def _performMonitor(self):
         """
         Protected method implementing the monitoring action.
         
-        This method populates the statusList member variable
-        with a list of strings giving the status in the first column and the
-        path relative to the project directory starting with the third column.
-        The allowed status flags are:
+        This method populates the statusList member variable with a list of
+        strings giving the status in the first column and the path relative
+        to the project directory starting with the third column. The allowed
+        status flags are:
         <ul>
             <li>"A" path was added but not yet comitted</li>
             <li>"M" path has local changes</li>
@@ -49,41 +45,22 @@
             <li>" " path is back at normal</li>
         </ul>
         
-        @return tuple of flag indicating successful operation (boolean) and
-            a status message in case of non successful operation (string)
+        @return tuple of flag indicating successful operation and a status
+            message in case of non successful operation
+        @rtype tuple of (bool, str)
         """
         self.shouldUpdate = False
         
-        self.__initClient()
+        ok, err = self.__initClient()
+        if not ok:
+            return False, err
         
         # step 1: get overall status
         args = self.vcs.initCommand("status")
         args.append('--noninteractive')
         args.append('--all')
         
-        output = ""
-        error = ""
-        if self.__client:
-            output, error = self.__client.runcommand(args)
-        else:
-            process = QProcess()
-            process.setWorkingDirectory(self.projectDir)
-            process.start('hg', args)
-            procStarted = process.waitForStarted(5000)
-            if procStarted:
-                finished = process.waitForFinished(300000)
-                if finished and process.exitCode() == 0:
-                    output = str(process.readAllStandardOutput(),
-                                 self.vcs.getEncoding(), 'replace')
-                else:
-                    process.kill()
-                    process.waitForFinished()
-                    error = str(process.readAllStandardError(),
-                                self.vcs.getEncoding(), 'replace')
-            else:
-                process.kill()
-                process.waitForFinished()
-                error = self.tr("Could not start the Mercurial process.")
+        output, error = self.__client.runcommand(args)
         
         if error:
             return False, error
@@ -103,19 +80,7 @@
         args = self.vcs.initCommand("resolve")
         args.append('--list')
         
-        output = ""
-        error = ""
-        if self.__client:
-            output, error = self.__client.runcommand(args)
-        else:
-            process.setWorkingDirectory(self.projectDir)
-            process.start('hg', args)
-            procStarted = process.waitForStarted(5000)
-            if procStarted:
-                finished = process.waitForFinished(300000)
-                if finished and process.exitCode() == 0:
-                    output = str(process.readAllStandardOutput(),
-                                 self.vcs.getEncoding(), 'replace')
+        output, error = self.__client.runcommand(args)
         
         for line in output.splitlines():
             flag, name = line.split(" ", 1)
@@ -144,42 +109,19 @@
         """
         Protected method implementing the real info action.
         
-        This method should be overridden and create a short info message to be
-        shown in the main window status bar right next to the status indicator.
-        
         @return short info message
         @rtype str
         """
-        self.__initClient()
+        ok, err = self.__initClient()
+        if not ok:
+            return ""
         
         args = self.vcs.initCommand("identify")
         args.append('--num')
         args.append('--id')
         args.append('--branch')
         
-        output = ""
-        error = ""
-        if self.__client:
-            output, error = self.__client.runcommand(args)
-        else:
-            process = QProcess()
-            process.setWorkingDirectory(self.projectDir)
-            process.start('hg', args)
-            procStarted = process.waitForStarted(5000)
-            if procStarted:
-                finished = process.waitForFinished(300000)
-                if finished and process.exitCode() == 0:
-                    output = str(process.readAllStandardOutput(),
-                                 self.vcs.getEncoding(), 'replace')
-                else:
-                    process.kill()
-                    process.waitForFinished()
-                    error = str(process.readAllStandardError(),
-                                self.vcs.getEncoding(), 'replace')
-            else:
-                process.kill()
-                process.waitForFinished()
-                error = self.tr("Could not start the Mercurial process.")
+        output, error = self.__client.runcommand(args)
         
         if error:
             # ignore errors
@@ -204,12 +146,18 @@
     def __initClient(self):
         """
         Private method to initialize the Mercurial client.
+        
+        @return tuple containing an OK flag and potentially an error message
+        @rtype tuple of (bool, str)
         """
-        if self.__client is None and not self.__useCommandLine:
+        if self.__client is None:
             from .HgClient import HgClient
             client = HgClient(self.projectDir, "utf-8", self.vcs)
             ok, err = client.startServer()
             if ok:
                 self.__client = client
-            else:
-                self.__useCommandLine = True
+        else:
+            ok = True
+            err = ""
+        
+        return ok, err
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgTagBranchListDialog.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgTagBranchListDialog.py	Sun Feb 02 11:27:46 2020 +0100
@@ -7,14 +7,11 @@
 Module implementing a dialog to show a list of tags or branches.
 """
 
-
 import os
 
-from PyQt5.QtCore import (
-    pyqtSlot, QProcess, Qt, QTimer, QCoreApplication, QPoint
-)
+from PyQt5.QtCore import pyqtSlot, Qt, QCoreApplication, QPoint
 from PyQt5.QtWidgets import (
-    QDialog, QDialogButtonBox, QHeaderView, QTreeWidgetItem, QLineEdit, QMenu,
+    QDialog, QDialogButtonBox, QHeaderView, QTreeWidgetItem, QMenu,
     QAbstractItemView
 )
 
@@ -24,7 +21,6 @@
 from .Ui_HgTagBranchListDialog import Ui_HgTagBranchListDialog
 
 import UI.PixmapCache
-from Globals import strToQByteArray
 
 
 class HgTagBranchListDialog(QDialog, Ui_HgTagBranchListDialog):
@@ -61,14 +57,6 @@
         self.tagList.headerItem().setText(self.tagList.columnCount(), "")
         self.tagList.header().setSortIndicator(3, Qt.AscendingOrder)
         
-        if self.__hgClient:
-            self.process = None
-        else:
-            self.process = QProcess()
-            self.process.finished.connect(self.__procFinished)
-            self.process.readyReadStandardOutput.connect(self.__readStdout)
-            self.process.readyReadStandardError.connect(self.__readStderr)
-        
         self.show()
         QCoreApplication.processEvents()
     
@@ -78,17 +66,8 @@
         
         @param e close event (QCloseEvent)
         """
-        if self.__hgClient:
-            if self.__hgClient.isExecuting():
-                self.__hgClient.cancel()
-        else:
-            if (
-                self.process is not None and
-                self.process.state() != QProcess.NotRunning
-            ):
-                self.process.terminate()
-                QTimer.singleShot(2000, self.process.kill)
-                self.process.waitForFinished(3000)
+        if self.__hgClient.isExecuting():
+            self.__hgClient.cancel()
         
         e.accept()
     
@@ -135,54 +114,21 @@
             args = self.vcs.initCommand("branches")
             args.append('--closed')
         
-        if self.__hgClient:
-            self.inputGroup.setEnabled(False)
-            self.inputGroup.hide()
-            
-            out, err = self.__hgClient.runcommand(args)
-            if err:
-                self.__showError(err)
-            if out:
-                for line in out.splitlines():
-                    self.__processOutputLine(line)
-                    if self.__hgClient.wasCanceled():
-                        break
-            self.__finish()
-        else:
-            self.process.kill()
-            self.process.setWorkingDirectory(repodir)
-            
-            self.process.start('hg', args)
-            procStarted = self.process.waitForStarted(5000)
-            if not procStarted:
-                self.inputGroup.setEnabled(False)
-                self.inputGroup.hide()
-                E5MessageBox.critical(
-                    self,
-                    self.tr('Process Generation Error'),
-                    self.tr(
-                        'The process {0} could not be started. '
-                        'Ensure, that it is in the search path.'
-                    ).format('hg'))
-            else:
-                self.inputGroup.setEnabled(True)
-                self.inputGroup.show()
+        out, err = self.__hgClient.runcommand(args)
+        if err:
+            self.__showError(err)
+        if out:
+            for line in out.splitlines():
+                self.__processOutputLine(line)
+                if self.__hgClient.wasCanceled():
+                    break
+        self.__finish()
     
     def __finish(self):
         """
         Private slot called when the process finished or the user pressed
         the button.
         """
-        if (
-            self.process is not None and
-            self.process.state() != QProcess.NotRunning
-        ):
-            self.process.terminate()
-            QTimer.singleShot(2000, self.process.kill)
-            self.process.waitForFinished(3000)
-        
-        self.inputGroup.setEnabled(False)
-        self.inputGroup.hide()
         self.refreshButton.setEnabled(True)
         
         self.buttonBox.button(QDialogButtonBox.Close).setEnabled(True)
@@ -214,22 +160,10 @@
         if button == self.buttonBox.button(QDialogButtonBox.Close):
             self.close()
         elif button == self.buttonBox.button(QDialogButtonBox.Cancel):
-            if self.__hgClient:
-                self.__hgClient.cancel()
-            else:
-                self.__finish()
+            self.__hgClient.cancel()
         elif button == self.refreshButton:
             self.on_refreshButton_clicked()
     
-    def __procFinished(self, exitCode, exitStatus):
-        """
-        Private slot connected to the finished signal.
-        
-        @param exitCode exit code of the process (integer)
-        @param exitStatus exit status of the process (QProcess.ExitStatus)
-        """
-        self.__finish()
-    
     def __resort(self):
         """
         Private method to resort the tree.
@@ -263,20 +197,6 @@
         itm.setTextAlignment(1, Qt.AlignRight)
         itm.setTextAlignment(2, Qt.AlignHCenter)
     
-    def __readStdout(self):
-        """
-        Private slot to handle the readyReadStdout signal.
-        
-        It reads the output of the process, formats it and inserts it into
-        the contents pane.
-        """
-        self.process.setReadChannel(QProcess.StandardOutput)
-        
-        while self.process.canReadLine():
-            s = str(self.process.readLine(), self.vcs.getEncoding(),
-                    'replace').strip()
-            self.__processOutputLine(s)
-    
     def __processOutputLine(self, line):
         """
         Private method to process the lines of output.
@@ -307,18 +227,6 @@
             if self.allTagsList is not None:
                 self.allTagsList.append(name)
     
-    def __readStderr(self):
-        """
-        Private slot to handle the readyReadStderr signal.
-        
-        It reads the error output of the process and inserts it into the
-        error pane.
-        """
-        if self.process is not None:
-            s = str(self.process.readAllStandardError(),
-                    self.vcs.getEncoding(), 'replace')
-            self.__showError(s)
-    
     def __showError(self, out):
         """
         Private slot to show some error.
@@ -329,56 +237,6 @@
         self.errors.insertPlainText(out)
         self.errors.ensureCursorVisible()
     
-    def on_passwordCheckBox_toggled(self, isOn):
-        """
-        Private slot to handle the password checkbox toggled.
-        
-        @param isOn flag indicating the status of the check box (boolean)
-        """
-        if isOn:
-            self.input.setEchoMode(QLineEdit.Password)
-        else:
-            self.input.setEchoMode(QLineEdit.Normal)
-    
-    @pyqtSlot()
-    def on_sendButton_clicked(self):
-        """
-        Private slot to send the input to the subversion process.
-        """
-        inputTxt = self.input.text()
-        inputTxt += os.linesep
-        
-        if self.passwordCheckBox.isChecked():
-            self.errors.insertPlainText(os.linesep)
-            self.errors.ensureCursorVisible()
-        else:
-            self.errors.insertPlainText(inputTxt)
-            self.errors.ensureCursorVisible()
-        
-        self.process.write(strToQByteArray(inputTxt))
-        
-        self.passwordCheckBox.setChecked(False)
-        self.input.clear()
-    
-    def on_input_returnPressed(self):
-        """
-        Private slot to handle the press of the return key in the input field.
-        """
-        self.intercept = True
-        self.on_sendButton_clicked()
-    
-    def keyPressEvent(self, evt):
-        """
-        Protected slot to handle a key press event.
-        
-        @param evt the key press event (QKeyEvent)
-        """
-        if self.intercept:
-            self.intercept = False
-            evt.accept()
-            return
-        super(HgTagBranchListDialog, self).keyPressEvent(evt)
-    
     def __highlightCurrentBranch(self):
         """
         Private method to highlight the current branch with a bold font.
@@ -402,9 +260,6 @@
         self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(True)
         self.buttonBox.button(QDialogButtonBox.Cancel).setDefault(True)
         
-        if not self.__hgClient:
-            self.inputGroup.setEnabled(True)
-            self.inputGroup.show()
         self.refreshButton.setEnabled(False)
         
         # save the current items commit ID
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgTagBranchListDialog.ui	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgTagBranchListDialog.ui	Sun Feb 02 11:27:46 2020 +0100
@@ -96,64 +96,6 @@
     </widget>
    </item>
    <item>
-    <widget class="QGroupBox" name="inputGroup">
-     <property name="title">
-      <string>Input</string>
-     </property>
-     <layout class="QGridLayout">
-      <item row="1" column="1">
-       <spacer>
-        <property name="orientation">
-         <enum>Qt::Horizontal</enum>
-        </property>
-        <property name="sizeType">
-         <enum>QSizePolicy::Expanding</enum>
-        </property>
-        <property name="sizeHint" stdset="0">
-         <size>
-          <width>327</width>
-          <height>29</height>
-         </size>
-        </property>
-       </spacer>
-      </item>
-      <item row="1" column="2">
-       <widget class="QPushButton" name="sendButton">
-        <property name="toolTip">
-         <string>Press to send the input to the hg process</string>
-        </property>
-        <property name="text">
-         <string>&amp;Send</string>
-        </property>
-        <property name="shortcut">
-         <string>Alt+S</string>
-        </property>
-       </widget>
-      </item>
-      <item row="0" column="0" colspan="3">
-       <widget class="QLineEdit" name="input">
-        <property name="toolTip">
-         <string>Enter data to be sent to the hg process</string>
-        </property>
-       </widget>
-      </item>
-      <item row="1" column="0">
-       <widget class="QCheckBox" name="passwordCheckBox">
-        <property name="toolTip">
-         <string>Select to switch the input field to password mode</string>
-        </property>
-        <property name="text">
-         <string>&amp;Password Mode</string>
-        </property>
-        <property name="shortcut">
-         <string>Alt+P</string>
-        </property>
-       </widget>
-      </item>
-     </layout>
-    </widget>
-   </item>
-   <item>
     <widget class="QDialogButtonBox" name="buttonBox">
      <property name="orientation">
       <enum>Qt::Horizontal</enum>
@@ -169,9 +111,6 @@
  <tabstops>
   <tabstop>tagList</tabstop>
   <tabstop>errors</tabstop>
-  <tabstop>input</tabstop>
-  <tabstop>passwordCheckBox</tabstop>
-  <tabstop>sendButton</tabstop>
   <tabstop>buttonBox</tabstop>
  </tabstops>
  <resources/>
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/PurgeExtension/purge.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Plugins/VcsPlugins/vcsMercurial/PurgeExtension/purge.py	Sun Feb 02 11:27:46 2020 +0100
@@ -7,10 +7,8 @@
 Module implementing the purge extension interface.
 """
 
-
 import os
 
-from PyQt5.QtCore import QProcess
 from PyQt5.QtWidgets import QDialog
 
 from ..HgExtension import HgExtension
@@ -55,21 +53,9 @@
             args.append("--all")
         
         client = self.vcs.getClient()
-        if client:
-            out, err = client.runcommand(args)
-            if out:
-                purgeEntries = out.strip().split()
-        else:
-            process = QProcess()
-            process.setWorkingDirectory(repodir)
-            process.start('hg', args)
-            procStarted = process.waitForStarted(5000)
-            if procStarted:
-                finished = process.waitForFinished(30000)
-                if finished and process.exitCode() == 0:
-                    purgeEntries = str(
-                        process.readAllStandardOutput(),
-                        self.vcs.getEncoding(), 'replace').strip().split()
+        out, err = client.runcommand(args)
+        if out:
+            purgeEntries = out.strip().split()
         
         return purgeEntries
     
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesDefineGuardsDialog.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesDefineGuardsDialog.py	Sun Feb 02 11:27:46 2020 +0100
@@ -7,10 +7,9 @@
 Module implementing a dialog to define guards for patches.
 """
 
-
 import os
 
-from PyQt5.QtCore import pyqtSlot, Qt, QProcess, QCoreApplication
+from PyQt5.QtCore import pyqtSlot, Qt, QCoreApplication
 from PyQt5.QtWidgets import (
     QDialog, QDialogButtonBox, QAbstractButton, QListWidgetItem
 )
@@ -61,9 +60,8 @@
         
         @param e close event (QCloseEvent)
         """
-        if self.__hgClient:
-            if self.__hgClient.isExecuting():
-                self.__hgClient.cancel()
+        if self.__hgClient.isExecuting():
+            self.__hgClient.cancel()
         
         if self.__dirtyList:
             res = E5MessageBox.question(
@@ -135,19 +133,7 @@
         if patch:
             args.append(patch)
         
-        output = ""
-        if self.__hgClient:
-            output = self.__hgClient.runcommand(args)[0]
-        else:
-            process = QProcess()
-            process.setWorkingDirectory(self.__repodir)
-            process.start('hg', args)
-            procStarted = process.waitForStarted(5000)
-            if procStarted:
-                finished = process.waitForFinished(30000)
-                if finished and process.exitCode() == 0:
-                    output = str(process.readAllStandardOutput(),
-                                 self.vcs.getEncoding(), 'replace').strip()
+        output = self.__hgClient.runcommand(args)[0]
         
         if output:
             patchName, guards = output.split(":", 1)
@@ -275,27 +261,7 @@
             else:
                 args.append("--none")
             
-            error = ""
-            if self.__hgClient:
-                error = self.__hgClient.runcommand(args)[1]
-            else:
-                process = QProcess()
-                process.setWorkingDirectory(self.__repodir)
-                process.start('hg', args)
-                procStarted = process.waitForStarted(5000)
-                if procStarted:
-                    finished = process.waitForFinished(30000)
-                    if finished:
-                        if process.exitCode() != 0:
-                            error = str(process.readAllStandardError(),
-                                        self.vcs.getEncoding(), 'replace')
-                    else:
-                        E5MessageBox.warning(
-                            self,
-                            self.tr("Apply Guard Definitions"),
-                            self.tr(
-                                """The Mercurial process did not finish"""
-                                """ in time."""))
+            error = self.__hgClient.runcommand(args)[1]
             
             if error:
                 E5MessageBox.warning(
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesHeaderDialog.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesHeaderDialog.py	Sun Feb 02 11:27:46 2020 +0100
@@ -10,11 +10,9 @@
 
 import os
 
-from PyQt5.QtCore import QProcess, QTimer, Qt, QCoreApplication
+from PyQt5.QtCore import Qt, QCoreApplication
 from PyQt5.QtWidgets import QDialog, QDialogButtonBox
 
-from E5Gui import E5MessageBox
-
 from .Ui_HgQueuesHeaderDialog import Ui_HgQueuesHeaderDialog
 
 import Utilities
@@ -41,14 +39,6 @@
         self.vcs = vcs
         self.__hgClient = vcs.getClient()
         
-        if self.__hgClient:
-            self.process = None
-        else:
-            self.process = QProcess()
-            self.process.finished.connect(self.__procFinished)
-            self.process.readyReadStandardOutput.connect(self.__readStdout)
-            self.process.readyReadStandardError.connect(self.__readStderr)
-        
         self.show()
         QCoreApplication.processEvents()
     
@@ -58,17 +48,8 @@
         
         @param e close event (QCloseEvent)
         """
-        if self.__hgClient:
-            if self.__hgClient.isExecuting():
-                self.__hgClient.cancel()
-        else:
-            if (
-                self.process is not None and
-                self.process.state() != QProcess.NotRunning
-            ):
-                self.process.terminate()
-                QTimer.singleShot(2000, self.process.kill)
-                self.process.waitForFinished(3000)
+        if self.__hgClient.isExecuting():
+            self.__hgClient.cancel()
         
         e.accept()
     
@@ -91,42 +72,19 @@
         
         args = self.vcs.initCommand("qheader")
         
-        if self.__hgClient:
-            out, err = self.__hgClient.runcommand(
-                args, output=self.__showOutput, error=self.__showError)
-            if err:
-                self.__showError(err)
-            if out:
-                self.__showOutPut(out)
-            self.__finish()
-        else:
-            self.process.kill()
-            self.process.setWorkingDirectory(repodir)
-            
-            self.process.start('hg', args)
-            procStarted = self.process.waitForStarted(5000)
-            if not procStarted:
-                E5MessageBox.critical(
-                    self,
-                    self.tr('Process Generation Error'),
-                    self.tr(
-                        'The process {0} could not be started. '
-                        'Ensure, that it is in the search path.'
-                    ).format('hg'))
+        out, err = self.__hgClient.runcommand(
+            args, output=self.__showOutput, error=self.__showError)
+        if err:
+            self.__showError(err)
+        if out:
+            self.__showOutPut(out)
+        self.__finish()
     
     def __finish(self):
         """
         Private slot called when the process finished or the user pressed
         the button.
         """
-        if (
-            self.process is not None and
-            self.process.state() != QProcess.NotRunning
-        ):
-            self.process.terminate()
-            QTimer.singleShot(2000, self.process.kill)
-            self.process.waitForFinished(3000)
-        
         self.buttonBox.button(QDialogButtonBox.Close).setEnabled(True)
         self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(False)
         self.buttonBox.button(QDialogButtonBox.Close).setDefault(True)
@@ -147,27 +105,6 @@
             else:
                 self.__finish()
     
-    def __procFinished(self, exitCode, exitStatus):
-        """
-        Private slot connected to the finished signal.
-        
-        @param exitCode exit code of the process (integer)
-        @param exitStatus exit status of the process (QProcess.ExitStatus)
-        """
-        self.__finish()
-    
-    def __readStdout(self):
-        """
-        Private slot to handle the readyReadStdout signal.
-        
-        It reads the output of the process, formats it and inserts it into
-        the contents pane.
-        """
-        if self.process is not None:
-            s = str(self.process.readAllStandardOutput(),
-                    self.vcs.getEncoding(), 'replace')
-            self.__showOutput(s)
-    
     def __showOutput(self, out):
         """
         Private slot to show some output.
@@ -176,18 +113,6 @@
         """
         self.messageEdit.appendPlainText(Utilities.filterAnsiSequences(out))
     
-    def __readStderr(self):
-        """
-        Private slot to handle the readyReadStderr signal.
-        
-        It reads the error output of the process and inserts it into the
-        error pane.
-        """
-        if self.process is not None:
-            s = str(self.process.readAllStandardError(),
-                    self.vcs.getEncoding(), 'replace')
-            self.__showError(s)
-    
     def __showError(self, out):
         """
         Private slot to show some error.
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesListAllGuardsDialog.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesListAllGuardsDialog.py	Sun Feb 02 11:27:46 2020 +0100
@@ -7,10 +7,9 @@
 Module implementing a dialog to show all guards for all patches.
 """
 
-
 import os
 
-from PyQt5.QtCore import Qt, QProcess, QCoreApplication
+from PyQt5.QtCore import Qt, QCoreApplication
 from PyQt5.QtWidgets import QDialog, QTreeWidgetItem
 
 from .Ui_HgQueuesListAllGuardsDialog import Ui_HgQueuesListAllGuardsDialog
@@ -57,19 +56,7 @@
         args = self.vcs.initCommand("qguard")
         args.append("--list")
         
-        output = ""
-        if self.__hgClient:
-            output = self.__hgClient.runcommand(args)[0]
-        else:
-            process = QProcess()
-            process.setWorkingDirectory(repodir)
-            process.start('hg', args)
-            procStarted = process.waitForStarted(5000)
-            if procStarted:
-                finished = process.waitForFinished(30000)
-                if finished and process.exitCode() == 0:
-                    output = str(process.readAllStandardOutput(),
-                                 self.vcs.getEncoding(), 'replace')
+        output = self.__hgClient.runcommand(args)[0]
         
         if output:
             guardsDict = {}
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesListDialog.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesListDialog.py	Sun Feb 02 11:27:46 2020 +0100
@@ -10,17 +10,13 @@
 
 import os
 
-from PyQt5.QtCore import pyqtSlot, QProcess, Qt, QTimer, QCoreApplication
+from PyQt5.QtCore import Qt, QCoreApplication
 from PyQt5.QtWidgets import (
-    QDialog, QDialogButtonBox, QHeaderView, QTreeWidgetItem, QLineEdit
+    QDialog, QDialogButtonBox, QHeaderView, QTreeWidgetItem
 )
 
-from E5Gui import E5MessageBox
-
 from .Ui_HgQueuesListDialog import Ui_HgQueuesListDialog
 
-from Globals import strToQByteArray
-
 
 class HgQueuesListDialog(QDialog, Ui_HgQueuesListDialog):
     """
@@ -46,14 +42,6 @@
         
         self.patchesList.header().setSortIndicator(0, Qt.AscendingOrder)
         
-        if self.__hgClient:
-            self.process = None
-        else:
-            self.process = QProcess()
-            self.process.finished.connect(self.__procFinished)
-            self.process.readyReadStandardOutput.connect(self.__readStdout)
-            self.process.readyReadStandardError.connect(self.__readStderr)
-        
         self.__statusDict = {
             "A": self.tr("applied"),
             "U": self.tr("not applied"),
@@ -70,17 +58,8 @@
         
         @param e close event (QCloseEvent)
         """
-        if self.__hgClient:
-            if self.__hgClient.isExecuting():
-                self.__hgClient.cancel()
-        else:
-            if (
-                self.process is not None and
-                self.process.state() != QProcess.NotRunning
-            ):
-                self.process.terminate()
-                QTimer.singleShot(2000, self.process.kill)
-                self.process.waitForFinished(3000)
+        if self.__hgClient.isExecuting():
+            self.__hgClient.cancel()
         
         e.accept()
     
@@ -126,44 +105,21 @@
         if missing:
             args.append('--missing')
         
-        if self.__hgClient:
-            self.inputGroup.setEnabled(False)
-            self.inputGroup.hide()
-            
-            out, err = self.__hgClient.runcommand(args)
-            if err:
-                self.__showError(err)
-            if out:
-                for line in out.splitlines():
-                    self.__processOutputLine(line)
-                    if self.__hgClient.wasCanceled():
-                        self.__mode = ""
-                        break
-            if self.__mode == "qseries":
-                self.__getSeries(True)
-            elif self.__mode == "missing":
-                self.__getTop()
-            else:
-                self.__finish()
+        out, err = self.__hgClient.runcommand(args)
+        if err:
+            self.__showError(err)
+        if out:
+            for line in out.splitlines():
+                self.__processOutputLine(line)
+                if self.__hgClient.wasCanceled():
+                    self.__mode = ""
+                    break
+        if self.__mode == "qseries":
+            self.__getSeries(True)
+        elif self.__mode == "missing":
+            self.__getTop()
         else:
-            self.process.kill()
-            self.process.setWorkingDirectory(self.__repodir)
-            
-            self.process.start('hg', args)
-            procStarted = self.process.waitForStarted(5000)
-            if not procStarted:
-                self.inputGroup.setEnabled(False)
-                self.inputGroup.hide()
-                E5MessageBox.critical(
-                    self,
-                    self.tr('Process Generation Error'),
-                    self.tr(
-                        'The process {0} could not be started. '
-                        'Ensure, that it is in the search path.'
-                    ).format('hg'))
-            else:
-                self.inputGroup.setEnabled(True)
-                self.inputGroup.show()
+            self.__finish()
     
     def __getTop(self):
         """
@@ -173,55 +129,21 @@
         
         args = self.vcs.initCommand("qtop")
         
-        if self.__hgClient:
-            self.inputGroup.setEnabled(False)
-            self.inputGroup.hide()
-            
-            out, err = self.__hgClient.runcommand(args)
-            if err:
-                self.__showError(err)
-            if out:
-                for line in out.splitlines():
-                    self.__processOutputLine(line)
-                    if self.__hgClient.wasCanceled():
-                        break
-            self.__finish()
-        else:
-            self.process.kill()
-            self.process.setWorkingDirectory(self.__repodir)
-            
-            self.process.start('hg', args)
-            procStarted = self.process.waitForStarted(5000)
-            if not procStarted:
-                self.inputGroup.setEnabled(False)
-                self.inputGroup.hide()
-                E5MessageBox.critical(
-                    self,
-                    self.tr('Process Generation Error'),
-                    self.tr(
-                        'The process {0} could not be started. '
-                        'Ensure, that it is in the search path.'
-                    ).format('hg'))
-            else:
-                self.inputGroup.setEnabled(True)
-                self.inputGroup.show()
+        out, err = self.__hgClient.runcommand(args)
+        if err:
+            self.__showError(err)
+        if out:
+            for line in out.splitlines():
+                self.__processOutputLine(line)
+                if self.__hgClient.wasCanceled():
+                    break
+        self.__finish()
     
     def __finish(self):
         """
         Private slot called when the process finished or the user pressed
         the button.
         """
-        if (
-            self.process is not None and
-            self.process.state() != QProcess.NotRunning
-        ):
-            self.process.terminate()
-            QTimer.singleShot(2000, self.process.kill)
-            self.process.waitForFinished(3000)
-        
-        self.inputGroup.setEnabled(False)
-        self.inputGroup.hide()
-        
         self.buttonBox.button(QDialogButtonBox.Close).setEnabled(True)
         self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(False)
         self.buttonBox.button(QDialogButtonBox.Close).setDefault(True)
@@ -245,24 +167,7 @@
             self.close()
         elif button == self.buttonBox.button(QDialogButtonBox.Cancel):
             self.__mode = ""
-            if self.__hgClient:
-                self.__hgClient.cancel()
-            else:
-                self.__finish()
-    
-    def __procFinished(self, exitCode, exitStatus):
-        """
-        Private slot connected to the finished signal.
-        
-        @param exitCode exit code of the process (integer)
-        @param exitStatus exit status of the process (QProcess.ExitStatus)
-        """
-        if self.__mode == "qseries":
-            self.__getSeries(True)
-        elif self.__mode == "missing":
-            self.__getTop()
-        else:
-            self.__finish()
+            self.__hgClient.cancel()
     
     def __resort(self):
         """
@@ -334,20 +239,6 @@
                 font.setBold(True)
                 itm.setFont(column, font)
     
-    def __readStdout(self):
-        """
-        Private slot to handle the readyReadStdout signal.
-        
-        It reads the output of the process, formats it and inserts it into
-        the contents pane.
-        """
-        self.process.setReadChannel(QProcess.StandardOutput)
-        
-        while self.process.canReadLine():
-            s = str(self.process.readLine(), self.vcs.getEncoding(),
-                    'replace').strip()
-            self.__processOutputLine(s)
-    
     def __processOutputLine(self, line):
         """
         Private method to process the lines of output.
@@ -372,18 +263,6 @@
                 return
             self.__generateItem(index, status, name, summary)
     
-    def __readStderr(self):
-        """
-        Private slot to handle the readyReadStderr signal.
-        
-        It reads the error output of the process and inserts it into the
-        error pane.
-        """
-        if self.process is not None:
-            s = str(self.process.readAllStandardError(),
-                    self.vcs.getEncoding(), 'replace')
-            self.__showError(s)
-    
     def __showError(self, out):
         """
         Private slot to show some error.
@@ -393,53 +272,3 @@
         self.errorGroup.show()
         self.errors.insertPlainText(out)
         self.errors.ensureCursorVisible()
-    
-    def on_passwordCheckBox_toggled(self, isOn):
-        """
-        Private slot to handle the password checkbox toggled.
-        
-        @param isOn flag indicating the status of the check box (boolean)
-        """
-        if isOn:
-            self.input.setEchoMode(QLineEdit.Password)
-        else:
-            self.input.setEchoMode(QLineEdit.Normal)
-    
-    @pyqtSlot()
-    def on_sendButton_clicked(self):
-        """
-        Private slot to send the input to the subversion process.
-        """
-        inputTxt = self.input.text()
-        inputTxt += os.linesep
-        
-        if self.passwordCheckBox.isChecked():
-            self.errors.insertPlainText(os.linesep)
-            self.errors.ensureCursorVisible()
-        else:
-            self.errors.insertPlainText(inputTxt)
-            self.errors.ensureCursorVisible()
-        
-        self.process.write(strToQByteArray(inputTxt))
-        
-        self.passwordCheckBox.setChecked(False)
-        self.input.clear()
-    
-    def on_input_returnPressed(self):
-        """
-        Private slot to handle the press of the return key in the input field.
-        """
-        self.intercept = True
-        self.on_sendButton_clicked()
-    
-    def keyPressEvent(self, evt):
-        """
-        Protected slot to handle a key press event.
-        
-        @param evt the key press event (QKeyEvent)
-        """
-        if self.intercept:
-            self.intercept = False
-            evt.accept()
-            return
-        super(HgQueuesListDialog, self).keyPressEvent(evt)
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesListDialog.ui	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesListDialog.ui	Sun Feb 02 11:27:46 2020 +0100
@@ -50,7 +50,7 @@
        <string/>
       </property>
       <property name="textAlignment">
-       <set>AlignLeft|AlignVCenter</set>
+       <set>AlignLeading|AlignVCenter</set>
       </property>
      </column>
      <column>
@@ -96,64 +96,6 @@
     </widget>
    </item>
    <item>
-    <widget class="QGroupBox" name="inputGroup">
-     <property name="title">
-      <string>Input</string>
-     </property>
-     <layout class="QGridLayout">
-      <item row="1" column="1">
-       <spacer>
-        <property name="orientation">
-         <enum>Qt::Horizontal</enum>
-        </property>
-        <property name="sizeType">
-         <enum>QSizePolicy::Expanding</enum>
-        </property>
-        <property name="sizeHint" stdset="0">
-         <size>
-          <width>327</width>
-          <height>29</height>
-         </size>
-        </property>
-       </spacer>
-      </item>
-      <item row="1" column="2">
-       <widget class="QPushButton" name="sendButton">
-        <property name="toolTip">
-         <string>Press to send the input to the hg process</string>
-        </property>
-        <property name="text">
-         <string>&amp;Send</string>
-        </property>
-        <property name="shortcut">
-         <string>Alt+S</string>
-        </property>
-       </widget>
-      </item>
-      <item row="0" column="0" colspan="3">
-       <widget class="QLineEdit" name="input">
-        <property name="toolTip">
-         <string>Enter data to be sent to the hg process</string>
-        </property>
-       </widget>
-      </item>
-      <item row="1" column="0">
-       <widget class="QCheckBox" name="passwordCheckBox">
-        <property name="toolTip">
-         <string>Select to switch the input field to password mode</string>
-        </property>
-        <property name="text">
-         <string>&amp;Password Mode</string>
-        </property>
-        <property name="shortcut">
-         <string>Alt+P</string>
-        </property>
-       </widget>
-      </item>
-     </layout>
-    </widget>
-   </item>
-   <item>
     <widget class="QDialogButtonBox" name="buttonBox">
      <property name="orientation">
       <enum>Qt::Horizontal</enum>
@@ -167,9 +109,6 @@
  </widget>
  <pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
  <tabstops>
-  <tabstop>input</tabstop>
-  <tabstop>passwordCheckBox</tabstop>
-  <tabstop>sendButton</tabstop>
   <tabstop>patchesList</tabstop>
   <tabstop>errors</tabstop>
   <tabstop>buttonBox</tabstop>
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesListGuardsDialog.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesListGuardsDialog.py	Sun Feb 02 11:27:46 2020 +0100
@@ -7,10 +7,9 @@
 Module implementing a dialog to show the guards of a selected patch.
 """
 
-
 import os
 
-from PyQt5.QtCore import pyqtSlot, Qt, QProcess, QTimer, QCoreApplication
+from PyQt5.QtCore import pyqtSlot, Qt, QCoreApplication
 from PyQt5.QtWidgets import QDialog, QListWidgetItem
 
 from .Ui_HgQueuesListGuardsDialog import Ui_HgQueuesListGuardsDialog
@@ -34,7 +33,6 @@
         self.setupUi(self)
         self.setWindowFlags(Qt.Window)
         
-        self.process = QProcess()
         self.vcs = vcs
         self.__hgClient = vcs.getClient()
         
@@ -49,17 +47,8 @@
         
         @param e close event (QCloseEvent)
         """
-        if self.__hgClient:
-            if self.__hgClient.isExecuting():
-                self.__hgClient.cancel()
-        else:
-            if (
-                self.process is not None and
-                self.process.state() != QProcess.NotRunning
-            ):
-                self.process.terminate()
-                QTimer.singleShot(2000, self.process.kill)
-                self.process.waitForFinished(3000)
+        if self.__hgClient.isExecuting():
+            self.__hgClient.cancel()
         
         e.accept()
     
@@ -95,19 +84,7 @@
         if patch:
             args.append(patch)
         
-        output = ""
-        if self.__hgClient:
-            output = self.__hgClient.runcommand(args)[0].strip()
-        else:
-            process = QProcess()
-            process.setWorkingDirectory(self.__repodir)
-            process.start('hg', args)
-            procStarted = process.waitForStarted(5000)
-            if procStarted:
-                finished = process.waitForFinished(30000)
-                if finished and process.exitCode() == 0:
-                    output = str(process.readAllStandardOutput(),
-                                 self.vcs.getEncoding(), 'replace').strip()
+        output = self.__hgClient.runcommand(args)[0].strip()
         
         if output:
             patchName, guards = output.split(":", 1)
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesQueueManagementDialog.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesQueueManagementDialog.py	Sun Feb 02 11:27:46 2020 +0100
@@ -7,8 +7,7 @@
 Module implementing a dialog used by the queue management functions.
 """
 
-
-from PyQt5.QtCore import pyqtSlot, Qt, QProcess, QCoreApplication
+from PyQt5.QtCore import pyqtSlot, Qt, QCoreApplication
 from PyQt5.QtWidgets import (
     QDialog, QDialogButtonBox, QAbstractItemView, QListWidgetItem,
     QAbstractButton
@@ -99,19 +98,7 @@
         args = self.vcs.initCommand("qqueue")
         args.append("--list")
         
-        output = ""
-        if self.__hgClient:
-            output = self.__hgClient.runcommand(args)[0]
-        else:
-            process = QProcess()
-            process.setWorkingDirectory(self.__repodir)
-            process.start('hg', args)
-            procStarted = process.waitForStarted(5000)
-            if procStarted:
-                finished = process.waitForFinished(30000)
-                if finished and process.exitCode() == 0:
-                    output = str(process.readAllStandardOutput(),
-                                 self.vcs.getEncoding(), 'replace')
+        output = self.__hgClient.runcommand(args)[0]
         
         for queue in output.splitlines():
             queue = queue.strip()
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/queues.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/queues.py	Sun Feb 02 11:27:46 2020 +0100
@@ -7,10 +7,8 @@
 Module implementing the queues extension interface.
 """
 
-
 import os
 
-from PyQt5.QtCore import QProcess
 from PyQt5.QtWidgets import QDialog, QApplication, QInputDialog
 
 from E5Gui import E5MessageBox
@@ -98,19 +96,7 @@
             args.append("--summary")
         
         client = self.vcs.getClient()
-        output = ""
-        if client:
-            output = client.runcommand(args)[0]
-        else:
-            process = QProcess()
-            process.setWorkingDirectory(repodir)
-            process.start('hg', args)
-            procStarted = process.waitForStarted(5000)
-            if procStarted:
-                finished = process.waitForFinished(30000)
-                if finished and process.exitCode() == 0:
-                    output = str(process.readAllStandardOutput(),
-                                 self.vcs.getEncoding(), 'replace')
+        output = client.runcommand(args)[0]
         
         for line in output.splitlines():
             if withSummary:
@@ -137,19 +123,7 @@
         args = self.vcs.initCommand("qtop")
         
         client = self.vcs.getClient()
-        if client:
-            currentPatch = client.runcommand(args)[0].strip()
-        else:
-            process = QProcess()
-            process.setWorkingDirectory(repodir)
-            process.start('hg', args)
-            procStarted = process.waitForStarted(5000)
-            if procStarted:
-                finished = process.waitForFinished(30000)
-                if finished and process.exitCode() == 0:
-                    currentPatch = str(process.readAllStandardOutput(),
-                                       self.vcs.getEncoding(),
-                                       'replace').strip()
+        currentPatch = client.runcommand(args)[0].strip()
         
         return currentPatch
     
@@ -165,18 +139,7 @@
         args = self.vcs.initCommand("qheader")
         
         client = self.vcs.getClient()
-        if client:
-            message = client.runcommand(args)[0]
-        else:
-            process = QProcess()
-            process.setWorkingDirectory(repodir)
-            process.start('hg', args)
-            procStarted = process.waitForStarted(5000)
-            if procStarted:
-                finished = process.waitForFinished(30000)
-                if finished and process.exitCode() == 0:
-                    message = str(process.readAllStandardOutput(),
-                                  self.vcs.getEncoding(), 'replace')
+        message = client.runcommand(args)[0]
         
         return message
     
@@ -195,19 +158,7 @@
             args.append("--series")
         
         client = self.vcs.getClient()
-        output = ""
-        if client:
-            output = client.runcommand(args)[0]
-        else:
-            process = QProcess()
-            process.setWorkingDirectory(repodir)
-            process.start('hg', args)
-            procStarted = process.waitForStarted(5000)
-            if procStarted:
-                finished = process.waitForFinished(30000)
-                if finished and process.exitCode() == 0:
-                    output = str(process.readAllStandardOutput(),
-                                 self.vcs.getEncoding(), 'replace')
+        output = client.runcommand(args)[0]
         
         for guard in output.splitlines():
             guard = guard.strip()
@@ -646,15 +597,7 @@
                 args.append("--none")
                 
                 client = self.vcs.getClient()
-                if client:
-                    client.runcommand(args)
-                else:
-                    process = QProcess()
-                    process.setWorkingDirectory(repodir)
-                    process.start('hg', args)
-                    procStarted = process.waitForStarted(5000)
-                    if procStarted:
-                        process.waitForFinished(30000)
+                client.runcommand(args)
         else:
             E5MessageBox.information(
                 None,
@@ -776,20 +719,7 @@
                 args.append(queueName)
                 
                 client = self.vcs.getClient()
-                error = ""
-                if client:
-                    error = client.runcommand(args)[1]
-                else:
-                    process = QProcess()
-                    process.setWorkingDirectory(repodir)
-                    process.start('hg', args)
-                    procStarted = process.waitForStarted(5000)
-                    if procStarted:
-                        finished = process.waitForFinished(30000)
-                        if finished:
-                            if process.exitCode() != 0:
-                                error = str(process.readAllStandardError(),
-                                            self.vcs.getEncoding(), 'replace')
+                error = client.runcommand(args)[1]
                 
                 if error:
                     if isCreate:
@@ -852,20 +782,7 @@
                 args.append(queueName)
                 
                 client = self.vcs.getClient()
-                error = ""
-                if client:
-                    error = client.runcommand(args)[1]
-                else:
-                    process = QProcess()
-                    process.setWorkingDirectory(repodir)
-                    process.start('hg', args)
-                    procStarted = process.waitForStarted(5000)
-                    if procStarted:
-                        finished = process.waitForFinished(30000)
-                        if finished:
-                            if process.exitCode() != 0:
-                                error = str(process.readAllStandardError(),
-                                            self.vcs.getEncoding(), 'replace')
+                error = client.runcommand(args)[1]
                 
                 if error:
                     if operation == Queues.QUEUE_PURGE:
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/ShelveExtension/HgShelveBrowserDialog.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Plugins/VcsPlugins/vcsMercurial/ShelveExtension/HgShelveBrowserDialog.py	Sun Feb 02 11:27:46 2020 +0100
@@ -7,22 +7,17 @@
 Module implementing Mercurial shelve browser dialog.
 """
 
-
 import os
 
-from PyQt5.QtCore import pyqtSlot, Qt, QPoint, QProcess, QTimer
+from PyQt5.QtCore import pyqtSlot, Qt, QPoint
 from PyQt5.QtGui import QCursor
 from PyQt5.QtWidgets import (
     QWidget, QDialogButtonBox, QTreeWidgetItem, QAbstractButton, QMenu,
-    QHeaderView, QApplication, QLineEdit
+    QHeaderView, QApplication
 )
 
-from E5Gui import E5MessageBox
-
 from .Ui_HgShelveBrowserDialog import Ui_HgShelveBrowserDialog
 
-from Globals import strToQByteArray
-
 
 class HgShelveBrowserDialog(QWidget, Ui_HgShelveBrowserDialog):
     """
@@ -62,14 +57,6 @@
         self.__hgClient = vcs.getClient()
         self.__resetUI()
         
-        if self.__hgClient:
-            self.process = None
-        else:
-            self.process = QProcess()
-            self.process.finished.connect(self.__procFinished)
-            self.process.readyReadStandardOutput.connect(self.__readStdout)
-            self.process.readyReadStandardError.connect(self.__readStderr)
-        
         self.__contextMenu = QMenu()
         self.__unshelveAct = self.__contextMenu.addAction(
             self.tr("Restore selected shelve"), self.__unshelve)
@@ -84,17 +71,8 @@
         
         @param e close event (QCloseEvent)
         """
-        if self.__hgClient:
-            if self.__hgClient.isExecuting():
-                self.__hgClient.cancel()
-        else:
-            if (
-                self.process is not None and
-                self.process.state() != QProcess.NotRunning
-            ):
-                self.process.terminate()
-                QTimer.singleShot(2000, self.process.kill)
-                self.process.waitForFinished(3000)
+        if self.__hgClient.isExecuting():
+            self.__hgClient.cancel()
         
         self.__position = self.pos()
         
@@ -162,36 +140,12 @@
         args.append("--list")
         args.append("--stat")
         
-        if self.__hgClient:
-            self.inputGroup.setEnabled(False)
-            self.inputGroup.hide()
-            
-            out, err = self.__hgClient.runcommand(args)
-            self.buf = out.splitlines(True)
-            if err:
-                self.__showError(err)
-            self.__processBuffer()
-            self.__finish()
-        else:
-            self.process.kill()
-            
-            self.process.setWorkingDirectory(self.repodir)
-            
-            self.inputGroup.setEnabled(True)
-            self.inputGroup.show()
-            
-            self.process.start('hg', args)
-            procStarted = self.process.waitForStarted(5000)
-            if not procStarted:
-                self.inputGroup.setEnabled(False)
-                self.inputGroup.hide()
-                E5MessageBox.critical(
-                    self,
-                    self.tr('Process Generation Error'),
-                    self.tr(
-                        'The process {0} could not be started. '
-                        'Ensure, that it is in the search path.'
-                    ).format('hg'))
+        out, err = self.__hgClient.runcommand(args)
+        self.buf = out.splitlines(True)
+        if err:
+            self.__showError(err)
+        self.__processBuffer()
+        self.__finish()
     
     def start(self, projectDir):
         """
@@ -218,37 +172,17 @@
         self.__started = True
         self.__getShelveEntries()
     
-    def __procFinished(self, exitCode, exitStatus):
-        """
-        Private slot connected to the finished signal.
-        
-        @param exitCode exit code of the process (integer)
-        @param exitStatus exit status of the process (QProcess.ExitStatus)
-        """
-        self.__processBuffer()
-        self.__finish()
-    
     def __finish(self):
         """
         Private slot called when the process finished or the user pressed
         the button.
         """
-        if (
-            self.process is not None and
-            self.process.state() != QProcess.NotRunning
-        ):
-            self.process.terminate()
-            QTimer.singleShot(2000, self.process.kill)
-            self.process.waitForFinished(3000)
-        
         QApplication.restoreOverrideCursor()
         
         self.buttonBox.button(QDialogButtonBox.Close).setEnabled(True)
         self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(False)
         self.buttonBox.button(QDialogButtonBox.Close).setDefault(True)
         
-        self.inputGroup.setEnabled(False)
-        self.inputGroup.hide()
         self.refreshButton.setEnabled(True)
     
     def __processBuffer(self):
@@ -303,31 +237,6 @@
             self.shelveList.setCurrentItem(self.shelveList.topLevelItem(0))
             self.__started = False
     
-    def __readStdout(self):
-        """
-        Private slot to handle the readyReadStandardOutput signal.
-        
-        It reads the output of the process and inserts it into a buffer.
-        """
-        self.process.setReadChannel(QProcess.StandardOutput)
-        
-        while self.process.canReadLine():
-            line = str(self.process.readLine(), self.vcs.getEncoding(),
-                       'replace')
-            self.buf.append(line)
-    
-    def __readStderr(self):
-        """
-        Private slot to handle the readyReadStandardError signal.
-        
-        It reads the error output of the process and inserts it into the
-        error pane.
-        """
-        if self.process is not None:
-            s = str(self.process.readAllStandardError(),
-                    self.vcs.getEncoding(), 'replace')
-            self.__showError(s)
-    
     def __showError(self, out):
         """
         Private slot to show some error.
@@ -349,10 +258,7 @@
             self.close()
         elif button == self.buttonBox.button(QDialogButtonBox.Cancel):
             self.cancelled = True
-            if self.__hgClient:
-                self.__hgClient.cancel()
-            else:
-                self.__finish()
+            self.__hgClient.cancel()
         elif button == self.refreshButton:
             self.on_refreshButton_clicked()
     
@@ -406,63 +312,10 @@
         self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(True)
         self.buttonBox.button(QDialogButtonBox.Cancel).setDefault(True)
         
-        self.inputGroup.setEnabled(True)
-        self.inputGroup.show()
         self.refreshButton.setEnabled(False)
         
         self.start(self.__projectDir)
     
-    def on_passwordCheckBox_toggled(self, isOn):
-        """
-        Private slot to handle the password checkbox toggled.
-        
-        @param isOn flag indicating the status of the check box (boolean)
-        """
-        if isOn:
-            self.input.setEchoMode(QLineEdit.Password)
-        else:
-            self.input.setEchoMode(QLineEdit.Normal)
-    
-    @pyqtSlot()
-    def on_sendButton_clicked(self):
-        """
-        Private slot to send the input to the mercurial process.
-        """
-        inputTxt = self.input.text()
-        inputTxt += os.linesep
-        
-        if self.passwordCheckBox.isChecked():
-            self.errors.insertPlainText(os.linesep)
-            self.errors.ensureCursorVisible()
-        else:
-            self.errors.insertPlainText(inputTxt)
-            self.errors.ensureCursorVisible()
-        self.errorGroup.show()
-        
-        self.process.write(strToQByteArray(inputTxt))
-        
-        self.passwordCheckBox.setChecked(False)
-        self.input.clear()
-    
-    def on_input_returnPressed(self):
-        """
-        Private slot to handle the press of the return key in the input field.
-        """
-        self.intercept = True
-        self.on_sendButton_clicked()
-    
-    def keyPressEvent(self, evt):
-        """
-        Protected slot to handle a key press event.
-        
-        @param evt the key press event (QKeyEvent)
-        """
-        if self.intercept:
-            self.intercept = False
-            evt.accept()
-            return
-        super(HgShelveBrowserDialog, self).keyPressEvent(evt)
-    
     def __unshelve(self):
         """
         Private slot to restore the selected shelve of changes.
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/ShelveExtension/HgShelveBrowserDialog.ui	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Plugins/VcsPlugins/vcsMercurial/ShelveExtension/HgShelveBrowserDialog.ui	Sun Feb 02 11:27:46 2020 +0100
@@ -173,64 +173,6 @@
     </widget>
    </item>
    <item>
-    <widget class="QGroupBox" name="inputGroup">
-     <property name="title">
-      <string>Input</string>
-     </property>
-     <layout class="QGridLayout" name="_2">
-      <item row="1" column="1">
-       <spacer>
-        <property name="orientation">
-         <enum>Qt::Horizontal</enum>
-        </property>
-        <property name="sizeType">
-         <enum>QSizePolicy::Expanding</enum>
-        </property>
-        <property name="sizeHint" stdset="0">
-         <size>
-          <width>327</width>
-          <height>29</height>
-         </size>
-        </property>
-       </spacer>
-      </item>
-      <item row="1" column="2">
-       <widget class="QPushButton" name="sendButton">
-        <property name="toolTip">
-         <string>Press to send the input to the hg process</string>
-        </property>
-        <property name="text">
-         <string>&amp;Send</string>
-        </property>
-        <property name="shortcut">
-         <string>Alt+S</string>
-        </property>
-       </widget>
-      </item>
-      <item row="0" column="0" colspan="3">
-       <widget class="QLineEdit" name="input">
-        <property name="toolTip">
-         <string>Enter data to be sent to the hg process</string>
-        </property>
-       </widget>
-      </item>
-      <item row="1" column="0">
-       <widget class="QCheckBox" name="passwordCheckBox">
-        <property name="toolTip">
-         <string>Select to switch the input field to password mode</string>
-        </property>
-        <property name="text">
-         <string>&amp;Password Mode</string>
-        </property>
-        <property name="shortcut">
-         <string>Alt+P</string>
-        </property>
-       </widget>
-      </item>
-     </layout>
-    </widget>
-   </item>
-   <item>
     <widget class="QDialogButtonBox" name="buttonBox">
      <property name="standardButtons">
       <set>QDialogButtonBox::Cancel|QDialogButtonBox::Close</set>
@@ -243,9 +185,6 @@
   <tabstop>shelveList</tabstop>
   <tabstop>statisticsList</tabstop>
   <tabstop>errors</tabstop>
-  <tabstop>input</tabstop>
-  <tabstop>passwordCheckBox</tabstop>
-  <tabstop>sendButton</tabstop>
   <tabstop>buttonBox</tabstop>
  </tabstops>
  <resources/>
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/ShelveExtension/shelve.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Plugins/VcsPlugins/vcsMercurial/ShelveExtension/shelve.py	Sun Feb 02 11:27:46 2020 +0100
@@ -7,10 +7,8 @@
 Module implementing the shelve extension interface.
 """
 
-
 import os
 
-from PyQt5.QtCore import QProcess
 from PyQt5.QtWidgets import QDialog
 
 from E5Gui import E5MessageBox
@@ -54,19 +52,7 @@
         args.append('--quiet')
         
         client = self.vcs.getClient()
-        output = ""
-        if client:
-            output = client.runcommand(args)[0]
-        else:
-            process = QProcess()
-            process.setWorkingDirectory(repodir)
-            process.start('hg', args)
-            procStarted = process.waitForStarted(5000)
-            if procStarted:
-                finished = process.waitForFinished(30000)
-                if finished and process.exitCode() == 0:
-                    output = str(process.readAllStandardOutput(),
-                                 self.vcs.getEncoding(), 'replace')
+        output = client.runcommand(args)[0]
         
         shelveNamesList = []
         for line in output.splitlines():
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/hg.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Plugins/VcsPlugins/vcsMercurial/hg.py	Sun Feb 02 11:27:46 2020 +0100
@@ -7,7 +7,6 @@
 Module implementing the version control systems interface to Mercurial.
 """
 
-
 import os
 import shutil
 
@@ -25,6 +24,7 @@
 from VCS.RepositoryInfoDialog import VcsRepositoryInfoDialog
 
 from .HgDialog import HgDialog
+from .HgClient import HgClient
 
 import Utilities
 
@@ -127,6 +127,7 @@
             self.__iniWatcher.addPath(cfgFile)
         
         self.__client = None
+        self.__createClient()
         self.__projectHelper = None
         
         self.__repoDir = ""
@@ -221,14 +222,6 @@
         # shut down the client
         self.__client and self.__client.stopServer()
     
-    def getClient(self):
-        """
-        Public method to get a reference to the command server interface.
-        
-        @return reference to the client (HgClient)
-        """
-        return self.__client
-    
     def initCommand(self, command):
         """
         Public method to initialize a command arguments list.
@@ -371,11 +364,8 @@
         args.append(projectDir)
         
         if noDialog:
-            if self.__client is None:
-                return self.startSynchronizedProcess(QProcess(), 'hg', args)
-            else:
-                out, err = self.__client.runcommand(args)
-                return err == ""
+            out, err = self.__client.runcommand(args)
+            return err == ""
         else:
             dia = HgDialog(
                 self.tr('Cloning project from a Mercurial repository'),
@@ -544,28 +534,18 @@
         if msg:
             args.append("--message")
             args.append(msg)
-        if self.__client:
-            if isinstance(name, list):
-                self.addArguments(args, name)
-            else:
-                if dname != repodir or fname != ".":
-                    args.append(name)
+        if isinstance(name, list):
+            self.addArguments(args, name)
         else:
-            if isinstance(name, list):
-                self.addArguments(args, fnames)
-            else:
-                if dname != repodir or fname != ".":
-                    args.append(fname)
-        
-        if noDialog:
-            self.startSynchronizedProcess(QProcess(), "hg", args, dname)
-        else:
-            dia = HgDialog(
-                self.tr('Committing changes to Mercurial repository'),
-                self)
-            res = dia.startProcess(args, dname)
-            if res:
-                dia.exec_()
+            if dname != repodir or fname != ".":
+                args.append(name)
+        
+        dia = HgDialog(
+            self.tr('Committing changes to Mercurial repository'),
+            self)
+        res = dia.startProcess(args, dname)
+        if res:
+            dia.exec_()
         self.committed.emit()
         if self.__forgotNames:
             model = e5App().getObject("Project").getModel()
@@ -592,19 +572,7 @@
         args.append('--template')
         args.append('{desc}')
         
-        output = ""
-        if self.__client is None:
-            process = QProcess()
-            process.setWorkingDirectory(repodir)
-            process.start('hg', args)
-            procStarted = process.waitForStarted(5000)
-            if procStarted:
-                finished = process.waitForFinished(30000)
-                if finished and process.exitCode() == 0:
-                    output = str(process.readAllStandardOutput(),
-                                 self.getEncoding(), 'replace')
-        else:
-            output, error = self.__client.runcommand(args)
+        output, error = self.__client.runcommand(args)
         
         return output
     
@@ -640,10 +608,7 @@
                 return False
         
         if noDialog:
-            if self.__client is None:
-                self.startSynchronizedProcess(QProcess(), 'hg', args, repodir)
-            else:
-                out, err = self.__client.runcommand(args)
+            out, err = self.__client.runcommand(args)
             res = False
         else:
             dia = HgDialog(self.tr(
@@ -691,10 +656,7 @@
             args.append(name)
         
         if noDialog:
-            if self.__client is None:
-                self.startSynchronizedProcess(QProcess(), 'hg', args, repodir)
-            else:
-                out, err = self.__client.runcommand(args)
+            out, err = self.__client.runcommand(args)
         else:
             dia = HgDialog(
                 self.tr(
@@ -758,12 +720,8 @@
                 return False
         
         if noDialog:
-            if self.__client is None:
-                res = self.startSynchronizedProcess(
-                    QProcess(), 'hg', args, repodir)
-            else:
-                out, err = self.__client.runcommand(args)
-                res = err == ""
+            out, err = self.__client.runcommand(args)
+            res = err == ""
         else:
             dia = HgDialog(
                 self.tr(
@@ -819,12 +777,8 @@
                     return False
             
             if noDialog:
-                if self.__client is None:
-                    res = self.startSynchronizedProcess(
-                        QProcess(), 'hg', args, repodir)
-                else:
-                    out, err = self.__client.runcommand(args)
-                    res = err == ""
+                out, err = self.__client.runcommand(args)
+                res = err == ""
             else:
                 dia = HgDialog(self.tr('Renaming {0}').format(name), self)
                 res = dia.startProcess(args, repodir)
@@ -1183,19 +1137,7 @@
         args.append('--all')
         args.append('--noninteractive')
         
-        output = ""
-        if self.__client is None:
-            process = QProcess()
-            process.setWorkingDirectory(repodir)
-            process.start('hg', args)
-            procStarted = process.waitForStarted(5000)
-            if procStarted:
-                finished = process.waitForFinished(30000)
-                if finished and process.exitCode() == 0:
-                    output = str(process.readAllStandardOutput(),
-                                 self.getEncoding(), 'replace')
-        else:
-            output, error = self.__client.runcommand(args)
+        output, error = self.__client.runcommand(args)
         
         if output:
             for line in output.splitlines():
@@ -1251,19 +1193,7 @@
             args.append('--all')
             args.append('--noninteractive')
             
-            output = ""
-            if self.__client is None:
-                process = QProcess()
-                process.setWorkingDirectory(dname)
-                process.start('hg', args)
-                procStarted = process.waitForStarted(5000)
-                if procStarted:
-                    finished = process.waitForFinished(30000)
-                    if finished and process.exitCode() == 0:
-                        output = str(process.readAllStandardOutput(),
-                                     self.getEncoding(), 'replace')
-            else:
-                output, error = self.__client.runcommand(args)
+            output, error = self.__client.runcommand(args)
             
             if output:
                 dirs = [x for x in names.keys() if os.path.isdir(x)]
@@ -1411,19 +1341,7 @@
         args.append('{rev}:{node|short}@@@{tags}@@@{author|xmlescape}@@@'
                     '{date|isodate}@@@{branches}@@@{bookmarks}\n')
         
-        output = ""
-        if self.__client is None:
-            process = QProcess()
-            process.setWorkingDirectory(ppath)
-            process.start('hg', args)
-            procStarted = process.waitForStarted(5000)
-            if procStarted:
-                finished = process.waitForFinished(30000)
-                if finished and process.exitCode() == 0:
-                    output = str(process.readAllStandardOutput(),
-                                 self.getEncoding(), 'replace')
-        else:
-            output, error = self.__client.runcommand(args)
+        output, error = self.__client.runcommand(args)
         
         infoBlock = []
         if output:
@@ -1470,18 +1388,7 @@
         args = self.initCommand("showconfig")
         args.append('paths.default')
         
-        output = ""
-        if self.__client is None:
-            process.setWorkingDirectory(ppath)
-            process.start('hg', args)
-            procStarted = process.waitForStarted(5000)
-            if procStarted:
-                finished = process.waitForFinished(30000)
-                if finished and process.exitCode() == 0:
-                    output = str(process.readAllStandardOutput(),
-                                 self.getEncoding(), 'replace')
-        else:
-            output, error = self.__client.runcommand(args)
+        output, error = self.__client.runcommand(args)
         
         if output:
             url = output.splitlines()[0].strip()
@@ -1581,19 +1488,7 @@
         args = self.initCommand("tags")
         args.append('--verbose')
         
-        output = ""
-        if self.__client is None:
-            process = QProcess()
-            process.setWorkingDirectory(repodir)
-            process.start('hg', args)
-            procStarted = process.waitForStarted(5000)
-            if procStarted:
-                finished = process.waitForFinished(30000)
-                if finished and process.exitCode() == 0:
-                    output = str(process.readAllStandardOutput(),
-                                 self.getEncoding(), 'replace')
-        else:
-            output, error = self.__client.runcommand(args)
+        output, error = self.__client.runcommand(args)
         
         tagsList = []
         if output:
@@ -1630,19 +1525,7 @@
         args = self.initCommand("branches")
         args.append('--closed')
         
-        output = ""
-        if self.__client is None:
-            process = QProcess()
-            process.setWorkingDirectory(repodir)
-            process.start('hg', args)
-            procStarted = process.waitForStarted(5000)
-            if procStarted:
-                finished = process.waitForFinished(30000)
-                if finished and process.exitCode() == 0:
-                    output = str(process.readAllStandardOutput(),
-                                 self.getEncoding(), 'replace')
-        else:
-            output, error = self.__client.runcommand(args)
+        output, error = self.__client.runcommand(args)
         
         if output:
             self.branchesList = []
@@ -1768,39 +1651,7 @@
             args.append(rev)
         args.append(name)
         
-        if self.__client is None:
-            output = ""
-            error = ""
-            
-            # find the root of the repo
-            repodir = self.splitPath(name)[0]
-            while not os.path.isdir(os.path.join(repodir, self.adminDir)):
-                repodir = os.path.dirname(repodir)
-                if os.path.splitdrive(repodir)[1] == os.sep:
-                    return "", ""
-            
-            process = QProcess()
-            process.setWorkingDirectory(repodir)
-            process.start('hg', args)
-            procStarted = process.waitForStarted(5000)
-            if procStarted:
-                finished = process.waitForFinished(30000)
-                if finished:
-                    if process.exitCode() == 0:
-                        output = str(process.readAllStandardOutput(),
-                                     self.getEncoding(), 'replace')
-                    else:
-                        error = str(process.readAllStandardError(),
-                                    self.getEncoding(), 'replace')
-                else:
-                    error = self.tr(
-                        "The hg process did not finish within 30s.")
-            else:
-                error = self.tr(
-                    'The process {0} could not be started. '
-                    'Ensure, that it is in the search path.').format('hg')
-        else:
-            output, error = self.__client.runcommand(args)
+        output, error = self.__client.runcommand(args)
         
         # return file contents with 'universal newlines'
         return output.replace('\r\n', '\n').replace('\r', '\n'), error
@@ -2032,26 +1883,7 @@
         args.append('{rev}:{node|short}@@@{tags}@@@{author|xmlescape}@@@'
                     '{date|isodate}@@@{branches}@@@{parents}@@@{bookmarks}\n')
         
-        output = ""
-        if self.__client is None:
-            # find the root of the repo
-            repodir = self.splitPath(ppath)[0]
-            while not os.path.isdir(os.path.join(repodir, self.adminDir)):
-                repodir = os.path.dirname(repodir)
-                if os.path.splitdrive(repodir)[1] == os.sep:
-                    return
-            
-            process = QProcess()
-            process.setWorkingDirectory(repodir)
-            process.start('hg', args)
-            procStarted = process.waitForStarted(5000)
-            if procStarted:
-                finished = process.waitForFinished(30000)
-                if finished and process.exitCode() == 0:
-                    output = str(process.readAllStandardOutput(),
-                                 self.getEncoding(), 'replace')
-        else:
-            output, error = self.__client.runcommand(args)
+        output, error = self.__client.runcommand(args)
         
         if output:
             index = 0
@@ -2263,19 +2095,7 @@
         """
         args = self.initCommand("branch")
         
-        output = ""
-        if self.__client is None:
-            process = QProcess()
-            process.setWorkingDirectory(repodir)
-            process.start('hg', args)
-            procStarted = process.waitForStarted(5000)
-            if procStarted:
-                finished = process.waitForFinished(30000)
-                if finished and process.exitCode() == 0:
-                    output = str(process.readAllStandardOutput(),
-                                 self.getEncoding(), 'replace')
-        else:
-            output, error = self.__client.runcommand(args)
+        output, error = self.__client.runcommand(args)
         
         return output.strip()
     
@@ -3356,19 +3176,7 @@
         args = self.initCommand("showconfig")
         args.append('paths')
         
-        output = ""
-        if self.__client is None:
-            process = QProcess()
-            self.__repoDir and process.setWorkingDirectory(self.__repoDir)
-            process.start('hg', args)
-            procStarted = process.waitForStarted(5000)
-            if procStarted:
-                finished = process.waitForFinished(30000)
-                if finished and process.exitCode() == 0:
-                    output = str(process.readAllStandardOutput(),
-                                 self.getEncoding(), 'replace')
-        else:
-            output, error = self.__client.runcommand(args)
+        output, error = self.__client.runcommand(args)
         
         self.__defaultConfigured = False
         self.__defaultPushConfigured = False
@@ -3406,19 +3214,7 @@
         
         args = self.initCommand("identify")
         
-        output = ""
-        if self.__client is None:
-            process = QProcess()
-            process.setWorkingDirectory(repodir)
-            process.start('hg', args)
-            procStarted = process.waitForStarted(5000)
-            if procStarted:
-                finished = process.waitForFinished(30000)
-                if finished and process.exitCode() == 0:
-                    output = str(process.readAllStandardOutput(),
-                                 self.getEncoding(), 'replace')
-        else:
-            output, error = self.__client.runcommand(args)
+        output, error = self.__client.runcommand(args)
         
         return output.count('+') == 2
 
@@ -3453,7 +3249,6 @@
                     self.tr(
                         """<p>The Mercurial Command Server could not be"""
                         """ restarted.</p><p>Reason: {0}</p>""").format(err))
-                self.__client = None
         
         self.__getExtensionsInfo()
         
@@ -3498,19 +3293,7 @@
         args = self.initCommand("showconfig")
         args.append('extensions')
         
-        output = ""
-        if self.__client is None:
-            process = QProcess()
-            self.__repoDir and process.setWorkingDirectory(self.__repoDir)
-            process.start('hg', args)
-            procStarted = process.waitForStarted(5000)
-            if procStarted:
-                finished = process.waitForFinished(30000)
-                if finished and process.exitCode() == 0:
-                    output = str(process.readAllStandardOutput(),
-                                 self.getEncoding(), 'replace')
-        else:
-            output, error = self.__client.runcommand(args)
+        output, error = self.__client.runcommand(args)
         
         if output:
             for line in output.splitlines():
@@ -3587,21 +3370,46 @@
         self.__monitorRepoIniFile(project.getProjectPath())
         
         if repodir:
-            from .HgClient import HgClient
-            client = HgClient(repodir, "utf-8", self)
-            ok, err = client.startServer()
-            if ok:
-                self.__client = client
-            else:
-                E5MessageBox.warning(
-                    None,
-                    self.tr("Mercurial Command Server"),
-                    self.tr(
-                        """<p>The Mercurial Command Server could not be"""
-                        """ started.</p><p>Reason: {0}</p>""").format(err))
+            self.__createClient(repodir)
         
         return self.__projectHelper
-
+    
+    ###########################################################################
+    ## Methods to handle the Mercurial command server are below.
+    ###########################################################################
+    
+    def __createClient(self, repodir=""):
+        """
+        Private method to create a Mercurial command server client.
+        
+        @param repodir path of the local repository
+        @type str
+        """
+        if self.__client is not None:
+            self.__client.stopServer()
+            self.__client = None
+        
+        self.__client = HgClient(repodir, "utf-8", self)
+        ok, err = self.__client.startServer()
+        if not ok:
+            E5MessageBox.warning(
+                None,
+                self.tr("Mercurial Command Server"),
+                self.tr(
+                    """<p>The Mercurial Command Server could not be"""
+                    """ started.</p><p>Reason: {0}</p>""").format(err))
+    
+    def getClient(self):
+        """
+        Public method to get a reference to the command server interface.
+        
+        @return reference to the client (HgClient)
+        """
+        if self.__client is None:
+            self.__createClient(self.__repoDir)
+        
+        return self.__client
+    
     ###########################################################################
     ##  Status Monitor Thread methods
     ###########################################################################
--- a/eric6/QScintilla/Printer.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/QScintilla/Printer.py	Sun Feb 02 11:27:46 2020 +0100
@@ -70,8 +70,13 @@
         painter.setFont(self.headerFont)    # set our header font
         painter.setPen(QColor(Qt.black))            # set color
         if drawing:
+            fm = painter.fontMetrics()
+            try:
+                fmWidth = fm.horizontalAdvance(header)
+            except AttributeError:
+                fmWidth = fm.width(header)
             painter.drawText(
-                area.right() - painter.fontMetrics().width(header),
+                area.right() - fmWidth,
                 area.top() + painter.fontMetrics().ascent(), header)
         area.setTop(area.top() + painter.fontMetrics().height() + 5)
         painter.restore()
--- a/eric6/QScintilla/Shell.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/QScintilla/Shell.py	Sun Feb 02 11:27:46 2020 +0100
@@ -1044,7 +1044,7 @@
         self.setFocus()
         self.inRawMode = True
         self.echoInput = echo
-        self.__write(s)
+        self.__writeQueued(s)
         line, col = self.__getEndPos()
         self.setCursorPosition(line, col)
         buf = self.text(line)
--- a/eric6/Snapshot/SnapshotTimer.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/Snapshot/SnapshotTimer.py	Sun Feb 02 11:27:46 2020 +0100
@@ -39,10 +39,13 @@
         self.__toggle = True
         
         # text is taken from paintEvent with maximum number plus some margin
-        self.resize(
-            self.fontMetrics().width(self.tr(
-                "Snapshot will be taken in %n seconds", "", 99)) + 6,
-            self.fontMetrics().height() + 4)
+        try:
+            fmWidth = self.fontMetrics().horizontalAdvance(self.tr(
+                "Snapshot will be taken in %n seconds", "", 99))
+        except AttributeError:
+            fmWidth = self.fontMetrics().width(self.tr(
+                "Snapshot will be taken in %n seconds", "", 99))
+        self.resize(fmWidth + 6, self.fontMetrics().height() + 4)
         
         self.__timer.timeout.connect(self.__bell)
     
--- a/eric6/UI/SymbolsWidget.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/UI/SymbolsWidget.py	Sun Feb 02 11:27:46 2020 +0100
@@ -504,7 +504,10 @@
         self.symbolsTable.horizontalHeader().setSectionResizeMode(
             QHeaderView.Fixed)
         fm = self.fontMetrics()
-        em = fm.width("M")
+        try:
+            em = fm.horizontalAdvance("M")
+        except AttributeError:
+            em = fm.width("M")
         self.symbolsTable.horizontalHeader().resizeSection(0, em * 5)
         self.symbolsTable.horizontalHeader().resizeSection(1, em * 5)
         self.symbolsTable.horizontalHeader().resizeSection(2, em * 6)
--- a/eric6/WebBrowser/Bookmarks/BookmarksDialog.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/WebBrowser/Bookmarks/BookmarksDialog.py	Sun Feb 02 11:27:46 2020 +0100
@@ -62,7 +62,10 @@
         self.bookmarksTree.setModel(self.__proxyModel)
         self.bookmarksTree.setExpanded(self.__proxyModel.index(0, 0), True)
         fm = QFontMetrics(self.font())
-        header = fm.width("m") * 40
+        try:
+            header = fm.horizontalAdvance("m") * 40
+        except AttributeError:
+            header = fm.width("m") * 40
         self.bookmarksTree.header().resizeSection(0, header)
         self.bookmarksTree.header().setStretchLastSection(True)
         self.bookmarksTree.setContextMenuPolicy(Qt.CustomContextMenu)
--- a/eric6/WebBrowser/CookieJar/CookieExceptionsModel.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/WebBrowser/CookieJar/CookieExceptionsModel.py	Sun Feb 02 11:27:46 2020 +0100
@@ -47,8 +47,12 @@
         if role == Qt.SizeHintRole:
             fm = QFontMetrics(QFont())
             height = fm.height() + fm.height() // 3
-            width = fm.width(
-                self.headerData(section, orientation, Qt.DisplayRole))
+            try:
+                width = fm.horizontalAdvance(
+                    self.headerData(section, orientation, Qt.DisplayRole))
+            except AttributeError:
+                width = fm.width(
+                    self.headerData(section, orientation, Qt.DisplayRole))
             return QSize(width, height)
         
         if orientation == Qt.Horizontal and role == Qt.DisplayRole:
--- a/eric6/WebBrowser/CookieJar/CookiesExceptionsDialog.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/WebBrowser/CookieJar/CookiesExceptionsDialog.py	Sun Feb 02 11:27:46 2020 +0100
@@ -59,10 +59,21 @@
             header = self.exceptionsTable.horizontalHeader().sectionSizeHint(
                 section)
             if section == 0:
-                header = fm.width("averagebiglonghost.averagedomain.info")
+                try:
+                    header = fm.horizontalAdvance(
+                        "averagebiglonghost.averagedomain.info")
+                except AttributeError:
+                    header = fm.width(
+                        "averagebiglonghost.averagedomain.info")
             elif section == 1:
-                header = fm.width(self.tr("Allow For Session"))
-            buffer = fm.width("mm")
+                try:
+                    header = fm.horizontalAdvance(self.tr("Allow For Session"))
+                except AttributeError:
+                    header = fm.width(self.tr("Allow For Session"))
+            try:
+                buffer = fm.horizontalAdvance("mm")
+            except AttributeError:
+                buffer = fm.width("mm")
             header += buffer
             self.exceptionsTable.horizontalHeader().resizeSection(
                 section, header)
--- a/eric6/WebBrowser/GreaseMonkey/GreaseMonkeyConfiguration/GreaseMonkeyConfigurationListDelegate.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/WebBrowser/GreaseMonkey/GreaseMonkeyConfiguration/GreaseMonkeyConfigurationListDelegate.py	Sun Feb 02 11:27:46 2020 +0100
@@ -123,7 +123,12 @@
         name = index.data(Qt.DisplayRole)
         leftTitleEdge = leftPos + 2
         rightTitleEdge = rightPos - self.__padding
-        leftPosForVersion = titleMetrics.width(name) + self.__padding
+        try:
+            leftPosForVersion = (
+                titleMetrics.horizontalAdvance(name) + self.__padding
+            )
+        except AttributeError:
+            leftPosForVersion = titleMetrics.width(name) + self.__padding
         nameRect = QRect(leftTitleEdge, opt.rect.top() + self.__padding,
                          rightTitleEdge - leftTitleEdge, titleMetrics.height())
         painter.setFont(titleFont)
--- a/eric6/WebBrowser/History/HistoryDialog.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/WebBrowser/History/HistoryDialog.py	Sun Feb 02 11:27:46 2020 +0100
@@ -63,7 +63,10 @@
         self.historyTree.setModel(self.__proxyModel)
         self.historyTree.expandAll()
         fm = QFontMetrics(self.font())
-        header = fm.width("m") * 40
+        try:
+            header = fm.horizontalAdvance("m") * 40
+        except AttributeError:
+            header = fm.width("m") * 40
         self.historyTree.header().resizeSection(0, header)
         self.historyTree.header().resizeSection(1, header)
         self.historyTree.header().setStretchLastSection(True)
--- a/eric6/WebBrowser/History/HistoryMenu.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/WebBrowser/History/HistoryMenu.py	Sun Feb 02 11:27:46 2020 +0100
@@ -426,7 +426,10 @@
         Private slot to populate the closed tabs menu.
         """
         fm = self.__closedTabsMenu.fontMetrics()
-        maxWidth = fm.width('m') * 40
+        try:
+            maxWidth = fm.horizontalAdvance('m') * 40
+        except AttributeError:
+            maxWidth = fm.width('m') * 40
         
         import WebBrowser.WebBrowserWindow
         self.__closedTabsMenu.clear()
--- a/eric6/WebBrowser/Passwords/PasswordsDialog.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/WebBrowser/Passwords/PasswordsDialog.py	Sun Feb 02 11:27:46 2020 +0100
@@ -67,12 +67,24 @@
             header = self.passwordsTable.horizontalHeader().sectionSizeHint(
                 section)
             if section == 0:
-                header = fm.width("averagebiglongsitename")
+                try:
+                    header = fm.horizontalAdvance("averagebiglongsitename")
+                except AttributeError:
+                    header = fm.width("averagebiglongsitename")
             elif section == 1:
-                header = fm.width("averagelongusername")
+                try:
+                    header = fm.horizontalAdvance("averagelongusername")
+                except AttributeError:
+                    header = fm.width("averagelongusername")
             elif section == 2:
-                header = fm.width("averagelongpassword")
-            buffer = fm.width("mm")
+                try:
+                    header = fm.horizontalAdvance("averagelongpassword")
+                except AttributeError:
+                    header = fm.width("averagelongpassword")
+            try:
+                buffer = fm.horizontalAdvance("mm")
+            except AttributeError:
+                buffer = fm.width("mm")
             header += buffer
             self.passwordsTable.horizontalHeader().resizeSection(
                 section, header)
--- a/eric6/WebBrowser/WebBrowserPage.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/WebBrowser/WebBrowserPage.py	Sun Feb 02 11:27:46 2020 +0100
@@ -9,12 +9,18 @@
 """
 
 from PyQt5.QtCore import (
-    pyqtSlot, pyqtSignal, QUrl, QUrlQuery, QTimer, QEventLoop, QPoint, QPointF
+    pyqtSlot, pyqtSignal, QUrl, QUrlQuery, QTimer, QEventLoop, QPoint, QPointF,
+    QT_VERSION
 )
 from PyQt5.QtGui import QDesktopServices
 from PyQt5.QtWebEngineWidgets import (
     QWebEnginePage, QWebEngineSettings, QWebEngineScript
 )
+try:
+    from PyQt5.QtWebEngine import PYQT_WEBENGINE_VERSION
+    # __IGNORE_EXCEPTION__
+except (AttributeError, ImportError):
+    PYQT_WEBENGINE_VERSION = QT_VERSION
 from PyQt5.QtWebChannel import QWebChannel
 
 from E5Gui import E5MessageBox
@@ -124,10 +130,14 @@
                 return False
         
         # GreaseMonkey
-        if (
-            type_ == QWebEnginePage.NavigationTypeLinkClicked and
-            url.toString().endswith(".user.js")
-        ):
+        if PYQT_WEBENGINE_VERSION >= 0x50e00:       # PyQtWebEngine >= 5.14.0
+            navigationType = type_ in [
+                QWebEnginePage.NavigationTypeLinkClicked,
+                QWebEnginePage.NavigationTypeRedirect
+            ]
+        else:
+            navigationType = type_ == QWebEnginePage.NavigationTypeLinkClicked
+        if navigationType and url.toString().endswith(".user.js"):
             WebBrowserWindow.greaseMonkeyManager().downloadScript(url)
             return False
         
@@ -179,8 +189,8 @@
                 )
                 self.safeBrowsingBad.emit(threatType, "".join(threatMessages))
         
-        result = QWebEnginePage.acceptNavigationRequest(self, url, type_,
-                                                        isMainFrame)
+        result = QWebEnginePage.acceptNavigationRequest(
+            self, url, type_, isMainFrame)
         
         if result:
             if isMainFrame:
--- a/eric6/WebBrowser/WebBrowserTabWidget.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/WebBrowser/WebBrowserTabWidget.py	Sun Feb 02 11:27:46 2020 +0100
@@ -1134,7 +1134,10 @@
         Private slot to populate the closed tabs menu.
         """
         fm = self.__closedTabsMenu.fontMetrics()
-        maxWidth = fm.width('m') * 40
+        try:
+            maxWidth = fm.horizontalAdvance('m') * 40
+        except AttributeError:
+            maxWidth = fm.width('m') * 40
         
         self.__closedTabsMenu.clear()
         index = 0
--- a/eric6/WebBrowser/WebBrowserWindow.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/WebBrowser/WebBrowserWindow.py	Sun Feb 02 11:27:46 2020 +0100
@@ -2359,8 +2359,13 @@
             filtertb = self.addToolBar(self.tr("Filter"))
             filtertb.setObjectName("FilterToolBar")
             self.filterCombo = QComboBox()
-            self.filterCombo.setMinimumWidth(
-                QFontMetrics(QFont()).width("ComboBoxWithEnoughWidth"))
+            try:
+                comboWidth = QFontMetrics(QFont()).horizontalAdvance(
+                    "ComboBoxWithEnoughWidth")
+            except AttributeError:
+                comboWidth = QFontMetrics(QFont()).width(
+                    "ComboBoxWithEnoughWidth")
+            self.filterCombo.setMinimumWidth(comboWidth)
             filtertb.addWidget(QLabel(self.tr("Filtered by: ")))
             filtertb.addWidget(self.filterCombo)
             self.__helpEngine.setupFinished.connect(self.__setupFilterCombo)
--- a/eric6/WebBrowser/ZoomManager/ZoomValuesDialog.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/WebBrowser/ZoomManager/ZoomValuesDialog.py	Sun Feb 02 11:27:46 2020 +0100
@@ -60,10 +60,21 @@
             header = self.zoomValuesTable.horizontalHeader().sectionSizeHint(
                 section)
             if section == 0:
-                header = fm.width("extraveryveryverylongsitename")
+                try:
+                    header = fm.horizontalAdvance(
+                        "extraveryveryverylongsitename")
+                except AttributeError:
+                    header = fm.width(
+                        "extraveryveryverylongsitename")
             elif section == 1:
-                header = fm.width("averagelongzoomvalue")
-            buffer = fm.width("mm")
+                try:
+                    header = fm.horizontalAdvance("averagelongzoomvalue")
+                except AttributeError:
+                    header = fm.width("averagelongzoomvalue")
+            try:
+                buffer = fm.width("mm")
+            except AttributeError:
+                buffer = fm.width("mm")
             header += buffer
             self.zoomValuesTable.horizontalHeader().resizeSection(
                 section, header)
--- a/eric6/eric6.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/eric6.py	Sun Feb 02 11:27:46 2020 +0100
@@ -256,6 +256,9 @@
     
     sys.excepthook = excepthook
     
+    from PyQt5.QtGui import QGuiApplication
+    QGuiApplication.setDesktopFileName("eric6.desktop")
+    
     options = [
         ("--config=configDir",
          "use the given directory as the one containing the config files"),
--- a/eric6/eric6_browser.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/eric6_browser.py	Sun Feb 02 11:27:46 2020 +0100
@@ -139,6 +139,9 @@
     """
     global app
     
+    from PyQt5.QtGui import QGuiApplication
+    QGuiApplication.setDesktopFileName("eric6_browser.desktop")
+    
     options = [
         ("--config=configDir",
          "use the given directory as the one containing the config files"),
--- a/eric6/eric6_compare.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/eric6_compare.py	Sun Feb 02 11:27:46 2020 +0100
@@ -61,6 +61,9 @@
     """
     Main entry point into the application.
     """
+    from PyQt5.QtGui import QGuiApplication
+    QGuiApplication.setDesktopFileName("eric6_compare.desktop")
+    
     options = [
         ("--config=configDir",
          "use the given directory as the one containing the config files"),
--- a/eric6/eric6_configure.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/eric6_configure.py	Sun Feb 02 11:27:46 2020 +0100
@@ -60,6 +60,9 @@
     """
     Main entry point into the application.
     """
+    from PyQt5.QtGui import QGuiApplication
+    QGuiApplication.setDesktopFileName("eric6_configure.desktop")
+    
     options = [
         ("--config=configDir",
          "use the given directory as the one containing the config files"),
--- a/eric6/eric6_diff.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/eric6_diff.py	Sun Feb 02 11:27:46 2020 +0100
@@ -53,6 +53,9 @@
     """
     Main entry point into the application.
     """
+    from PyQt5.QtGui import QGuiApplication
+    QGuiApplication.setDesktopFileName("eric6_diff.desktop")
+    
     options = [
         ("--config=configDir",
          "use the given directory as the one containing the config files"),
--- a/eric6/eric6_editor.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/eric6_editor.py	Sun Feb 02 11:27:46 2020 +0100
@@ -62,6 +62,9 @@
     """
     Main entry point into the application.
     """
+    from PyQt5.QtGui import QGuiApplication
+    QGuiApplication.setDesktopFileName("eric6_editor.desktop")
+    
     options = [
         ("--config=configDir",
          "use the given directory as the one containing the config files"),
--- a/eric6/eric6_hexeditor.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/eric6_hexeditor.py	Sun Feb 02 11:27:46 2020 +0100
@@ -60,6 +60,9 @@
     """
     Main entry point into the application.
     """
+    from PyQt5.QtGui import QGuiApplication
+    QGuiApplication.setDesktopFileName("eric6_hexeditor.desktop")
+    
     options = [
         ("--config=configDir",
          "use the given directory as the one containing the config files"),
--- a/eric6/eric6_iconeditor.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/eric6_iconeditor.py	Sun Feb 02 11:27:46 2020 +0100
@@ -60,6 +60,9 @@
     """
     Main entry point into the application.
     """
+    from PyQt5.QtGui import QGuiApplication
+    QGuiApplication.setDesktopFileName("eric6_iconeditor.desktop")
+    
     options = [
         ("--config=configDir",
          "use the given directory as the one containing the config files"),
--- a/eric6/eric6_plugininstall.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/eric6_plugininstall.py	Sun Feb 02 11:27:46 2020 +0100
@@ -52,6 +52,9 @@
     """
     Main entry point into the application.
     """
+    from PyQt5.QtGui import QGuiApplication
+    QGuiApplication.setDesktopFileName("eric6_plugininstall.desktop")
+    
     options = [
         ("--config=configDir",
          "use the given directory as the one containing the config files"),
--- a/eric6/eric6_pluginrepository.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/eric6_pluginrepository.py	Sun Feb 02 11:27:46 2020 +0100
@@ -52,6 +52,9 @@
     """
     Main entry point into the application.
     """
+    from PyQt5.QtGui import QGuiApplication
+    QGuiApplication.setDesktopFileName("eric6_pluginrepository.desktop")
+    
     options = [
         ("--config=configDir",
          "use the given directory as the one containing the config files"),
--- a/eric6/eric6_pluginuninstall.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/eric6_pluginuninstall.py	Sun Feb 02 11:27:46 2020 +0100
@@ -52,6 +52,9 @@
     """
     Main entry point into the application.
     """
+    from PyQt5.QtGui import QGuiApplication
+    QGuiApplication.setDesktopFileName("eric6_pluginuninstall.desktop")
+    
     options = [
         ("--config=configDir",
          "use the given directory as the one containing the config files"),
--- a/eric6/eric6_qregexp.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/eric6_qregexp.py	Sun Feb 02 11:27:46 2020 +0100
@@ -55,6 +55,9 @@
     """
     Main entry point into the application.
     """
+    from PyQt5.QtGui import QGuiApplication
+    QGuiApplication.setDesktopFileName("eric6_qregexp.desktop")
+    
     options = [
         ("--config=configDir",
          "use the given directory as the one containing the config files"),
--- a/eric6/eric6_qregularexpression.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/eric6_qregularexpression.py	Sun Feb 02 11:27:46 2020 +0100
@@ -55,6 +55,9 @@
     """
     Main entry point into the application.
     """
+    from PyQt5.QtGui import QGuiApplication
+    QGuiApplication.setDesktopFileName("eric6_qregularexpression.desktop")
+    
     options = [
         ("--config=configDir",
          "use the given directory as the one containing the config files"),
--- a/eric6/eric6_re.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/eric6_re.py	Sun Feb 02 11:27:46 2020 +0100
@@ -55,6 +55,9 @@
     """
     Main entry point into the application.
     """
+    from PyQt5.QtGui import QGuiApplication
+    QGuiApplication.setDesktopFileName("eric6_re.desktop")
+    
     options = [
         ("--config=configDir",
          "use the given directory as the one containing the config files"),
--- a/eric6/eric6_shell.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/eric6_shell.py	Sun Feb 02 11:27:46 2020 +0100
@@ -55,6 +55,9 @@
     """
     Main entry point into the application.
     """
+    from PyQt5.QtGui import QGuiApplication
+    QGuiApplication.setDesktopFileName("eric6_shell.desktop")
+    
     options = [
         ("--config=configDir",
          "use the given directory as the one containing the config files"),
--- a/eric6/eric6_snap.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/eric6_snap.py	Sun Feb 02 11:27:46 2020 +0100
@@ -52,6 +52,9 @@
     """
     Main entry point into the application.
     """
+    from PyQt5.QtGui import QGuiApplication
+    QGuiApplication.setDesktopFileName("eric6_snap.desktop")
+    
     options = [
         ("--config=configDir",
          "use the given directory as the one containing the config files"),
--- a/eric6/eric6_sqlbrowser.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/eric6_sqlbrowser.py	Sun Feb 02 11:27:46 2020 +0100
@@ -59,6 +59,9 @@
     """
     Main entry point into the application.
     """
+    from PyQt5.QtGui import QGuiApplication
+    QGuiApplication.setDesktopFileName("eric6_sqlbrowser.desktop")
+    
     options = [
         ("--config=configDir",
          "use the given directory as the one containing the config files"),
--- a/eric6/eric6_tray.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/eric6_tray.py	Sun Feb 02 11:27:46 2020 +0100
@@ -55,6 +55,9 @@
     """
     Main entry point into the application.
     """
+    from PyQt5.QtGui import QGuiApplication
+    QGuiApplication.setDesktopFileName("eric6_tray.desktop")
+    
     options = [
         ("--config=configDir",
          "use the given directory as the one containing the config files"),
--- a/eric6/eric6_trpreviewer.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/eric6_trpreviewer.py	Sun Feb 02 11:27:46 2020 +0100
@@ -67,6 +67,9 @@
     """
     global app
     
+    from PyQt5.QtGui import QGuiApplication
+    QGuiApplication.setDesktopFileName("eric6_trpreviewer.desktop")
+    
     options = [
         ("--config=configDir",
          "use the given directory as the one containing the config files"),
--- a/eric6/eric6_uipreviewer.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/eric6_uipreviewer.py	Sun Feb 02 11:27:46 2020 +0100
@@ -60,6 +60,9 @@
     """
     Main entry point into the application.
     """
+    from PyQt5.QtGui import QGuiApplication
+    QGuiApplication.setDesktopFileName("eric6_uipreviewer.desktop")
+    
     options = [
         ("--config=configDir",
          "use the given directory as the one containing the config files"),
--- a/eric6/eric6_unittest.py	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/eric6_unittest.py	Sun Feb 02 11:27:46 2020 +0100
@@ -61,6 +61,9 @@
     """
     Main entry point into the application.
     """
+    from PyQt5.QtGui import QGuiApplication
+    QGuiApplication.setDesktopFileName("eric6_unittest.desktop")
+    
     options = [
         ("--config=configDir",
          "use the given directory as the one containing the config files"),
--- a/eric6/i18n/eric6_cs.ts	Wed Jan 01 12:02:35 2020 +0100
+++ b/eric6/i18n/eric6_cs.ts	Sun Feb 02 11:27:46 2020 +0100
@@ -1831,32 +1831,32 @@
         <translation>Přidat s&amp;ložku</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksDialog.py" line="151"/>
+        <location filename="../WebBrowser/Bookmarks/BookmarksDialog.py" line="154"/>
         <source>&amp;Open</source>
         <translation>&amp;Otevřít</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksDialog.py" line="153"/>
+        <location filename="../WebBrowser/Bookmarks/BookmarksDialog.py" line="156"/>
         <source>Open in New &amp;Tab</source>
         <translation>Otevřít v novém &amp;tabu</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksDialog.py" line="164"/>
-        <source>Edit &amp;Name</source>
-        <translation>Editovat &amp;název</translation>
-    </message>
-    <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksDialog.py" line="167"/>
+        <source>Edit &amp;Name</source>
+        <translation>Editovat &amp;název</translation>
+    </message>
+    <message>
+        <location filename="../WebBrowser/Bookmarks/BookmarksDialog.py" line="170"/>
         <source>Edit &amp;Address</source>
         <translation>Editovat &amp;adresu</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksDialog.py" line="169"/>
+        <location filename="../WebBrowser/Bookmarks/BookmarksDialog.py" line="172"/>
         <source>&amp;Delete</source>
         <translation>&amp;Smazat</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksDialog.py" line="328"/>
+        <location filename="../WebBrowser/Bookmarks/BookmarksDialog.py" line="331"/>
         <source>New Folder</source>
         <translation>Nová složka</translation>
     </message>
@@ -1866,22 +1866,22 @@
         <translation>Stisknout pro smazání vybraných položek</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksDialog.py" line="173"/>
+        <location filename="../WebBrowser/Bookmarks/BookmarksDialog.py" line="176"/>
         <source>&amp;Properties...</source>
         <translation type="unfinished">&amp;Natavení...</translation>
     </message>
     <message>
+        <location filename="../WebBrowser/Bookmarks/BookmarksDialog.py" line="161"/>
+        <source>Open in New &amp;Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../WebBrowser/Bookmarks/BookmarksDialog.py" line="163"/>
+        <source>Open in New Pri&amp;vate Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksDialog.py" line="158"/>
-        <source>Open in New &amp;Window</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksDialog.py" line="160"/>
-        <source>Open in New Pri&amp;vate Window</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksDialog.py" line="155"/>
         <source>Open in New &amp;Background Tab</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5820,17 +5820,17 @@
         <translation></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/CookieJar/CookieExceptionsModel.py" line="79"/>
+        <location filename="../WebBrowser/CookieJar/CookieExceptionsModel.py" line="83"/>
         <source>Allow</source>
         <translation>Povolit</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/CookieJar/CookieExceptionsModel.py" line="88"/>
+        <location filename="../WebBrowser/CookieJar/CookieExceptionsModel.py" line="92"/>
         <source>Block</source>
         <translation>Blokovat</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/CookieJar/CookieExceptionsModel.py" line="97"/>
+        <location filename="../WebBrowser/CookieJar/CookieExceptionsModel.py" line="101"/>
         <source>Allow For Session</source>
         <translation>Povolit pro relaci</translation>
     </message>
@@ -6187,7 +6187,7 @@
         <translation>Odebr&amp;at vše</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/CookieJar/CookiesExceptionsDialog.py" line="64"/>
+        <location filename="../WebBrowser/CookieJar/CookiesExceptionsDialog.py" line="72"/>
         <source>Allow For Session</source>
         <translation>Povolit pro relaci</translation>
     </message>
@@ -29984,445 +29984,445 @@
     <message>
         <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="1796"/>
         <source>The hg process did not finish within 30s.</source>
-        <translation>hg proces neskončil do 30s.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="286"/>
+        <translation type="obsolete">hg proces neskončil do 30s.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="279"/>
         <source>Create project repository</source>
         <translation>Vytvořit repozitář projektu</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="286"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="279"/>
         <source>The project repository could not be created.</source>
         <translation>Úložiště projektu nelze vytvořit.</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="321"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="314"/>
         <source>Creating Mercurial repository</source>
         <translation>Vytváření Mercurial úložiště</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="337"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="330"/>
         <source>Initial commit to Mercurial repository</source>
         <translation>Úvodní zápis změn (commit) do Mercurial úložiště</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="380"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="370"/>
         <source>Cloning project from a Mercurial repository</source>
         <translation>Naklonovat projekt z Mercurial úložiště</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="649"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="614"/>
         <source>Synchronizing with the Mercurial repository</source>
         <translation>Synchronizovat s Mercurial úložištěm</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="699"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="661"/>
         <source>Adding files/directories to the Mercurial repository</source>
         <translation>Přidat soubory/složky do Mercurial úložiště</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="768"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="726"/>
         <source>Removing files/directories from the Mercurial repository</source>
         <translation>Odebrat soubory/složky z Mercurial úložiště</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="829"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="783"/>
         <source>Renaming {0}</source>
         <translation>Přejmenování {0}</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="1019"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="973"/>
         <source>Reverting changes</source>
         <translation>Navrácení změn</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="1070"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="1024"/>
         <source>Merging</source>
         <translation>Merging</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="1371"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="1301"/>
         <source>Mercurial command</source>
         <translation>Mercurial příkaz</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="1555"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="1462"/>
         <source>Copying {0}</source>
         <translation>Kopírování {0}</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="1950"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="1801"/>
         <source>Pulling from a remote Mercurial repository</source>
         <translation>Stažení (pull) z Mercurial repozitáře</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2010"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="1861"/>
         <source>Pushing to a remote Mercurial repository</source>
         <translation>Odeslání (push) do Mercurial repozitáře</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2221"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2053"/>
         <source>Creating branch in the Mercurial repository</source>
         <translation>Vytvoření větve v Mercurial repozitáři</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2370"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2190"/>
         <source>Verifying the integrity of the Mercurial repository</source>
         <translation>Ověřit integritu Mercurial repozitáře</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2395"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2215"/>
         <source>Showing the combined configuration settings</source>
         <translation>Zobrazení nastavení kombinovaných konfigurací</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2419"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2239"/>
         <source>Showing aliases for remote repositories</source>
         <translation>Zobrazení aliasů pro vzdálené úložiště</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2443"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2263"/>
         <source>Recovering from interrupted transaction</source>
         <translation>Obnovení z přerušené transakce</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2674"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2494"/>
         <source>Shall the working directory be updated?</source>
         <translation>Má být pracovní adresář aktualizován?</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2250"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2082"/>
         <source>Showing current branch</source>
         <translation>Zobrazení aktuální větve</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2605"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2425"/>
         <source>Create changegroup</source>
         <translation>Vytvořit skupinu změn</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2686"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2506"/>
         <source>Apply changegroups</source>
         <translation>Použít skupinu změn</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2705"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2525"/>
         <source>Bisect subcommand ({0}) invalid.</source>
         <translation>Neplatný bisect podpříkaz ({0}).</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2734"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2554"/>
         <source>Mercurial Bisect ({0})</source>
         <translation>Mercurial Bisect ({0})</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2626"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2446"/>
         <source>Preview changegroup</source>
         <translation>Náhled skupiny změn</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2467"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2287"/>
         <source>Identifying project directory</source>
         <translation>Rozpoznat složku projektu</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2499"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2319"/>
         <source>Create .hgignore file</source>
         <translation>Vytvořit soubor .hgignore</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2499"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2319"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; exists already. Overwrite it?&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor &lt;b&gt;{0}&lt;/b&gt; již existuje.&lt;/p&gt;&lt;p&gt;Má se přepsat?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2766"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2586"/>
         <source>Removing files from the Mercurial repository only</source>
         <translation>Odebrat soubory jen z Mercurial úložiště</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2562"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2382"/>
         <source>Mercurial Changegroup Files (*.hg)</source>
         <translation>Soubory Mercurial skupiny změn (*.hg)</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2665"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2485"/>
         <source>Mercurial Changegroup Files (*.hg);;All Files (*)</source>
         <translation>Soubory Mercurial skupiny změn (*.hg);;Všechny soubory (*)</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2820"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2640"/>
         <source>Backing out changeset</source>
         <translation>Zálohovat skupinu změn</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2800"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2620"/>
         <source>No revision given. Aborting...</source>
         <translation>Nebyla dána žádná revize. Ruším...</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2579"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2399"/>
         <source>&lt;p&gt;The Mercurial changegroup file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2847"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2667"/>
         <source>Rollback last transaction</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2840"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2660"/>
         <source>Are you sure you want to rollback the last transaction?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="563"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="543"/>
         <source>Committing changes to Mercurial repository</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3596"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3395"/>
         <source>Mercurial Command Server</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3450"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3246"/>
         <source>&lt;p&gt;The Mercurial Command Server could not be restarted.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3596"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3395"/>
         <source>&lt;p&gt;The Mercurial Command Server could not be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2915"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2735"/>
         <source>Import Patch</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2967"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2787"/>
         <source>Export Patches</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3014"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2834"/>
         <source>Change Phase</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3071"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2891"/>
         <source>Copy Changesets</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3120"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2940"/>
         <source>Copy Changesets (Continue)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3278"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3098"/>
         <source>Add Sub-repository</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3311"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3131"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub could not be read.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3259"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3079"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub already contains an entry &lt;b&gt;{0}&lt;/b&gt;. Aborting...&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3331"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3151"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub could not be written to.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3331"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3151"/>
         <source>Remove Sub-repositories</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3299"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3119"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub does not exist. Aborting...&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="482"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="472"/>
         <source>Commit Changes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="482"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="472"/>
         <source>The commit affects files, that have unsaved changes. Shall the commit be continued?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="1013"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="967"/>
         <source>Revert changes</source>
         <translation type="unfinished">Vrátit změny</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="1004"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="958"/>
         <source>Do you really want to revert all changes to these files or directories?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="1013"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="967"/>
         <source>Do you really want to revert all changes of the project?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3175"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2995"/>
         <source>Create Unversioned Archive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="1867"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="1718"/>
         <source>Mercurial Side-by-Side Difference</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="1867"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="1718"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation type="unfinished">&lt;p&gt;Soubor &lt;b&gt;{0}&lt;/b&gt; nelze přečíst.&lt;/p&gt;</translation>
     </message>
     <message>
         <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="1799"/>
         <source>The process {0} could not be started. Ensure, that it is in the search path.</source>
-        <translation type="unfinished">Proces {0} nelze spustit. Ověřte, že je umístěn v požadované cestě.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="962"/>
+        <translation type="obsolete">Proces {0} nelze spustit. Ověřte, že je umístěn v požadované cestě.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="916"/>
         <source>Tagging in the Mercurial repository</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2228"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2060"/>
         <source>Created new branch &lt;{0}&gt;.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="1147"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="1101"/>
         <source>Current branch tip</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3714"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3522"/>
         <source>Mercurial Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3544"/>
+        <source>Delete Bookmark</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3544"/>
+        <source>Select the bookmark to be deleted:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3555"/>
+        <source>Delete Mercurial Bookmark</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3588"/>
+        <source>Rename Mercurial Bookmark</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3630"/>
+        <source>Move Mercurial Bookmark</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3724"/>
+        <source>Pull Bookmark</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3724"/>
+        <source>Select the bookmark to be pulled:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3736"/>
-        <source>Delete Bookmark</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3736"/>
-        <source>Select the bookmark to be deleted:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3747"/>
-        <source>Delete Mercurial Bookmark</source>
+        <source>Pulling bookmark from a remote Mercurial repository</source>
+        <translation type="unfinished"></translation>