Adjustments for PySide on Windows. 5_1_x

Sat, 16 Jul 2011 14:08:51 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 16 Jul 2011 14:08:51 +0200
branch
5_1_x
changeset 1175
93655105b6de
parent 1174
53ae8212ccdb
child 1176
2560e62eb7cc

Adjustments for PySide on Windows.
(transplanted from c826cd21e2734bda01ab9afbec997553fa3577e2)

Preferences/ProgramsDialog.py file | annotate | diff | comparison | revisions
Project/ProjectFormsBrowser.py file | annotate | diff | comparison | revisions
Project/ProjectResourcesBrowser.py file | annotate | diff | comparison | revisions
Project/ProjectTranslationsBrowser.py file | annotate | diff | comparison | revisions
Utilities/__init__.py file | annotate | diff | comparison | revisions
--- a/Preferences/ProgramsDialog.py	Sat Jul 16 13:53:48 2011 +0200
+++ b/Preferences/ProgramsDialog.py	Sat Jul 16 14:08:51 2011 +0200
@@ -114,15 +114,15 @@
         # 3. do the PySide programs
         # 3a. Translation Extractor PySide
         self.__createProgramEntry(self.trUtf8("Translation Extractor (Python, PySide)"), 
-            Utilities.isWindowsPlatform() and "pyside-lupdate.exe" or "pyside-lupdate", 
+            Utilities.generatePySideToolPath("pyside-lupdate"),
             '-version', '', -1, versionRe = 'lupdate')
         # 3b. Forms Compiler PySide
         self.__createProgramEntry(self.trUtf8("Forms Compiler (Python, PySide)"), 
-            Utilities.isWindowsPlatform() and "pyside-uic.bat" or "pyside-uic", 
-            '--version', 'Python User', 4)
+            Utilities.generatePySideToolPath("pyside-uic"),
+            '--version', 'PySide User', 5, versionCleanup=(0, -1))
         # 3.c Resource Compiler PySide
         self.__createProgramEntry(self.trUtf8("Resource Compiler (Python, PySide)"), 
-            Utilities.isWindowsPlatform() and "pyside-rcc.exe" or "pyside-rcc", 
+            Utilities.generatePySideToolPath("pyside-rcc"),
             '-version', 'Resource Compiler', -1)
         
         # 4. do the Ruby programs
--- a/Project/ProjectFormsBrowser.py	Sat Jul 16 13:53:48 2011 +0200
+++ b/Project/ProjectFormsBrowser.py	Sat Jul 16 14:08:51 2011 +0200
@@ -653,10 +653,7 @@
                     uic = self.uicompiler
             elif self.project.getProjectType() == "PySide":
                 self.uicompiler = 'pyside-uic'
-                if Utilities.isWindowsPlatform():
-                    uic = self.uicompiler + '.bat'
-                else:
-                    uic = self.uicompiler
+                uic = Utilities.generatePySideToolPath(self.uicompiler)
             else:
                 return None
         elif self.project.pdata["PROGLANGUAGE"][0] == "Ruby":
--- a/Project/ProjectResourcesBrowser.py	Sat Jul 16 13:53:48 2011 +0200
+++ b/Project/ProjectResourcesBrowser.py	Sat Jul 16 14:08:51 2011 +0200
@@ -553,13 +553,15 @@
         if self.project.pdata["PROGLANGUAGE"][0] in ["Python", "Python2", "Python3"]:
             if self.project.getProjectType() in ["Qt4", "E4Plugin"]:
                 self.rccCompiler = 'pyrcc4'
+                if Utilities.isWindowsPlatform():
+                    self.rccCompiler += '.exe'
                 if PYQT_VERSION >= 0x040500:
                     if self.project.pdata["PROGLANGUAGE"][0] in ["Python", "Python2"]:
                         args.append("-py2")
                     else:
                         args.append("-py3")
             elif self.project.getProjectType() == "PySide":
-                self.rccCompiler = 'pyside-rcc'
+                self.rccCompiler = Utilities.generatePySideToolPath('pyside-rcc')
                 if self.project.pdata["PROGLANGUAGE"][0] in ["Python", "Python2"]:
                     args.append("-py2")
                 else:
@@ -569,14 +571,14 @@
         elif self.project.pdata["PROGLANGUAGE"][0] == "Ruby":
             if self.project.getProjectType() == "Qt4":
                 self.rccCompiler = 'rbrcc'
+                if Utilities.isWindowsPlatform():
+                    self.rccCompiler += '.exe'
             else:
                 return None
         else:
             return None
         
         rcc = self.rccCompiler
-        if Utilities.isWindowsPlatform():
-            rcc = rcc + '.exe'
         
         ofn, ext = os.path.splitext(fn)
         fn = os.path.join(self.project.ppath, fn)
--- a/Project/ProjectTranslationsBrowser.py	Sat Jul 16 13:53:48 2011 +0200
+++ b/Project/ProjectTranslationsBrowser.py	Sat Jul 16 14:08:51 2011 +0200
@@ -900,12 +900,12 @@
         
         if self.project.getProjectType() in ["Qt4", "Qt4C", "E4Plugin"]:
             self.pylupdate = 'pylupdate4'
+            if Utilities.isWindowsPlatform():
+                self.pylupdate = self.pylupdate + '.exe'
         elif self.project.getProjectType() in ["PySide", "PySideC"]:
-            self.pylupdate = 'pyside-lupdate'
+            self.pylupdate = Utilities.generatePySideToolPath('pyside-lupdate')
         else:
             return
-        if Utilities.isWindowsPlatform():
-            self.pylupdate = self.pylupdate + '.exe'
         
         if noobsolete:
             args.append('-noobsolete')
--- a/Utilities/__init__.py	Sat Jul 16 13:53:48 2011 +0200
+++ b/Utilities/__init__.py	Sat Jul 16 14:08:51 2011 +0200
@@ -1312,6 +1312,27 @@
     return ("open", newArgs)
 
 ################################################################################
+# Qt utility functions below
+################################################################################
+
+def generatePySideToolPath(toolname):
+    """
+    Module function to generate the executable path for a PySide tool.
+    
+    @param toolname base name of the tool (string or QString)
+    @return the PySide tool path with extension (string)
+    """
+    if isWindowsPlatform():
+        prefix = os.path.dirname(Preferences.getDebugger("PythonInterpreter"))
+        if toolname == "pyside-uic":
+            return os.path.join(prefix, "Scripts", toolname + '.exe')
+        else:
+            return os.path.join(prefix, "Lib", "site-packages", "PySide",
+                                toolname + ".exe")
+    else:
+        return toolname
+
+################################################################################
 # Other utility functions below
 ################################################################################
 

eric ide

mercurial