Adjustments for PySide on Windows.

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

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 16 Jul 2011 14:08:51 +0200
changeset 1173
c826cd21e273
parent 1172
a183f45d3553
child 1177
5249187bb668

Adjustments for PySide on Windows.

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
@@ -654,10 +654,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
@@ -554,13 +554,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:
@@ -570,14 +572,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
@@ -901,12 +901,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
@@ -1413,6 +1413,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