eric6/Project/ProjectFormsBrowser.py

changeset 7451
f04328aef87a
parent 7444
4fa0c1d9ddd7
child 7533
88261c96484b
equal deleted inserted replaced
7450:c33c1dbd0ee5 7451:f04328aef87a
135 self.__compileAllForms) 135 self.__compileAllForms)
136 self.menu.addAction( 136 self.menu.addAction(
137 self.tr('Generate Dialog Code...'), 137 self.tr('Generate Dialog Code...'),
138 self.__generateDialogCode) 138 self.__generateDialogCode)
139 self.menu.addSeparator() 139 self.menu.addSeparator()
140 self.menu.addAction( 140 self.__pyuicConfigAct = self.menu.addAction(
141 self.tr('Configure uic Compiler'), 141 self.tr('Configure uic Compiler'),
142 self.__configureUicCompiler) 142 self.__configureUicCompiler)
143 self.menu.addSeparator() 143 self.menu.addSeparator()
144 self.menu.addAction( 144 self.menu.addAction(
145 self.tr('Open in Qt-Designer'), self.__openFile) 145 self.tr('Open in Qt-Designer'), self.__openFile)
218 self.hooks["compileAllForms"] is not None 218 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()
223 self.backMenu.addAction( 223 self.__pyuicBackConfigAct = self.backMenu.addAction(
224 self.tr('Configure uic Compiler'), 224 self.tr('Configure uic Compiler'),
225 self.__configureUicCompiler) 225 self.__configureUicCompiler)
226 self.backMenu.addSeparator() 226 self.backMenu.addSeparator()
227 self.backMenu.addAction(self.tr('New form...'), self.__newForm) 227 self.backMenu.addAction(self.tr('New form...'), self.__newForm)
228 else: 228 else:
249 "Qt4", "PyQt5", "E6Plugin", "PySide", "PySide2" 249 "Qt4", "PyQt5", "E6Plugin", "PySide", "PySide2"
250 ]: 250 ]:
251 self.multiMenu.addAction( 251 self.multiMenu.addAction(
252 self.tr('Compile forms'), self.__compileSelectedForms) 252 self.tr('Compile forms'), self.__compileSelectedForms)
253 self.multiMenu.addSeparator() 253 self.multiMenu.addSeparator()
254 self.multiMenu.addAction( 254 self.__pyuicMultiConfigAct = self.multiMenu.addAction(
255 self.tr('Configure uic Compiler'), 255 self.tr('Configure uic Compiler'),
256 self.__configureUicCompiler) 256 self.__configureUicCompiler)
257 self.multiMenu.addSeparator() 257 self.multiMenu.addSeparator()
258 self.multiMenu.addAction( 258 self.multiMenu.addAction(
259 self.tr('Open in Qt-Designer'), self.__openFile) 259 self.tr('Open in Qt-Designer'), self.__openFile)
296 "Qt4", "PyQt5", "E6Plugin", "PySide", "PySide2" 296 "Qt4", "PyQt5", "E6Plugin", "PySide", "PySide2"
297 ]: 297 ]:
298 self.dirMenu.addAction( 298 self.dirMenu.addAction(
299 self.tr('Compile all forms'), self.__compileAllForms) 299 self.tr('Compile all forms'), self.__compileAllForms)
300 self.dirMenu.addSeparator() 300 self.dirMenu.addSeparator()
301 self.dirMenu.addAction( 301 self.__pyuicDirConfigAct = self.dirMenu.addAction(
302 self.tr('Configure uic Compiler'), 302 self.tr('Configure uic Compiler'),
303 self.__configureUicCompiler) 303 self.__configureUicCompiler)
304 self.dirMenu.addSeparator() 304 self.dirMenu.addSeparator()
305 else: 305 else:
306 if self.hooks["compileAllForms"] is not None: 306 if self.hooks["compileAllForms"] is not None:
347 "Qt4", "PyQt5", "E6Plugin", "PySide", "PySide2" 347 "Qt4", "PyQt5", "E6Plugin", "PySide", "PySide2"
348 ]: 348 ]:
349 self.dirMultiMenu.addAction( 349 self.dirMultiMenu.addAction(
350 self.tr('Compile all forms'), self.__compileAllForms) 350 self.tr('Compile all forms'), self.__compileAllForms)
351 self.dirMultiMenu.addSeparator() 351 self.dirMultiMenu.addSeparator()
352 self.dirMultiMenu.addAction( 352 self.__pyuicDirMultiConfigAct = self.dirMultiMenu.addAction(
353 self.tr('Configure uic Compiler'), 353 self.tr('Configure uic Compiler'),
354 self.__configureUicCompiler) 354 self.__configureUicCompiler)
355 self.dirMultiMenu.addSeparator() 355 self.dirMultiMenu.addSeparator()
356 else: 356 else:
357 if self.hooks["compileAllForms"] is not None: 357 if self.hooks["compileAllForms"] is not None:
387 387
388 @param coord the position of the mouse pointer (QPoint) 388 @param coord the position of the mouse pointer (QPoint)
389 """ 389 """
390 if not self.project.isOpen(): 390 if not self.project.isOpen():
391 return 391 return
392
393 enable = self.project.getProjectType() in ("Qt4", "PyQt5", "E6Plugin")
394 self.__pyuicConfigAct.setEnabled(enable)
395 self.__pyuicMultiConfigAct.setEnabled(enable)
396 self.__pyuicDirConfigAct.setEnabled(enable)
397 self.__pyuicDirMultiConfigAct.setEnabled(enable)
398 self.__pyuicBackConfigAct.setEnabled(enable)
392 399
393 try: 400 try:
394 categories = self.getSelectedItemsCountCategorized( 401 categories = self.getSelectedItemsCountCategorized(
395 [ProjectBrowserFileItem, ProjectBrowserSimpleDirectoryItem]) 402 [ProjectBrowserFileItem, ProjectBrowserSimpleDirectoryItem])
396 cnt = categories["sum"] 403 cnt = categories["sum"]
841 dirname, filename = os.path.split(ofn) 848 dirname, filename = os.path.split(ofn)
842 self.compiledFile = os.path.join(dirname, "Ui_" + filename + ".py") 849 self.compiledFile = os.path.join(dirname, "Ui_" + filename + ".py")
843 850
844 if self.project.getProjectType() in ["PySide", "PySide2"]: 851 if self.project.getProjectType() in ["PySide", "PySide2"]:
845 # PySide and PySide2 852 # PySide and PySide2
846 if Preferences.getQt("PyuicFromImports"): 853 if Preferences.getQt("PySide2FromImports"):
847 args.append("--from-imports") 854 args.append("--from-imports")
848 else: 855 else:
849 # PyQt4 and PyQt5 856 # PyQt4 and PyQt5
850 args.append("-x") 857 if Preferences.getQt("PyuicExecute"):
858 args.append("-x")
851 indentWidth = Preferences.getQt("PyuicIndent") 859 indentWidth = Preferences.getQt("PyuicIndent")
852 if indentWidth != self.PyuicIndentDefault: 860 if indentWidth != self.PyuicIndentDefault:
853 args.append("--indent={0}".format(indentWidth)) 861 args.append("--indent={0}".format(indentWidth))
854 if ( 862 if (
855 'uic5' in uicompiler and 863 'uic5' in uicompiler and
1096 params["RcSuffix"] = suffix 1104 params["RcSuffix"] = suffix
1097 self.project.setDirty(True) 1105 self.project.setDirty(True)
1098 if root != params["PackagesRoot"]: 1106 if root != params["PackagesRoot"]:
1099 params["PackagesRoot"] = root 1107 params["PackagesRoot"] = root
1100 self.project.setDirty(True) 1108 self.project.setDirty(True)
1101 elif self.project.getProjectType() in ["PySide", "PySide2"]:
1102 E5MessageBox.information(
1103 self,
1104 self.tr("Configure uic Compiler"),
1105 self.tr("""No project specific uic compiler flags are"""
1106 """ supported for PySide or PySide2."""))
1107 1109
1108 ########################################################################### 1110 ###########################################################################
1109 ## Support for hooks below 1111 ## Support for hooks below
1110 ########################################################################### 1112 ###########################################################################
1111 1113

eric ide

mercurial