Project/ProjectResourcesBrowser.py

branch
Py2 comp.
changeset 3060
5883ce99ee12
parent 3058
0a02c433f52d
parent 3047
2a3c730dbb58
child 3065
070b35dde35e
equal deleted inserted replaced
3058:0a02c433f52d 3060:5883ce99ee12
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:

eric ide

mercurial