--- a/src/eric7/Project/ProjectOthersBrowser.py Fri Mar 08 15:30:23 2024 +0100 +++ b/src/eric7/Project/ProjectOthersBrowser.py Fri Mar 08 15:30:53 2024 +0100 @@ -17,6 +17,7 @@ from eric7 import Preferences from eric7.EricGui import EricPixmapCache from eric7.EricWidgets import EricMessageBox +from eric7.SystemUtilities import FileSystemUtilities from eric7.UI.DeleteFilesConfirmationDialog import DeleteFilesConfirmationDialog from eric7.Utilities import MimeTypes @@ -159,7 +160,9 @@ self.menu.addSeparator() self.menu.addAction(self.tr("Refresh"), self.__refreshItem) self.menu.addSeparator() - self.menu.addAction(self.tr("Show in File Manager"), self._showInFileManager) + self.menuFileManagerAct = 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) @@ -180,7 +183,9 @@ self.dirMenu.addAction(self.tr("Add files..."), self.__addOthersFiles) self.dirMenu.addAction(self.tr("Add directory..."), self.__addOthersDirectory) self.dirMenu.addSeparator() - self.dirMenu.addAction(self.tr("Show in File Manager"), self._showInFileManager) + self.dirMenuFileManagerAct = 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) @@ -198,7 +203,7 @@ self.tr("Add directory..."), lambda: self.project.addDirectory("OTHERS") ) self.backMenu.addSeparator() - self.backMenu.addAction( + self.backMenuFileManagerAct = self.backMenu.addAction( self.tr("Show in File Manager"), self._showProjectInFileManager ) self.backMenu.addSeparator() @@ -241,6 +246,8 @@ if not self.project.isOpen(): return + isRemote = FileSystemUtilities.isRemoteFileName(self.project.getProjectPath()) + with contextlib.suppress(Exception): # secok cnt = self.getSelectedItemsCount( [ @@ -272,18 +279,24 @@ self.openInEditorAct.setVisible(itm.isSvgFile()) self.openInPdfViewerAct.setVisible(itm.isPdfFile()) self.mimeTypeAct.setVisible(True) + self.menuFileManagerAct.setVisible(not isRemote) self.menu.popup(self.mapToGlobal(coord)) - elif isinstance(itm, ProjectBrowserDirectoryItem): + elif isinstance( + itm, + ( + ProjectBrowserDirectoryItem, + ProjectBrowserSimpleDirectoryItem, + ), + ): self.removeDirAct.setVisible(True) self.deleteDirAct.setVisible(True) - self.dirMenu.popup(self.mapToGlobal(coord)) - elif isinstance(itm, ProjectBrowserSimpleDirectoryItem): - self.removeDirAct.setVisible(False) - self.deleteDirAct.setVisible(False) + self.dirMenuFileManagerAct.setVisible(not isRemote) self.dirMenu.popup(self.mapToGlobal(coord)) else: + self.backMenuFileManagerAct.setVisible(not isRemote) self.backMenu.popup(self.mapToGlobal(coord)) else: + self.backMenuFileManagerAct.setVisible(not isRemote) self.backMenu.popup(self.mapToGlobal(coord)) def __showContextMenu(self): @@ -336,7 +349,7 @@ itm, (ProjectBrowserSimpleDirectoryItem, ProjectBrowserDirectoryItem) ): self.renameFileAct.setEnabled(False) - else: + elif self.vcsHelper is not None: self.vcsHelper.showContextMenu(menu, self.menuActions) def _editPixmap(self):