--- a/src/eric7/Project/PropertiesDialog.py Wed Nov 16 10:10:06 2022 +0100 +++ b/src/eric7/Project/PropertiesDialog.py Wed Nov 16 10:53:40 2022 +0100 @@ -60,7 +60,9 @@ self.makePropertiesDlg = None patterns = [] - for pattern, filetype in self.project.pdata["FILETYPES"].items(): + for pattern, filetype in self.project.getProjectData( + dataKey="FILETYPES" + ).items(): if filetype == "SOURCES": patterns.append(pattern) filters = self.tr("Source Files ({0});;All Files (*)").format( @@ -90,22 +92,30 @@ name = os.path.splitext(self.project.pfile)[0] self.nameEdit.setText(os.path.basename(name)) self.languageComboBox.setCurrentIndex( - self.languageComboBox.findText(self.project.pdata["PROGLANGUAGE"]) + self.languageComboBox.findText( + self.project.getProjectData(dataKey="PROGLANGUAGE") + ) ) - self.mixedLanguageCheckBox.setChecked(self.project.pdata["MIXEDLANGUAGE"]) + self.mixedLanguageCheckBox.setChecked( + self.project.getProjectData(dataKey="MIXEDLANGUAGE") + ) curIndex = self.projectTypeComboBox.findData( - self.project.pdata["PROJECTTYPE"] + self.project.getProjectData(dataKey="PROJECTTYPE") ) if curIndex == -1: curIndex = self.projectTypeComboBox.findData("PyQt6") self.projectTypeComboBox.setCurrentIndex(curIndex) self.dirPicker.setText(self.project.ppath) - self.versionEdit.setText(self.project.pdata["VERSION"]) - self.mainscriptPicker.setText(self.project.pdata["MAINSCRIPT"]) - self.authorEdit.setText(self.project.pdata["AUTHOR"]) - self.emailEdit.setText(self.project.pdata["EMAIL"]) - self.descriptionEdit.setPlainText(self.project.pdata["DESCRIPTION"]) - self.eolComboBox.setCurrentIndex(self.project.pdata["EOL"]) + self.versionEdit.setText(self.project.getProjectData(dataKey="VERSION")) + self.mainscriptPicker.setText( + self.project.getProjectData(dataKey="MAINSCRIPT") + ) + self.authorEdit.setText(self.project.getProjectData(dataKey="AUTHOR")) + self.emailEdit.setText(self.project.getProjectData(dataKey="EMAIL")) + self.descriptionEdit.setPlainText( + self.project.getProjectData(dataKey="DESCRIPTION") + ) + self.eolComboBox.setCurrentIndex(self.project.getProjectData(dataKey="EOL")) self.vcsLabel.show() if self.project.vcs is not None: vcsSystemsDict = ( @@ -114,7 +124,9 @@ .getPluginDisplayStrings("version_control") ) try: - vcsSystemDisplay = vcsSystemsDict[self.project.pdata["VCS"]] + vcsSystemDisplay = vcsSystemsDict[ + self.project.getProjectData(dataKey="VCS") + ] except KeyError: vcsSystemDisplay = "None" self.vcsLabel.setText( @@ -128,20 +140,24 @@ self.vcsInfoButton.hide() self.vcsCheckBox.hide() self.makeCheckBox.setChecked( - self.project.pdata["MAKEPARAMS"]["MakeEnabled"] + self.project.getProjectData(dataKey="MAKEPARAMS")["MakeEnabled"] ) cindex = self.docstringStyleComboBox.findData( - self.project.pdata["DOCSTRING"] + self.project.getProjectData(dataKey="DOCSTRING") ) self.docstringStyleComboBox.setCurrentIndex(cindex) with contextlib.suppress(KeyError): cindex = self.testingFrameworkComboBox.findData( - self.project.pdata["TESTING_FRAMEWORK"] + self.project.getProjectData(dataKey="TESTING_FRAMEWORK") ) self.testingFrameworkComboBox.setCurrentIndex(cindex) with contextlib.suppress(KeyError): - self.licenseComboBox.setCurrentText(self.project.pdata["LICENSE"]) - self.embeddedVenvCheckBox.setChecked(self.project.pdata["EMBEDDED_VENV"]) + self.licenseComboBox.setCurrentText( + self.project.getProjectData(dataKey="LICENSE") + ) + self.embeddedVenvCheckBox.setChecked( + self.project.getProjectData(dataKey="EMBEDDED_VENV") + ) else: self.languageComboBox.setCurrentText("Python3") self.projectTypeComboBox.setCurrentIndex( @@ -330,24 +346,30 @@ self.project.pfile = os.path.join(self.project.ppath, fn) else: self.project.pfile = "" - self.project.pdata["VERSION"] = self.versionEdit.text() + self.project.setProjectData(self.versionEdit.text(), dataKey="VERSION") fn = self.mainscriptPicker.text() if fn: fn = self.project.getRelativePath(fn) - self.project.pdata["MAINSCRIPT"] = fn + self.project.setProjectData(fn, dataKey="MAINSCRIPT") self.project.translationsRoot = os.path.splitext(fn)[0] else: - self.project.pdata["MAINSCRIPT"] = "" + self.project.setProjectData("", dataKey="MAINSCRIPT") self.project.translationsRoot = "" - self.project.pdata["AUTHOR"] = self.authorEdit.text() - self.project.pdata["EMAIL"] = self.emailEdit.text() - self.project.pdata["DESCRIPTION"] = self.descriptionEdit.toPlainText() - self.project.pdata["PROGLANGUAGE"] = self.languageComboBox.currentText() - self.project.pdata["MIXEDLANGUAGE"] = self.mixedLanguageCheckBox.isChecked() + self.project.setProjectData(self.authorEdit.text(), dataKey="AUTHOR") + self.project.setProjectData(self.emailEdit.text(), dataKey="EMAIL") + self.project.setProjectData( + self.descriptionEdit.toPlainText(), dataKey="DESCRIPTION" + ) + self.project.setProjectData( + self.languageComboBox.currentText(), dataKey="PROGLANGUAGE" + ) + self.project.setProjectData( + self.mixedLanguageCheckBox.isChecked(), dataKey="MIXEDLANGUAGE" + ) projectType = self.getProjectType() if projectType is not None: - self.project.pdata["PROJECTTYPE"] = projectType - self.project.pdata["EOL"] = self.eolComboBox.currentIndex() + self.project.setProjectData(projectType, dataKey="PROJECTTYPE") + self.project.setProjectData(self.eolComboBox.currentIndex(), dataKey="EOL") self.project.vcsRequested = self.vcsCheckBox.isChecked() @@ -357,16 +379,24 @@ if self.transPropertiesDlg is not None: self.transPropertiesDlg.storeData() - self.project.pdata["MAKEPARAMS"]["MakeEnabled"] = self.makeCheckBox.isChecked() + makeParams = self.project.getProjectData(dataKey="MAKEPARAMS") + makeParams["MakeEnabled"] = self.makeCheckBox.isChecked() + self.project.setProjectData(makeParams, dataKey="MAKEPARAMS") if self.makePropertiesDlg is not None: self.makePropertiesDlg.storeData() - self.project.pdata["DOCSTRING"] = self.docstringStyleComboBox.currentData() + self.project.setProjectData( + self.docstringStyleComboBox.currentData(), dataKey="DOCSTRING" + ) + + self.project.setProjectData( + self.testingFrameworkComboBox.currentData(), dataKey="TESTING_FRAMEWORK" + ) - self.project.pdata[ - "TESTING_FRAMEWORK" - ] = self.testingFrameworkComboBox.currentData() + self.project.setProjectData( + self.licenseComboBox.currentText(), dataKey="LICENSE" + ) - self.project.pdata["LICENSE"] = self.licenseComboBox.currentText() - - self.project.pdata["EMBEDDED_VENV"] = self.embeddedVenvCheckBox.isChecked() + self.project.setProjectData( + self.embeddedVenvCheckBox.isChecked(), dataKey="EMBEDDED_VENV" + )