eric7/Plugins/VcsPlugins/vcsMercurial/ConfigurationPage/MercurialPage.py

branch
eric7
changeset 9054
adae534abaf0
parent 9016
6f079c524e99
--- a/eric7/Plugins/VcsPlugins/vcsMercurial/ConfigurationPage/MercurialPage.py	Wed May 04 14:43:25 2022 +0200
+++ b/eric7/Plugins/VcsPlugins/vcsMercurial/ConfigurationPage/MercurialPage.py	Thu May 05 17:40:52 2022 +0200
@@ -12,6 +12,7 @@
 from PyQt6.QtCore import pyqtSlot
 
 from EricWidgets.EricApplication import ericApp
+from EricWidgets.EricPathPicker import EricPathPickerModes
 
 from Preferences.ConfigurationPages.ConfigurationPageBase import (
     ConfigurationPageBase
@@ -39,12 +40,25 @@
         
         self.__plugin = plugin
         
+        self.hgPicker.setMode(EricPathPickerModes.OPEN_FILE_MODE)
+        if Globals.isWindowsPlatform():
+            self.hgPicker.setFilters(self.tr(
+                "Executable Files (*.exe);;"
+                "All Files (*)"
+            ))
+        else:
+            self.hgPicker.setFilters(self.tr("All Files (*)"))
+        
         self.encodingComboBox.addItems(sorted(supportedCodecs))
         self.encodingModeComboBox.addItems(["strict", "ignore", "replace"])
         
         self.installButton.setEnabled(not self.__mercurialInstalled())
         
         # set initial values
+        # executable override
+        self.hgPicker.setText(
+            self.__plugin.getPreferences("MercurialExecutablePath"))
+        
         # global options
         index = self.encodingComboBox.findText(
             self.__plugin.getPreferences("Encoding"))
@@ -83,6 +97,9 @@
         """
         Public slot to save the Mercurial configuration.
         """
+        # executable override
+        self.__plugin.setPreferences(
+            "MercurialExecutablePath", self.hgPicker.text())
         # global options
         self.__plugin.setPreferences(
             "Encoding", self.encodingComboBox.currentText())

eric ide

mercurial