eric7/Project/ProjectFormsBrowser.py

branch
eric7
changeset 8336
d566c2970f39
parent 8322
b422b4e77d19
child 8356
68ec9c3d4de5
equal deleted inserted replaced
8335:9fa339ca2a91 8336:d566c2970f39
128 self.menusAboutToBeCreated.emit() 128 self.menusAboutToBeCreated.emit()
129 129
130 projectType = self.project.getProjectType() 130 projectType = self.project.getProjectType()
131 131
132 self.menu = QMenu(self) 132 self.menu = QMenu(self)
133 if projectType in ["PyQt5", "PyQt6", "E6Plugin", "PySide2", "PySide6"]: 133 if projectType in ["PyQt5", "PyQt6", "E7Plugin", "PySide2", "PySide6"]:
134 self.menu.addAction( 134 self.menu.addAction(
135 self.tr('Compile form'), self.__compileForm) 135 self.tr('Compile form'), self.__compileForm)
136 self.menu.addAction( 136 self.menu.addAction(
137 self.tr('Compile all forms'), 137 self.tr('Compile all forms'),
138 self.__compileAllForms) 138 self.__compileAllForms)
188 self.tr('Remove from project'), self._removeFile) 188 self.tr('Remove from project'), self._removeFile)
189 self.menuActions.append(act) 189 self.menuActions.append(act)
190 act = self.menu.addAction(self.tr('Delete'), self.__deleteFile) 190 act = self.menu.addAction(self.tr('Delete'), self.__deleteFile)
191 self.menuActions.append(act) 191 self.menuActions.append(act)
192 self.menu.addSeparator() 192 self.menu.addSeparator()
193 if projectType in ["PyQt5", "PyQt6", "E6Plugin", "PySide2", "PySide6"]: 193 if projectType in ["PyQt5", "PyQt6", "E7Plugin", "PySide2", "PySide6"]:
194 self.menu.addAction(self.tr('New form...'), self.__newForm) 194 self.menu.addAction(self.tr('New form...'), self.__newForm)
195 else: 195 else:
196 if self.hooks["newForm"] is not None: 196 if self.hooks["newForm"] is not None:
197 self.menu.addAction( 197 self.menu.addAction(
198 self.hooksMenuEntries.get( 198 self.hooksMenuEntries.get(
212 self.menu.addAction(self.tr('Configure...'), self._configure) 212 self.menu.addAction(self.tr('Configure...'), self._configure)
213 213
214 self.backMenu = QMenu(self) 214 self.backMenu = QMenu(self)
215 if ( 215 if (
216 projectType in [ 216 projectType in [
217 "PyQt5", "PyQt6", "E6Plugin", "PySide2", "PySide6" 217 "PyQt5", "PyQt6", "E7Plugin", "PySide2", "PySide6"
218 ] or self.hooks["compileAllForms"] is not None 218 ] or self.hooks["compileAllForms"] is not None
219 ): 219 ):
220 self.backMenu.addAction( 220 self.backMenu.addAction(
221 self.tr('Compile all forms'), self.__compileAllForms) 221 self.tr('Compile all forms'), self.__compileAllForms)
222 self.backMenu.addSeparator() 222 self.backMenu.addSeparator()
243 self.backMenu.addAction(self.tr('Configure...'), self._configure) 243 self.backMenu.addAction(self.tr('Configure...'), self._configure)
244 self.backMenu.setEnabled(False) 244 self.backMenu.setEnabled(False)
245 245
246 # create the menu for multiple selected files 246 # create the menu for multiple selected files
247 self.multiMenu = QMenu(self) 247 self.multiMenu = QMenu(self)
248 if projectType in ["PyQt5", "PyQt6", "E6Plugin", "PySide2", "PySide6"]: 248 if projectType in ["PyQt5", "PyQt6", "E7Plugin", "PySide2", "PySide6"]:
249 self.multiMenu.addAction( 249 self.multiMenu.addAction(
250 self.tr('Compile forms'), self.__compileSelectedForms) 250 self.tr('Compile forms'), self.__compileSelectedForms)
251 self.multiMenu.addSeparator() 251 self.multiMenu.addSeparator()
252 self.__pyuicMultiConfigAct = self.multiMenu.addAction( 252 self.__pyuicMultiConfigAct = self.multiMenu.addAction(
253 self.tr('Configure uic Compiler'), 253 self.tr('Configure uic Compiler'),
288 self.tr('Collapse all directories'), self._collapseAllDirs) 288 self.tr('Collapse all directories'), self._collapseAllDirs)
289 self.multiMenu.addSeparator() 289 self.multiMenu.addSeparator()
290 self.multiMenu.addAction(self.tr('Configure...'), self._configure) 290 self.multiMenu.addAction(self.tr('Configure...'), self._configure)
291 291
292 self.dirMenu = QMenu(self) 292 self.dirMenu = QMenu(self)
293 if projectType in ["PyQt5", "PyQt6", "E6Plugin", "PySide2", "PySide6"]: 293 if projectType in ["PyQt5", "PyQt6", "E7Plugin", "PySide2", "PySide6"]:
294 self.dirMenu.addAction( 294 self.dirMenu.addAction(
295 self.tr('Compile all forms'), self.__compileAllForms) 295 self.tr('Compile all forms'), self.__compileAllForms)
296 self.dirMenu.addSeparator() 296 self.dirMenu.addSeparator()
297 self.__pyuicDirConfigAct = self.dirMenu.addAction( 297 self.__pyuicDirConfigAct = self.dirMenu.addAction(
298 self.tr('Configure uic Compiler'), 298 self.tr('Configure uic Compiler'),
311 self.dirMenuActions.append(act) 311 self.dirMenuActions.append(act)
312 act = self.dirMenu.addAction( 312 act = self.dirMenu.addAction(
313 self.tr('Delete'), self._deleteDirectory) 313 self.tr('Delete'), self._deleteDirectory)
314 self.dirMenuActions.append(act) 314 self.dirMenuActions.append(act)
315 self.dirMenu.addSeparator() 315 self.dirMenu.addSeparator()
316 if projectType in ["PyQt5", "PyQt6", "E6Plugin", "PySide2", "PySide6"]: 316 if projectType in ["PyQt5", "PyQt6", "E7Plugin", "PySide2", "PySide6"]:
317 self.dirMenu.addAction(self.tr('New form...'), self.__newForm) 317 self.dirMenu.addAction(self.tr('New form...'), self.__newForm)
318 else: 318 else:
319 if self.hooks["newForm"] is not None: 319 if self.hooks["newForm"] is not None:
320 self.dirMenu.addAction( 320 self.dirMenu.addAction(
321 self.hooksMenuEntries.get( 321 self.hooksMenuEntries.get(
335 self.tr('Collapse all directories'), self._collapseAllDirs) 335 self.tr('Collapse all directories'), self._collapseAllDirs)
336 self.dirMenu.addSeparator() 336 self.dirMenu.addSeparator()
337 self.dirMenu.addAction(self.tr('Configure...'), self._configure) 337 self.dirMenu.addAction(self.tr('Configure...'), self._configure)
338 338
339 self.dirMultiMenu = QMenu(self) 339 self.dirMultiMenu = QMenu(self)
340 if projectType in ["PyQt5", "PyQt6", "E6Plugin", "PySide2", "PySide6"]: 340 if projectType in ["PyQt5", "PyQt6", "E7Plugin", "PySide2", "PySide6"]:
341 self.dirMultiMenu.addAction( 341 self.dirMultiMenu.addAction(
342 self.tr('Compile all forms'), self.__compileAllForms) 342 self.tr('Compile all forms'), self.__compileAllForms)
343 self.dirMultiMenu.addSeparator() 343 self.dirMultiMenu.addSeparator()
344 self.__pyuicDirMultiConfigAct = self.dirMultiMenu.addAction( 344 self.__pyuicDirMultiConfigAct = self.dirMultiMenu.addAction(
345 self.tr('Configure uic Compiler'), 345 self.tr('Configure uic Compiler'),
381 """ 381 """
382 if not self.project.isOpen(): 382 if not self.project.isOpen():
383 return 383 return
384 384
385 enable = ( 385 enable = (
386 self.project.getProjectType() in ("PyQt5", "PyQt6", "E6Plugin") 386 self.project.getProjectType() in ("PyQt5", "PyQt6", "E7Plugin")
387 ) 387 )
388 self.__pyuicConfigAct.setEnabled(enable) 388 self.__pyuicConfigAct.setEnabled(enable)
389 self.__pyuicMultiConfigAct.setEnabled(enable) 389 self.__pyuicMultiConfigAct.setEnabled(enable)
390 self.__pyuicDirConfigAct.setEnabled(enable) 390 self.__pyuicDirConfigAct.setEnabled(enable)
391 self.__pyuicDirMultiConfigAct.setEnabled(enable) 391 self.__pyuicDirMultiConfigAct.setEnabled(enable)
566 566
567 if self.hooks["newForm"] is not None: 567 if self.hooks["newForm"] is not None:
568 self.hooks["newForm"](path) 568 self.hooks["newForm"](path)
569 else: 569 else:
570 if self.project.getProjectType() in [ 570 if self.project.getProjectType() in [
571 "PyQt5", "PyQt6", "E6Plugin", "PySide2", "PySide6" 571 "PyQt5", "PyQt6", "E7Plugin", "PySide2", "PySide6"
572 ]: 572 ]:
573 self.__newUiForm(path) 573 self.__newUiForm(path)
574 574
575 def __newUiForm(self, path): 575 def __newUiForm(self, path):
576 """ 576 """
679 Private method to determine the UI compiler for the project. 679 Private method to determine the UI compiler for the project.
680 """ 680 """
681 self.__resetUiCompiler() 681 self.__resetUiCompiler()
682 682
683 if self.project.getProjectLanguage() == "Python3": 683 if self.project.getProjectLanguage() == "Python3":
684 if self.project.getProjectType() in ["PyQt5", "E6Plugin"]: 684 if self.project.getProjectType() in ["PyQt5"]:
685 self.__uicompiler = Utilities.generatePyQtToolPath( 685 self.__uicompiler = Utilities.generatePyQtToolPath(
686 'pyuic5', ["py3uic5"]) 686 'pyuic5', ["py3uic5"])
687 elif self.project.getProjectType() in ["PyQt6"]: 687 elif self.project.getProjectType() in ["PyQt6", "E7Plugin"]:
688 self.__uicompiler = Utilities.generatePyQtToolPath( 688 self.__uicompiler = Utilities.generatePyQtToolPath(
689 'pyuic6') 689 'pyuic6')
690 elif self.project.getProjectType() == "PySide2": 690 elif self.project.getProjectType() == "PySide2":
691 self.__uicompiler = Utilities.generatePySideToolPath( 691 self.__uicompiler = Utilities.generatePySideToolPath(
692 'pyside2-uic', variant=2) 692 'pyside2-uic', variant=2)
981 """ 981 """
982 if self.hooks["compileChangedForms"] is not None: 982 if self.hooks["compileChangedForms"] is not None:
983 self.hooks["compileChangedForms"](self.project.pdata["FORMS"]) 983 self.hooks["compileChangedForms"](self.project.pdata["FORMS"])
984 else: 984 else:
985 if self.project.getProjectType() not in [ 985 if self.project.getProjectType() not in [
986 "PyQt5", "PyQt6", "E6Plugin", "PySide2", "PySide6" 986 "PyQt5", "PyQt6", "E7Plugin", "PySide2", "PySide6"
987 ]: 987 ]:
988 # ignore the request for non Qt GUI projects 988 # ignore the request for non Qt GUI projects
989 return 989 return
990 990
991 progress = E5ProgressDialog( 991 progress = E5ProgressDialog(
1051 """ 1051 """
1052 from .UicCompilerOptionsDialog import UicCompilerOptionsDialog 1052 from .UicCompilerOptionsDialog import UicCompilerOptionsDialog
1053 1053
1054 params = self.project.pdata["UICPARAMS"] 1054 params = self.project.pdata["UICPARAMS"]
1055 1055
1056 if self.project.getProjectType() in ["PyQt5", "PyQt6", "E6Plugin"]: 1056 if self.project.getProjectType() in ["PyQt5", "PyQt6", "E7Plugin"]:
1057 dlg = UicCompilerOptionsDialog(params, self.getUiCompiler()) 1057 dlg = UicCompilerOptionsDialog(params, self.getUiCompiler())
1058 if dlg.exec() == QDialog.DialogCode.Accepted: 1058 if dlg.exec() == QDialog.DialogCode.Accepted:
1059 package, suffix, root = dlg.getData() 1059 package, suffix, root = dlg.getData()
1060 if package != params["Package"]: 1060 if package != params["Package"]:
1061 params["Package"] = package 1061 params["Package"] = package

eric ide

mercurial