diff -r 8c3d033e5044 -r 0cdead130a81 eric6/Project/CreateDialogCodeDialog.py --- a/eric6/Project/CreateDialogCodeDialog.py Sat Jun 20 17:36:20 2020 +0200 +++ b/eric6/Project/CreateDialogCodeDialog.py Sun Jun 21 18:26:12 2020 +0200 @@ -288,22 +288,18 @@ # I. always check for * mapped = mapped.replace("*", "") - if ( - self.project.getProjectLanguage() != "Python2" or - self.project.getProjectType in ("PySide", "PySide2") - ): - # 1. check for const - mapped = mapped.replace("const ", "") - - # 2. replace QString and QStringList - mapped = ( - mapped - .replace("QStringList", "list") - .replace("QString", "str") - ) - - # 3. replace double by float - mapped = mapped.replace("double", "float") + # 1. check for const + mapped = mapped.replace("const ", "") + + # 2. replace QString and QStringList + mapped = ( + mapped + .replace("QStringList", "list") + .replace("QString", "str") + ) + + # 3. replace double by float + mapped = mapped.replace("double", "float") return mapped @@ -377,7 +373,7 @@ elif self.filenameEdit.text().endswith(".rb"): pass # second decide on project language - elif self.project.getProjectLanguage() in ["Python2", "Python3"]: + elif self.project.getProjectLanguage() == "Python3": self.__generatePythonCode() elif self.project.getProjectLanguage() == "Ruby": pass @@ -389,6 +385,16 @@ """ Private slot to generate Python code as requested by the user. """ + if self.project.getProjectLanguage() != "Python3": + E5MessageBox.critical( + self, + self.tr("Code Generation"), + self.tr( + """<p>Code generation for project language""" + """ "{0}" is not supported.</p>""") + .format(self.project.getProjectLanguage())) + return + # init some variables sourceImpl = [] appendAtIndex = -1 @@ -398,41 +404,24 @@ if self.__module is None: # new file try: - if self.project.getProjectLanguage() == "Python2": - if self.project.getProjectType() == "PySide": - tmplName = os.path.join( - getConfig('ericCodeTemplatesDir'), - "impl_pyside.py2.tmpl") - elif self.project.getProjectType() == "PySide2": - tmplName = os.path.join( - getConfig('ericCodeTemplatesDir'), - "impl_pyside2.py2.tmpl") - elif self.project.getProjectType() == "PyQt5": - tmplName = os.path.join( - getConfig('ericCodeTemplatesDir'), - "impl_pyqt5.py2.tmpl") - else: - tmplName = os.path.join( - getConfig('ericCodeTemplatesDir'), - "impl_pyqt.py2.tmpl") + if self.project.getProjectType() == "PySide2": + tmplName = os.path.join( + getConfig('ericCodeTemplatesDir'), + "impl_pyside2.py.tmpl") + elif self.project.getProjectType() in [ + "PyQt5", "E6Plugin"]: + tmplName = os.path.join( + getConfig('ericCodeTemplatesDir'), + "impl_pyqt5.py.tmpl") else: - if self.project.getProjectType() == "PySide": - tmplName = os.path.join( - getConfig('ericCodeTemplatesDir'), - "impl_pyside.py.tmpl") - elif self.project.getProjectType() == "PySide2": - tmplName = os.path.join( - getConfig('ericCodeTemplatesDir'), - "impl_pyside2.py.tmpl") - elif self.project.getProjectType() in [ - "PyQt5", "E6Plugin"]: - tmplName = os.path.join( - getConfig('ericCodeTemplatesDir'), - "impl_pyqt5.py.tmpl") - else: - tmplName = os.path.join( - getConfig('ericCodeTemplatesDir'), - "impl_pyqt.py.tmpl") + E5MessageBox.critical( + self, + self.tr("Code Generation"), + self.tr( + """<p>No code template file available for""" + """ project type "{0}".</p>""") + .format(self.project.getProjectType())) + return tmplFile = open(tmplName, 'r', encoding="utf-8") template = tmplFile.read() tmplFile.close() @@ -503,18 +492,10 @@ break # do the coding stuff - if self.project.getProjectLanguage() == "Python2": - if self.project.getProjectType() in ("PySide", "PySide2"): - pyqtSignatureFormat = '@Slot({0})' - elif self.project.getProjectType() == "PyQt5": - pyqtSignatureFormat = '@pyqtSlot({0})' - else: - pyqtSignatureFormat = '@pyqtSignature("{0}")' + if self.project.getProjectType() in ("PySide2",): + pyqtSignatureFormat = '@Slot({0})' else: - if self.project.getProjectType() in ("PySide", "PySide2"): - pyqtSignatureFormat = '@Slot({0})' - else: - pyqtSignatureFormat = '@pyqtSlot({0})' + pyqtSignatureFormat = '@pyqtSlot({0})' for row in range(self.slotsModel.rowCount()): topItem = self.slotsModel.item(row) for childRow in range(topItem.rowCount()):