diff -r e9e7eca7efee -r bf71ee032bb4 src/eric7/Plugins/VcsPlugins/vcsMercurial/ConfigurationPage/MercurialPage.py --- a/src/eric7/Plugins/VcsPlugins/vcsMercurial/ConfigurationPage/MercurialPage.py Wed Jul 13 11:16:20 2022 +0200 +++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/ConfigurationPage/MercurialPage.py Wed Jul 13 14:55:47 2022 +0200 @@ -14,9 +14,7 @@ from EricWidgets.EricApplication import ericApp from EricWidgets.EricPathPicker import EricPathPickerModes -from Preferences.ConfigurationPages.ConfigurationPageBase import ( - ConfigurationPageBase -) +from Preferences.ConfigurationPages.ConfigurationPageBase import ConfigurationPageBase from .Ui_MercurialPage import Ui_MercurialPage from .. import HgUtilities @@ -28,110 +26,112 @@ """ Class implementing the Mercurial configuration page. """ + def __init__(self, plugin): """ Constructor - + @param plugin reference to the plugin object """ super().__init__() self.setupUi(self) self.setObjectName("MercurialPage") - + self.__plugin = plugin - + self.hgPicker.setMode(EricPathPickerModes.OPEN_FILE_MODE) if Globals.isWindowsPlatform(): - self.hgPicker.setFilters(self.tr( - "Executable Files (*.exe);;" - "All Files (*)" - )) + 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")) - + self.hgPicker.setText(self.__plugin.getPreferences("MercurialExecutablePath")) + # global options - index = self.encodingComboBox.findText( - self.__plugin.getPreferences("Encoding")) + index = self.encodingComboBox.findText(self.__plugin.getPreferences("Encoding")) self.encodingComboBox.setCurrentIndex(index) index = self.encodingModeComboBox.findText( - self.__plugin.getPreferences("EncodingMode")) + self.__plugin.getPreferences("EncodingMode") + ) self.encodingModeComboBox.setCurrentIndex(index) self.hiddenChangesetsCheckBox.setChecked( - self.__plugin.getPreferences("ConsiderHidden")) + self.__plugin.getPreferences("ConsiderHidden") + ) # log - self.logSpinBox.setValue( - self.__plugin.getPreferences("LogLimit")) + self.logSpinBox.setValue(self.__plugin.getPreferences("LogLimit")) self.logWidthSpinBox.setValue( - self.__plugin.getPreferences("LogMessageColumnWidth")) + self.__plugin.getPreferences("LogMessageColumnWidth") + ) self.startFullLogCheckBox.setChecked( - self.__plugin.getPreferences("LogBrowserShowFullLog")) + self.__plugin.getPreferences("LogBrowserShowFullLog") + ) # commit self.commitAuthorsSpinBox.setValue( - self.__plugin.getPreferences("CommitAuthorsLimit")) + self.__plugin.getPreferences("CommitAuthorsLimit") + ) # pull - self.pullUpdateCheckBox.setChecked( - self.__plugin.getPreferences("PullUpdate")) + self.pullUpdateCheckBox.setChecked(self.__plugin.getPreferences("PullUpdate")) self.preferUnbundleCheckBox.setChecked( - self.__plugin.getPreferences("PreferUnbundle")) + self.__plugin.getPreferences("PreferUnbundle") + ) # cleanup - self.cleanupPatternEdit.setText( - self.__plugin.getPreferences("CleanupPatterns")) + self.cleanupPatternEdit.setText(self.__plugin.getPreferences("CleanupPatterns")) # revert - self.backupCheckBox.setChecked( - self.__plugin.getPreferences("CreateBackup")) + self.backupCheckBox.setChecked(self.__plugin.getPreferences("CreateBackup")) # merge self.internalMergeCheckBox.setChecked( - self.__plugin.getPreferences("InternalMerge")) - + self.__plugin.getPreferences("InternalMerge") + ) + def save(self): """ Public slot to save the Mercurial configuration. """ # executable override - self.__plugin.setPreferences( - "MercurialExecutablePath", self.hgPicker.text()) + self.__plugin.setPreferences("MercurialExecutablePath", self.hgPicker.text()) # global options + self.__plugin.setPreferences("Encoding", self.encodingComboBox.currentText()) self.__plugin.setPreferences( - "Encoding", self.encodingComboBox.currentText()) - self.__plugin.setPreferences( - "EncodingMode", self.encodingModeComboBox.currentText()) + "EncodingMode", self.encodingModeComboBox.currentText() + ) self.__plugin.setPreferences( - "ConsiderHidden", self.hiddenChangesetsCheckBox.isChecked()) + "ConsiderHidden", self.hiddenChangesetsCheckBox.isChecked() + ) # log + self.__plugin.setPreferences("LogLimit", self.logSpinBox.value()) self.__plugin.setPreferences( - "LogLimit", self.logSpinBox.value()) + "LogMessageColumnWidth", self.logWidthSpinBox.value() + ) self.__plugin.setPreferences( - "LogMessageColumnWidth", self.logWidthSpinBox.value()) - self.__plugin.setPreferences( - "LogBrowserShowFullLog", self.startFullLogCheckBox.isChecked()) + "LogBrowserShowFullLog", self.startFullLogCheckBox.isChecked() + ) # commit self.__plugin.setPreferences( - "CommitAuthorsLimit", self.commitAuthorsSpinBox.value()) + "CommitAuthorsLimit", self.commitAuthorsSpinBox.value() + ) # pull - self.__plugin.setPreferences( - "PullUpdate", self.pullUpdateCheckBox.isChecked()) + self.__plugin.setPreferences("PullUpdate", self.pullUpdateCheckBox.isChecked()) self.__plugin.setPreferences( - "PreferUnbundle", self.preferUnbundleCheckBox.isChecked()) + "PreferUnbundle", self.preferUnbundleCheckBox.isChecked() + ) # cleanup - self.__plugin.setPreferences( - "CleanupPatterns", self.cleanupPatternEdit.text()) + self.__plugin.setPreferences("CleanupPatterns", self.cleanupPatternEdit.text()) # revert - self.__plugin.setPreferences( - "CreateBackup", self.backupCheckBox.isChecked()) + self.__plugin.setPreferences("CreateBackup", self.backupCheckBox.isChecked()) # merge self.__plugin.setPreferences( - "InternalMerge", self.internalMergeCheckBox.isChecked()) - + "InternalMerge", self.internalMergeCheckBox.isChecked() + ) + @pyqtSlot() def on_configButton_clicked(self): """ @@ -139,24 +139,23 @@ """ from ..HgUserConfigDialog import HgUserConfigDialog from ..HgUtilities import hgVersion - + dlg = HgUserConfigDialog(version=hgVersion(self.__plugin)[1]) dlg.exec() - + @pyqtSlot() def on_installButton_clicked(self): """ Private slot to install Mercurial alongside eric7. """ pip = ericApp().getObject("Pip") - pip.installPackages(["mercurial"], - interpreter=Globals.getPythonExecutable()) + pip.installPackages(["mercurial"], interpreter=Globals.getPythonExecutable()) self.installButton.setEnabled(not self.__mercurialInstalled()) - + def __mercurialInstalled(self): """ Private method to check, if Mercurial is installed alongside eric7. - + @return flag indicating an installed Mercurial executable @rtype bool """