Sat, 16 Jul 2011 14:08:51 +0200
Adjustments for PySide on Windows.
--- 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 ################################################################################