src/eric7/PdfViewer/PdfViewerWindow.py

Wed, 18 Jan 2023 14:31:55 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 18 Jan 2023 14:31:55 +0100
branch
pdf_viewer
changeset 9704
6e1650b9b3b5
parent 9702
7c973954919d
child 9706
c0ff0b4d5657
permissions
-rw-r--r--

PDF Viewer
- created a specialized PDF view class to intercept and handle certain events
- added a 'Search' widget

9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3 # Copyright (c) 2023 Detlev Offenbach <detlev@die-offenbachs.de>
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing the PDF viewer main window.
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
10 import contextlib
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11 import os
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12 import pathlib
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14 from PyQt6.QtCore import Qt, pyqtSignal, QSize, pyqtSlot, QPointF
9704
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
15 from PyQt6.QtGui import (
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
16 QAction, QKeySequence, QActionGroup, QGuiApplication, QClipboard
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
17 )
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
18 from PyQt6.QtPdf import QPdfDocument, QPdfLink
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 from PyQt6.QtPdfWidgets import QPdfView
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 from PyQt6.QtWidgets import (
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
21 QWhatsThis, QMenu, QTabWidget, QSplitter, QToolBar, QDialog
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 )
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 from eric7 import Preferences
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 from eric7.EricGui import EricPixmapCache
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 from eric7.EricGui.EricAction import EricAction
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 from eric7.EricWidgets import EricFileDialog, EricMessageBox
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 from eric7.EricWidgets.EricMainWindow import EricMainWindow
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
29 from eric7.EricWidgets.EricStretchableSpacer import EricStretchableSpacer
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 from eric7.Globals import recentNamePdfFiles
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 from eric7.SystemUtilities import FileSystemUtilities
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
33 from .PdfPageSelector import PdfPageSelector
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
34 from .PdfZoomSelector import PdfZoomSelector
9702
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9700
diff changeset
35 from .PdfToCWidget import PdfToCWidget
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9700
diff changeset
36 from .PdfInfoWidget import PdfInfoWidget
9704
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
37 from .PdfSearchWidget import PdfSearchWidget
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
38 from .PdfView import PdfView
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
39
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
40
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 class PdfViewerWindow(EricMainWindow):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 Class implementing the PDF viewer main window.
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
45 @signal viewerClosed() emitted after the window was requested to close
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
48 viewerClosed = pyqtSignal()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
49
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
50 windows = []
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 maxMenuFilePathLen = 75
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 def __init__(self, fileName="", parent=None, fromEric=False, project=None):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 Constructor
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 @param fileName name of a file to load on startup
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 @type str
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 @param parent parent widget of this window
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61 @type QWidget
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 @param fromEric flag indicating whether it was called from within
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 eric
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64 @type bool
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65 @param project reference to the project object
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66 @type Project
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68 super().__init__(parent)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69 self.setObjectName("eric7_pdf_viewer")
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
71 self.__fromEric = fromEric
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72 self.setWindowIcon(EricPixmapCache.getIcon("ericPdf"))
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
73
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
74 if not self.__fromEric:
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75 self.setStyle(Preferences.getUI("Style"), Preferences.getUI("StyleSheet"))
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77 self.__pdfDocument = QPdfDocument(self)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
78
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79 self.__cw = QSplitter(Qt.Orientation.Horizontal, self)
9704
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
80 self.__cw.setChildrenCollapsible(False)
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 self.__info = QTabWidget(self)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
82 self.__cw.addWidget(self.__info)
9704
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
83 self.__view = PdfView(self)
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
84 self.__view.setDocument(self.__pdfDocument)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85 self.__cw.addWidget(self.__view)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
86 self.setCentralWidget(self.__cw)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
87
9702
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9700
diff changeset
88 # create the various info widgets
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9700
diff changeset
89 self.__documentInfoWidget = PdfInfoWidget(self.__pdfDocument, self)
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9700
diff changeset
90 index = self.__info.addTab(
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9700
diff changeset
91 self.__documentInfoWidget, EricPixmapCache.getIcon("documentProperties"), ""
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9700
diff changeset
92 )
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9700
diff changeset
93 self.__info.setTabToolTip(index, self.tr("Document Properties"))
9704
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
94
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
95 self.__searchWidget = PdfSearchWidget(self.__pdfDocument, self)
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
96 index = self.__info.addTab(
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
97 self.__searchWidget, EricPixmapCache.getIcon("find"), ""
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
98 )
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
99 self.__info.setTabToolTip(index, self.tr("Search"))
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
100
9702
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9700
diff changeset
101 self.__tocWidget = PdfToCWidget(self.__pdfDocument, self)
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9700
diff changeset
102 index = self.__info.addTab(
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9700
diff changeset
103 self.__tocWidget, EricPixmapCache.getIcon("listSelection"), ""
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9700
diff changeset
104 )
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9700
diff changeset
105 self.__info.setTabToolTip(index, self.tr("Table of Contents"))
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9700
diff changeset
106
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9700
diff changeset
107 self.__info.setCurrentWidget(self.__tocWidget)
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9700
diff changeset
108
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
109 # create a few widgets needed in the toolbars
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
110 self.__pageSelector = PdfPageSelector(self)
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
111 self.__pageSelector.setDocument(self.__pdfDocument)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
112 self.__view.pageNavigator().currentPageChanged.connect(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
113 self.__pageSelector.setValue
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
114 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
115 self.__pageSelector.valueChanged.connect(self.__pageSelected)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
116 self.__pageSelector.gotoPage.connect(self.__gotoPage)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
117
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
118 self.__zoomSelector = PdfZoomSelector(self)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
119 self.__zoomSelector.reset()
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
120
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
121 g = Preferences.getGeometry("PdfViewerGeometry")
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
122 if g.isEmpty():
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
123 s = QSize(1000, 1000)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
124 self.resize(s)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
125 self.__cw.setSizes([300, 700])
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
126 else:
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
127 self.restoreGeometry(g)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
128
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
129 self.__initActions()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
130 self.__initMenus()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
131 self.__initToolbars()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
132 self.__createStatusBar()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
133
9700
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
134 self.__setDisplayMode() # needs to be done after actions have been created
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
135
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
136 self.__view.pageNavigator().backAvailableChanged.connect(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
137 self.backwardAct.setEnabled
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
138 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
139 self.__view.pageNavigator().forwardAvailableChanged.connect(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
140 self.forwardAct.setEnabled
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
141 )
9700
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
142
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
143 self.__zoomSelector.zoomModeChanged.connect(self.__view.setZoomMode)
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
144 self.__zoomSelector.zoomModeChanged.connect(self.__zoomModeChanged)
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
145 self.__zoomSelector.zoomFactorChanged.connect(self.__view.setZoomFactor)
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
146 self.__view.zoomFactorChanged.connect(self.__zoomSelector.setZoomFactor)
9700
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
147 self.__view.zoomModeChanged.connect(self.__zoomSelector.setZoomMode)
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
148
9702
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9700
diff changeset
149 self.__tocWidget.topicActivated.connect(self.__tocActivated)
9704
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
150 self.__searchWidget.searchResultActivated.connect(self.__handleSearchResult)
9702
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9700
diff changeset
151
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
152 PdfViewerWindow.windows.append(self)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
153
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
154 self.__restoreViewerState()
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
155
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
156 self.__checkActions()
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
157
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
158 self.__project = project
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
159 self.__lastOpenPath = ""
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
160
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
161 self.__recent = []
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
162 self.__loadRecent()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
163
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
164 self.__setCurrentFile("")
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
165 self.__setViewerTitle("")
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
166 if fileName:
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
167 self.__loadPdfFile(fileName)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
168
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
169 def __initActions(self):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
170 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
171 Private method to define the user interface actions.
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
172 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
173 # list of all actions
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
174 self.__actions = []
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
175
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
176 self.__initFileActions()
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
177 self.__initGotoActions()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
178 self.__initViewActions()
9704
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
179 self.__initEditActions()
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
180 self.__initSettingsActions()
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
181 self.__initHelpActions()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
182
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
183 def __initFileActions(self):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
184 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
185 Private method to define the file related user interface actions.
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
186 """
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
187 self.newWindowAct = EricAction(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
188 self.tr("New Window"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
189 EricPixmapCache.getIcon("newWindow"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
190 self.tr("New &Window"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
191 QKeySequence(self.tr("Ctrl+Shift+N", "File|New Window")),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
192 0,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
193 self,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
194 "pdfviewer_file_new_window",
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
195 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
196 self.newWindowAct.setStatusTip(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
197 self.tr("Open a PDF file in a new PDF Viewer window")
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
198 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
199 self.newWindowAct.setWhatsThis(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
200 self.tr(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
201 """<b>New Window</b>"""
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
202 """<p>This opens a PDF file in a new PDF Viewer window. It pops up"""
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
203 """ a file selection dialog.</p>"""
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
204 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
205 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
206 self.newWindowAct.triggered.connect(self.__openPdfFileNewWindow)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
207 self.__actions.append(self.newWindowAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
208
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
209 self.openAct = EricAction(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
210 self.tr("Open"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
211 EricPixmapCache.getIcon("open"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
212 self.tr("&Open..."),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
213 QKeySequence(self.tr("Ctrl+O", "File|Open")),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
214 0,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
215 self,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
216 "pdfviewer_file_open",
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
217 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
218 self.openAct.setStatusTip(self.tr("Open a PDF file for viewing"))
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
219 self.openAct.setWhatsThis(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
220 self.tr(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
221 """<b>Open</b>"""
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
222 """<p>This opens a PDF file for viewing. It pops up a file"""
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
223 """ selection dialog.</p>"""
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
224 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
225 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
226 self.openAct.triggered.connect(self.__openPdfFile)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
227 self.__actions.append(self.openAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
228
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
229 self.reloadAct = EricAction(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
230 self.tr("Reload"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
231 EricPixmapCache.getIcon("reload"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
232 self.tr("&Reload"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
233 QKeySequence("F5"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
234 0,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
235 self,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
236 "pdfviewer_file_reload",
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
237 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
238 self.reloadAct.setStatusTip(self.tr("Reload the current PDF document"))
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
239 self.reloadAct.triggered.connect(self.__reload)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
240 self.__actions.append(self.reloadAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
241
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
242 self.propertiesAct = EricAction(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
243 self.tr("Properties"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
244 EricPixmapCache.getIcon("documentProperties"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
245 self.tr("&Properties..."),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
246 QKeySequence(self.tr("Alt+Return")),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
247 0,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
248 self,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
249 "pdfviewer_file_properties",
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
250 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
251 self.propertiesAct.setStatusTip(self.tr("Show the document properties"))
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
252 self.propertiesAct.setWhatsThis(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
253 self.tr(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
254 """<b>Properties</b><p>Opens a dialog showing the document"""
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
255 """ properties.</p>"""
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
256 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
257 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
258 self.propertiesAct.triggered.connect(self.__showDocumentProperties)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
259 self.__actions.append(self.propertiesAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
260
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
261 self.closeAct = EricAction(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
262 self.tr("Close"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
263 EricPixmapCache.getIcon("close"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
264 self.tr("&Close"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
265 QKeySequence(self.tr("Ctrl+W", "File|Close")),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
266 0,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
267 self,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
268 "pdfviewer_file_close",
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
269 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
270 self.closeAct.setStatusTip(self.tr("Close the current PDF Viewer window"))
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
271 self.closeAct.triggered.connect(self.close)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
272 self.__actions.append(self.closeAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
273
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
274 self.closeAllAct = EricAction(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
275 self.tr("Close All"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
276 self.tr("Close &All"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
277 0,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
278 0,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
279 self,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
280 "pdfviewer_file_close_all",
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
281 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
282 self.closeAllAct.setStatusTip(self.tr("Close all PDF Viewer windows"))
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
283 self.closeAllAct.triggered.connect(self.__closeAll)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
284 self.__actions.append(self.closeAllAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
285
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
286 self.closeOthersAct = EricAction(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
287 self.tr("Close Others"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
288 self.tr("Close Others"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
289 0,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
290 0,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
291 self,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
292 "pdfviewer_file_close_others",
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
293 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
294 self.closeOthersAct.setStatusTip(self.tr("Close all other PDF Viewer windows"))
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
295 self.closeOthersAct.triggered.connect(self.__closeOthers)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
296 self.__actions.append(self.closeOthersAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
297
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
298 self.exitAct = EricAction(
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
299 self.tr("Quit"),
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
300 EricPixmapCache.getIcon("exit"),
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
301 self.tr("&Quit"),
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
302 QKeySequence(self.tr("Ctrl+Q", "File|Quit")),
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
303 0,
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
304 self,
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
305 "pdfviewer_file_quit",
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
306 )
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
307 self.exitAct.setStatusTip(self.tr("Quit the PDF Viewer"))
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
308 if not self.__fromEric:
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
309 self.exitAct.triggered.connect(self.__closeAll)
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
310 self.__actions.append(self.exitAct)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
311
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
312 def __initGotoActions(self):
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
313 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
314 Private method to define the navigation related user interface actions.
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
315 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
316 self.previousPageAct = EricAction(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
317 self.tr("Previous Page"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
318 EricPixmapCache.getIcon("1leftarrow"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
319 self.tr("&Previous Page"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
320 0,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
321 0,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
322 self,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
323 "pdfviewer_goto_previous",
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
324 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
325 self.previousPageAct.setStatusTip(self.tr("Go to the previous page"))
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
326 self.previousPageAct.triggered.connect(self.__previousPage)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
327 self.__actions.append(self.previousPageAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
328
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
329 self.nextPageAct = EricAction(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
330 self.tr("Next Page"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
331 EricPixmapCache.getIcon("1rightarrow"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
332 self.tr("&Next Page"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
333 0,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
334 0,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
335 self,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
336 "pdfviewer_goto_next",
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
337 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
338 self.nextPageAct.setStatusTip(self.tr("Go to the next page"))
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
339 self.nextPageAct.triggered.connect(self.__nextPage)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
340 self.__actions.append(self.nextPageAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
341
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
342 self.startDocumentAct = EricAction(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
343 self.tr("Start of Document"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
344 EricPixmapCache.getIcon("gotoFirst"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
345 self.tr("&Start of Document"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
346 QKeySequence(self.tr("Ctrl+Home", "Goto|Start")),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
347 0,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
348 self,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
349 "pdfviewer_goto_start",
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
350 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
351 self.startDocumentAct.setStatusTip(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
352 self.tr("Go to the first page of the document")
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
353 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
354 self.startDocumentAct.triggered.connect(self.__startDocument)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
355 self.__actions.append(self.startDocumentAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
356
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
357 self.endDocumentAct = EricAction(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
358 self.tr("End of Document"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
359 EricPixmapCache.getIcon("gotoLast"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
360 self.tr("&End of Document"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
361 QKeySequence(self.tr("Ctrl+End", "Goto|End")),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
362 0,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
363 self,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
364 "pdfviewer_goto_end",
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
365 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
366 self.endDocumentAct.setStatusTip(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
367 self.tr("Go to the last page of the document")
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
368 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
369 self.endDocumentAct.triggered.connect(self.__endDocument)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
370 self.__actions.append(self.endDocumentAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
371
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
372 self.backwardAct = EricAction(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
373 self.tr("Back"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
374 EricPixmapCache.getIcon("back"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
375 self.tr("&Back"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
376 QKeySequence(self.tr("Alt+Shift+Left", "Goto|Back")),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
377 0,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
378 self,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
379 "pdfviewer_goto_back",
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
380 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
381 self.backwardAct.setStatusTip(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
382 self.tr("Go back in the view history")
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
383 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
384 self.backwardAct.triggered.connect(self.__backInHistory)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
385 self.__actions.append(self.backwardAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
386
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
387 self.forwardAct = EricAction(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
388 self.tr("Forward"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
389 EricPixmapCache.getIcon("forward"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
390 self.tr("&Forward"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
391 QKeySequence(self.tr("Alt+Shift+Right", "Goto|Forward")),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
392 0,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
393 self,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
394 "pdfviewer_goto_forward",
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
395 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
396 self.forwardAct.setStatusTip(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
397 self.tr("Go forward in the view history")
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
398 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
399 self.forwardAct.triggered.connect(self.__forwardInHistory)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
400 self.__actions.append(self.forwardAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
401
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
402 self.gotoAct = EricAction(
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
403 self.tr("Go to Page"),
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
404 EricPixmapCache.getIcon("gotoJump"),
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
405 self.tr("&Go to Page..."),
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
406 QKeySequence(self.tr("Ctrl+G", "Goto|Go to Page")),
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
407 0,
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
408 self,
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
409 "pdfviewer_goto_gotopage",
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
410 )
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
411 self.gotoAct.setStatusTip(
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
412 self.tr("Jump to a page selected via a dialog")
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
413 )
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
414 self.gotoAct.triggered.connect(self.__gotoPage)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
415 self.__actions.append(self.gotoAct)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
416
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
417 def __initViewActions(self):
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
418 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
419 Private method to define the view related user interface actions.
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
420 """
9704
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
421 # TODO: add Fullscreen action
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
422 self.zoomInAct = EricAction(
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
423 self.tr("Zoom in"),
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
424 EricPixmapCache.getIcon("zoomIn"),
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
425 self.tr("Zoom &in"),
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
426 QKeySequence(self.tr("Ctrl++", "View|Zoom in")),
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
427 0,
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
428 self,
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
429 "pdfviewer_view_zoomin",
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
430 )
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
431 self.zoomInAct.triggered.connect(self.__zoomIn)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
432 self.__actions.append(self.zoomInAct)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
433
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
434 self.zoomOutAct = EricAction(
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
435 self.tr("Zoom out"),
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
436 EricPixmapCache.getIcon("zoomOut"),
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
437 self.tr("Zoom &out"),
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
438 QKeySequence(self.tr("Ctrl+-", "View|Zoom out")),
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
439 0,
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
440 self,
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
441 "pdfviewer_view_zoomout",
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
442 )
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
443 self.zoomOutAct.triggered.connect(self.__zoomOut)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
444 self.__actions.append(self.zoomOutAct)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
445
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
446 self.zoomResetAct = EricAction(
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
447 self.tr("Zoom to 100%"),
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
448 EricPixmapCache.getIcon("zoomReset"),
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
449 self.tr("Zoom to &100%"),
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
450 QKeySequence(self.tr("Ctrl+0", "View|Zoom reset")),
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
451 0,
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
452 self,
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
453 "pdfviewer_view_zoomreset",
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
454 )
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
455 self.zoomResetAct.triggered.connect(self.__zoomReset)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
456 self.__actions.append(self.zoomResetAct)
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
457
9700
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
458 self.zoomPageWidthAct = EricAction(
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
459 self.tr("Page Width"),
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
460 EricPixmapCache.getIcon("zoomFitWidth"),
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
461 self.tr("Page &Width"),
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
462 0,
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
463 0,
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
464 self,
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
465 "pdfviewer_view_zoompagewidth",
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
466 )
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
467 self.zoomPageWidthAct.triggered.connect(self.__zoomPageWidth)
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
468 self.zoomPageWidthAct.setCheckable(True)
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
469 self.__actions.append(self.zoomPageWidthAct)
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
470
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
471 self.zoomWholePageAct = EricAction(
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
472 self.tr("Whole Page"),
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
473 EricPixmapCache.getIcon("zoomFitPage"),
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
474 self.tr("Whole &Page"),
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
475 0,
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
476 0,
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
477 self,
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
478 "pdfviewer_view_zoomwholePage",
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
479 )
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
480 self.zoomWholePageAct.triggered.connect(self.__zoomWholePage)
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
481 self.zoomWholePageAct.setCheckable(True)
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
482 self.__actions.append(self.zoomWholePageAct)
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
483
9704
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
484 def __initEditActions(self):
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
485 """
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
486 Private method to create the Edit actions.
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
487 """
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
488 self.copyAllAct = EricAction(
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
489 self.tr("Copy All Text"),
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
490 EricPixmapCache.getIcon("editCopy"),
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
491 self.tr("&Copy All Text"),
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
492 QKeySequence(self.tr("Ctrl+C", "Edit|Copy All Text")),
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
493 0,
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
494 self,
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
495 "pdfviewer_edit_copyall",
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
496 )
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
497 self.copyAllAct.triggered.connect(self.__copyAllText)
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
498 self.__actions.append(self.copyAllAct)
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
499
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
500 self.copyAllPageAct = EricAction(
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
501 self.tr("Copy All Page Text"),
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
502 self.tr("Copy &All Page Text"),
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
503 QKeySequence(self.tr("Shift+Ctrl+C", "Edit|Copy All Page Text")),
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
504 0,
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
505 self,
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
506 "pdfviewer_edit_copyallpage",
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
507 )
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
508 self.copyAllPageAct.triggered.connect(self.__copyAllTextOfPage)
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
509 self.__actions.append(self.copyAllPageAct)
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
510
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
511 def __initSettingsActions(self):
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
512 """
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
513 Private method to create the Settings actions.
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
514 """
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
515 self.sidebarAct = EricAction(
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
516 self.tr("Show Sidebar"),
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
517 EricPixmapCache.getIcon("sidebarExpandLeft"),
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
518 self.tr("Show &Sidebar"),
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
519 0,
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
520 0,
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
521 self,
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
522 "pdfviewer_settings_sidebar",
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
523 )
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
524 self.sidebarAct.triggered.connect(self.__toggleSideBar)
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
525 self.sidebarAct.setCheckable(True)
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
526 self.__actions.append(self.sidebarAct)
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
527
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
528 self.openRecentNewAct = EricAction(
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
529 self.tr("Open Recent File in New Window"),
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
530 self.tr("Open Recent File in New Window"),
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
531 0,
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
532 0,
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
533 self,
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
534 "pdfviewer_settings_openrecent new",
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
535 )
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
536 self.openRecentNewAct.triggered.connect(self.__toggleOpenRecentNew)
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
537 self.openRecentNewAct.setCheckable(True)
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
538 self.__actions.append(self.sidebarAct)
9700
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
539
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
540 def __initHelpActions(self):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
541 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
542 Private method to create the Help actions.
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
543 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
544 self.aboutAct = EricAction(
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
545 self.tr("About"), self.tr("&About"), 0, 0, self, "pdfviewer_help_about"
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
546 )
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
547 self.aboutAct.setStatusTip(self.tr("Display information about this software"))
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
548 self.aboutAct.setWhatsThis(
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
549 self.tr(
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
550 """<b>About</b>"""
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
551 """<p>Display some information about this software.</p>"""
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
552 )
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
553 )
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
554 self.aboutAct.triggered.connect(self.__about)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
555 self.__actions.append(self.aboutAct)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
556
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
557 self.aboutQtAct = EricAction(
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
558 self.tr("About Qt"),
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
559 self.tr("About &Qt"),
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
560 0,
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
561 0,
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
562 self,
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
563 "pdfviewer_help_about_qt",
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
564 )
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
565 self.aboutQtAct.setStatusTip(
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
566 self.tr("Display information about the Qt toolkit")
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
567 )
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
568 self.aboutQtAct.setWhatsThis(
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
569 self.tr(
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
570 """<b>About Qt</b>"""
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
571 """<p>Display some information about the Qt toolkit.</p>"""
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
572 )
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
573 )
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
574 self.aboutQtAct.triggered.connect(self.__aboutQt)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
575 self.__actions.append(self.aboutQtAct)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
576
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
577 self.whatsThisAct = EricAction(
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
578 self.tr("What's This?"),
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
579 EricPixmapCache.getIcon("whatsThis"),
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
580 self.tr("&What's This?"),
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
581 QKeySequence(self.tr("Shift+F1", "Help|What's This?'")),
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
582 0,
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
583 self,
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
584 "pdfviewer_help_whats_this",
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
585 )
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
586 self.whatsThisAct.setStatusTip(self.tr("Context sensitive help"))
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
587 self.whatsThisAct.setWhatsThis(
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
588 self.tr(
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
589 """<b>Display context sensitive help</b>"""
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
590 """<p>In What's This? mode, the mouse cursor shows an arrow"""
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
591 """ with a question mark, and you can click on the interface"""
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
592 """ elements to get a short description of what they do and"""
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
593 """ how to use them. In dialogs, this feature can be accessed"""
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
594 """ using the context help button in the titlebar.</p>"""
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
595 )
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
596 )
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
597 self.whatsThisAct.triggered.connect(self.__whatsThis)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
598 self.__actions.append(self.whatsThisAct)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
599
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
600 @pyqtSlot()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
601 def __checkActions(self):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
602 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
603 Private slot to check some actions for their enable/disable status.
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
604 """
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
605 ready = self.__pdfDocument.status() == QPdfDocument.Status.Ready
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
606
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
607 self.reloadAct.setEnabled(ready)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
608 self.propertiesAct.setEnabled(ready)
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
609
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
610 curPage = self.__view.pageNavigator().currentPage()
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
611 self.previousPageAct.setEnabled(curPage > 0 and ready)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
612 self.nextPageAct.setEnabled(
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
613 curPage < self.__pdfDocument.pageCount() - 1 and ready
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
614 )
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
615 self.startDocumentAct.setEnabled(curPage != 0 and ready)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
616 self.endDocumentAct.setEnabled(
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
617 curPage != self.__pdfDocument.pageCount() - 1 and ready
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
618 )
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
619 self.gotoAct.setEnabled(ready)
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
620
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
621 self.backwardAct.setEnabled(self.__view.pageNavigator().backAvailable())
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
622 self.forwardAct.setEnabled(self.__view.pageNavigator().forwardAvailable())
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
623
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
624 self.zoomInAct.setEnabled(ready)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
625 self.zoomOutAct.setEnabled(ready)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
626 self.zoomResetAct.setEnabled(ready)
9700
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
627 self.zoomPageWidthAct.setEnabled(ready)
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
628 self.zoomWholePageAct.setEnabled(ready)
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
629 self.__zoomSelector.setEnabled(ready)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
630
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
631 def __initMenus(self):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
632 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
633 Private method to create the menus.
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
634 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
635 mb = self.menuBar()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
636
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
637 menu = mb.addMenu(self.tr("&File"))
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
638 menu.setTearOffEnabled(True)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
639 self.__recentMenu = QMenu(self.tr("Open &Recent Files"), menu)
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
640 menu.addAction(self.newWindowAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
641 menu.addAction(self.openAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
642 self.__menuRecentAct = menu.addMenu(self.__recentMenu)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
643 menu.addSeparator()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
644 menu.addAction(self.reloadAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
645 menu.addSeparator()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
646 menu.addAction(self.propertiesAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
647 menu.addSeparator()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
648 menu.addAction(self.closeAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
649 menu.addAction(self.closeOthersAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
650 if self.__fromEric:
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
651 menu.addAction(self.closeAllAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
652 else:
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
653 menu.addSeparator()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
654 menu.addAction(self.exitAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
655 menu.aboutToShow.connect(self.__showFileMenu)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
656 self.__recentMenu.aboutToShow.connect(self.__showRecentMenu)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
657 self.__recentMenu.triggered.connect(self.__openRecentPdfFile)
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
658
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
659 menu = mb.addMenu(self.tr("&View"))
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
660 menu.setTearOffEnabled(True)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
661 menu.addAction(self.zoomInAct)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
662 menu.addAction(self.zoomOutAct)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
663 menu.addAction(self.zoomResetAct)
9700
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
664 menu.addAction(self.zoomPageWidthAct)
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
665 menu.addAction(self.zoomWholePageAct)
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
666 menu.addSeparator()
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
667 modeMenu = menu.addMenu(self.tr("Display Mode"))
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
668 self.__singlePageAct = modeMenu.addAction(self.tr("Single Page"))
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
669 self.__singlePageAct.setCheckable(True)
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
670 self.__continuousPageAct = modeMenu.addAction(self.tr("Continuous"))
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
671 self.__continuousPageAct.setCheckable(True)
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
672 self.__displayModeActGrp = QActionGroup(self)
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
673 self.__displayModeActGrp.addAction(self.__singlePageAct)
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
674 self.__displayModeActGrp.addAction(self.__continuousPageAct)
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
675 modeMenu.triggered.connect(self.__displayModeSelected)
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
676
9704
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
677 menu = mb.addMenu(self.tr("&Edit"))
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
678 menu.setTearOffEnabled(True)
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
679 menu.addAction(self.copyAllAct)
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
680 menu.addSeparator()
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
681 menu.addAction(self.copyAllPageAct)
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
682
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
683 menu = mb.addMenu(self.tr("&Go To"))
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
684 menu.setTearOffEnabled(True)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
685 menu.addAction(self.previousPageAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
686 menu.addAction(self.nextPageAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
687 menu.addSeparator()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
688 menu.addAction(self.startDocumentAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
689 menu.addAction(self.endDocumentAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
690 menu.addSeparator()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
691 menu.addAction(self.backwardAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
692 menu.addAction(self.forwardAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
693 menu.addSeparator()
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
694 menu.addAction(self.gotoAct)
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
695
9704
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
696 menu = mb.addMenu(self.tr("Se&ttings"))
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
697 menu.setTearOffEnabled(True)
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
698 menu.addAction(self.sidebarAct)
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
699 menu.addSeparator()
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
700 menu.addAction(self.openRecentNewAct)
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
701
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
702 mb.addSeparator()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
703
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
704 menu = mb.addMenu(self.tr("&Help"))
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
705 menu.addAction(self.aboutAct)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
706 menu.addAction(self.aboutQtAct)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
707 menu.addSeparator()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
708 menu.addAction(self.whatsThisAct)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
709
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
710 def __initToolbars(self):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
711 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
712 Private method to create the toolbars.
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
713 """
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
714 mainToolBar = QToolBar()
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
715 mainToolBar.setObjectName("main_toolbar")
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
716 mainToolBar.setMovable(False)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
717 mainToolBar.setFloatable(False)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
718
9704
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
719 # 0. Sidebar action
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
720 mainToolBar.addAction(self.sidebarAct)
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
721 mainToolBar.addSeparator()
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
722
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
723 # 1. File actions
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
724 mainToolBar.addAction(self.newWindowAct)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
725 mainToolBar.addAction(self.openAct)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
726 mainToolBar.addSeparator()
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
727 mainToolBar.addAction(self.closeAct)
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
728 if not self.__fromEric:
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
729 mainToolBar.addAction(self.exitAct)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
730 mainToolBar.addSeparator()
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
731
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
732 # 2. Go to actions
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
733 mainToolBar.addWidget(EricStretchableSpacer())
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
734 mainToolBar.addAction(self.startDocumentAct)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
735 mainToolBar.addWidget(self.__pageSelector)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
736 mainToolBar.addAction(self.endDocumentAct)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
737 mainToolBar.addWidget(EricStretchableSpacer())
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
738 mainToolBar.addSeparator()
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
739
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
740 # 3. View actions
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
741 mainToolBar.addAction(self.zoomOutAct)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
742 mainToolBar.addWidget(self.__zoomSelector)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
743 mainToolBar.addAction(self.zoomInAct)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
744 mainToolBar.addAction(self.zoomResetAct)
9700
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
745 mainToolBar.addAction(self.zoomPageWidthAct)
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
746 mainToolBar.addAction(self.zoomWholePageAct)
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
747
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
748 self.addToolBar(mainToolBar)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
749 self.addToolBarBreak()
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
750
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
751 def __createStatusBar(self):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
752 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
753 Private method to initialize the status bar.
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
754 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
755 self.__statusBar = self.statusBar()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
756 self.__statusBar.setSizeGripEnabled(True)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
757
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
758 # not yet implemented
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
759
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
760 def closeEvent(self, evt):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
761 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
762 Protected method handling the close event.
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
763
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
764 @param evt reference to the close event
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
765 @type QCloseEvent
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
766 """
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
767 Preferences.setGeometry("PdfViewerGeometry", self.saveGeometry())
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
768
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
769 self.__saveViewerState()
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
770
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
771 with contextlib.suppress(ValueError):
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
772 if self.__fromEric or len(PdfViewerWindow.windows) > 1:
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
773 PdfViewerWindow.windows.remove(self)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
774
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
775 self.__saveRecent()
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
776
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
777 evt.accept()
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
778 self.viewerClosed.emit()
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
779
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
780 def __saveViewerState(self):
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
781 """
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
782 Private method to save the PDF Viewer state data.
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
783 """
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
784 state = self.saveState()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
785 Preferences.setPdfViewer("PdfViewerState", state)
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
786 splitterState = self.__cw.saveState()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
787 Preferences.setPdfViewer("PdfViewerSplitterState", splitterState)
9704
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
788 Preferences.setPdfViewer("PdfViewerSidebarVisible", self.sidebarAct.isChecked())
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
789 Preferences.setPdfViewer("PdfViewerZoomFactor", self.__view.zoomFactor())
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
790 Preferences.setPdfViewer("PdfViewerZoomMode", self.__view.zoomMode())
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
791 Preferences.setPdfViewer(
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
792 "PdfViewerOpenRecentInNewWindow", self.openRecentNewAct.isChecked()
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
793 )
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
794
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
795 if not self.__fromEric:
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
796 Preferences.syncPreferences()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
797
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
798 def __restoreViewerState(self):
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
799 """
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
800 Private method to restore the PDF Viewer state data.
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
801 """
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
802 state = Preferences.getPdfViewer("PdfViewerState")
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
803 self.restoreState(state)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
804 splitterState = Preferences.getPdfViewer("PdfViewerSplitterState")
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
805 self.__cw.restoreState(splitterState)
9704
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
806 self.__toggleSideBar(Preferences.getPdfViewer("PdfViewerSidebarVisible"))
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
807 self.__view.setZoomFactor(Preferences.getPdfViewer("PdfViewerZoomFactor"))
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
808 self.__view.setZoomMode(Preferences.getPdfViewer("PdfViewerZoomMode"))
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
809 self.openRecentNewAct.setChecked(
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
810 Preferences.getPdfViewer("PdfViewerOpenRecentInNewWindow")
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
811 )
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
812
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
813 def __setViewerTitle(self, title):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
814 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
815 Private method to set the viewer title.
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
816
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
817 @param title title to be set
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
818 @type str
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
819 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
820 if title:
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
821 self.setWindowTitle(self.tr("{0} - PDF Viewer").format(title))
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
822 else:
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
823 self.setWindowTitle(self.tr("PDF Viewer"))
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
824
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
825 def __getErrorString(self, err):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
826 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
827 Private method to get an error string for the given error.
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
828
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
829 @param err error type
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
830 @type QPdfDocument.Error
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
831 @return string for the given error type
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
832 @rtype str
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
833 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
834 if err == QPdfDocument.Error.None_:
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
835 reason = ""
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
836 elif err == QPdfDocument.Error.DataNotYetAvailable:
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
837 reason = self.tr("The document is still loading.")
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
838 elif err == QPdfDocument.Error.FileNotFound:
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
839 reason = self.tr("The file does not exist.")
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
840 elif err == QPdfDocument.Error.InvalidFileFormat:
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
841 reason = self.tr("The file is not a valid PDF file.")
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
842 elif err == QPdfDocument.Error.IncorrectPassword:
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
843 reason = self.tr("The password is not correct for this file.")
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
844 elif err == QPdfDocument.Error.UnsupportedSecurityScheme:
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
845 reason = self.tr("This kind of PDF file cannot be unlocked.")
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
846 else:
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
847 reason = self.tr("Unknown type of error.")
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
848
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
849 return reason
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
850
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
851 def __loadPdfFile(self, fileName):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
852 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
853 Private method to load a PDF file.
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
854
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
855 @param fileName path of the PDF file to load
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
856 @type str
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
857 """
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
858 # TODO: if error is QPdfDocument.Error.IncorrectPassword ask for PW and try
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
859 # again until cancelled
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
860 err = self.__pdfDocument.load(fileName)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
861 if err != QPdfDocument.Error.None_:
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
862 EricMessageBox.critical(
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
863 self,
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
864 self.tr("Load PDF File"),
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
865 self.tr(
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
866 """<p>The PDF file <b>{0}</b> could not be loaded.</p>"""
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
867 """<p>Reason: {1}</p>"""
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
868 ).format(fileName, self.__getErrorString(err)),
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
869 )
9702
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9700
diff changeset
870 self.__documentInfoWidget.setFileName("")
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
871 return
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
872
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
873 self.__lastOpenPath = os.path.dirname(fileName)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
874 self.__setCurrentFile(fileName)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
875
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
876 documentTitle = self.__pdfDocument.metaData(QPdfDocument.MetaDataField.Title)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
877 self.__setViewerTitle(documentTitle)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
878
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
879 self.__pageSelected(0)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
880 self.__pageSelector.setMaximum(self.__pdfDocument.pageCount() - 1)
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
881 self.__pageSelector.setValue(0)
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
882
9702
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9700
diff changeset
883 self.__documentInfoWidget.setFileName(fileName)
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9700
diff changeset
884
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9700
diff changeset
885 self.__info.setCurrentWidget(self.__tocWidget)
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9700
diff changeset
886
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
887 @pyqtSlot()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
888 def __reload(self):
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
889 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
890 Private slot to reload the current PDF document.
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
891 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
892 self.__loadPdfFile(self.__fileName)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
893
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
894 @pyqtSlot()
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
895 def __openPdfFile(self):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
896 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
897 Private slot to open a PDF file.
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
898 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
899 if (
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
900 not self.__lastOpenPath
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
901 and self.__project is not None
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
902 and self.__project.isOpen()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
903 ):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
904 self.__lastOpenPath = self.__project.getProjectPath()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
905
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
906 fileName = EricFileDialog.getOpenFileName(
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
907 self,
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
908 self.tr("Open PDF File"),
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
909 self.__lastOpenPath,
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
910 self.tr("PDF Files (*.pdf);;All Files (*)"),
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
911 )
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
912 if fileName:
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
913 self.__loadPdfFile(fileName)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
914
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
915 @pyqtSlot()
9704
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
916 def __openPdfFileNewWindow(self, fileName=""):
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
917 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
918 Private slot called to open a PDF file in new viewer window.
9704
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
919
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
920 @param fileName name of the file to open (defaults to "")
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
921 @type str (optional)
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
922 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
923 if (
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
924 not self.__lastOpenPath
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
925 and self.__project is not None
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
926 and self.__project.isOpen()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
927 ):
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
928 self.__lastOpenPath = self.__project.getProjectPath()
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
929
9704
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
930 if not fileName:
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
931 fileName = EricFileDialog.getOpenFileName(
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
932 self,
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
933 self.tr("Open PDF File"),
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
934 self.__lastOpenPath,
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
935 self.tr("PDF Files (*.pdf);;All Files (*)"),
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
936 )
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
937 if fileName:
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
938 viewer = PdfViewerWindow(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
939 fileName=fileName,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
940 parent=self.parent(),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
941 fromEric=self.__fromEric,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
942 project=self.__project,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
943 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
944 viewer.show()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
945
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
946 @pyqtSlot()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
947 def __closeAll(self):
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
948 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
949 Private slot to close all windows.
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
950 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
951 self.__closeOthers()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
952 self.close()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
953
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
954 @pyqtSlot()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
955 def __closeOthers(self):
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
956 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
957 Private slot to close all other windows.
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
958 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
959 for win in PdfViewerWindow.windows[:]:
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
960 if win != self:
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
961 win.close()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
962
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
963 @pyqtSlot(int)
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
964 def __pageSelected(self, page):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
965 """
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
966 Private slot to navigate to the given page.
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
967
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
968 @param page index of the page to be shown
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
969 @type int
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
970 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
971 nav = self.__view.pageNavigator()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
972 nav.jump(page, QPointF(), nav.currentZoom())
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
973
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
974 self.__checkActions()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
975
9702
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9700
diff changeset
976 @pyqtSlot(int, float)
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9700
diff changeset
977 def __tocActivated(self, page, zoomFactor):
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9700
diff changeset
978 """
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9700
diff changeset
979 Private slot to handle the selection of a ToC topic.
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9700
diff changeset
980
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9700
diff changeset
981 @param page page number
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9700
diff changeset
982 @type int
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9700
diff changeset
983 @param zoomFactor zoom factor
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9700
diff changeset
984 @type float
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9700
diff changeset
985 """
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9700
diff changeset
986 nav = self.__view.pageNavigator()
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9700
diff changeset
987 nav.jump(page, QPointF(), zoomFactor)
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9700
diff changeset
988
9704
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
989 @pyqtSlot(QPdfLink)
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
990 def __handleSearchResult(self, link):
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
991 """
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
992 Private slot to handle the selection of a search result.
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
993
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
994 @param link PDF link to navigate to
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
995 @type QPdfLink
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
996 """
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
997 self.__view.pageNavigator().jump(link)
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
998
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
999 def __setCurrentFile(self, fileName):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1000 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1001 Private method to register the file name of the current file.
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1002
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1003 @param fileName name of the file to register
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1004 @type str
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1005 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1006 self.__fileName = fileName
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1007 # insert filename into list of recently opened files
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1008 self.__addToRecentList(fileName)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1009
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1010 @pyqtSlot()
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1011 def __about(self):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1012 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1013 Private slot to show a little About message.
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1014 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1015 EricMessageBox.about(
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1016 self,
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1017 self.tr("About eric PDF Viewer"),
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1018 self.tr(
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1019 "The eric PDF Viewer is a simple component for viewing PDF files."
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1020 ),
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1021 )
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1022
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1023 @pyqtSlot()
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1024 def __aboutQt(self):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1025 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1026 Private slot to handle the About Qt dialog.
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1027 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1028 EricMessageBox.aboutQt(self, "eric PDF Viewer")
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1029
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1030 @pyqtSlot()
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1031 def __whatsThis(self):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1032 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1033 Private slot called in to enter Whats This mode.
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1034 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1035 QWhatsThis.enterWhatsThisMode()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1036
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1037 @pyqtSlot()
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1038 def __showPreferences(self):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1039 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1040 Private slot to set the preferences.
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1041 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1042 from eric7.Preferences.ConfigurationDialog import (
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1043 ConfigurationDialog,
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1044 ConfigurationMode,
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1045 )
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1046
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1047 # TODO: not yet implemented
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1048
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1049 @pyqtSlot()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1050 def __showFileMenu(self):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1051 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1052 Private slot to modify the file menu before being shown.
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1053 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1054 self.__menuRecentAct.setEnabled(len(self.__recent) > 0)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1055
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1056 @pyqtSlot()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1057 def __showRecentMenu(self):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1058 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1059 Private slot to set up the recent files menu.
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1060 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1061 self.__loadRecent()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1062
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1063 self.__recentMenu.clear()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1064
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1065 for idx, rs in enumerate(self.__recent, start=1):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1066 formatStr = "&{0:d}. {1}" if idx < 10 else "{0:d}. {1}"
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1067 act = self.__recentMenu.addAction(
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1068 formatStr.format(
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1069 idx,
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1070 FileSystemUtilities.compactPath(
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1071 rs, PdfViewerWindow.maxMenuFilePathLen
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1072 ),
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1073 )
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1074 )
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1075 act.setData(rs)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1076 act.setEnabled(pathlib.Path(rs).exists())
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1077
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1078 self.__recentMenu.addSeparator()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1079 self.__recentMenu.addAction(self.tr("&Clear"), self.__clearRecent)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1080
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1081 @pyqtSlot(QAction)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1082 def __openRecentPdfFile(self, act):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1083 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1084 Private method to open a file from the list of recently opened files.
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1085
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1086 @param act reference to the action that triggered
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1087 @type QAction
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1088 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1089 fileName = act.data()
9704
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1090 if Preferences.getPdfViewer("PdfViewerOpenRecentInNewWindow"):
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1091 self.__openPdfFileNewWindow(fileName)
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1092 else:
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1093 self.__loadPdfFile(fileName)
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1094
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1095 @pyqtSlot()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1096 def __clearRecent(self):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1097 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1098 Private method to clear the list of recently opened files.
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1099 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1100 self.__recent = []
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1101
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1102 def __loadRecent(self):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1103 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1104 Private method to load the list of recently opened files.
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1105 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1106 self.__recent = []
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1107 Preferences.Prefs.rsettings.sync()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1108 rs = Preferences.Prefs.rsettings.value(recentNamePdfFiles)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1109 if rs is not None:
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1110 for f in Preferences.toList(rs):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1111 if pathlib.Path(f).exists():
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1112 self.__recent.append(f)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1113
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1114 def __saveRecent(self):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1115 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1116 Private method to save the list of recently opened files.
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1117 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1118 Preferences.Prefs.rsettings.setValue(recentNamePdfFiles, self.__recent)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1119 Preferences.Prefs.rsettings.sync()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1120
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1121 def __addToRecentList(self, fileName):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1122 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1123 Private method to add a file name to the list of recently opened files.
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1124
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1125 @param fileName name of the file to be added
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1126 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1127 if fileName:
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1128 for recent in self.__recent[:]:
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1129 if FileSystemUtilities.samepath(fileName, recent):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1130 self.__recent.remove(recent)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1131 self.__recent.insert(0, fileName)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1132 maxRecent = Preferences.getPdfViewer("RecentNumber")
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1133 if len(self.__recent) > maxRecent:
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1134 self.__recent = self.__recent[:maxRecent]
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1135 self.__saveRecent()
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1136
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1137 @pyqtSlot()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1138 def __showDocumentProperties(self):
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1139 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1140 Private slot to open a dialog showing the document properties.
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1141 """
9704
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1142 self.__toggleSideBar(True)
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1143 self.__info.setCurrentWidget(self.__documentInfoWidget)
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1144
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1145 @pyqtSlot()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1146 def __gotoPage(self):
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1147 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1148 Private slot to show a dialog to select a page to jump to.
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1149 """
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1150 from .PdfGoToDialog import PdfGoToDialog
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1151
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1152 dlg = PdfGoToDialog(
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1153 self.__view.pageNavigator().currentPage(),
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1154 self.__pdfDocument.pageCount(),
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1155 self,
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1156 )
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1157 if dlg.exec() == QDialog.DialogCode.Accepted:
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1158 page = dlg.getPage()
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1159 self.__pageSelected(page)
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1160
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1161 @pyqtSlot()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1162 def __previousPage(self):
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1163 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1164 Private slot to go to the previous page.
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1165 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1166 curPage = self.__view.pageNavigator().currentPage()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1167 if curPage > 0:
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1168 self.__pageSelected(curPage - 1)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1169
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1170 @pyqtSlot()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1171 def __nextPage(self):
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1172 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1173 Private slot to go to the next page.
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1174 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1175 curPage = self.__view.pageNavigator().currentPage()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1176 if curPage < self.__pdfDocument.pageCount() - 1:
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1177 self.__pageSelected(curPage + 1)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1178
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1179 @pyqtSlot()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1180 def __startDocument(self):
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1181 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1182 Private slot to go to the first page of the document.
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1183 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1184 self.__pageSelected(0)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1185
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1186 @pyqtSlot()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1187 def __endDocument(self):
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1188 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1189 Private slot to go to the last page of the document.
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1190 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1191 self.__pageSelected(self.__pdfDocument.pageCount() - 1)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1192
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1193 @pyqtSlot()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1194 def __backInHistory(self):
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1195 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1196 Private slot to go back in the view history.
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1197 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1198 self.__view.pageNavigator().back()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1199
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1200 @pyqtSlot()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1201 def __forwardInHistory(self):
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1202 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1203 Private slot to go forward in the view history.
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1204 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1205 self.__view.pageNavigator().forward()
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1206
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1207 @pyqtSlot()
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1208 def __zoomIn(self):
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1209 """
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1210 Private slot to zoom into the view.
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1211 """
9704
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1212 self.__view.zoomIn()
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1213
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1214 @pyqtSlot()
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1215 def __zoomOut(self):
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1216 """
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1217 Private slot to zoom out of the view.
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1218 """
9704
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1219 self.__view.zoomOut()
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1220
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1221 @pyqtSlot()
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1222 def __zoomReset(self):
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1223 """
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1224 Private slot to reset the zoom factor of the view.
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1225 """
9704
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1226 self.__view.zoomReset()
9700
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1227
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1228 @pyqtSlot(bool)
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1229 def __zoomPageWidth(self, checked):
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1230 """
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1231 Private slot to fit the page width.
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1232
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1233 @param checked flag indicating the check state
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1234 @type bool
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1235 """
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1236 if checked:
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1237 self.__view.setZoomMode(QPdfView.ZoomMode.FitToWidth)
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1238 self.zoomWholePageAct.setChecked(False)
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1239
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1240 @pyqtSlot(bool)
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1241 def __zoomWholePage(self, checked):
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1242 """
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1243 Private slot to fit the page width.
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1244
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1245 @param checked flag indicating the check state
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1246 @type bool
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1247 """
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1248 if checked:
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1249 self.__view.setZoomMode(QPdfView.ZoomMode.FitInView)
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1250 self.zoomPageWidthAct.setChecked(False)
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1251
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1252 @pyqtSlot(QPdfView.ZoomMode)
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1253 def __zoomModeChanged(self, zoomMode):
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1254 """
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1255 Private slot to handle a change of the zoom mode.
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1256
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1257 @param zoomMode new zoom mode
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1258 @type QPdfView.ZoomMode
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1259 """
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1260 self.zoomWholePageAct.setChecked(zoomMode == QPdfView.ZoomMode.FitInView)
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1261 self.zoomPageWidthAct.setChecked(zoomMode == QPdfView.ZoomMode.FitToWidth)
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1262
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1263 @pyqtSlot(QAction)
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1264 def __displayModeSelected(self, act):
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1265 """
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1266 Private slot to handle the selection of a display mode.
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1267
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1268 @param act reference to the triggering action
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1269 @type QAction
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1270 """
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1271 if act is self.__singlePageAct:
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1272 Preferences.setPdfViewer("PdfViewerDisplayMode", "single")
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1273 else:
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1274 Preferences.setPdfViewer("PdfViewerDisplayMode", "continuous")
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1275 self.__setDisplayMode()
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1276
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1277 def __setDisplayMode(self):
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1278 """
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1279 Private method to set the display mode iaw. configuration.
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1280 """
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1281 if Preferences.getPdfViewer("PdfViewerDisplayMode") == "single":
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1282 self.__view.setPageMode(QPdfView.PageMode.SinglePage)
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1283 self.__singlePageAct.setChecked(True)
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1284 else:
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1285 self.__view.setPageMode(QPdfView.PageMode.MultiPage)
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1286 self.__continuousPageAct.setChecked(True)
b74a13a382a8 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9699
diff changeset
1287 return
9704
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1288
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1289 @pyqtSlot(bool)
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1290 def __toggleSideBar(self, visible):
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1291 """
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1292 Private slot to togle the sidebar (info) widget.
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1293
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1294 @param visible desired state of the sidebar
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1295 @type bool
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1296 """
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1297 self.sidebarAct.setChecked(visible)
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1298 self.__info.setVisible(visible)
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1299 Preferences.setPdfViewer("PdfViewerSidebarVisible", visible)
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1300
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1301 @pyqtSlot(bool)
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1302 def __toggleOpenRecentNew(self, on):
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1303 """
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1304 Private slot to toggle the 'Open Recent File in New Window' action.
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1305
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1306 @param on desired state of the action
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1307 @type bool
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1308 """
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1309 Preferences.setPdfViewer("PdfViewerOpenRecentInNewWindow", on)
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1310
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1311 @pyqtSlot()
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1312 def __copyAllTextOfPage(self):
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1313 """
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1314 Private slot to copy all text of the current page to the system clipboard.
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1315 """
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1316 selection = self.__pdfDocument.getAllText(
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1317 self.__view.pageNavigator().currentPage()
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1318 )
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1319 selection.copyToClipboard()
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1320
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1321 @pyqtSlot()
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1322 def __copyAllText(self):
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1323 """
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1324 Private slot to copy all text of the document to the system clipboard.
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1325 """
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1326 textPages = []
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1327 for page in range(self.__pdfDocument.pageCount()):
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1328 textPages.append(self.__pdfDocument.getAllText(page).text())
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1329 QGuiApplication.clipboard().setText(
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1330 "\r\n".join(textPages), QClipboard.Mode.Clipboard
6e1650b9b3b5 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9702
diff changeset
1331 )

eric ide

mercurial