--- a/src/eric7/Project/ProjectOthersBrowser.py Thu Jan 12 14:01:40 2023 +0100 +++ b/src/eric7/Project/ProjectOthersBrowser.py Thu Jan 12 18:08:12 2023 +0100 @@ -114,6 +114,7 @@ self.svgFile.connect(projectBrowser.svgFile) self.umlFile.connect(projectBrowser.umlFile) self.binaryFile.connect(projectBrowser.binaryFile) + self.pdfFile.connect(projectBrowser.pdfFile) def getIcon(self): """ @@ -137,6 +138,8 @@ self.openInEditorAct = self.menu.addAction( self.tr("Open in Editor"), self._openFileInEditor ) + self.openInPdfViewerAct = self.menu.addAction( + self.tr("Open in PDF Viewer"), self._openPdfViewer) self.menu.addSeparator() self.mimeTypeAct = self.menu.addAction( self.tr("Show Mime-Type"), self.__showMimeType @@ -260,6 +263,7 @@ if isinstance(itm, ProjectBrowserFileItem): self.editPixmapAct.setVisible(itm.isPixmapFile()) self.openInEditorAct.setVisible(itm.isSvgFile()) + self.openInPdfViewerAct.setVisible(itm.isPdfFile()) self.mimeTypeAct.setVisible(True) self.menu.popup(self.mapToGlobal(coord)) elif isinstance(itm, ProjectBrowserDirectoryItem): @@ -347,6 +351,16 @@ if isinstance(itm, ProjectBrowserFileItem): self.binaryFile.emit(itm.fileName()) + def _openPdfViewer(self): + """ + Protected slot to handle the open in PDF viewer popup menu entry. + """ + itmList = self.getSelectedItems() + + for itm in itmList: + if isinstance(itm, ProjectBrowserFileItem) and itm.isPdfFile(): + self.pdfFile.emit(itm.fileName()) + def _openItem(self): """ Protected slot to handle the open popup menu entry. @@ -355,7 +369,9 @@ for itm in itmList: if isinstance(itm, ProjectBrowserFileItem): - if itm.isSvgFile(): + if itm.isPdfFile(): + self.pdfFile.emit(itm.fileName()) + elif itm.isSvgFile(): self.svgFile.emit(itm.fileName()) elif itm.isPixmapFile(): self.pixmapFile.emit(itm.fileName())