18 ResourcesBrowserFlag, TranslationsBrowserFlag, InterfacesBrowserFlag, \ |
18 ResourcesBrowserFlag, TranslationsBrowserFlag, InterfacesBrowserFlag, \ |
19 OthersBrowserFlag |
19 OthersBrowserFlag |
20 |
20 |
21 import Preferences |
21 import Preferences |
22 |
22 |
|
23 |
23 class ProjectBrowserPage(ConfigurationPageBase, Ui_ProjectBrowserPage): |
24 class ProjectBrowserPage(ConfigurationPageBase, Ui_ProjectBrowserPage): |
24 """ |
25 """ |
25 Class implementing the Project Browser configuration page. |
26 Class implementing the Project Browser configuration page. |
26 """ |
27 """ |
27 def __init__(self): |
28 def __init__(self): |
35 self.projectBrowserColours = {} |
36 self.projectBrowserColours = {} |
36 self.__currentProjectTypeIndex = 0 |
37 self.__currentProjectTypeIndex = 0 |
37 |
38 |
38 # set initial values |
39 # set initial values |
39 self.projectTypeCombo.addItem('', '') |
40 self.projectTypeCombo.addItem('', '') |
40 self.__projectBrowserFlags = {'' : 0} |
41 self.__projectBrowserFlags = {'': 0} |
41 try: |
42 try: |
42 projectTypes = e5App().getObject("Project").getProjectTypes() |
43 projectTypes = e5App().getObject("Project").getProjectTypes() |
43 for projectType in sorted(projectTypes.keys()): |
44 for projectType in sorted(projectTypes.keys()): |
44 self.projectTypeCombo.addItem(projectTypes[projectType], |
45 self.projectTypeCombo.addItem(projectTypes[projectType], |
45 projectType) |
46 projectType) |
46 self.__projectBrowserFlags[projectType] = \ |
47 self.__projectBrowserFlags[projectType] = \ |
47 Preferences.getProjectBrowserFlags(projectType) |
48 Preferences.getProjectBrowserFlags(projectType) |
48 except KeyError: |
49 except KeyError: |
49 self.pbGroup.setEnabled(False) |
50 self.pbGroup.setEnabled(False) |
50 |
51 |
51 self.projectBrowserColours["Highlighted"] = \ |
52 self.projectBrowserColours["Highlighted"] = \ |
52 self.initColour("Highlighted", self.pbHighlightedButton, |
53 self.initColour("Highlighted", self.pbHighlightedButton, |
53 Preferences.getProjectBrowserColour) |
54 Preferences.getProjectBrowserColour) |
54 |
55 |
55 self.followEditorCheckBox.setChecked( |
56 self.followEditorCheckBox.setChecked( |
56 Preferences.getProject("FollowEditor")) |
57 Preferences.getProject("FollowEditor")) |
57 self.hideGeneratedCheckBox.setChecked( |
58 self.hideGeneratedCheckBox.setChecked( |
62 Public slot to save the Project Browser configuration. |
63 Public slot to save the Project Browser configuration. |
63 """ |
64 """ |
64 for key in list(self.projectBrowserColours.keys()): |
65 for key in list(self.projectBrowserColours.keys()): |
65 Preferences.setProjectBrowserColour(key, self.projectBrowserColours[key]) |
66 Preferences.setProjectBrowserColour(key, self.projectBrowserColours[key]) |
66 |
67 |
67 Preferences.setProject("FollowEditor", |
68 Preferences.setProject("FollowEditor", |
68 self.followEditorCheckBox.isChecked()) |
69 self.followEditorCheckBox.isChecked()) |
69 Preferences.setProject("HideGeneratedForms", |
70 Preferences.setProject("HideGeneratedForms", |
70 self.hideGeneratedCheckBox.isChecked()) |
71 self.hideGeneratedCheckBox.isChecked()) |
71 |
72 |
72 if self.pbGroup.isEnabled(): |
73 if self.pbGroup.isEnabled(): |
73 self.__storeProjectBrowserFlags( |
74 self.__storeProjectBrowserFlags( |
74 self.projectTypeCombo.itemData(self.__currentProjectTypeIndex)) |
75 self.projectTypeCombo.itemData(self.__currentProjectTypeIndex)) |
77 Preferences.setProjectBrowserFlags(projectType, flags) |
78 Preferences.setProjectBrowserFlags(projectType, flags) |
78 |
79 |
79 @pyqtSlot() |
80 @pyqtSlot() |
80 def on_pbHighlightedButton_clicked(self): |
81 def on_pbHighlightedButton_clicked(self): |
81 """ |
82 """ |
82 Private slot to set the colour for highlighted entries of the |
83 Private slot to set the colour for highlighted entries of the |
83 project others browser. |
84 project others browser. |
84 """ |
85 """ |
85 self.projectBrowserColours["Highlighted"] = \ |
86 self.projectBrowserColours["Highlighted"] = \ |
86 self.selectColour(self.pbHighlightedButton, |
87 self.selectColour(self.pbHighlightedButton, |
87 self.projectBrowserColours["Highlighted"]) |
88 self.projectBrowserColours["Highlighted"]) |
88 |
89 |
89 def __storeProjectBrowserFlags(self, projectType): |
90 def __storeProjectBrowserFlags(self, projectType): |
90 """ |
91 """ |
91 Private method to store the flags for the selected project type. |
92 Private method to store the flags for the selected project type. |
138 self.projectTypeCombo.itemData(self.__currentProjectTypeIndex)) |
139 self.projectTypeCombo.itemData(self.__currentProjectTypeIndex)) |
139 self.__setProjectBrowsersCheckBoxes( |
140 self.__setProjectBrowsersCheckBoxes( |
140 self.projectTypeCombo.itemData(index)) |
141 self.projectTypeCombo.itemData(index)) |
141 self.__currentProjectTypeIndex = index |
142 self.__currentProjectTypeIndex = index |
142 |
143 |
|
144 |
143 def create(dlg): |
145 def create(dlg): |
144 """ |
146 """ |
145 Module function to create the configuration page. |
147 Module function to create the configuration page. |
146 |
148 |
147 @param dlg reference to the configuration dialog |
149 @param dlg reference to the configuration dialog |