|
1 # -*- coding: utf-8 -*- |
|
2 |
|
3 # Copyright (c) 2006 - 2019 Detlev Offenbach <detlev@die-offenbachs.de> |
|
4 # |
|
5 |
|
6 """ |
|
7 Module implementing the Project configuration page. |
|
8 """ |
|
9 |
|
10 from __future__ import unicode_literals |
|
11 |
|
12 from .ConfigurationPageBase import ConfigurationPageBase |
|
13 from .Ui_ProjectPage import Ui_ProjectPage |
|
14 |
|
15 import Preferences |
|
16 |
|
17 |
|
18 class ProjectPage(ConfigurationPageBase, Ui_ProjectPage): |
|
19 """ |
|
20 Class implementing the Project configuration page. |
|
21 """ |
|
22 def __init__(self): |
|
23 """ |
|
24 Constructor |
|
25 """ |
|
26 super(ProjectPage, self).__init__() |
|
27 self.setupUi(self) |
|
28 self.setObjectName("ProjectPage") |
|
29 |
|
30 # set initial values |
|
31 self.projectSearchNewFilesRecursiveCheckBox.setChecked( |
|
32 Preferences.getProject("SearchNewFilesRecursively")) |
|
33 self.projectSearchNewFilesCheckBox.setChecked( |
|
34 Preferences.getProject("SearchNewFiles")) |
|
35 self.projectAutoIncludeNewFilesCheckBox.setChecked( |
|
36 Preferences.getProject("AutoIncludeNewFiles")) |
|
37 self.projectLoadSessionCheckBox.setChecked( |
|
38 Preferences.getProject("AutoLoadSession")) |
|
39 self.projectSaveSessionCheckBox.setChecked( |
|
40 Preferences.getProject("AutoSaveSession")) |
|
41 self.projectSessionAllBpCheckBox.setChecked( |
|
42 Preferences.getProject("SessionAllBreakpoints")) |
|
43 self.projectLoadDebugPropertiesCheckBox.setChecked( |
|
44 Preferences.getProject("AutoLoadDbgProperties")) |
|
45 self.projectSaveDebugPropertiesCheckBox.setChecked( |
|
46 Preferences.getProject("AutoSaveDbgProperties")) |
|
47 self.projectAutoCompileFormsCheckBox.setChecked( |
|
48 Preferences.getProject("AutoCompileForms")) |
|
49 self.projectAutoCompileResourcesCheckBox.setChecked( |
|
50 Preferences.getProject("AutoCompileResources")) |
|
51 self.projectAutoMakeCheckBox.setChecked( |
|
52 Preferences.getProject("AutoExecuteMake")) |
|
53 self.projectTimestampCheckBox.setChecked( |
|
54 Preferences.getProject("XMLTimestamp")) |
|
55 self.projectRecentSpinBox.setValue( |
|
56 Preferences.getProject("RecentNumber")) |
|
57 self.pythonVariantCheckBox.setChecked( |
|
58 Preferences.getProject("DeterminePyFromProject")) |
|
59 self.autosaveTasksCheckBox.setChecked( |
|
60 Preferences.getProject("TasksProjectAutoSave")) |
|
61 self.rescanTasksCheckBox.setChecked( |
|
62 Preferences.getProject("TasksProjectRescanOnOpen")) |
|
63 self.restartShellCheckBox.setChecked( |
|
64 Preferences.getProject("RestartShellForProject")) |
|
65 |
|
66 def save(self): |
|
67 """ |
|
68 Public slot to save the Project configuration. |
|
69 """ |
|
70 Preferences.setProject( |
|
71 "SearchNewFilesRecursively", |
|
72 self.projectSearchNewFilesRecursiveCheckBox.isChecked()) |
|
73 Preferences.setProject( |
|
74 "SearchNewFiles", |
|
75 self.projectSearchNewFilesCheckBox.isChecked()) |
|
76 Preferences.setProject( |
|
77 "AutoIncludeNewFiles", |
|
78 self.projectAutoIncludeNewFilesCheckBox.isChecked()) |
|
79 Preferences.setProject( |
|
80 "AutoLoadSession", |
|
81 self.projectLoadSessionCheckBox.isChecked()) |
|
82 Preferences.setProject( |
|
83 "AutoSaveSession", |
|
84 self.projectSaveSessionCheckBox.isChecked()) |
|
85 Preferences.setProject( |
|
86 "SessionAllBreakpoints", |
|
87 self.projectSessionAllBpCheckBox.isChecked()) |
|
88 Preferences.setProject( |
|
89 "AutoLoadDbgProperties", |
|
90 self.projectLoadDebugPropertiesCheckBox.isChecked()) |
|
91 Preferences.setProject( |
|
92 "AutoSaveDbgProperties", |
|
93 self.projectSaveDebugPropertiesCheckBox.isChecked()) |
|
94 Preferences.setProject( |
|
95 "AutoCompileForms", |
|
96 self.projectAutoCompileFormsCheckBox.isChecked()) |
|
97 Preferences.setProject( |
|
98 "AutoCompileResources", |
|
99 self.projectAutoCompileResourcesCheckBox.isChecked()) |
|
100 Preferences.setProject( |
|
101 "AutoExecuteMake", |
|
102 self.projectAutoMakeCheckBox.isChecked()) |
|
103 Preferences.setProject( |
|
104 "XMLTimestamp", |
|
105 self.projectTimestampCheckBox.isChecked()) |
|
106 Preferences.setProject( |
|
107 "RecentNumber", |
|
108 self.projectRecentSpinBox.value()) |
|
109 Preferences.setProject( |
|
110 "DeterminePyFromProject", |
|
111 self.pythonVariantCheckBox.isChecked()) |
|
112 Preferences.setProject( |
|
113 "TasksProjectAutoSave", |
|
114 self.autosaveTasksCheckBox.isChecked()) |
|
115 Preferences.setProject( |
|
116 "TasksProjectRescanOnOpen", |
|
117 self.rescanTasksCheckBox.isChecked()) |
|
118 Preferences.setProject( |
|
119 "RestartShellForProject", |
|
120 self.restartShellCheckBox.isChecked()) |
|
121 |
|
122 |
|
123 def create(dlg): |
|
124 """ |
|
125 Module function to create the configuration page. |
|
126 |
|
127 @param dlg reference to the configuration dialog |
|
128 @return reference to the instantiated page (ConfigurationPageBase) |
|
129 """ |
|
130 page = ProjectPage() |
|
131 return page |