58 self.transPropertiesDlg = None |
58 self.transPropertiesDlg = None |
59 self.spellPropertiesDlg = None |
59 self.spellPropertiesDlg = None |
60 self.makePropertiesDlg = None |
60 self.makePropertiesDlg = None |
61 |
61 |
62 patterns = [] |
62 patterns = [] |
63 for pattern, filetype in self.project.pdata["FILETYPES"].items(): |
63 for pattern, filetype in self.project.getProjectData( |
|
64 dataKey="FILETYPES" |
|
65 ).items(): |
64 if filetype == "SOURCES": |
66 if filetype == "SOURCES": |
65 patterns.append(pattern) |
67 patterns.append(pattern) |
66 filters = self.tr("Source Files ({0});;All Files (*)").format( |
68 filters = self.tr("Source Files ({0});;All Files (*)").format( |
67 " ".join(sorted(patterns)) |
69 " ".join(sorted(patterns)) |
68 ) |
70 ) |
88 |
90 |
89 if not new: |
91 if not new: |
90 name = os.path.splitext(self.project.pfile)[0] |
92 name = os.path.splitext(self.project.pfile)[0] |
91 self.nameEdit.setText(os.path.basename(name)) |
93 self.nameEdit.setText(os.path.basename(name)) |
92 self.languageComboBox.setCurrentIndex( |
94 self.languageComboBox.setCurrentIndex( |
93 self.languageComboBox.findText(self.project.pdata["PROGLANGUAGE"]) |
95 self.languageComboBox.findText( |
94 ) |
96 self.project.getProjectData(dataKey="PROGLANGUAGE") |
95 self.mixedLanguageCheckBox.setChecked(self.project.pdata["MIXEDLANGUAGE"]) |
97 ) |
|
98 ) |
|
99 self.mixedLanguageCheckBox.setChecked( |
|
100 self.project.getProjectData(dataKey="MIXEDLANGUAGE") |
|
101 ) |
96 curIndex = self.projectTypeComboBox.findData( |
102 curIndex = self.projectTypeComboBox.findData( |
97 self.project.pdata["PROJECTTYPE"] |
103 self.project.getProjectData(dataKey="PROJECTTYPE") |
98 ) |
104 ) |
99 if curIndex == -1: |
105 if curIndex == -1: |
100 curIndex = self.projectTypeComboBox.findData("PyQt6") |
106 curIndex = self.projectTypeComboBox.findData("PyQt6") |
101 self.projectTypeComboBox.setCurrentIndex(curIndex) |
107 self.projectTypeComboBox.setCurrentIndex(curIndex) |
102 self.dirPicker.setText(self.project.ppath) |
108 self.dirPicker.setText(self.project.ppath) |
103 self.versionEdit.setText(self.project.pdata["VERSION"]) |
109 self.versionEdit.setText(self.project.getProjectData(dataKey="VERSION")) |
104 self.mainscriptPicker.setText(self.project.pdata["MAINSCRIPT"]) |
110 self.mainscriptPicker.setText( |
105 self.authorEdit.setText(self.project.pdata["AUTHOR"]) |
111 self.project.getProjectData(dataKey="MAINSCRIPT") |
106 self.emailEdit.setText(self.project.pdata["EMAIL"]) |
112 ) |
107 self.descriptionEdit.setPlainText(self.project.pdata["DESCRIPTION"]) |
113 self.authorEdit.setText(self.project.getProjectData(dataKey="AUTHOR")) |
108 self.eolComboBox.setCurrentIndex(self.project.pdata["EOL"]) |
114 self.emailEdit.setText(self.project.getProjectData(dataKey="EMAIL")) |
|
115 self.descriptionEdit.setPlainText( |
|
116 self.project.getProjectData(dataKey="DESCRIPTION") |
|
117 ) |
|
118 self.eolComboBox.setCurrentIndex(self.project.getProjectData(dataKey="EOL")) |
109 self.vcsLabel.show() |
119 self.vcsLabel.show() |
110 if self.project.vcs is not None: |
120 if self.project.vcs is not None: |
111 vcsSystemsDict = ( |
121 vcsSystemsDict = ( |
112 ericApp() |
122 ericApp() |
113 .getObject("PluginManager") |
123 .getObject("PluginManager") |
114 .getPluginDisplayStrings("version_control") |
124 .getPluginDisplayStrings("version_control") |
115 ) |
125 ) |
116 try: |
126 try: |
117 vcsSystemDisplay = vcsSystemsDict[self.project.pdata["VCS"]] |
127 vcsSystemDisplay = vcsSystemsDict[ |
|
128 self.project.getProjectData(dataKey="VCS") |
|
129 ] |
118 except KeyError: |
130 except KeyError: |
119 vcsSystemDisplay = "None" |
131 vcsSystemDisplay = "None" |
120 self.vcsLabel.setText( |
132 self.vcsLabel.setText( |
121 self.tr("The project is version controlled by <b>{0}</b>.").format( |
133 self.tr("The project is version controlled by <b>{0}</b>.").format( |
122 vcsSystemDisplay |
134 vcsSystemDisplay |
126 else: |
138 else: |
127 self.vcsLabel.setText(self.tr("The project is not version controlled.")) |
139 self.vcsLabel.setText(self.tr("The project is not version controlled.")) |
128 self.vcsInfoButton.hide() |
140 self.vcsInfoButton.hide() |
129 self.vcsCheckBox.hide() |
141 self.vcsCheckBox.hide() |
130 self.makeCheckBox.setChecked( |
142 self.makeCheckBox.setChecked( |
131 self.project.pdata["MAKEPARAMS"]["MakeEnabled"] |
143 self.project.getProjectData(dataKey="MAKEPARAMS")["MakeEnabled"] |
132 ) |
144 ) |
133 cindex = self.docstringStyleComboBox.findData( |
145 cindex = self.docstringStyleComboBox.findData( |
134 self.project.pdata["DOCSTRING"] |
146 self.project.getProjectData(dataKey="DOCSTRING") |
135 ) |
147 ) |
136 self.docstringStyleComboBox.setCurrentIndex(cindex) |
148 self.docstringStyleComboBox.setCurrentIndex(cindex) |
137 with contextlib.suppress(KeyError): |
149 with contextlib.suppress(KeyError): |
138 cindex = self.testingFrameworkComboBox.findData( |
150 cindex = self.testingFrameworkComboBox.findData( |
139 self.project.pdata["TESTING_FRAMEWORK"] |
151 self.project.getProjectData(dataKey="TESTING_FRAMEWORK") |
140 ) |
152 ) |
141 self.testingFrameworkComboBox.setCurrentIndex(cindex) |
153 self.testingFrameworkComboBox.setCurrentIndex(cindex) |
142 with contextlib.suppress(KeyError): |
154 with contextlib.suppress(KeyError): |
143 self.licenseComboBox.setCurrentText(self.project.pdata["LICENSE"]) |
155 self.licenseComboBox.setCurrentText( |
144 self.embeddedVenvCheckBox.setChecked(self.project.pdata["EMBEDDED_VENV"]) |
156 self.project.getProjectData(dataKey="LICENSE") |
|
157 ) |
|
158 self.embeddedVenvCheckBox.setChecked( |
|
159 self.project.getProjectData(dataKey="EMBEDDED_VENV") |
|
160 ) |
145 else: |
161 else: |
146 self.languageComboBox.setCurrentText("Python3") |
162 self.languageComboBox.setCurrentText("Python3") |
147 self.projectTypeComboBox.setCurrentIndex( |
163 self.projectTypeComboBox.setCurrentIndex( |
148 self.projectTypeComboBox.findData("PyQt6") |
164 self.projectTypeComboBox.findData("PyQt6") |
149 ) |
165 ) |
328 self.project.name = fn |
344 self.project.name = fn |
329 fn = "{0}.epj".format(fn) |
345 fn = "{0}.epj".format(fn) |
330 self.project.pfile = os.path.join(self.project.ppath, fn) |
346 self.project.pfile = os.path.join(self.project.ppath, fn) |
331 else: |
347 else: |
332 self.project.pfile = "" |
348 self.project.pfile = "" |
333 self.project.pdata["VERSION"] = self.versionEdit.text() |
349 self.project.setProjectData(self.versionEdit.text(), dataKey="VERSION") |
334 fn = self.mainscriptPicker.text() |
350 fn = self.mainscriptPicker.text() |
335 if fn: |
351 if fn: |
336 fn = self.project.getRelativePath(fn) |
352 fn = self.project.getRelativePath(fn) |
337 self.project.pdata["MAINSCRIPT"] = fn |
353 self.project.setProjectData(fn, dataKey="MAINSCRIPT") |
338 self.project.translationsRoot = os.path.splitext(fn)[0] |
354 self.project.translationsRoot = os.path.splitext(fn)[0] |
339 else: |
355 else: |
340 self.project.pdata["MAINSCRIPT"] = "" |
356 self.project.setProjectData("", dataKey="MAINSCRIPT") |
341 self.project.translationsRoot = "" |
357 self.project.translationsRoot = "" |
342 self.project.pdata["AUTHOR"] = self.authorEdit.text() |
358 self.project.setProjectData(self.authorEdit.text(), dataKey="AUTHOR") |
343 self.project.pdata["EMAIL"] = self.emailEdit.text() |
359 self.project.setProjectData(self.emailEdit.text(), dataKey="EMAIL") |
344 self.project.pdata["DESCRIPTION"] = self.descriptionEdit.toPlainText() |
360 self.project.setProjectData( |
345 self.project.pdata["PROGLANGUAGE"] = self.languageComboBox.currentText() |
361 self.descriptionEdit.toPlainText(), dataKey="DESCRIPTION" |
346 self.project.pdata["MIXEDLANGUAGE"] = self.mixedLanguageCheckBox.isChecked() |
362 ) |
|
363 self.project.setProjectData( |
|
364 self.languageComboBox.currentText(), dataKey="PROGLANGUAGE" |
|
365 ) |
|
366 self.project.setProjectData( |
|
367 self.mixedLanguageCheckBox.isChecked(), dataKey="MIXEDLANGUAGE" |
|
368 ) |
347 projectType = self.getProjectType() |
369 projectType = self.getProjectType() |
348 if projectType is not None: |
370 if projectType is not None: |
349 self.project.pdata["PROJECTTYPE"] = projectType |
371 self.project.setProjectData(projectType, dataKey="PROJECTTYPE") |
350 self.project.pdata["EOL"] = self.eolComboBox.currentIndex() |
372 self.project.setProjectData(self.eolComboBox.currentIndex(), dataKey="EOL") |
351 |
373 |
352 self.project.vcsRequested = self.vcsCheckBox.isChecked() |
374 self.project.vcsRequested = self.vcsCheckBox.isChecked() |
353 |
375 |
354 if self.spellPropertiesDlg is not None: |
376 if self.spellPropertiesDlg is not None: |
355 self.spellPropertiesDlg.storeData() |
377 self.spellPropertiesDlg.storeData() |
356 |
378 |
357 if self.transPropertiesDlg is not None: |
379 if self.transPropertiesDlg is not None: |
358 self.transPropertiesDlg.storeData() |
380 self.transPropertiesDlg.storeData() |
359 |
381 |
360 self.project.pdata["MAKEPARAMS"]["MakeEnabled"] = self.makeCheckBox.isChecked() |
382 makeParams = self.project.getProjectData(dataKey="MAKEPARAMS") |
|
383 makeParams["MakeEnabled"] = self.makeCheckBox.isChecked() |
|
384 self.project.setProjectData(makeParams, dataKey="MAKEPARAMS") |
361 if self.makePropertiesDlg is not None: |
385 if self.makePropertiesDlg is not None: |
362 self.makePropertiesDlg.storeData() |
386 self.makePropertiesDlg.storeData() |
363 |
387 |
364 self.project.pdata["DOCSTRING"] = self.docstringStyleComboBox.currentData() |
388 self.project.setProjectData( |
365 |
389 self.docstringStyleComboBox.currentData(), dataKey="DOCSTRING" |
366 self.project.pdata[ |
390 ) |
367 "TESTING_FRAMEWORK" |
391 |
368 ] = self.testingFrameworkComboBox.currentData() |
392 self.project.setProjectData( |
369 |
393 self.testingFrameworkComboBox.currentData(), dataKey="TESTING_FRAMEWORK" |
370 self.project.pdata["LICENSE"] = self.licenseComboBox.currentText() |
394 ) |
371 |
395 |
372 self.project.pdata["EMBEDDED_VENV"] = self.embeddedVenvCheckBox.isChecked() |
396 self.project.setProjectData( |
|
397 self.licenseComboBox.currentText(), dataKey="LICENSE" |
|
398 ) |
|
399 |
|
400 self.project.setProjectData( |
|
401 self.embeddedVenvCheckBox.isChecked(), dataKey="EMBEDDED_VENV" |
|
402 ) |