src/eric7/UI/Browser.py

branch
pdf_viewer
changeset 9697
cdaa3cc805f7
parent 9653
e67609152c5e
child 10069
435cc5875135
equal deleted inserted replaced
9696:669dabfa1319 9697:cdaa3cc805f7
87 @signal svgFile(filename) emitted to open a SVG file (str) 87 @signal svgFile(filename) emitted to open a SVG file (str)
88 @signal umlFile(filename) emitted to open an eric UML file (str) 88 @signal umlFile(filename) emitted to open an eric UML file (str)
89 @signal binaryFile(filename) emitted to open a file as binary (str) 89 @signal binaryFile(filename) emitted to open a file as binary (str)
90 @signal testFile(filename) emitted to open a Python file for a 90 @signal testFile(filename) emitted to open a Python file for a
91 unit test (str) 91 unit test (str)
92 @signal pdfFile(filename) emitted to open a PDF file (str)
92 """ 93 """
93 94
94 sourceFile = pyqtSignal((str,), (str, int), (str, list), (str, int, str)) 95 sourceFile = pyqtSignal((str,), (str, int), (str, list), (str, int, str))
95 designerFile = pyqtSignal(str) 96 designerFile = pyqtSignal(str)
96 linguistFile = pyqtSignal(str) 97 linguistFile = pyqtSignal(str)
100 pixmapFile = pyqtSignal(str) 101 pixmapFile = pyqtSignal(str)
101 pixmapEditFile = pyqtSignal(str) 102 pixmapEditFile = pyqtSignal(str)
102 svgFile = pyqtSignal(str) 103 svgFile = pyqtSignal(str)
103 umlFile = pyqtSignal(str) 104 umlFile = pyqtSignal(str)
104 binaryFile = pyqtSignal(str) 105 binaryFile = pyqtSignal(str)
106 pdfFile = pyqtSignal(str)
105 testFile = pyqtSignal(str) 107 testFile = pyqtSignal(str)
106 108
107 def __init__(self, parent=None): 109 def __init__(self, parent=None):
108 """ 110 """
109 Constructor 111 Constructor
292 ) 294 )
293 self.openInEditorAct = self.menu.addAction( 295 self.openInEditorAct = self.menu.addAction(
294 QCoreApplication.translate("Browser", "Open in Editor"), 296 QCoreApplication.translate("Browser", "Open in Editor"),
295 self._openFileInEditor, 297 self._openFileInEditor,
296 ) 298 )
299 self.openInPdfViewerAct = self.menu.addAction(
300 QCoreApplication.translate("Browser", "Open in PDF Viewer"),
301 self._openPdfViewer,
302 )
297 self.menu.addSeparator() 303 self.menu.addSeparator()
298 self.mimeTypeAct = self.menu.addAction( 304 self.mimeTypeAct = self.menu.addAction(
299 QCoreApplication.translate("Browser", "Show Mime-Type"), self.__showMimeType 305 QCoreApplication.translate("Browser", "Show Mime-Type"), self.__showMimeType
300 ) 306 )
301 self.menu.addSeparator() 307 self.menu.addSeparator()
445 self.testingAct.setEnabled(False) 451 self.testingAct.setEnabled(False)
446 self.sourceMenu.popup(coord) 452 self.sourceMenu.popup(coord)
447 else: 453 else:
448 self.editPixmapAct.setVisible(itm.isPixmapFile()) 454 self.editPixmapAct.setVisible(itm.isPixmapFile())
449 self.openInEditorAct.setVisible(itm.isSvgFile()) 455 self.openInEditorAct.setVisible(itm.isSvgFile())
456 self.openInPdfViewerAct.setVisible(itm.isPdfFile())
450 self.menu.popup(coord) 457 self.menu.popup(coord)
451 elif isinstance( 458 elif isinstance(
452 itm, (BrowserClassItem, BrowserMethodItem, BrowserImportItem) 459 itm, (BrowserClassItem, BrowserMethodItem, BrowserImportItem)
453 ): 460 ):
454 self.editPixmapAct.setVisible(False) 461 self.editPixmapAct.setVisible(False)
462 self.openInPdfViewerAct.setVisible(False)
455 self.menu.popup(coord) 463 self.menu.popup(coord)
456 elif isinstance(itm, BrowserClassAttributeItem): 464 elif isinstance(itm, BrowserClassAttributeItem):
457 self.attributeMenu.popup(coord) 465 self.attributeMenu.popup(coord)
458 elif isinstance(itm, BrowserDirectoryItem): 466 elif isinstance(itm, BrowserDirectoryItem):
459 if not index.parent().isValid(): 467 if not index.parent().isValid():
649 657
650 for itm in itmList: 658 for itm in itmList:
651 if isinstance(itm, BrowserFileItem): 659 if isinstance(itm, BrowserFileItem):
652 self.binaryFile.emit(itm.fileName()) 660 self.binaryFile.emit(itm.fileName())
653 661
662 def _openPdfViewer(self):
663 """
664 Protected slot to handle the open in PDF viewer popup menu entry.
665 """
666 itmList = self.getSelectedItems([BrowserFileItem])
667
668 for itm in itmList:
669 if isinstance(itm, BrowserFileItem):
670 self.pdfFile.emit(itm.fileName())
671
654 def _openFileInEditor(self): 672 def _openFileInEditor(self):
655 """ 673 """
656 Protected slot to handle the Open in Editor menu action. 674 Protected slot to handle the Open in Editor menu action.
657 """ 675 """
658 itmList = self.getSelectedItems([BrowserFileItem]) 676 itmList = self.getSelectedItems([BrowserFileItem])

eric ide

mercurial