83 self.dirMenuActions = [] |
83 self.dirMenuActions = [] |
84 self.dirMultiMenuActions = [] |
84 self.dirMultiMenuActions = [] |
85 |
85 |
86 self.menu = QMenu(self) |
86 self.menu = QMenu(self) |
87 if self.project.getProjectType() in \ |
87 if self.project.getProjectType() in \ |
88 ["Qt4", "PyQt5", "E4Plugin", "PySide"]: |
88 ["Qt4", "Qt4C", "PyQt5", "PyQt5C", "E4Plugin", |
|
89 "PySide", "PySideC"]: |
89 self.menu.addAction( |
90 self.menu.addAction( |
90 self.trUtf8('Compile resource'), |
91 self.trUtf8('Compile resource'), |
91 self.__compileResource) |
92 self.__compileResource) |
92 self.menu.addAction( |
93 self.menu.addAction( |
93 self.trUtf8('Compile all resources'), |
94 self.trUtf8('Compile all resources'), |
118 self.menuActions.append(act) |
119 self.menuActions.append(act) |
119 act = self.menu.addAction(self.trUtf8('Delete'), self.__deleteFile) |
120 act = self.menu.addAction(self.trUtf8('Delete'), self.__deleteFile) |
120 self.menuActions.append(act) |
121 self.menuActions.append(act) |
121 self.menu.addSeparator() |
122 self.menu.addSeparator() |
122 if self.project.getProjectType() in \ |
123 if self.project.getProjectType() in \ |
123 ["Qt4", "PyQt5", "E4Plugin", "PySide"]: |
124 ["Qt4", "Qt4C", "PyQt5", "PyQt5C", "E4Plugin", |
|
125 "PySide", "PySideC"]: |
124 self.menu.addAction( |
126 self.menu.addAction( |
125 self.trUtf8('New resource...'), self.__newResource) |
127 self.trUtf8('New resource...'), self.__newResource) |
126 else: |
128 else: |
127 if self.hooks["newResource"] is not None: |
129 if self.hooks["newResource"] is not None: |
128 self.menu.addAction( |
130 self.menu.addAction( |
145 self.menu.addSeparator() |
147 self.menu.addSeparator() |
146 self.menu.addAction(self.trUtf8('Configure...'), self._configure) |
148 self.menu.addAction(self.trUtf8('Configure...'), self._configure) |
147 |
149 |
148 self.backMenu = QMenu(self) |
150 self.backMenu = QMenu(self) |
149 if self.project.getProjectType() in \ |
151 if self.project.getProjectType() in \ |
150 ["Qt4", "PyQt5", "E4Plugin", "PySide"]: |
152 ["Qt4", "Qt4C", "PyQt5", "PyQt5C", "E4Plugin", |
|
153 "PySide", "PySideC"]: |
151 self.backMenu.addAction( |
154 self.backMenu.addAction( |
152 self.trUtf8('Compile all resources'), |
155 self.trUtf8('Compile all resources'), |
153 self.__compileAllResources) |
156 self.__compileAllResources) |
154 self.backMenu.addSeparator() |
157 self.backMenu.addSeparator() |
155 self.backMenu.addAction( |
158 self.backMenu.addAction( |
182 self.backMenu.setEnabled(False) |
185 self.backMenu.setEnabled(False) |
183 |
186 |
184 # create the menu for multiple selected files |
187 # create the menu for multiple selected files |
185 self.multiMenu = QMenu(self) |
188 self.multiMenu = QMenu(self) |
186 if self.project.getProjectType() in \ |
189 if self.project.getProjectType() in \ |
187 ["Qt4", "PyQt5", "E4Plugin", "PySide"]: |
190 ["Qt4", "Qt4C", "PyQt5", "PyQt5C", "E4Plugin", |
|
191 "PySide", "PySideC"]: |
188 act = self.multiMenu.addAction( |
192 act = self.multiMenu.addAction( |
189 self.trUtf8('Compile resources'), |
193 self.trUtf8('Compile resources'), |
190 self.__compileSelectedResources) |
194 self.__compileSelectedResources) |
191 self.multiMenu.addSeparator() |
195 self.multiMenu.addSeparator() |
192 else: |
196 else: |
213 self.multiMenu.addSeparator() |
217 self.multiMenu.addSeparator() |
214 self.multiMenu.addAction(self.trUtf8('Configure...'), self._configure) |
218 self.multiMenu.addAction(self.trUtf8('Configure...'), self._configure) |
215 |
219 |
216 self.dirMenu = QMenu(self) |
220 self.dirMenu = QMenu(self) |
217 if self.project.getProjectType() in \ |
221 if self.project.getProjectType() in \ |
218 ["Qt4", "PyQt5", "E4Plugin", "PySide"]: |
222 ["Qt4", "Qt4C", "PyQt5", "PyQt5C", "E4Plugin", |
|
223 "PySide", "PySideC"]: |
219 self.dirMenu.addAction( |
224 self.dirMenu.addAction( |
220 self.trUtf8('Compile all resources'), |
225 self.trUtf8('Compile all resources'), |
221 self.__compileAllResources) |
226 self.__compileAllResources) |
222 self.dirMenu.addSeparator() |
227 self.dirMenu.addSeparator() |
223 else: |
228 else: |
253 self.dirMenu.addSeparator() |
258 self.dirMenu.addSeparator() |
254 self.dirMenu.addAction(self.trUtf8('Configure...'), self._configure) |
259 self.dirMenu.addAction(self.trUtf8('Configure...'), self._configure) |
255 |
260 |
256 self.dirMultiMenu = QMenu(self) |
261 self.dirMultiMenu = QMenu(self) |
257 if self.project.getProjectType() in \ |
262 if self.project.getProjectType() in \ |
258 ["Qt4", "PyQt5", "E4Plugin", "PySide"]: |
263 ["Qt4", "Qt4C", "PyQt5", "PyQt5C", "E4Plugin", |
|
264 "PySide", "PySideC"]: |
259 self.dirMultiMenu.addAction( |
265 self.dirMultiMenu.addAction( |
260 self.trUtf8('Compile all resources'), |
266 self.trUtf8('Compile all resources'), |
261 self.__compileAllResources) |
267 self.__compileAllResources) |
262 self.dirMultiMenu.addSeparator() |
268 self.dirMultiMenu.addSeparator() |
263 else: |
269 else: |
378 """ |
384 """ |
379 itm = self.model().item(self.currentIndex()) |
385 itm = self.model().item(self.currentIndex()) |
380 if isinstance(itm, ProjectBrowserFileItem): |
386 if isinstance(itm, ProjectBrowserFileItem): |
381 dn = os.path.dirname(itm.fileName()) |
387 dn = os.path.dirname(itm.fileName()) |
382 elif isinstance(itm, ProjectBrowserSimpleDirectoryItem) or \ |
388 elif isinstance(itm, ProjectBrowserSimpleDirectoryItem) or \ |
383 isinstance(itm, ProjectBrowserDirectoryItem): |
389 isinstance(itm, ProjectBrowserDirectoryItem): |
384 dn = itm.dirName() |
390 dn = itm.dirName() |
385 else: |
391 else: |
386 dn = None |
392 dn = None |
387 self.project.addFiles('resource', dn) |
393 self.project.addFiles('resource', dn) |
388 |
394 |
392 """ |
398 """ |
393 itm = self.model().item(self.currentIndex()) |
399 itm = self.model().item(self.currentIndex()) |
394 if isinstance(itm, ProjectBrowserFileItem): |
400 if isinstance(itm, ProjectBrowserFileItem): |
395 dn = os.path.dirname(itm.fileName()) |
401 dn = os.path.dirname(itm.fileName()) |
396 elif isinstance(itm, ProjectBrowserSimpleDirectoryItem) or \ |
402 elif isinstance(itm, ProjectBrowserSimpleDirectoryItem) or \ |
397 isinstance(itm, ProjectBrowserDirectoryItem): |
403 isinstance(itm, ProjectBrowserDirectoryItem): |
398 dn = itm.dirName() |
404 dn = itm.dirName() |
399 else: |
405 else: |
400 dn = None |
406 dn = None |
401 self.project.addDirectory('resource', dn) |
407 self.project.addDirectory('resource', dn) |
402 |
408 |
478 E5MessageBox.critical( |
484 E5MessageBox.critical( |
479 self, |
485 self, |
480 self.trUtf8("New Resource"), |
486 self.trUtf8("New Resource"), |
481 self.trUtf8( |
487 self.trUtf8( |
482 "<p>The new resource file <b>{0}</b> could not" |
488 "<p>The new resource file <b>{0}</b> could not" |
483 " be created.<br>Problem: {1}</p>")\ |
489 " be created.<br>Problem: {1}</p>") |
484 .format(fname, str(e))) |
490 .format(fname, str(e))) |
485 return |
491 return |
486 |
492 |
487 self.project.appendFile(fname) |
493 self.project.appendFile(fname) |
488 self.sourceFile.emit(fname) |
494 self.sourceFile.emit(fname) |
489 |
495 |
546 |
552 |
547 self.compileProc.setReadChannel(QProcess.StandardError) |
553 self.compileProc.setReadChannel(QProcess.StandardError) |
548 while self.compileProc and self.compileProc.canReadLine(): |
554 while self.compileProc and self.compileProc.canReadLine(): |
549 s = self.rccCompiler + ': ' |
555 s = self.rccCompiler + ': ' |
550 error = str(self.compileProc.readLine(), |
556 error = str(self.compileProc.readLine(), |
551 ioEncoding, 'replace') |
557 ioEncoding, 'replace') |
552 s += error |
558 s += error |
553 self.appendStderr.emit(s) |
559 self.appendStderr.emit(s) |
554 |
560 |
555 def __compileQRCDone(self, exitCode, exitStatus): |
561 def __compileQRCDone(self, exitCode, exitStatus): |
556 """ |
562 """ |
623 args = [] |
629 args = [] |
624 self.buf = "" |
630 self.buf = "" |
625 |
631 |
626 if self.project.pdata["PROGLANGUAGE"][0] in \ |
632 if self.project.pdata["PROGLANGUAGE"][0] in \ |
627 ["Python", "Python2", "Python3"]: |
633 ["Python", "Python2", "Python3"]: |
628 if self.project.getProjectType() in ["Qt4", "E4Plugin"]: |
634 if self.project.getProjectType() in ["Qt4", "Qt4C","E4Plugin"]: |
629 self.rccCompiler = 'pyrcc4' |
635 self.rccCompiler = 'pyrcc4' |
630 if Utilities.isWindowsPlatform(): |
636 if Utilities.isWindowsPlatform(): |
631 self.rccCompiler += '.exe' |
637 self.rccCompiler += '.exe' |
632 if PYQT_VERSION >= 0x040500: |
638 if PYQT_VERSION >= 0x040500: |
633 if self.project.pdata["PROGLANGUAGE"][0] in \ |
639 if self.project.pdata["PROGLANGUAGE"][0] in \ |
634 ["Python", "Python2"]: |
640 ["Python", "Python2"]: |
635 args.append("-py2") |
641 args.append("-py2") |
636 else: |
642 else: |
637 args.append("-py3") |
643 args.append("-py3") |
638 elif self.project.getProjectType() == "PyQt5": |
644 elif self.project.getProjectType() in ["PyQt5", "PyQt5C"]: |
639 self.rccCompiler = 'pyrcc5' |
645 self.rccCompiler = 'pyrcc5' |
640 if Utilities.isWindowsPlatform(): |
646 if Utilities.isWindowsPlatform(): |
641 self.rccCompiler += '.exe' |
647 self.rccCompiler += '.exe' |
642 elif self.project.getProjectType() == "PySide": |
648 elif self.project.getProjectType() in ["PySide", "PySideC"]: |
643 self.rccCompiler = Utilities.generatePySideToolPath( |
649 self.rccCompiler = Utilities.generatePySideToolPath( |
644 'pyside-rcc') |
650 'pyside-rcc') |
645 if self.project.pdata["PROGLANGUAGE"][0] in \ |
651 if self.project.pdata["PROGLANGUAGE"][0] in \ |
646 ["Python", "Python2"]: |
652 ["Python", "Python2"]: |
647 args.append("-py2") |
653 args.append("-py2") |
744 def __compileSelectedResources(self): |
750 def __compileSelectedResources(self): |
745 """ |
751 """ |
746 Private method to compile selected resources to source files. |
752 Private method to compile selected resources to source files. |
747 """ |
753 """ |
748 items = self.getSelectedItems() |
754 items = self.getSelectedItems() |
749 files = [self.project.getRelativePath(itm.fileName()) \ |
755 files = [self.project.getRelativePath(itm.fileName()) |
750 for itm in items] |
756 for itm in items] |
751 |
757 |
752 if self.hooks["compileSelectedResources"] is not None: |
758 if self.hooks["compileSelectedResources"] is not None: |
753 self.hooks["compileSelectedResources"](files) |
759 self.hooks["compileSelectedResources"](files) |
754 else: |
760 else: |