src/eric7/Preferences/ConfigurationPages/PluginManagerPage.py

branch
eric7
changeset 9209
b99e7fd55fd3
parent 9018
cd0bc1ab63f7
child 9221
bf71ee032bb4
equal deleted inserted replaced
9208:3fc8dfeb6ebe 9209:b99e7fd55fd3
1 # -*- coding: utf-8 -*-
2
3 # Copyright (c) 2007 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
4 #
5
6 """
7 Module implementing the Plugin Manager configuration page.
8 """
9
10 from PyQt6.QtCore import pyqtSlot
11
12 from EricWidgets.EricPathPicker import EricPathPickerModes
13
14 from .ConfigurationPageBase import ConfigurationPageBase
15 from .Ui_PluginManagerPage import Ui_PluginManagerPage
16
17 import Preferences
18
19
20 class PluginManagerPage(ConfigurationPageBase, Ui_PluginManagerPage):
21 """
22 Class implementing the Plugin Manager configuration page.
23 """
24 def __init__(self):
25 """
26 Constructor
27 """
28 super().__init__()
29 self.setupUi(self)
30 self.setObjectName("PluginManagerPage")
31
32 self.downloadDirPicker.setMode(EricPathPickerModes.DIRECTORY_MODE)
33
34 # set initial values
35 self.activateExternalPluginsCheckBox.setChecked(
36 Preferences.getPluginManager("ActivateExternal"))
37 self.downloadDirPicker.setText(
38 Preferences.getPluginManager("DownloadPath"))
39 self.generationsSpinBox.setValue(
40 Preferences.getPluginManager("KeepGenerations"))
41 self.keepHiddenCheckBox.setChecked(
42 Preferences.getPluginManager("KeepHidden"))
43 self.startupCleanupCheckBox.setChecked(
44 Preferences.getPluginManager("StartupCleanup"))
45
46 period = Preferences.getPluginManager("UpdatesCheckInterval")
47 if period == 0:
48 self.noCheckRadioButton.setChecked(True)
49 elif period == 1:
50 self.dailyCheckRadioButton.setChecked(True)
51 elif period == 2:
52 self.weeklyCheckRadioButton.setChecked(True)
53 elif period == 3:
54 self.monthlyCheckRadioButton.setChecked(True)
55 elif period == 4:
56 self.alwaysCheckRadioButton.setChecked(True)
57 else:
58 # invalid value, default to daily
59 self.dailyCheckRadioButton.setChecked(True)
60
61 self.downloadedOnlyCheckBox.setChecked(
62 Preferences.getPluginManager("CheckInstalledOnly"))
63
64 self.__repositoryUrl = Preferences.getUI("PluginRepositoryUrl7")
65 self.repositoryUrlEdit.setText(self.__repositoryUrl)
66
67 self.autoInstallCheckBox.setChecked(
68 Preferences.getPluginManager("AutoInstallDependencies"))
69
70 def save(self):
71 """
72 Public slot to save the Viewmanager configuration.
73 """
74 Preferences.setPluginManager(
75 "ActivateExternal",
76 self.activateExternalPluginsCheckBox.isChecked())
77 Preferences.setPluginManager(
78 "DownloadPath",
79 self.downloadDirPicker.text())
80 Preferences.setPluginManager(
81 "KeepGenerations",
82 self.generationsSpinBox.value())
83 Preferences.setPluginManager(
84 "KeepHidden",
85 self.keepHiddenCheckBox.isChecked())
86 Preferences.setPluginManager(
87 "StartupCleanup",
88 self.startupCleanupCheckBox.isChecked())
89
90 if self.noCheckRadioButton.isChecked():
91 period = 0
92 elif self.dailyCheckRadioButton.isChecked():
93 period = 1
94 elif self.weeklyCheckRadioButton.isChecked():
95 period = 2
96 elif self.monthlyCheckRadioButton.isChecked():
97 period = 3
98 elif self.alwaysCheckRadioButton.isChecked():
99 period = 4
100 Preferences.setPluginManager("UpdatesCheckInterval", period)
101
102 Preferences.setPluginManager(
103 "CheckInstalledOnly",
104 self.downloadedOnlyCheckBox.isChecked())
105
106 if self.repositoryUrlEdit.text() != self.__repositoryUrl:
107 Preferences.setUI(
108 "PluginRepositoryUrl7", self.repositoryUrlEdit.text())
109
110 Preferences.setPluginManager(
111 "AutoInstallDependencies",
112 self.autoInstallCheckBox.isChecked())
113
114 @pyqtSlot(bool)
115 def on_repositoryUrlEditButton_toggled(self, checked):
116 """
117 Private slot to set the read only status of the repository URL line
118 edit.
119
120 @param checked state of the push button (boolean)
121 """
122 self.repositoryUrlEdit.setReadOnly(not checked)
123
124
125 def create(dlg):
126 """
127 Module function to create the configuration page.
128
129 @param dlg reference to the configuration dialog
130 @return reference to the instantiated page (ConfigurationPageBase)
131 """
132 page = PluginManagerPage()
133 return page

eric ide

mercurial