src/eric7/Project/ProjectResourcesBrowser.py

branch
server
changeset 10635
dcec2e0c0036
parent 10439
21c28b0f9e41
child 10704
27d21e5163b8
diff -r dda7e43934dc -r dcec2e0c0036 src/eric7/Project/ProjectResourcesBrowser.py
--- a/src/eric7/Project/ProjectResourcesBrowser.py	Fri Mar 08 16:08:43 2024 +0100
+++ b/src/eric7/Project/ProjectResourcesBrowser.py	Sun Mar 10 16:15:14 2024 +0100
@@ -19,7 +19,7 @@
 from eric7.EricWidgets import EricFileDialog, EricMessageBox
 from eric7.EricWidgets.EricApplication import ericApp
 from eric7.EricWidgets.EricProgressDialog import EricProgressDialog
-from eric7.SystemUtilities import QtUtilities
+from eric7.SystemUtilities import FileSystemUtilities, QtUtilities
 from eric7.UI.DeleteFilesConfirmationDialog import DeleteFilesConfirmationDialog
 from eric7.UI.NotificationWidget import NotificationTypes
 
@@ -139,14 +139,17 @@
         self.dirMultiMenuActions = []
 
         self.menu = QMenu(self)
-        if self.project.getProjectType() in [
-            "PyQt5",
-            "PyQt5C",
-            "PySide2",
-            "PySide2C",
-            "PySide6",
-            "PySide6C",
-        ]:
+        if (
+            FileSystemUtilities.isPlainFileName(self.project.getProjectPath())
+            and self.project.getProjectType() in [
+                "PyQt5",
+                "PyQt5C",
+                "PySide2",
+                "PySide2C",
+                "PySide6",
+                "PySide6C",
+            ]
+        ):
             self.menu.addAction(self.tr("Compile resource"), self.__compileResource)
             self.menu.addAction(
                 self.tr("Compile all resources"), self.__compileAllResources
@@ -185,29 +188,33 @@
         act = self.menu.addAction(self.tr("Delete"), self.__deleteFile)
         self.menuActions.append(act)
         self.menu.addSeparator()
-        if self.project.getProjectType() in [
-            "PyQt5",
-            "PyQt5C",
-            "PySide2",
-            "PySide2C",
-            "PySide6",
-            "PySide6C",
-        ]:
-            self.menu.addAction(self.tr("New resource..."), self.__newResource)
-        else:
-            if self.hooks["newResource"] is not None:
-                self.menu.addAction(
-                    self.hooksMenuEntries.get(
-                        "newResource", self.tr("New resource...")
-                    ),
-                    self.__newResource,
-                )
+        if FileSystemUtilities.isPlainFileName(self.project.getProjectPath()):
+            if self.project.getProjectType() in [
+                "PyQt5",
+                "PyQt5C",
+                "PySide2",
+                "PySide2C",
+                "PySide6",
+                "PySide6C",
+            ]:
+                self.menu.addAction(self.tr("New resource..."), self.__newResource)
+            else:
+                if self.hooks["newResource"] is not None:
+                    self.menu.addAction(
+                        self.hooksMenuEntries.get(
+                            "newResource", self.tr("New resource...")
+                        ),
+                        self.__newResource,
+                    )
         self.menu.addAction(self.tr("Add resources..."), self.__addResourceFiles)
         self.menu.addAction(
             self.tr("Add resources directory..."), self.__addResourcesDirectory
         )
         self.menu.addSeparator()
-        self.menu.addAction(self.tr("Show in File Manager"), self._showInFileManager)
+        if FileSystemUtilities.isPlainFileName(self.project.getProjectPath()):
+            self.menu.addAction(
+                self.tr("Show in File Manager"), self._showInFileManager
+            )
         self.menu.addAction(self.tr("Copy Path to Clipboard"), self._copyToClipboard)
         self.menu.addSeparator()
         self.menu.addAction(self.tr("Expand all directories"), self._expandAllDirs)
@@ -216,39 +223,40 @@
         self.menu.addAction(self.tr("Configure..."), self._configure)
 
         self.backMenu = QMenu(self)
-        if self.project.getProjectType() in [
-            "PyQt5",
-            "PyQt5C",
-            "PySide2",
-            "PySide2C",
-            "PySide6",
-            "PySide6C",
-        ]:
-            self.backMenu.addAction(
-                self.tr("Compile all resources"), self.__compileAllResources
-            )
-            self.backMenu.addSeparator()
-            self.backMenu.addAction(
-                self.tr("Configure rcc Compiler"), self.__configureRccCompiler
-            )
-            self.backMenu.addSeparator()
-            self.backMenu.addAction(self.tr("New resource..."), self.__newResource)
-        else:
-            if self.hooks["compileAllResources"] is not None:
+        if FileSystemUtilities.isPlainFileName(self.project.getProjectPath()):
+            if self.project.getProjectType() in [
+                "PyQt5",
+                "PyQt5C",
+                "PySide2",
+                "PySide2C",
+                "PySide6",
+                "PySide6C",
+            ]:
                 self.backMenu.addAction(
-                    self.hooksMenuEntries.get(
-                        "compileAllResources", self.tr("Compile all resources")
-                    ),
-                    self.__compileAllResources,
+                    self.tr("Compile all resources"), self.__compileAllResources
+                )
+                self.backMenu.addSeparator()
+                self.backMenu.addAction(
+                    self.tr("Configure rcc Compiler"), self.__configureRccCompiler
                 )
                 self.backMenu.addSeparator()
-            if self.hooks["newResource"] is not None:
-                self.backMenu.addAction(
-                    self.hooksMenuEntries.get(
-                        "newResource", self.tr("New resource...")
-                    ),
-                    self.__newResource,
-                )
+                self.backMenu.addAction(self.tr("New resource..."), self.__newResource)
+            else:
+                if self.hooks["compileAllResources"] is not None:
+                    self.backMenu.addAction(
+                        self.hooksMenuEntries.get(
+                            "compileAllResources", self.tr("Compile all resources")
+                        ),
+                        self.__compileAllResources,
+                    )
+                    self.backMenu.addSeparator()
+                if self.hooks["newResource"] is not None:
+                    self.backMenu.addAction(
+                        self.hooksMenuEntries.get(
+                            "newResource", self.tr("New resource...")
+                        ),
+                        self.__newResource,
+                    )
         self.backMenu.addAction(
             self.tr("Add resources..."), lambda: self.project.addFiles("RECOURCES")
         )
@@ -257,9 +265,10 @@
             lambda: self.project.addDirectory("RESOURCES"),
         )
         self.backMenu.addSeparator()
