eric6/Project/ProjectFormsBrowser.py

changeset 7451
f04328aef87a
parent 7444
4fa0c1d9ddd7
child 7533
88261c96484b
--- a/eric6/Project/ProjectFormsBrowser.py	Mon Mar 09 20:21:38 2020 +0100
+++ b/eric6/Project/ProjectFormsBrowser.py	Tue Mar 10 19:32:25 2020 +0100
@@ -137,7 +137,7 @@
                 self.tr('Generate Dialog Code...'),
                 self.__generateDialogCode)
             self.menu.addSeparator()
-            self.menu.addAction(
+            self.__pyuicConfigAct = self.menu.addAction(
                 self.tr('Configure uic Compiler'),
                 self.__configureUicCompiler)
             self.menu.addSeparator()
@@ -220,7 +220,7 @@
             self.backMenu.addAction(
                 self.tr('Compile all forms'), self.__compileAllForms)
             self.backMenu.addSeparator()
-            self.backMenu.addAction(
+            self.__pyuicBackConfigAct = self.backMenu.addAction(
                 self.tr('Configure uic Compiler'),
                 self.__configureUicCompiler)
             self.backMenu.addSeparator()
@@ -251,7 +251,7 @@
             self.multiMenu.addAction(
                 self.tr('Compile forms'), self.__compileSelectedForms)
             self.multiMenu.addSeparator()
-            self.multiMenu.addAction(
+            self.__pyuicMultiConfigAct = self.multiMenu.addAction(
                 self.tr('Configure uic Compiler'),
                 self.__configureUicCompiler)
             self.multiMenu.addSeparator()
@@ -298,7 +298,7 @@
             self.dirMenu.addAction(
                 self.tr('Compile all forms'), self.__compileAllForms)
             self.dirMenu.addSeparator()
-            self.dirMenu.addAction(
+            self.__pyuicDirConfigAct = self.dirMenu.addAction(
                 self.tr('Configure uic Compiler'),
                 self.__configureUicCompiler)
             self.dirMenu.addSeparator()
@@ -349,7 +349,7 @@
             self.dirMultiMenu.addAction(
                 self.tr('Compile all forms'), self.__compileAllForms)
             self.dirMultiMenu.addSeparator()
-            self.dirMultiMenu.addAction(
+            self.__pyuicDirMultiConfigAct = self.dirMultiMenu.addAction(
                 self.tr('Configure uic Compiler'),
                 self.__configureUicCompiler)
             self.dirMultiMenu.addSeparator()
@@ -390,6 +390,13 @@
         if not self.project.isOpen():
             return
         
+        enable = self.project.getProjectType() in ("Qt4", "PyQt5", "E6Plugin")
+        self.__pyuicConfigAct.setEnabled(enable)
+        self.__pyuicMultiConfigAct.setEnabled(enable)
+        self.__pyuicDirConfigAct.setEnabled(enable)
+        self.__pyuicDirMultiConfigAct.setEnabled(enable)
+        self.__pyuicBackConfigAct.setEnabled(enable)
+        
         try:
             categories = self.getSelectedItemsCountCategorized(
                 [ProjectBrowserFileItem, ProjectBrowserSimpleDirectoryItem])
@@ -843,11 +850,12 @@
             
             if self.project.getProjectType() in ["PySide", "PySide2"]:
                 # PySide and PySide2
-                if Preferences.getQt("PyuicFromImports"):
+                if Preferences.getQt("PySide2FromImports"):
                     args.append("--from-imports")
             else:
                 # PyQt4 and PyQt5
-                args.append("-x")
+                if Preferences.getQt("PyuicExecute"):
+                    args.append("-x")
                 indentWidth = Preferences.getQt("PyuicIndent")
                 if indentWidth != self.PyuicIndentDefault:
                     args.append("--indent={0}".format(indentWidth))
@@ -1098,12 +1106,6 @@
                 if root != params["PackagesRoot"]:
                     params["PackagesRoot"] = root
                     self.project.setDirty(True)
-        elif self.project.getProjectType() in ["PySide", "PySide2"]:
-            E5MessageBox.information(
-                self,
-                self.tr("Configure uic Compiler"),
-                self.tr("""No project specific uic compiler flags are"""
-                        """ supported for PySide or PySide2."""))
     
     ###########################################################################
     ## Support for hooks below

eric ide

mercurial