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 |