Tue, 25 Jun 2013 18:50:45 +0200
Added PyQt5 support to the project resources and translations viewers and the code creation dialog.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/CodeTemplates/impl_pyqt5.py.tmpl Tue Jun 25 18:50:45 2013 +0200 @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- + +""" +Module implementing $CLASSNAME$. +""" + +from PyQt5.QtCore import pyqtSlot +from PyQt5.QtWidgets import $SUPERCLASS$ + +from .Ui_$FORMFILE$ import Ui_$FORMCLASS$ + + +class $CLASSNAME$($SUPERCLASS$, Ui_$FORMCLASS$): + """ + Class documentation goes here. + """ + def __init__(self, parent=None): + """ + Constructor + + @param parent reference to the parent widget (QWidget) + """ + super().__init__(parent) + self.setupUi(self)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/CodeTemplates/impl_pyqt5.py2.tmpl Tue Jun 25 18:50:45 2013 +0200 @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- + +""" +Module implementing $CLASSNAME$. +""" + +from PyQt5.QtCore import pyqtSlot +from PyQt5.QtWidgets import $SUPERCLASS$ + +from .Ui_$FORMFILE$ import Ui_$FORMCLASS$ + + +class $CLASSNAME$($SUPERCLASS$, Ui_$FORMCLASS$): + """ + Class documentation goes here. + """ + def __init__(self, parent=None): + """ + Constructor + + @param parent reference to the parent widget (QWidget) + """ + super($SUPERCLASS$, self).__init__(parent) + self.setupUi(self)
--- a/Plugins/WizardPlugins/QRegularExpressionWizard/QRegularExpressionWizardDialog.py Mon Jun 24 19:42:54 2013 +0200 +++ b/Plugins/WizardPlugins/QRegularExpressionWizard/QRegularExpressionWizardDialog.py Tue Jun 25 18:50:45 2013 +0200 @@ -12,7 +12,7 @@ from PyQt4.QtCore import QFileInfo, pyqtSlot, qVersion try: - from PyQt4.QtCore import QRegularExpression + from PyQt5.QtCore import QRegularExpression AVAILABLE = True except ImportError: AVAILABLE = False
--- a/Project/CreateDialogCodeDialog.py Mon Jun 24 19:42:54 2013 +0200 +++ b/Project/CreateDialogCodeDialog.py Tue Jun 25 18:50:45 2013 +0200 @@ -344,7 +344,9 @@ if self.project.getProjectType() == "PySide": tmplName = os.path.join(getConfig('ericCodeTemplatesDir'), "impl_pyside.py2.tmpl") - # TODO: add PyQt5 + 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") @@ -352,7 +354,9 @@ if self.project.getProjectType() == "PySide": tmplName = os.path.join(getConfig('ericCodeTemplatesDir'), "impl_pyside.py.tmpl") - # TODO: add PyQt5 + elif self.project.getProjectType() == "PyQt5": + tmplName = os.path.join(getConfig('ericCodeTemplatesDir'), + "impl_pyqt5.py.tmpl") else: tmplName = os.path.join(getConfig('ericCodeTemplatesDir'), "impl_pyqt.py.tmpl") @@ -422,7 +426,8 @@ if self.project.getProjectLanguage() == "Python2": if self.project.getProjectType() == "PySide": pyqtSignatureFormat = '@Slot({0})' - # TODO: add PyQt5 (pyqtSlot) + elif self.project.getProjectType() == "PyQt5": + pyqtSignatureFormat = '@pyqtSlot({0})' else: pyqtSignatureFormat = '@pyqtSignature("{0}")' else:
--- a/Project/ProjectResourcesBrowser.py Mon Jun 24 19:42:54 2013 +0200 +++ b/Project/ProjectResourcesBrowser.py Tue Jun 25 18:50:45 2013 +0200 @@ -76,8 +76,7 @@ self.dirMultiMenuActions = [] self.menu = QMenu(self) - if self.project.getProjectType() in ["Qt4", "E4Plugin", "PySide"]: - # TODO: add PyQt5 + if self.project.getProjectType() in ["Qt4", "PyQt5", "E4Plugin", "PySide"]: self.menu.addAction(self.trUtf8('Compile resource'), self.__compileResource) self.menu.addAction(self.trUtf8('Compile all resources'), @@ -106,8 +105,7 @@ act = self.menu.addAction(self.trUtf8('Delete'), self.__deleteFile) self.menuActions.append(act) self.menu.addSeparator() - if self.project.getProjectType() in ["Qt4", "E4Plugin", "PySide"]: - # TODO: add PyQt5 + if self.project.getProjectType() in ["Qt4", "PyQt5", "E4Plugin", "PySide"]: self.menu.addAction(self.trUtf8('New resource...'), self.__newResource) else: if self.hooks["newResource"] is not None: @@ -129,8 +127,7 @@ self.menu.addAction(self.trUtf8('Configure...'), self._configure) self.backMenu = QMenu(self) - if self.project.getProjectType() in ["Qt4", "E4Plugin", "PySide"]: - # TODO: add PyQt5 + if self.project.getProjectType() in ["Qt4", "PyQt5", "E4Plugin", "PySide"]: self.backMenu.addAction(self.trUtf8('Compile all resources'), self.__compileAllResources) self.backMenu.addSeparator() @@ -161,8 +158,7 @@ # create the menu for multiple selected files self.multiMenu = QMenu(self) - if self.project.getProjectType() in ["Qt4", "E4Plugin", "PySide"]: - # TODO: add PyQt5 + if self.project.getProjectType() in ["Qt4", "PyQt5", "E4Plugin", "PySide"]: act = self.multiMenu.addAction(self.trUtf8('Compile resources'), self.__compileSelectedResources) self.multiMenu.addSeparator() @@ -189,8 +185,7 @@ self.multiMenu.addAction(self.trUtf8('Configure...'), self._configure) self.dirMenu = QMenu(self) - if self.project.getProjectType() in ["Qt4", "E4Plugin", "PySide"]: - # TODO: add PyQt5 + if self.project.getProjectType() in ["Qt4", "PyQt5", "E4Plugin", "PySide"]: self.dirMenu.addAction(self.trUtf8('Compile all resources'), self.__compileAllResources) self.dirMenu.addSeparator() @@ -222,8 +217,7 @@ self.dirMenu.addAction(self.trUtf8('Configure...'), self._configure) self.dirMultiMenu = QMenu(self) - if self.project.getProjectType() in ["Qt4", "E4Plugin", "PySide"]: - # TODO: add PyQt5 + if self.project.getProjectType() in ["Qt4", "PyQt5", "E4Plugin", "PySide"]: self.dirMultiMenu.addAction(self.trUtf8('Compile all resources'), self.__compileAllResources) self.dirMultiMenu.addSeparator() @@ -581,7 +575,10 @@ args.append("-py2") else: args.append("-py3") - # TODO: add PyQt5 + elif self.project.getProjectType() == "PyQt5": + self.rccCompiler = 'pyrcc5' + if Utilities.isWindowsPlatform(): + self.rccCompiler += '.exe' elif self.project.getProjectType() == "PySide": self.rccCompiler = Utilities.generatePySideToolPath('pyside-rcc') if self.project.pdata["PROGLANGUAGE"][0] in ["Python", "Python2"]:
--- a/Project/ProjectTranslationsBrowser.py Mon Jun 24 19:42:54 2013 +0200 +++ b/Project/ProjectTranslationsBrowser.py Tue Jun 25 18:50:45 2013 +0200 @@ -103,8 +103,7 @@ self.menu = QMenu(self) if self.project.getProjectType() in \ - ["Qt4", "Qt4C", "E4Plugin", "PySide", "PySideC"]: - # TODO: add PyQt5 + ["Qt4", "Qt4C", "PyQt5", "PyQt5C", "E4Plugin", "PySide", "PySideC"]: act = self.menu.addAction(self.trUtf8('Generate translation'), self.__generateSelected) self.tsMenuActions.append(act) @@ -220,8 +219,7 @@ self.backMenu = QMenu(self) if self.project.getProjectType() in \ - ["Qt4", "Qt4C", "E4Plugin", "PySide", "PySideC"]: - # TODO: add PyQt5 + ["Qt4", "Qt4C", "PyQt5", "PyQt5C", "E4Plugin", "PySide", "PySideC"]: act = self.backMenu.addAction(self.trUtf8('Generate all translations'), self.__generateAll) self.tsprocBackMenuActions.append(act) @@ -272,8 +270,7 @@ # create the menu for multiple selected files self.multiMenu = QMenu(self) if self.project.getProjectType() in \ - ["Qt4", "Qt4C", "E4Plugin", "PySide", "PySideC"]: - # TODO: add PyQt5 + ["Qt4", "Qt4C", "PyQt5", "PyQt5C", "E4Plugin", "PySide", "PySideC"]: act = self.multiMenu.addAction(self.trUtf8('Generate translations'), self.__generateSelected) self.tsMultiMenuActions.append(act) @@ -350,8 +347,7 @@ self.dirMenu = QMenu(self) if self.project.getProjectType() in \ - ["Qt4", "Qt4C", "E4Plugin", "PySide", "PySideC"]: - # TODO: add PyQt5 + ["Qt4", "Qt4C", "PyQt5", "PyQt5C", "E4Plugin", "PySide", "PySideC"]: act = self.dirMenu.addAction(self.trUtf8('Generate all translations'), self.__generateAll) self.tsprocDirMenuActions.append(act) @@ -457,8 +453,7 @@ Private slot called by the menu aboutToShow signal. """ if self.project.getProjectType() in \ - ["Qt4", "Qt4C", "E4Plugin", "PySide", "PySideC"]: - # TODO: add PyQt5 + ["Qt4", "Qt4C", "PyQt5", "PyQt5C", "E4Plugin", "PySide", "PySideC"]: tsFiles = 0 qmFiles = 0 itmList = self.getSelectedItems() @@ -498,8 +493,7 @@ Private slot called by the multiMenu aboutToShow signal. """ if self.project.getProjectType() in \ - ["Qt4", "Qt4C", "E4Plugin", "PySide", "PySideC"]: - # TODO: add PyQt5 + ["Qt4", "Qt4C", "PyQt5", "PyQt5C", "E4Plugin", "PySide", "PySideC"]: tsFiles = 0 qmFiles = 0 itmList = self.getSelectedItems() @@ -538,8 +532,7 @@ Private slot called by the dirMenu aboutToShow signal. """ if self.project.getProjectType() in \ - ["Qt4", "Qt4C", "E4Plugin", "PySide", "PySideC"]: - # TODO: add PyQt5 + ["Qt4", "Qt4C", "PyQt5", "PyQt5C", "E4Plugin", "PySide", "PySideC"]: if self.pylupdateProcRunning: for act in self.tsprocDirMenuActions: act.setEnabled(False) @@ -557,8 +550,7 @@ Private slot called by the backMenu aboutToShow signal. """ if self.project.getProjectType() in \ - ["Qt4", "Qt4C", "E4Plugin", "PySide", "PySideC"]: - # TODO: add PyQt5 + ["Qt4", "Qt4C", "PyQt5", "PyQt5C", "E4Plugin", "PySide", "PySideC"]: if self.pylupdateProcRunning: for act in self.tsprocBackMenuActions: act.setEnabled(False) @@ -938,7 +930,10 @@ self.pylupdate = 'pylupdate4' if Utilities.isWindowsPlatform(): self.pylupdate = self.pylupdate + '.exe' - # TODO: add PyQt5 + elif self.project.getProjectType() in ["PyQt5", "PyQt5C"]: + self.pylupdate = 'pylupdate5' + if Utilities.isWindowsPlatform(): + self.pylupdate = self.pylupdate + '.exe' elif self.project.getProjectType() in ["PySide", "PySideC"]: self.pylupdate = Utilities.generatePySideToolPath('pyside-lupdate') else: @@ -1076,8 +1071,7 @@ args = [] if self.project.getProjectType() in \ - ["Qt4", "Qt4C", "E4Plugin", "PySide", "PySideC"]: - # TODO: add PyQt5 + ["Qt4", "Qt4C", "PyQt5", "PyQt5C", "E4Plugin", "PySide", "PySideC"]: lrelease = os.path.join( Utilities.getQtBinariesPath(), Utilities.generateQtToolName("lrelease"))
--- a/Utilities/__init__.py Mon Jun 24 19:42:54 2013 +0200 +++ b/Utilities/__init__.py Tue Jun 25 18:50:45 2013 +0200 @@ -1499,7 +1499,6 @@ # Qt utility functions below ################################################################################ -# TODO: add PyQt5 (both) def generatePySideToolPath(toolname): """ Module function to generate the executable path for a PySide tool.