--- a/src/eric7/UI/Browser.py Thu Dec 07 10:40:51 2023 +0100 +++ b/src/eric7/UI/Browser.py Sun Dec 10 17:06:00 2023 +0100 @@ -250,6 +250,10 @@ self.sourceMenu.addAction( QCoreApplication.translate("Browser", "Open"), self._openItem ) + self.sourceMenu.addAction( + QCoreApplication.translate("Browser", "Show in File Manager"), + self._showInFileManager, + ) self.testingAct = self.sourceMenu.addAction( QCoreApplication.translate("Browser", "Run Test..."), self.handleTesting ) @@ -296,6 +300,10 @@ QCoreApplication.translate("Browser", "Open in PDF Viewer"), self._openPdfViewer, ) + self.menu.addAction( + QCoreApplication.translate("Browser", "Show in File Manager"), + self._showInFileManager, + ) self.menu.addSeparator() self.mimeTypeAct = self.menu.addAction( QCoreApplication.translate("Browser", "Show Mime-Type"), self.__showMimeType @@ -341,6 +349,11 @@ ) self.dirMenu.addSeparator() self.dirMenu.addAction( + QCoreApplication.translate("Browser", "Show in File Manager"), + self._showInFileManager, + ) + self.dirMenu.addSeparator() + self.dirMenu.addAction( QCoreApplication.translate("Browser", "Refresh directory"), self.__refreshDirectory, ) @@ -570,6 +583,26 @@ self.sourceFile[str, list].emit(itm.fileName(), itm.linenos()) self._activating = False + def _showInFileManager(self): + """ + Protected method to show the selected items path in a file manager application. + """ + itmList = self.getSelectedItems( + [ + BrowserFileItem, + BrowserClassItem, + BrowserMethodItem, + BrowserClassAttributeItem, + BrowserImportItem, + BrowserDirectoryItem, + ] + ) + for itm in itmList: + if isinstance(itm, BrowserDirectoryItem): + QDesktopServices.openUrl(QUrl(itm.dirName())) + else: + QDesktopServices.openUrl(QUrl(os.path.dirname(itm.fileName()))) + def __showMimeType(self): """ Private slot to show the mime type of the selected entry.