5 |
5 |
6 """ |
6 """ |
7 Module implementing the Project Browser configuration page. |
7 Module implementing the Project Browser configuration page. |
8 """ |
8 """ |
9 |
9 |
10 from PyQt4.QtCore import pyqtSlot, QVariant |
10 from PyQt4.QtCore import pyqtSlot |
11 |
11 |
12 from E4Gui.E4Application import e4App |
12 from E4Gui.E4Application import e4App |
13 |
13 |
14 from ConfigurationPageBase import ConfigurationPageBase |
14 from ConfigurationPageBase import ConfigurationPageBase |
15 from Ui_ProjectBrowserPage import Ui_ProjectBrowserPage |
15 from Ui_ProjectBrowserPage import Ui_ProjectBrowserPage |
34 |
34 |
35 self.projectBrowserColours = {} |
35 self.projectBrowserColours = {} |
36 self.__currentProjectTypeIndex = 0 |
36 self.__currentProjectTypeIndex = 0 |
37 |
37 |
38 # set initial values |
38 # set initial values |
39 self.projectTypeCombo.addItem('', QVariant('')) |
39 self.projectTypeCombo.addItem('', '') |
40 self.__projectBrowserFlags = {'' : 0} |
40 self.__projectBrowserFlags = {'' : 0} |
41 try: |
41 try: |
42 projectTypes = e4App().getObject("Project").getProjectTypes() |
42 projectTypes = e4App().getObject("Project").getProjectTypes() |
43 for projectType in sorted(projectTypes.keys()): |
43 for projectType in sorted(projectTypes.keys()): |
44 self.projectTypeCombo.addItem(projectTypes[projectType], |
44 self.projectTypeCombo.addItem(projectTypes[projectType], |
45 QVariant(projectType)) |
45 projectType) |
46 self.__projectBrowserFlags[projectType] = \ |
46 self.__projectBrowserFlags[projectType] = \ |
47 Preferences.getProjectBrowserFlags(projectType) |
47 Preferences.getProjectBrowserFlags(projectType) |
48 except KeyError: |
48 except KeyError: |
49 self.pbGroup.setEnabled(False) |
49 self.pbGroup.setEnabled(False) |
50 |
50 |
63 """ |
63 """ |
64 for key in self.projectBrowserColours.keys(): |
64 for key in self.projectBrowserColours.keys(): |
65 Preferences.setProjectBrowserColour(key, self.projectBrowserColours[key]) |
65 Preferences.setProjectBrowserColour(key, self.projectBrowserColours[key]) |
66 |
66 |
67 Preferences.setProject("FollowEditor", |
67 Preferences.setProject("FollowEditor", |
68 int(self.followEditorCheckBox.isChecked())) |
68 self.followEditorCheckBox.isChecked()) |
69 Preferences.setProject("HideGeneratedForms", |
69 Preferences.setProject("HideGeneratedForms", |
70 int(self.hideGeneratedCheckBox.isChecked())) |
70 self.hideGeneratedCheckBox.isChecked()) |
71 |
71 |
72 if self.pbGroup.isEnabled(): |
72 if self.pbGroup.isEnabled(): |
73 self.__storeProjectBrowserFlags(\ |
73 self.__storeProjectBrowserFlags(\ |
74 self.projectTypeCombo.itemData(self.__currentProjectTypeIndex).toString()) |
74 self.projectTypeCombo.itemData(self.__currentProjectTypeIndex)) |
75 for projectType, flags in self.__projectBrowserFlags.items(): |
75 for projectType, flags in self.__projectBrowserFlags.items(): |
76 if projectType != '': |
76 if projectType != '': |
77 Preferences.setProjectBrowserFlags(projectType, flags) |
77 Preferences.setProjectBrowserFlags(projectType, flags) |
78 |
78 |
79 @pyqtSlot() |
79 @pyqtSlot() |
133 """ |
133 """ |
134 if self.__currentProjectTypeIndex == index: |
134 if self.__currentProjectTypeIndex == index: |
135 return |
135 return |
136 |
136 |
137 self.__storeProjectBrowserFlags(\ |
137 self.__storeProjectBrowserFlags(\ |
138 self.projectTypeCombo.itemData(self.__currentProjectTypeIndex).toString()) |
138 self.projectTypeCombo.itemData(self.__currentProjectTypeIndex)) |
139 self.__setProjectBrowsersCheckBoxes(\ |
139 self.__setProjectBrowsersCheckBoxes(\ |
140 self.projectTypeCombo.itemData(index).toString()) |
140 self.projectTypeCombo.itemData(index)) |
141 self.__currentProjectTypeIndex = index |
141 self.__currentProjectTypeIndex = index |
142 |
142 |
143 def create(dlg): |
143 def create(dlg): |
144 """ |
144 """ |
145 Module function to create the configuration page. |
145 Module function to create the configuration page. |