--- a/src/eric7/Preferences/ConfigurationPages/PluginManagerPage.py Wed Jul 13 11:16:20 2022 +0200 +++ b/src/eric7/Preferences/ConfigurationPages/PluginManagerPage.py Wed Jul 13 14:55:47 2022 +0200 @@ -21,6 +21,7 @@ """ Class implementing the Plugin Manager configuration page. """ + def __init__(self): """ Constructor @@ -28,21 +29,22 @@ super().__init__() self.setupUi(self) self.setObjectName("PluginManagerPage") - + self.downloadDirPicker.setMode(EricPathPickerModes.DIRECTORY_MODE) - + # set initial values self.activateExternalPluginsCheckBox.setChecked( - Preferences.getPluginManager("ActivateExternal")) - self.downloadDirPicker.setText( - Preferences.getPluginManager("DownloadPath")) + Preferences.getPluginManager("ActivateExternal") + ) + self.downloadDirPicker.setText(Preferences.getPluginManager("DownloadPath")) self.generationsSpinBox.setValue( - Preferences.getPluginManager("KeepGenerations")) - self.keepHiddenCheckBox.setChecked( - Preferences.getPluginManager("KeepHidden")) + Preferences.getPluginManager("KeepGenerations") + ) + self.keepHiddenCheckBox.setChecked(Preferences.getPluginManager("KeepHidden")) self.startupCleanupCheckBox.setChecked( - Preferences.getPluginManager("StartupCleanup")) - + Preferences.getPluginManager("StartupCleanup") + ) + period = Preferences.getPluginManager("UpdatesCheckInterval") if period == 0: self.noCheckRadioButton.setChecked(True) @@ -57,36 +59,32 @@ else: # invalid value, default to daily self.dailyCheckRadioButton.setChecked(True) - + self.downloadedOnlyCheckBox.setChecked( - Preferences.getPluginManager("CheckInstalledOnly")) - + Preferences.getPluginManager("CheckInstalledOnly") + ) + self.__repositoryUrl = Preferences.getUI("PluginRepositoryUrl7") self.repositoryUrlEdit.setText(self.__repositoryUrl) - + self.autoInstallCheckBox.setChecked( - Preferences.getPluginManager("AutoInstallDependencies")) - + Preferences.getPluginManager("AutoInstallDependencies") + ) + def save(self): """ Public slot to save the Viewmanager configuration. """ Preferences.setPluginManager( - "ActivateExternal", - self.activateExternalPluginsCheckBox.isChecked()) - Preferences.setPluginManager( - "DownloadPath", - self.downloadDirPicker.text()) + "ActivateExternal", self.activateExternalPluginsCheckBox.isChecked() + ) + Preferences.setPluginManager("DownloadPath", self.downloadDirPicker.text()) + Preferences.setPluginManager("KeepGenerations", self.generationsSpinBox.value()) + Preferences.setPluginManager("KeepHidden", self.keepHiddenCheckBox.isChecked()) Preferences.setPluginManager( - "KeepGenerations", - self.generationsSpinBox.value()) - Preferences.setPluginManager( - "KeepHidden", - self.keepHiddenCheckBox.isChecked()) - Preferences.setPluginManager( - "StartupCleanup", - self.startupCleanupCheckBox.isChecked()) - + "StartupCleanup", self.startupCleanupCheckBox.isChecked() + ) + if self.noCheckRadioButton.isChecked(): period = 0 elif self.dailyCheckRadioButton.isChecked(): @@ -98,34 +96,33 @@ elif self.alwaysCheckRadioButton.isChecked(): period = 4 Preferences.setPluginManager("UpdatesCheckInterval", period) - + Preferences.setPluginManager( - "CheckInstalledOnly", - self.downloadedOnlyCheckBox.isChecked()) - + "CheckInstalledOnly", self.downloadedOnlyCheckBox.isChecked() + ) + if self.repositoryUrlEdit.text() != self.__repositoryUrl: - Preferences.setUI( - "PluginRepositoryUrl7", self.repositoryUrlEdit.text()) - + Preferences.setUI("PluginRepositoryUrl7", self.repositoryUrlEdit.text()) + Preferences.setPluginManager( - "AutoInstallDependencies", - self.autoInstallCheckBox.isChecked()) - + "AutoInstallDependencies", self.autoInstallCheckBox.isChecked() + ) + @pyqtSlot(bool) def on_repositoryUrlEditButton_toggled(self, checked): """ Private slot to set the read only status of the repository URL line edit. - + @param checked state of the push button (boolean) """ self.repositoryUrlEdit.setReadOnly(not checked) - + def create(dlg): """ Module function to create the configuration page. - + @param dlg reference to the configuration dialog @return reference to the instantiated page (ConfigurationPageBase) """