src/eric7/PdfViewer/PdfViewerWindow.py

Sat, 14 Jan 2023 18:25:26 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 14 Jan 2023 18:25:26 +0100
branch
pdf_viewer
changeset 9699
92dcd34d54e4
parent 9698
69e183e4db6f
child 9700
b74a13a382a8
permissions
-rw-r--r--

PDF Viewer
- finished 'Go to' functions
- started with 'Zoom' functions

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
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
11 import math
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12 import os
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13 import pathlib
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15 from PyQt6.QtCore import Qt, pyqtSignal, QSize, pyqtSlot, QPointF
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 from PyQt6.QtGui import QAction, QKeySequence
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17 from PyQt6.QtPdf import QPdfDocument
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18 from PyQt6.QtPdfWidgets import QPdfView
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 from PyQt6.QtWidgets import (
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
20 QWhatsThis, QMenu, QTabWidget, QSplitter, QToolBar, QDialog
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 )
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 from eric7 import Preferences
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 from eric7.EricGui import EricPixmapCache
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 from eric7.EricGui.EricAction import EricAction
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 from eric7.EricWidgets import EricFileDialog, EricMessageBox
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 from eric7.EricWidgets.EricMainWindow import EricMainWindow
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
28 from eric7.EricWidgets.EricStretchableSpacer import EricStretchableSpacer
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 from eric7.Globals import recentNamePdfFiles
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 from eric7.SystemUtilities import FileSystemUtilities
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
32 from .PdfPageSelector import PdfPageSelector
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
33 from .PdfZoomSelector import PdfZoomSelector
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
34
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
35
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
36 # TODO: make this an eric widget
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
37
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 class PdfViewerWindow(EricMainWindow):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 Class implementing the PDF viewer main window.
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
43 @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
44 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
46 viewerClosed = pyqtSignal()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
47
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
48 windows = []
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 maxMenuFilePathLen = 75
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
52 ZoomMultiplier = math.sqrt(2.0)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
53
9697
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)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80 self.__info = QTabWidget(self)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 self.__cw.addWidget(self.__info)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
82 self.__view = QPdfView(self)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
83 self.__view.setDocument(self.__pdfDocument)
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
84 self.__view.setPageMode(QPdfView.PageMode.MultiPage)
9697
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
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
88 # create a few widgets needed in the toolbars
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
89 self.__pageSelector = PdfPageSelector(self)
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
90 self.__pageSelector.setDocument(self.__pdfDocument)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
91 self.__view.pageNavigator().currentPageChanged.connect(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
92 self.__pageSelector.setValue
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
93 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
94 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
95 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
96
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
97 self.__zoomSelector = PdfZoomSelector(self)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
98 self.__zoomSelector.zoomModeChanged.connect(self.__view.setZoomMode)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
99 ##self.__zoomSelector.zoomModeChanged.connect(self.__setFocusToView)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
100 self.__zoomSelector.zoomFactorChanged.connect(self.__view.setZoomFactor)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
101 ##self.__zoomSelector.zoomFactorChanged.connect(self.__setFocusToView)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
102 self.__zoomSelector.reset()
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
103
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
104 g = Preferences.getGeometry("PdfViewerGeometry")
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
105 if g.isEmpty():
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
106 s = QSize(1000, 1000)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
107 self.resize(s)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
108 self.__cw.setSizes([300, 700])
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
109 else:
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
110 self.restoreGeometry(g)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
111
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
112 self.__initActions()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
113 self.__initMenus()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
114 self.__initToolbars()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
115 self.__createStatusBar()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
116
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
117 self.__view.pageNavigator().backAvailableChanged.connect(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
118 self.backwardAct.setEnabled
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
119 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
120 self.__view.pageNavigator().forwardAvailableChanged.connect(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
121 self.forwardAct.setEnabled
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
122 )
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
123 self.__view.zoomFactorChanged.connect(self.__zoomSelector.setZoomFactor)
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
124
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
125 PdfViewerWindow.windows.append(self)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
126
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
127 self.__restoreViewerState()
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
128
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
129 self.__checkActions()
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
130
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
131 self.__project = project
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
132 self.__lastOpenPath = ""
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
133
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
134 self.__recent = []
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
135 self.__loadRecent()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
136
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
137 self.__setCurrentFile("")
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
138 self.__setViewerTitle("")
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
139 if fileName:
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
140 self.__loadPdfFile(fileName)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
141
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
142 def __initActions(self):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
143 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
144 Private method to define the user interface actions.
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
145 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
146 # list of all actions
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
147 self.__actions = []
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
148
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
149 self.__initFileActions()
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
150 self.__initGotoActions()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
151 self.__initViewActions()
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
152 self.__initHelpActions()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
153
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
154 def __initFileActions(self):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
155 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
156 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
157 """
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
158 self.newWindowAct = EricAction(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
159 self.tr("New Window"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
160 EricPixmapCache.getIcon("newWindow"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
161 self.tr("New &Window"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
162 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
163 0,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
164 self,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
165 "pdfviewer_file_new_window",
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
166 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
167 self.newWindowAct.setStatusTip(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
168 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
169 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
170 self.newWindowAct.setWhatsThis(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
171 self.tr(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
172 """<b>New Window</b>"""
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
173 """<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
174 """ a file selection dialog.</p>"""
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
175 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
176 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
177 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
178 self.__actions.append(self.newWindowAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
179
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
180 self.openAct = EricAction(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
181 self.tr("Open"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
182 EricPixmapCache.getIcon("open"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
183 self.tr("&Open..."),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
184 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
185 0,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
186 self,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
187 "pdfviewer_file_open",
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
188 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
189 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
190 self.openAct.setWhatsThis(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
191 self.tr(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
192 """<b>Open</b>"""
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
193 """<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
194 """ selection dialog.</p>"""
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 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
197 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
198 self.__actions.append(self.openAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
199
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
200 self.reloadAct = EricAction(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
201 self.tr("Reload"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
202 EricPixmapCache.getIcon("reload"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
203 self.tr("&Reload"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
204 QKeySequence("F5"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
205 0,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
206 self,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
207 "pdfviewer_file_reload",
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.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
210 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
211 self.__actions.append(self.reloadAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
212
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
213 # TODO: maybe this will be a tab of the side widget
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
214 self.propertiesAct = EricAction(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
215 self.tr("Properties"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
216 EricPixmapCache.getIcon("documentProperties"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
217 self.tr("&Properties..."),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
218 QKeySequence(self.tr("Alt+Return")),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
219 0,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
220 self,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
221 "pdfviewer_file_properties",
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
222 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
223 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
224 self.propertiesAct.setWhatsThis(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
225 self.tr(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
226 """<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
227 """ properties.</p>"""
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 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
230 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
231 self.__actions.append(self.propertiesAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
232
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
233 self.closeAct = EricAction(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
234 self.tr("Close"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
235 EricPixmapCache.getIcon("close"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
236 self.tr("&Close"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
237 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
238 0,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
239 self,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
240 "pdfviewer_file_close",
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.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
243 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
244 self.__actions.append(self.closeAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
245
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
246 self.closeAllAct = EricAction(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
247 self.tr("Close All"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
248 self.tr("Close &All"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
249 0,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
250 0,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
251 self,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
252 "pdfviewer_file_close_all",
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
253 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
254 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
255 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
256 self.__actions.append(self.closeAllAct)
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.closeOthersAct = EricAction(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
259 self.tr("Close Others"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
260 self.tr("Close Others"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
261 0,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
262 0,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
263 self,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
264 "pdfviewer_file_close_others",
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
265 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
266 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
267 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
268 self.__actions.append(self.closeOthersAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
269
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
270 self.exitAct = EricAction(
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
271 self.tr("Quit"),
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
272 EricPixmapCache.getIcon("exit"),
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
273 self.tr("&Quit"),
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
274 QKeySequence(self.tr("Ctrl+Q", "File|Quit")),
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
275 0,
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
276 self,
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
277 "pdfviewer_file_quit",
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
278 )
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
279 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
280 if not self.__fromEric:
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
281 self.exitAct.triggered.connect(self.__closeAll)
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
282 self.__actions.append(self.exitAct)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
283
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
284 def __initGotoActions(self):
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 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
287 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
288 self.previousPageAct = EricAction(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
289 self.tr("Previous Page"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
290 EricPixmapCache.getIcon("1leftarrow"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
291 self.tr("&Previous Page"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
292 0,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
293 0,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
294 self,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
295 "pdfviewer_goto_previous",
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
296 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
297 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
298 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
299 self.__actions.append(self.previousPageAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
300
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
301 self.nextPageAct = EricAction(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
302 self.tr("Next Page"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
303 EricPixmapCache.getIcon("1rightarrow"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
304 self.tr("&Next Page"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
305 0,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
306 0,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
307 self,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
308 "pdfviewer_goto_next",
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
309 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
310 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
311 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
312 self.__actions.append(self.nextPageAct)
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 self.startDocumentAct = EricAction(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
315 self.tr("Start of Document"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
316 EricPixmapCache.getIcon("gotoFirst"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
317 self.tr("&Start of Document"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
318 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
319 0,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
320 self,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
321 "pdfviewer_goto_start",
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
322 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
323 self.startDocumentAct.setStatusTip(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
324 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
325 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
326 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
327 self.__actions.append(self.startDocumentAct)
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.endDocumentAct = EricAction(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
330 self.tr("End of Document"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
331 EricPixmapCache.getIcon("gotoLast"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
332 self.tr("&End of Document"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
333 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
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_end",
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.endDocumentAct.setStatusTip(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
339 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
340 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
341 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
342 self.__actions.append(self.endDocumentAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
343
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
344 self.backwardAct = EricAction(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
345 self.tr("Back"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
346 EricPixmapCache.getIcon("back"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
347 self.tr("&Back"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
348 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
349 0,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
350 self,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
351 "pdfviewer_goto_back",
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
352 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
353 self.backwardAct.setStatusTip(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
354 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
355 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
356 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
357 self.__actions.append(self.backwardAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
358
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
359 self.forwardAct = EricAction(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
360 self.tr("Forward"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
361 EricPixmapCache.getIcon("forward"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
362 self.tr("&Forward"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
363 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
364 0,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
365 self,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
366 "pdfviewer_goto_forward",
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
367 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
368 self.forwardAct.setStatusTip(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
369 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
370 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
371 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
372 self.__actions.append(self.forwardAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
373
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
374 self.gotoAct = EricAction(
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
375 self.tr("Go to Page"),
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
376 EricPixmapCache.getIcon("gotoJump"),
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
377 self.tr("&Go to Page..."),
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
378 QKeySequence(self.tr("Ctrl+G", "Goto|Go to Page")),
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
379 0,
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
380 self,
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
381 "pdfviewer_goto_gotopage",
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
382 )
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
383 self.gotoAct.setStatusTip(
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
384 self.tr("Jump to a page selected via a dialog")
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
385 )
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
386 self.gotoAct.triggered.connect(self.__gotoPage)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
387 self.__actions.append(self.gotoAct)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
388
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
389 def __initViewActions(self):
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
390 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
391 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
392 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
393 # Page Width (checkable, exclusive)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
394 # Whole Page (checkable, exclusive)
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
395 self.zoomInAct = EricAction(
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
396 self.tr("Zoom in"),
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
397 EricPixmapCache.getIcon("zoomIn"),
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
398 self.tr("Zoom &in"),
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
399 QKeySequence(self.tr("Ctrl++", "View|Zoom in")),
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
400 0,
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
401 self,
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
402 "pdfviewer_view_zoomin",
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
403 )
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
404 self.zoomInAct.triggered.connect(self.__zoomIn)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
405 self.__actions.append(self.zoomInAct)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
406
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
407 self.zoomOutAct = EricAction(
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
408 self.tr("Zoom out"),
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
409 EricPixmapCache.getIcon("zoomOut"),
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
410 self.tr("Zoom &out"),
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
411 QKeySequence(self.tr("Ctrl+-", "View|Zoom out")),
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
412 0,
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
413 self,
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
414 "pdfviewer_view_zoomout",
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
415 )
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
416 self.zoomOutAct.triggered.connect(self.__zoomOut)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
417 self.__actions.append(self.zoomOutAct)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
418
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
419 self.zoomResetAct = EricAction(
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
420 self.tr("Zoom to 100%"),
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
421 EricPixmapCache.getIcon("zoomReset"),
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
422 self.tr("Zoom to &100%"),
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
423 QKeySequence(self.tr("Ctrl+0", "View|Zoom reset")),
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
424 0,
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
425 self,
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
426 "pdfviewer_view_zoomreset",
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
427 )
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
428 self.zoomResetAct.triggered.connect(self.__zoomReset)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
429 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
430
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
431 def __initHelpActions(self):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
432 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
433 Private method to create the Help actions.
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
434 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
435 self.aboutAct = EricAction(
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
436 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
437 )
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
438 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
439 self.aboutAct.setWhatsThis(
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
440 self.tr(
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
441 """<b>About</b>"""
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
442 """<p>Display some information about this software.</p>"""
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
443 )
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
444 )
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
445 self.aboutAct.triggered.connect(self.__about)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
446 self.__actions.append(self.aboutAct)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
447
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
448 self.aboutQtAct = EricAction(
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
449 self.tr("About Qt"),
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
450 self.tr("About &Qt"),
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
451 0,
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
452 0,
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
453 self,
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
454 "pdfviewer_help_about_qt",
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
455 )
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
456 self.aboutQtAct.setStatusTip(
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
457 self.tr("Display information about the Qt toolkit")
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
458 )
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
459 self.aboutQtAct.setWhatsThis(
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
460 self.tr(
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
461 """<b>About Qt</b>"""
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
462 """<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
463 )
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
464 )
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
465 self.aboutQtAct.triggered.connect(self.__aboutQt)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
466 self.__actions.append(self.aboutQtAct)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
467
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
468 self.whatsThisAct = EricAction(
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
469 self.tr("What's This?"),
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
470 EricPixmapCache.getIcon("whatsThis"),
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
471 self.tr("&What's This?"),
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
472 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
473 0,
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
474 self,
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
475 "pdfviewer_help_whats_this",
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
476 )
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
477 self.whatsThisAct.setStatusTip(self.tr("Context sensitive help"))
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
478 self.whatsThisAct.setWhatsThis(
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
479 self.tr(
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
480 """<b>Display context sensitive help</b>"""
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
481 """<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
482 """ 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
483 """ 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
484 """ 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
485 """ 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
486 )
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
487 )
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
488 self.whatsThisAct.triggered.connect(self.__whatsThis)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
489 self.__actions.append(self.whatsThisAct)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
490
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
491 @pyqtSlot()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
492 def __checkActions(self):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
493 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
494 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
495 """
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
496 ready = self.__pdfDocument.status() == QPdfDocument.Status.Ready
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
497
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
498 self.reloadAct.setEnabled(ready)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
499 self.propertiesAct.setEnabled(ready)
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
500
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
501 curPage = self.__view.pageNavigator().currentPage()
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
502 self.previousPageAct.setEnabled(curPage > 0 and ready)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
503 self.nextPageAct.setEnabled(
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
504 curPage < self.__pdfDocument.pageCount() - 1 and ready
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
505 )
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
506 self.startDocumentAct.setEnabled(curPage != 0 and ready)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
507 self.endDocumentAct.setEnabled(
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
508 curPage != self.__pdfDocument.pageCount() - 1 and ready
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
509 )
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
510 self.gotoAct.setEnabled(ready)
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
511
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
512 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
513 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
514
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
515 self.zoomInAct.setEnabled(ready)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
516 self.zoomOutAct.setEnabled(ready)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
517 self.zoomResetAct.setEnabled(ready)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
518 self.__zoomSelector.setEnabled(ready)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
519
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
520 # TODO: not yet implemented
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
521
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
522 ##def setRecentPath(self, openPath):
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
523 ##"""
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
524 ##Public method to set the last open path.
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
525 ##
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
526 ##@param openPath least recently used open path
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
527 ##@type str
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
528 ##"""
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
529 ##if openPath:
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
530 ##self.__lastOpenPath = openPath
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
531
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
532 def __initMenus(self):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
533 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
534 Private method to create the menus.
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
535 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
536 mb = self.menuBar()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
537
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
538 menu = mb.addMenu(self.tr("&File"))
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
539 menu.setTearOffEnabled(True)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
540 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
541 menu.addAction(self.newWindowAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
542 menu.addAction(self.openAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
543 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
544 menu.addSeparator()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
545 menu.addAction(self.reloadAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
546 menu.addSeparator()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
547 menu.addAction(self.propertiesAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
548 menu.addSeparator()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
549 menu.addAction(self.closeAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
550 menu.addAction(self.closeOthersAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
551 if self.__fromEric:
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
552 menu.addAction(self.closeAllAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
553 else:
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
554 menu.addSeparator()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
555 menu.addAction(self.exitAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
556 menu.aboutToShow.connect(self.__showFileMenu)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
557 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
558 self.__recentMenu.triggered.connect(self.__openRecentPdfFile)
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
559
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
560 menu = mb.addMenu(self.tr("&View"))
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
561 menu.setTearOffEnabled(True)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
562 menu.addAction(self.zoomInAct)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
563 menu.addAction(self.zoomOutAct)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
564 menu.addAction(self.zoomResetAct)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
565 # TODO: not yet implemented
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
566
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
567 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
568 menu.setTearOffEnabled(True)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
569 menu.addAction(self.previousPageAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
570 menu.addAction(self.nextPageAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
571 menu.addSeparator()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
572 menu.addAction(self.startDocumentAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
573 menu.addAction(self.endDocumentAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
574 menu.addSeparator()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
575 menu.addAction(self.backwardAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
576 menu.addAction(self.forwardAct)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
577 menu.addSeparator()
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
578 menu.addAction(self.gotoAct)
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
579
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
580 mb.addSeparator()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
581
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
582 menu = mb.addMenu(self.tr("&Help"))
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
583 menu.addAction(self.aboutAct)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
584 menu.addAction(self.aboutQtAct)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
585 menu.addSeparator()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
586 menu.addAction(self.whatsThisAct)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
587
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
588 def __initToolbars(self):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
589 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
590 Private method to create the toolbars.
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
591 """
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
592 mainToolBar = QToolBar()
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
593 mainToolBar.setObjectName("main_toolbar")
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
594 mainToolBar.setMovable(False)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
595 mainToolBar.setFloatable(False)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
596
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
597 # 1. File actions
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
598 mainToolBar.addAction(self.newWindowAct)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
599 mainToolBar.addAction(self.openAct)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
600 mainToolBar.addSeparator()
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
601 mainToolBar.addAction(self.closeAct)
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
602 if not self.__fromEric:
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
603 mainToolBar.addAction(self.exitAct)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
604 mainToolBar.addSeparator()
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
605
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
606 # 2. Go to actions
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
607 mainToolBar.addWidget(EricStretchableSpacer())
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
608 mainToolBar.addAction(self.startDocumentAct)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
609 mainToolBar.addWidget(self.__pageSelector)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
610 mainToolBar.addAction(self.endDocumentAct)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
611 mainToolBar.addWidget(EricStretchableSpacer())
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
612 mainToolBar.addSeparator()
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
613
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
614 # 3. View actions
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
615 # TODO: not yet implemented
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
616 mainToolBar.addAction(self.zoomOutAct)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
617 mainToolBar.addWidget(self.__zoomSelector)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
618 mainToolBar.addAction(self.zoomInAct)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
619 mainToolBar.addAction(self.zoomResetAct)
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
620
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
621 self.addToolBar(mainToolBar)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
622 self.addToolBarBreak()
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
623
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
624 def __createStatusBar(self):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
625 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
626 Private method to initialize the status bar.
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
627 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
628 self.__statusBar = self.statusBar()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
629 self.__statusBar.setSizeGripEnabled(True)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
630
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
631 # not yet implemented
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 def closeEvent(self, evt):
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 Protected method handling the close event.
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 @param evt reference to the close event
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
638 @type QCloseEvent
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
639 """
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
640 Preferences.setGeometry("PdfViewerGeometry", self.saveGeometry())
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
641
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
642 self.__saveViewerState()
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
643
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
644 with contextlib.suppress(ValueError):
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
645 if self.__fromEric or len(PdfViewerWindow.windows) > 1:
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
646 PdfViewerWindow.windows.remove(self)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
647
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
648 self.__saveRecent()
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
649
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
650 evt.accept()
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
651 self.viewerClosed.emit()
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
652
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
653 def __saveViewerState(self):
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
654 """
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
655 Private method to save the PDF Viewer state data.
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
656 """
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
657 # TODO: save current zoom factor and mode + page mode
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
658 state = self.saveState()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
659 Preferences.setPdfViewer("PdfViewerState", state)
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
660 splitterState = self.__cw.saveState()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
661 Preferences.setPdfViewer("PdfViewerSplitterState", splitterState)
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
662
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
663 if not self.__fromEric:
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
664 Preferences.syncPreferences()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
665
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
666 def __restoreViewerState(self):
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
667 """
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
668 Private method to restore the PDF Viewer state data.
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
669 """
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
670 # TODO: restore zoom factor and mode + page mode
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
671 state = Preferences.getPdfViewer("PdfViewerState")
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
672 self.restoreState(state)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
673 splitterState = Preferences.getPdfViewer("PdfViewerSplitterState")
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
674 self.__cw.restoreState(splitterState)
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
675
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
676 def __setViewerTitle(self, title):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
677 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
678 Private method to set the viewer title.
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
679
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
680 @param title title to be set
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
681 @type str
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
682 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
683 if title:
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
684 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
685 else:
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
686 self.setWindowTitle(self.tr("PDF Viewer"))
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
687
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
688 def __getErrorString(self, err):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
689 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
690 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
691
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
692 @param err error type
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
693 @type QPdfDocument.Error
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
694 @return string for the given error type
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
695 @rtype str
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
696 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
697 if err == QPdfDocument.Error.None_:
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
698 reason = ""
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
699 elif err == QPdfDocument.Error.DataNotYetAvailable:
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
700 reason = self.tr("The document is still loading.")
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
701 elif err == QPdfDocument.Error.FileNotFound:
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
702 reason = self.tr("The file does not exist.")
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
703 elif err == QPdfDocument.Error.InvalidFileFormat:
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
704 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
705 elif err == QPdfDocument.Error.IncorrectPassword:
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
706 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
707 elif err == QPdfDocument.Error.UnsupportedSecurityScheme:
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
708 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
709 else:
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
710 reason = self.tr("Unknown type of error.")
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 return reason
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
713
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
714 def __loadPdfFile(self, fileName):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
715 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
716 Private method to load a PDF file.
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
717
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
718 @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
719 @type str
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
720 """
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
721 # 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
722 # again until cancelled
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
723 err = self.__pdfDocument.load(fileName)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
724 if err != QPdfDocument.Error.None_:
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
725 EricMessageBox.critical(
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
726 self,
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
727 self.tr("Load PDF File"),
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
728 self.tr(
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
729 """<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
730 """<p>Reason: {1}</p>"""
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
731 ).format(fileName, self.__getErrorString(err)),
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
732 )
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
733 return
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
734
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
735 self.__lastOpenPath = os.path.dirname(fileName)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
736 self.__setCurrentFile(fileName)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
737
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
738 documentTitle = self.__pdfDocument.metaData(QPdfDocument.MetaDataField.Title)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
739 self.__setViewerTitle(documentTitle)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
740
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
741 self.__pageSelected(0)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
742 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
743 self.__pageSelector.setValue(0)
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
744
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
745 @pyqtSlot()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
746 def __reload(self):
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
747 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
748 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
749 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
750 self.__loadPdfFile(self.__fileName)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
751
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
752 @pyqtSlot()
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
753 def __openPdfFile(self):
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 Private slot to open a PDF file.
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
756 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
757 if (
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
758 not self.__lastOpenPath
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
759 and self.__project is not None
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
760 and self.__project.isOpen()
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 self.__lastOpenPath = self.__project.getProjectPath()
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 fileName = EricFileDialog.getOpenFileName(
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
765 self,
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
766 self.tr("Open PDF File"),
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
767 self.__lastOpenPath,
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
768 self.tr("PDF Files (*.pdf);;All Files (*)"),
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
769 )
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
770 if fileName:
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
771 self.__loadPdfFile(fileName)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
772
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
773 @pyqtSlot()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
774 def __openPdfFileNewWindow(self):
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
775 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
776 Private slot called to open a PDF file in new viewer window.
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
777 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
778 if (
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
779 not self.__lastOpenPath
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
780 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
781 and self.__project.isOpen()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
782 ):
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
783 self.__lastOpenPath = self.__project.getProjectPath()
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
784
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
785 fileName = EricFileDialog.getOpenFileName(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
786 self,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
787 self.tr("Open PDF File"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
788 self.__lastOpenPath,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
789 self.tr("PDF Files (*.pdf);;All Files (*)"),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
790 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
791 if fileName:
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
792 viewer = PdfViewerWindow(
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
793 fileName=fileName,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
794 parent=self.parent(),
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
795 fromEric=self.__fromEric,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
796 project=self.__project,
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
797 )
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
798 viewer.show()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
799
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
800 @pyqtSlot()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
801 def __closeAll(self):
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
802 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
803 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
804 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
805 self.__closeOthers()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
806 self.close()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
807
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
808 @pyqtSlot()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
809 def __closeOthers(self):
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
810 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
811 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
812 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
813 for win in PdfViewerWindow.windows[:]:
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
814 if win != self:
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
815 win.close()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
816
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
817 @pyqtSlot(int)
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
818 def __pageSelected(self, page):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
819 """
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
820 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
821
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
822 @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
823 @type int
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 nav = self.__view.pageNavigator()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
826 nav.jump(page, QPointF(), nav.currentZoom())
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
827
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
828 self.__checkActions()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
829
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
830 def __setCurrentFile(self, fileName):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
831 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
832 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
833
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
834 @param fileName name of the file to register
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
835 @type str
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
836 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
837 self.__fileName = fileName
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
838 # insert filename into list of recently opened files
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
839 self.__addToRecentList(fileName)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
840
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
841 @pyqtSlot()
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
842 def __about(self):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
843 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
844 Private slot to show a little About message.
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
845 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
846 EricMessageBox.about(
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
847 self,
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
848 self.tr("About eric PDF Viewer"),
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
849 self.tr(
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
850 "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
851 ),
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
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
854 @pyqtSlot()
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
855 def __aboutQt(self):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
856 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
857 Private slot to handle the About Qt dialog.
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
858 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
859 EricMessageBox.aboutQt(self, "eric PDF Viewer")
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
860
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
861 @pyqtSlot()
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
862 def __whatsThis(self):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
863 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
864 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
865 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
866 QWhatsThis.enterWhatsThisMode()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
867
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
868 @pyqtSlot()
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
869 def __showPreferences(self):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
870 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
871 Private slot to set the preferences.
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 from eric7.Preferences.ConfigurationDialog import (
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
874 ConfigurationDialog,
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
875 ConfigurationMode,
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
876 )
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
877
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
878 # TODO: not yet implemented
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
879
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
880 @pyqtSlot()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
881 def __showFileMenu(self):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
882 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
883 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
884 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
885 self.__menuRecentAct.setEnabled(len(self.__recent) > 0)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
886
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
887 @pyqtSlot()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
888 def __showRecentMenu(self):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
889 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
890 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
891 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
892 self.__loadRecent()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
893
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
894 self.__recentMenu.clear()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
895
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
896 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
897 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
898 act = self.__recentMenu.addAction(
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
899 formatStr.format(
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
900 idx,
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
901 FileSystemUtilities.compactPath(
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
902 rs, PdfViewerWindow.maxMenuFilePathLen
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 )
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 act.setData(rs)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
907 act.setEnabled(pathlib.Path(rs).exists())
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
908
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
909 self.__recentMenu.addSeparator()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
910 self.__recentMenu.addAction(self.tr("&Clear"), self.__clearRecent)
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 @pyqtSlot(QAction)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
913 def __openRecentPdfFile(self, act):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
914 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
915 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
916
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
917 @param act reference to the action that triggered
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
918 @type QAction
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
919 """
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
920 # TODO: add config option to open recent files in new viewer or the same one
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
921 fileName = act.data()
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
922 self.__loadPdfFile(fileName)
9697
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
923
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
924 @pyqtSlot()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
925 def __clearRecent(self):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
926 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
927 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
928 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
929 self.__recent = []
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
930
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
931 def __loadRecent(self):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
932 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
933 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
934 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
935 self.__recent = []
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
936 Preferences.Prefs.rsettings.sync()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
937 rs = Preferences.Prefs.rsettings.value(recentNamePdfFiles)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
938 if rs is not None:
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
939 for f in Preferences.toList(rs):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
940 if pathlib.Path(f).exists():
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
941 self.__recent.append(f)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
942
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
943 def __saveRecent(self):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
944 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
945 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
946 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
947 Preferences.Prefs.rsettings.setValue(recentNamePdfFiles, self.__recent)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
948 Preferences.Prefs.rsettings.sync()
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
949
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
950 def __addToRecentList(self, fileName):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
951 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
952 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
953
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
954 @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
955 """
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
956 if fileName:
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
957 for recent in self.__recent[:]:
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
958 if FileSystemUtilities.samepath(fileName, recent):
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
959 self.__recent.remove(recent)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
960 self.__recent.insert(0, fileName)
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
961 maxRecent = Preferences.getPdfViewer("RecentNumber")
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
962 if len(self.__recent) > maxRecent:
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
963 self.__recent = self.__recent[:maxRecent]
cdaa3cc805f7 Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
964 self.__saveRecent()
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
965
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
966 @pyqtSlot()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
967 def __showDocumentProperties(self):
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
968 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
969 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
970 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
971 # TODO: not yet implemented
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
972
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
973 @pyqtSlot()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
974 def __gotoPage(self):
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
975 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
976 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
977 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
978 # TODO: not yet implemented
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
979 from .PdfGoToDialog import PdfGoToDialog
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
980
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
981 dlg = PdfGoToDialog(
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
982 self.__view.pageNavigator().currentPage(),
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
983 self.__pdfDocument.pageCount(),
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
984 self,
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
985 )
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
986 if dlg.exec() == QDialog.DialogCode.Accepted:
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
987 page = dlg.getPage()
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
988 self.__pageSelected(page)
9698
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
989
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
990 @pyqtSlot()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
991 def __previousPage(self):
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
992 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
993 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
994 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
995 curPage = self.__view.pageNavigator().currentPage()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
996 if curPage > 0:
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
997 self.__pageSelected(curPage - 1)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
998
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
999 @pyqtSlot()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1000 def __nextPage(self):
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1001 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1002 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
1003 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1004 curPage = self.__view.pageNavigator().currentPage()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1005 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
1006 self.__pageSelected(curPage + 1)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1007
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1008 @pyqtSlot()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1009 def __startDocument(self):
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1010 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1011 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
1012 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1013 self.__pageSelected(0)
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1014
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1015 @pyqtSlot()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1016 def __endDocument(self):
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1017 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1018 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
1019 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1020 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
1021
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1022 @pyqtSlot()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1023 def __backInHistory(self):
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1024 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1025 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
1026 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1027 self.__view.pageNavigator().back()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1028
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1029 @pyqtSlot()
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1030 def __forwardInHistory(self):
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1031 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1032 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
1033 """
69e183e4db6f Continued implementing a PDF viewer tool (page navigation).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9697
diff changeset
1034 self.__view.pageNavigator().forward()
9699
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1035
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1036 def __calculateZoomFactor(self):
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1037 if self.__view.ZoomMode == QPdfView.ZoomMode.FitToWidth:
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1038 pass
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1039 else:
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1040 return self.__view.zoomFactor()
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1041
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1042 @pyqtSlot()
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1043 def __zoomIn(self):
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1044 """
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1045 Private slot to zoom into the view.
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1046 """
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1047 self.__view.setZoomFactor(
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1048 self.__view.zoomFactor() * PdfViewerWindow.ZoomMultiplier
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1049 )
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1050
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1051 @pyqtSlot()
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1052 def __zoomOut(self):
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1053 """
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1054 Private slot to zoom out of the view.
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1055 """
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1056 self.__view.setZoomFactor(
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1057 self.__view.zoomFactor() / PdfViewerWindow.ZoomMultiplier
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1058 )
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1059
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1060 @pyqtSlot()
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1061 def __zoomReset(self):
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1062 """
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1063 Private slot to reset the zoom factor of the view.
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1064 """
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1065 self.__view.setZoomFactor(1.0)
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1066
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1067 @pyqtSlot()
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1068 def __setFocusToView(self):
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1069 """
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1070 Private slot to set the focus to the PDF document view.
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1071 """
92dcd34d54e4 PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9698
diff changeset
1072 self.__view.setFocus(Qt.FocusReason.OtherFocusReason)

eric ide

mercurial