77 self.dirMenuActions = [] |
77 self.dirMenuActions = [] |
78 self.dirMultiMenuActions = [] |
78 self.dirMultiMenuActions = [] |
79 |
79 |
80 self.menu = QMenu(self) |
80 self.menu = QMenu(self) |
81 if self.project.getProjectType() in [ |
81 if self.project.getProjectType() in [ |
82 "Qt4", "Qt4C", "PyQt5", "PyQt5C", "E6Plugin", |
82 "PyQt5", "PyQt5C", "E6Plugin", "PySide2", "PySide2C" |
83 "PySide", "PySideC", "PySide2", "PySideC2" |
|
84 ]: |
83 ]: |
85 self.menu.addAction( |
84 self.menu.addAction( |
86 self.tr('Compile resource'), |
85 self.tr('Compile resource'), |
87 self.__compileResource) |
86 self.__compileResource) |
88 self.menu.addAction( |
87 self.menu.addAction( |
120 self.menuActions.append(act) |
119 self.menuActions.append(act) |
121 act = self.menu.addAction(self.tr('Delete'), self.__deleteFile) |
120 act = self.menu.addAction(self.tr('Delete'), self.__deleteFile) |
122 self.menuActions.append(act) |
121 self.menuActions.append(act) |
123 self.menu.addSeparator() |
122 self.menu.addSeparator() |
124 if self.project.getProjectType() in [ |
123 if self.project.getProjectType() in [ |
125 "Qt4", "Qt4C", "PyQt5", "PyQt5C", "E6Plugin", |
124 "PyQt5", "PyQt5C", "E6Plugin", "PySide2", "PySide2C" |
126 "PySide", "PySideC", "PySide2", "PySideC2" |
|
127 ]: |
125 ]: |
128 self.menu.addAction( |
126 self.menu.addAction( |
129 self.tr('New resource...'), self.__newResource) |
127 self.tr('New resource...'), self.__newResource) |
130 else: |
128 else: |
131 if self.hooks["newResource"] is not None: |
129 if self.hooks["newResource"] is not None: |
149 self.menu.addSeparator() |
147 self.menu.addSeparator() |
150 self.menu.addAction(self.tr('Configure...'), self._configure) |
148 self.menu.addAction(self.tr('Configure...'), self._configure) |
151 |
149 |
152 self.backMenu = QMenu(self) |
150 self.backMenu = QMenu(self) |
153 if self.project.getProjectType() in [ |
151 if self.project.getProjectType() in [ |
154 "Qt4", "Qt4C", "PyQt5", "PyQt5C", "E6Plugin", |
152 "PyQt5", "PyQt5C", "E6Plugin", "PySide2", "PySide2C" |
155 "PySide", "PySideC", "PySide2", "PySideC2" |
|
156 ]: |
153 ]: |
157 self.backMenu.addAction( |
154 self.backMenu.addAction( |
158 self.tr('Compile all resources'), |
155 self.tr('Compile all resources'), |
159 self.__compileAllResources) |
156 self.__compileAllResources) |
160 self.backMenu.addSeparator() |
157 self.backMenu.addSeparator() |
192 self.backMenu.setEnabled(False) |
189 self.backMenu.setEnabled(False) |
193 |
190 |
194 # create the menu for multiple selected files |
191 # create the menu for multiple selected files |
195 self.multiMenu = QMenu(self) |
192 self.multiMenu = QMenu(self) |
196 if self.project.getProjectType() in [ |
193 if self.project.getProjectType() in [ |
197 "Qt4", "Qt4C", "PyQt5", "PyQt5C", "E6Plugin", |
194 "PyQt5", "PyQt5C", "E6Plugin", "PySide2", "PySide2C" |
198 "PySide", "PySideC", "PySide2", "PySideC2" |
|
199 ]: |
195 ]: |
200 act = self.multiMenu.addAction( |
196 act = self.multiMenu.addAction( |
201 self.tr('Compile resources'), |
197 self.tr('Compile resources'), |
202 self.__compileSelectedResources) |
198 self.__compileSelectedResources) |
203 self.multiMenu.addSeparator() |
199 self.multiMenu.addSeparator() |
229 self.multiMenu.addSeparator() |
225 self.multiMenu.addSeparator() |
230 self.multiMenu.addAction(self.tr('Configure...'), self._configure) |
226 self.multiMenu.addAction(self.tr('Configure...'), self._configure) |
231 |
227 |
232 self.dirMenu = QMenu(self) |
228 self.dirMenu = QMenu(self) |
233 if self.project.getProjectType() in [ |
229 if self.project.getProjectType() in [ |
234 "Qt4", "Qt4C", "PyQt5", "PyQt5C", "E6Plugin", |
230 "PyQt5", "PyQt5C", "E6Plugin", "PySide2", "PySide2C" |
235 "PySide", "PySideC", "PySide2", "PySideC2" |
|
236 ]: |
231 ]: |
237 self.dirMenu.addAction( |
232 self.dirMenu.addAction( |
238 self.tr('Compile all resources'), |
233 self.tr('Compile all resources'), |
239 self.__compileAllResources) |
234 self.__compileAllResources) |
240 self.dirMenu.addSeparator() |
235 self.dirMenu.addSeparator() |
275 self.dirMenu.addSeparator() |
270 self.dirMenu.addSeparator() |
276 self.dirMenu.addAction(self.tr('Configure...'), self._configure) |
271 self.dirMenu.addAction(self.tr('Configure...'), self._configure) |
277 |
272 |
278 self.dirMultiMenu = QMenu(self) |
273 self.dirMultiMenu = QMenu(self) |
279 if self.project.getProjectType() in [ |
274 if self.project.getProjectType() in [ |
280 "Qt4", "Qt4C", "PyQt5", "PyQt5C", "E6Plugin", |
275 "PyQt5", "PyQt5C", "E6Plugin", "PySide2", "PySide2C" |
281 "PySide", "PySideC", "PySide2", "PySideC2" |
|
282 ]: |
276 ]: |
283 self.dirMultiMenu.addAction( |
277 self.dirMultiMenu.addAction( |
284 self.tr('Compile all resources'), |
278 self.tr('Compile all resources'), |
285 self.__compileAllResources) |
279 self.__compileAllResources) |
286 self.dirMultiMenu.addSeparator() |
280 self.dirMultiMenu.addSeparator() |
554 ########################################################################### |
548 ########################################################################### |
555 |
549 |
556 def __readStdout(self): |
550 def __readStdout(self): |
557 """ |
551 """ |
558 Private slot to handle the readyReadStandardOutput signal of the |
552 Private slot to handle the readyReadStandardOutput signal of the |
559 pyrcc4/pyrcc5/pyside-rcc/pyside2-rcc/rbrcc process. |
553 pyrcc5/pyside2-rcc process. |
560 """ |
554 """ |
561 if self.compileProc is None: |
555 if self.compileProc is None: |
562 return |
556 return |
563 self.compileProc.setReadChannel(QProcess.StandardOutput) |
557 self.compileProc.setReadChannel(QProcess.StandardOutput) |
564 |
558 |
568 'replace') |
562 'replace') |
569 |
563 |
570 def __readStderr(self): |
564 def __readStderr(self): |
571 """ |
565 """ |
572 Private slot to handle the readyReadStandardError signal of the |
566 Private slot to handle the readyReadStandardError signal of the |
573 pyrcc4/pyrcc5/pyside-rcc/pyside2-rcc/rbrcc process. |
567 pyrcc5/pyside2-rcc/ process. |
574 """ |
568 """ |
575 if self.compileProc is None: |
569 if self.compileProc is None: |
576 return |
570 return |
577 |
571 |
578 ioEncoding = Preferences.getSystem("IOEncoding") |
572 ioEncoding = Preferences.getSystem("IOEncoding") |
654 """ |
648 """ |
655 self.compileProc = QProcess() |
649 self.compileProc = QProcess() |
656 args = [] |
650 args = [] |
657 self.buf = "" |
651 self.buf = "" |
658 |
652 |
659 if self.project.getProjectLanguage() in [ |
653 if self.project.getProjectLanguage() == "Python3": |
660 "Python", "Python2", "Python3" |
654 if self.project.getProjectType() in ["PyQt5", "PyQt5C"]: |
661 ]: |
|
662 if self.project.getProjectType() in ["Qt4", "Qt4C"]: |
|
663 self.rccCompiler = Utilities.generatePyQtToolPath('pyrcc4') |
|
664 if self.project.getProjectLanguage() in [ |
|
665 "Python", "Python2" |
|
666 ]: |
|
667 args.append("-py2") |
|
668 else: |
|
669 args.append("-py3") |
|
670 elif self.project.getProjectType() in ["PyQt5", "PyQt5C"]: |
|
671 self.rccCompiler = Utilities.generatePyQtToolPath('pyrcc5') |
655 self.rccCompiler = Utilities.generatePyQtToolPath('pyrcc5') |
672 elif self.project.getProjectType() in ["E6Plugin"]: |
656 elif self.project.getProjectType() in ["E6Plugin"]: |
673 self.rccCompiler = Utilities.generatePyQtToolPath('pyrcc5') |
657 self.rccCompiler = Utilities.generatePyQtToolPath('pyrcc5') |
674 elif self.project.getProjectType() in ["PySide", "PySideC"]: |
|
675 self.rccCompiler = Utilities.generatePySideToolPath( |
|
676 'pyside-rcc', "1") |
|
677 if self.project.getProjectLanguage() in [ |
|
678 "Python", "Python2" |
|
679 ]: |
|
680 args.append("-py2") |
|
681 else: |
|
682 args.append("-py3") |
|
683 elif self.project.getProjectType() in ["PySide2", "PySide2C"]: |
658 elif self.project.getProjectType() in ["PySide2", "PySide2C"]: |
684 self.rccCompiler = Utilities.generatePySideToolPath( |
659 self.rccCompiler = Utilities.generatePySideToolPath( |
685 'pyside2-rcc', "2") |
660 'pyside2-rcc') |
686 else: |
661 else: |
687 return None |
662 return None |
688 defaultParameters = self.project.getDefaultRccCompilerParameters() |
663 defaultParameters = self.project.getDefaultRccCompilerParameters() |
689 rccParameters = self.project.pdata["RCCPARAMS"] |
664 rccParameters = self.project.pdata["RCCPARAMS"] |
690 if ( |
665 if ( |
705 ): |
680 ): |
706 args.append("-no-compress") |
681 args.append("-no-compress") |
707 if rccParameters["PathPrefix"] != defaultParameters["PathPrefix"]: |
682 if rccParameters["PathPrefix"] != defaultParameters["PathPrefix"]: |
708 args.append("-root") |
683 args.append("-root") |
709 args.append(rccParameters["PathPrefix"]) |
684 args.append(rccParameters["PathPrefix"]) |
710 elif self.project.getProjectLanguage() == "Ruby": |
|
711 if self.project.getProjectType() == "Qt4": |
|
712 self.rccCompiler = 'rbrcc' |
|
713 if Utilities.isWindowsPlatform(): |
|
714 self.rccCompiler += '.exe' |
|
715 else: |
|
716 return None |
|
717 else: |
685 else: |
718 return None |
686 return None |
719 |
687 |
720 rcc = self.rccCompiler |
688 rcc = self.rccCompiler |
721 |
689 |
722 ofn, ext = os.path.splitext(fn) |
690 ofn, ext = os.path.splitext(fn) |
723 fn = os.path.join(self.project.ppath, fn) |
691 fn = os.path.join(self.project.ppath, fn) |
724 |
692 |
725 dirname, filename = os.path.split(ofn) |
693 dirname, filename = os.path.split(ofn) |
726 if self.project.getProjectLanguage() in [ |
694 if self.project.getProjectLanguage() == "Python3": |
727 "Python", "Python2", "Python3" |
|
728 ]: |
|
729 self.compiledFile = os.path.join( |
695 self.compiledFile = os.path.join( |
730 dirname, self.RCFilenameFormatPython.format(filename)) |
696 dirname, self.RCFilenameFormatPython.format(filename)) |
731 elif self.project.getProjectLanguage() == "Ruby": |
697 elif self.project.getProjectLanguage() == "Ruby": |
732 self.compiledFile = os.path.join( |
698 self.compiledFile = os.path.join( |
733 dirname, self.RCFilenameFormatRuby.format(filename)) |
699 dirname, self.RCFilenameFormatRuby.format(filename)) |
901 progress.setMaximum(len(self.project.pdata["RESOURCES"])) |
867 progress.setMaximum(len(self.project.pdata["RESOURCES"])) |
902 for fn in self.project.pdata["RESOURCES"]: |
868 for fn in self.project.pdata["RESOURCES"]: |
903 progress.setValue(i) |
869 progress.setValue(i) |
904 QApplication.processEvents() |
870 QApplication.processEvents() |
905 ifn = os.path.join(self.project.ppath, fn) |
871 ifn = os.path.join(self.project.ppath, fn) |
906 if self.project.getProjectLanguage() in [ |
872 if self.project.getProjectLanguage() == "Python3": |
907 "Python", "Python2", "Python3" |
|
908 ]: |
|
909 dirname, filename = os.path.split(os.path.splitext(ifn)[0]) |
873 dirname, filename = os.path.split(os.path.splitext(ifn)[0]) |
910 ofn = os.path.join( |
874 ofn = os.path.join( |
911 dirname, self.RCFilenameFormatPython.format(filename)) |
875 dirname, self.RCFilenameFormatPython.format(filename)) |
912 elif self.project.getProjectLanguage() == "Ruby": |
876 elif self.project.getProjectLanguage() == "Ruby": |
913 dirname, filename = os.path.split(os.path.splitext(ifn)[0]) |
877 dirname, filename = os.path.split(os.path.splitext(ifn)[0]) |