eric6/Project/CreateDialogCodeDialog.py

changeset 7635
0cdead130a81
parent 7494
268c297df637
child 7759
51aa6c6b66f7
--- 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()):

eric ide

mercurial