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 |