50 self.spellPropertiesDlg = None |
50 self.spellPropertiesDlg = None |
51 |
51 |
52 self.dirCompleter = E5DirCompleter(self.dirEdit) |
52 self.dirCompleter = E5DirCompleter(self.dirEdit) |
53 self.mainscriptCompleter = E5FileCompleter(self.mainscriptEdit) |
53 self.mainscriptCompleter = E5FileCompleter(self.mainscriptEdit) |
54 |
54 |
55 projectLanguages = sorted( |
55 self.languageComboBox.addItems(project.getProgrammingLanguages()) |
56 e5App().getObject("DebugServer").getSupportedLanguages()) |
|
57 self.languageComboBox.addItems(projectLanguages) |
|
58 |
56 |
59 projectTypes = project.getProjectTypes() |
57 projectTypes = project.getProjectTypes() |
60 for projectTypeKey in sorted(projectTypes.keys()): |
58 self.projectTypeComboBox.clear() |
61 self.projectTypeComboBox.addItem(projectTypes[projectTypeKey], projectTypeKey) |
59 for projectType in sorted(projectTypes.keys()): |
|
60 self.projectTypeComboBox.addItem(projectTypes[projectType], projectType) |
62 |
61 |
63 if not new: |
62 if not new: |
64 name = os.path.splitext(self.project.pfile)[0] |
63 name = os.path.splitext(self.project.pfile)[0] |
65 self.nameEdit.setText(os.path.basename(name)) |
64 self.nameEdit.setText(os.path.basename(name)) |
66 self.languageComboBox.setCurrentIndex( |
65 self.languageComboBox.setCurrentIndex( |
67 self.languageComboBox.findText(self.project.pdata["PROGLANGUAGE"][0])) |
66 self.languageComboBox.findText(self.project.pdata["PROGLANGUAGE"][0])) |
68 self.mixedLanguageCheckBox.setChecked(self.project.pdata["MIXEDLANGUAGE"][0]) |
67 self.mixedLanguageCheckBox.setChecked(self.project.pdata["MIXEDLANGUAGE"][0]) |
69 try: |
68 curIndex = self.projectTypeComboBox.findData( |
70 curIndex = \ |
69 self.project.pdata["PROJECTTYPE"][0]) |
71 self.projectTypeComboBox.findText( |
|
72 projectTypes[self.project.pdata["PROJECTTYPE"][0]]) |
|
73 except KeyError: |
|
74 curIndex = -1 |
|
75 if curIndex == -1: |
70 if curIndex == -1: |
76 curIndex = self.projectTypeComboBox.findText(projectTypes["Qt4"]) |
71 curIndex = self.projectTypeComboBox.findData("Qt4") |
77 self.projectTypeComboBox.setCurrentIndex(curIndex) |
72 self.projectTypeComboBox.setCurrentIndex(curIndex) |
78 self.dirEdit.setText(self.project.ppath) |
73 self.dirEdit.setText(self.project.ppath) |
79 try: |
74 try: |
80 self.versionEdit.setText(self.project.pdata["VERSION"][0]) |
75 self.versionEdit.setText(self.project.pdata["VERSION"][0]) |
81 except IndexError: |
76 except IndexError: |
119 self.vcsCheckBox.hide() |
114 self.vcsCheckBox.hide() |
120 else: |
115 else: |
121 self.languageComboBox.setCurrentIndex( |
116 self.languageComboBox.setCurrentIndex( |
122 self.languageComboBox.findText("Python3")) |
117 self.languageComboBox.findText("Python3")) |
123 self.projectTypeComboBox.setCurrentIndex( |
118 self.projectTypeComboBox.setCurrentIndex( |
124 self.projectTypeComboBox.findText(projectTypes["Qt4"])) |
119 self.projectTypeComboBox.findData("Qt4")) |
125 hp = Preferences.getMultiProject("Workspace") or Utilities.getHomeDir() |
120 hp = Preferences.getMultiProject("Workspace") or Utilities.getHomeDir() |
126 self.dirEdit.setText(hp) |
121 self.dirEdit.setText(hp) |
127 self.versionEdit.setText('0.1') |
122 self.versionEdit.setText('0.1') |
128 self.vcsLabel.hide() |
123 self.vcsLabel.hide() |
129 self.vcsInfoButton.hide() |
124 self.vcsInfoButton.hide() |
130 if not self.project.vcsSoftwareAvailable(): |
125 if not self.project.vcsSoftwareAvailable(): |
131 self.vcsCheckBox.hide() |
126 self.vcsCheckBox.hide() |
132 |
127 |
|
128 @pyqtSlot(str) |
|
129 def on_languageComboBox_currentIndexChanged(self, language): |
|
130 """ |
|
131 Private slot handling the selection of a programming language. |
|
132 |
|
133 @param language selected programming language (string) |
|
134 """ |
|
135 curProjectType = self.getProjectType() |
|
136 |
|
137 self.projectTypeComboBox.clear() |
|
138 projectTypes = self.project.getProjectTypes(language) |
|
139 for projectType in sorted(projectTypes.keys()): |
|
140 self.projectTypeComboBox.addItem(projectTypes[projectType], projectType) |
|
141 |
|
142 self.projectTypeComboBox.setCurrentIndex( |
|
143 self.projectTypeComboBox.findData(curProjectType)) |
|
144 |
133 @pyqtSlot() |
145 @pyqtSlot() |
134 def on_dirButton_clicked(self): |
146 def on_dirButton_clicked(self): |
135 """ |
147 """ |
136 Private slot to display a directory selection dialog. |
148 Private slot to display a directory selection dialog. |
137 """ |
149 """ |
153 self.spellPropertiesDlg = \ |
165 self.spellPropertiesDlg = \ |
154 SpellingPropertiesDialog(self.project, self.newProject, self) |
166 SpellingPropertiesDialog(self.project, self.newProject, self) |
155 res = self.spellPropertiesDlg.exec_() |
167 res = self.spellPropertiesDlg.exec_() |
156 if res == QDialog.Rejected: |
168 if res == QDialog.Rejected: |
157 self.spellPropertiesDlg.initDialog() # reset the dialogs contents |
169 self.spellPropertiesDlg.initDialog() # reset the dialogs contents |
158 |
170 |
159 @pyqtSlot() |
171 @pyqtSlot() |
160 def on_transPropertiesButton_clicked(self): |
172 def on_transPropertiesButton_clicked(self): |
161 """ |
173 """ |
162 Private slot to display the translations properties dialog. |
174 Private slot to display the translations properties dialog. |
163 """ |
175 """ |
167 else: |
179 else: |
168 self.transPropertiesDlg.initFilters() |
180 self.transPropertiesDlg.initFilters() |
169 res = self.transPropertiesDlg.exec_() |
181 res = self.transPropertiesDlg.exec_() |
170 if res == QDialog.Rejected: |
182 if res == QDialog.Rejected: |
171 self.transPropertiesDlg.initDialog() # reset the dialogs contents |
183 self.transPropertiesDlg.initDialog() # reset the dialogs contents |
172 |
184 |
173 @pyqtSlot() |
185 @pyqtSlot() |
174 def on_mainscriptButton_clicked(self): |
186 def on_mainscriptButton_clicked(self): |
175 """ |
187 """ |
176 Private slot to display a file selection dialog. |
188 Private slot to display a file selection dialog. |
177 """ |
189 """ |
194 ppath = self.dirEdit.text() |
206 ppath = self.dirEdit.text() |
195 if ppath: |
207 if ppath: |
196 ppath = QDir(ppath).absolutePath() + QDir.separator() |
208 ppath = QDir(ppath).absolutePath() + QDir.separator() |
197 fn = fn.replace(ppath, "") |
209 fn = fn.replace(ppath, "") |
198 self.mainscriptEdit.setText(Utilities.toNativeSeparators(fn)) |
210 self.mainscriptEdit.setText(Utilities.toNativeSeparators(fn)) |
199 |
211 |
200 @pyqtSlot() |
212 @pyqtSlot() |
201 def on_vcsInfoButton_clicked(self): |
213 def on_vcsInfoButton_clicked(self): |
202 """ |
214 """ |
203 Private slot to display a vcs information dialog. |
215 Private slot to display a vcs information dialog. |
204 """ |
216 """ |
206 return |
218 return |
207 |
219 |
208 info = self.project.vcs.vcsRepositoryInfos(self.project.ppath) |
220 info = self.project.vcs.vcsRepositoryInfos(self.project.ppath) |
209 dlg = VcsRepositoryInfoDialog(self, info) |
221 dlg = VcsRepositoryInfoDialog(self, info) |
210 dlg.exec_() |
222 dlg.exec_() |
211 |
223 |
212 def getProjectType(self): |
224 def getProjectType(self): |
213 """ |
225 """ |
214 Public method to get the selected project type. |
226 Public method to get the selected project type. |
215 |
227 |
216 @return selected UI type (string) |
228 @return selected UI type (string) |
217 """ |
229 """ |
218 return self.projectTypeComboBox.itemData(self.projectTypeComboBox.currentIndex()) |
230 return self.projectTypeComboBox.itemData(self.projectTypeComboBox.currentIndex()) |
219 |
231 |
220 def getPPath(self): |
232 def getPPath(self): |
221 """ |
233 """ |
222 Public method to get the project path. |
234 Public method to get the project path. |
223 |
235 |
224 @return data of the project directory edit (string) |
236 @return data of the project directory edit (string) |
225 """ |
237 """ |
226 return os.path.abspath(self.dirEdit.text()) |
238 return os.path.abspath(self.dirEdit.text()) |
227 |
239 |
228 def storeData(self): |
240 def storeData(self): |
229 """ |
241 """ |
230 Public method to store the entered/modified data. |
242 Public method to store the entered/modified data. |
231 """ |
243 """ |
232 self.project.ppath = os.path.abspath(self.dirEdit.text()) |
244 self.project.ppath = os.path.abspath(self.dirEdit.text()) |