--- 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())