-        self.backMenu.addAction(
-            self.tr("Show in File Manager"), self._showProjectInFileManager
-        )
+        if FileSystemUtilities.isPlainFileName(self.project.getProjectPath()):
+            self.backMenu.addAction(
+                self.tr("Show in File Manager"), self._showProjectInFileManager
+            )
         self.backMenu.addSeparator()
         self.backMenu.addAction(self.tr("Expand all directories"), self._expandAllDirs)
         self.backMenu.addAction(
@@ -271,31 +280,32 @@
 
         # create the menu for multiple selected files
         self.multiMenu = QMenu(self)
-        if self.project.getProjectType() in [
-            "PyQt5",
-            "PyQt5C",
-            "PySide2",
-            "PySide2C",
-            "PySide6",
-            "PySide6C",
-        ]:
-            act = self.multiMenu.addAction(
-                self.tr("Compile resources"), self.__compileSelectedResources
-            )
-            self.multiMenu.addSeparator()
-            self.multiMenu.addAction(
-                self.tr("Configure rcc Compiler"), self.__configureRccCompiler
-            )
-            self.multiMenu.addSeparator()
-        else:
-            if self.hooks["compileSelectedResources"] is not None:
+        if FileSystemUtilities.isPlainFileName(self.project.getProjectPath()):
+            if self.project.getProjectType() in [
+                "PyQt5",
+                "PyQt5C",
+                "PySide2",
+                "PySide2C",
+                "PySide6",
+                "PySide6C",
+            ]:
                 act = self.multiMenu.addAction(
-                    self.hooksMenuEntries.get(
-                        "compileSelectedResources", self.tr("Compile resources")
-                    ),
-                    self.__compileSelectedResources,
+                    self.tr("Compile resources"), self.__compileSelectedResources
                 )
                 self.multiMenu.addSeparator()
+                self.multiMenu.addAction(
+                    self.tr("Configure rcc Compiler"), self.__configureRccCompiler
+                )
+                self.multiMenu.addSeparator()
+            else:
+                if self.hooks["compileSelectedResources"] is not None:
+                    act = self.multiMenu.addAction(
+                        self.hooksMenuEntries.get(
+                            "compileSelectedResources", self.tr("Compile resources")
+                        ),
+                        self.__compileSelectedResources,
+                    )
+                    self.multiMenu.addSeparator()
         self.multiMenu.addAction(self.tr("Open"), self.__openFile)
         self.multiMenu.addSeparator()
         act = self.multiMenu.addAction(self.tr("Remove from project"), self._removeFile)
@@ -311,43 +321,48 @@
         self.multiMenu.addAction(self.tr("Configure..."), self._configure)
 
         self.dirMenu = QMenu(self)
-        if self.project.getProjectType() in [
-            "PyQt5",
-            "PyQt5C",
-            "PySide2",
-            "PySide2C",
-            "PySide6",
-            "PySide6C",
-        ]:
-            self.dirMenu.addAction(
-                self.tr("Compile all resources"), self.__compileAllResources
-            )
-            self.dirMenu.addSeparator()
-            self.dirMenu.addAction(
-                self.tr("Configure rcc Compiler"), self.__configureRccCompiler
-            )
-            self.dirMenu.addSeparator()
-        else:
-            if self.hooks["compileAllResources"] is not None:
+        if FileSystemUtilities.isPlainFileName(self.project.getProjectPath()):
+            if self.project.getProjectType() in [
+                "PyQt5",
+                "PyQt5C",
+                "PySide2",
+                "PySide2C",
+                "PySide6",
+                "PySide6C",
+            ]:
                 self.dirMenu.addAction(
-                    self.hooksMenuEntries.get(
-                        "compileAllResources", self.tr("Compile all resources")
-                    ),
-                    self.__compileAllResources,
+                    self.tr("Compile all resources"), self.__compileAllResources
                 )
                 self.dirMenu.addSeparator()
+                self.dirMenu.addAction(
+                    self.tr("Configure rcc Compiler"), self.__configureRccCompiler
+                )
+                self.dirMenu.addSeparator()
+            else:
+                if self.hooks["compileAllResources"] is not None:
+                    self.dirMenu.addAction(
+                        self.hooksMenuEntries.get(
+                            "compileAllResources", self.tr("Compile all resources")
+                        ),
+                        self.__compileAllResources,
+                    )
+                    self.dirMenu.addSeparator()
         act = self.dirMenu.addAction(self.tr("Remove from project"), self._removeDir)
         self.dirMenuActions.append(act)
         act = self.dirMenu.addAction(self.tr("Delete"), self._deleteDirectory)
         self.dirMenuActions.append(act)
         self.dirMenu.addSeparator()
-        self.dirMenu.addAction(self.tr("New resource..."), self.__newResource)
+        if FileSystemUtilities.isPlainFileName(self.project.getProjectPath()):
+            self.dirMenu.addAction(self.tr("New resource..."), self.__newResource)
         self.dirMenu.addAction(self.tr("Add resources..."), self.__addResourceFiles)
         self.dirMenu.addAction(
             self.tr("Add resources directory..."), self.__addResourcesDirectory
         )
         self.dirMenu.addSeparator()
-        self.dirMenu.addAction(self.tr("Show in File Manager"), self._showInFileManager)
+        if FileSystemUtilities.isPlainFileName(self.project.getProjectPath()):
+            self.dirMenu.addAction(
+                self.tr("Show in File Manager"), self._showInFileManager
+            )
         self.dirMenu.addAction(self.tr("Copy Path to Clipboard"), self._copyToClipboard)
         self.dirMenu.addSeparator()
         self.dirMenu.addAction(self.tr("Expand all directories"), self._expandAllDirs)
@@ -358,31 +373,32 @@
         self.dirMenu.addAction(self.tr("Configure..."), self._configure)
 
         self.dirMultiMenu = QMenu(self)
-        if self.project.getProjectType() in [
-            "PyQt5",
-            "PyQt5C",
-            "PySide2",
-            "PySide2C",
-            "PySide6",
-            "PySide6C",
-        ]:
-            self.dirMultiMenu.addAction(
-                self.tr("Compile all resources"), self.__compileAllResources
-            )
-            self.dirMultiMenu.addSeparator()
-            self.dirMultiMenu.addAction(
-                self.tr("Configure rcc Compiler"), self.__configureRccCompiler
-            )
-            self.dirMultiMenu.addSeparator()
-        else:
-            if self.hooks["compileAllResources"] is not None:
+        if FileSystemUtilities.isPlainFileName(self.project.getProjectPath()):
+            if self.project.getProjectType() in [
+                "PyQt5",
+                "PyQt5C",
+                "PySide2",
+                "PySide2C",
+                "PySide6",
+                "PySide6C",
+            ]:
                 self.dirMultiMenu.addAction(
-                    self.hooksMenuEntries.get(
-                        "compileAllResources", self.tr("Compile all resources")
-                    ),
-                    self.__compileAllResources,
+                    self.tr("Compile all resources"), self.__compileAllResources
                 )
                 self.dirMultiMenu.addSeparator()
+                self.dirMultiMenu.addAction(
+                    self.tr("Configure rcc Compiler"), self.__configureRccCompiler
+                )
+                self.dirMultiMenu.addSeparator()
+            else:
+                if self.hooks["compileAllResources"] is not None:
+                    self.dirMultiMenu.addAction(
+                        self.hooksMenuEntries.get(
+                            "compileAllResources", self.tr("Compile all resources")
+                        ),
+                        self.__compileAllResources,
+                    )
+                    self.dirMultiMenu.addSeparator()
         self.dirMultiMenu.addAction(
             self.tr("Add resources..."), lambda: self.project.addFiles("RECOURCES")
         )

eric ide

mercurial