src/eric7/PdfViewer/PdfInfoWidget.py

Wed, 18 Jan 2023 16:37:08 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 18 Jan 2023 16:37:08 +0100
branch
pdf_viewer
changeset 9705
7629a6f23b2e
parent 9704
6e1650b9b3b5
child 9722
63135ab601e7
permissions
-rw-r--r--

Fixed a few bugs in the PDF Viewer.

9702
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3 # Copyright (c) 2023 Detlev Offenbach <detlev@die-offenbachs.de>
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing an info widget showing data of a PDF document.
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 from PyQt6.QtCore import Qt, pyqtSlot, QFileInfo
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11 from PyQt6.QtPdf import QPdfDocument
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12 from PyQt6.QtWidgets import QWidget, QFormLayout, QLabel
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14 from eric7.Globals import dataString
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17 class PdfInfoWidget(QWidget):
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18 """
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 Class implementing an info widget showing data of a PDF document.
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 """
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 def __init__(self, document, parent=None):
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 """
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 Constructor
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 @param document reference to the PDF document object
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 @type QPdfDocument
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 @param parent reference to the parent widget (defaults to None)
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 @type QWidget (optional)
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 """
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 super().__init__(parent)
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32
9705
7629a6f23b2e Fixed a few bugs in the PDF Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9704
diff changeset
33 self.__document = None
9702
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 self.__layout = QFormLayout(self)
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 self.__layout.setRowWrapPolicy(QFormLayout.RowWrapPolicy.WrapLongRows)
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 self.__layout.setFieldGrowthPolicy(
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 QFormLayout.FieldGrowthPolicy.AllNonFixedFieldsGrow
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 )
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 self.__layout.setFormAlignment(
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 Qt.AlignmentFlag.AlignLeft | Qt.AlignmentFlag.AlignTop
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 )
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 self.__layout.setLabelAlignment(Qt.AlignmentFlag.AlignRight)
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45 self.__infoLabels = {
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 "filePath": QLabel(),
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 "fileSize": QLabel(),
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 "title": QLabel(),
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 "subject": QLabel(),
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 "author": QLabel(),
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 "creator": QLabel(),
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 "producer": QLabel(),
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 "pages": QLabel(),
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 "creationDate": QLabel(),
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 "modificationDate": QLabel(),
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 "keywords": QLabel(),
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 "security": QLabel(),
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 }
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 for label in self.__infoLabels.values():
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 label.setWordWrap(True)
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61 self.__layout.addRow(self.tr("File Path:"), self.__infoLabels["filePath"])
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 self.__layout.addRow(self.tr("File Size:"), self.__infoLabels["fileSize"])
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 self.__layout.addRow(self.tr("Title:"), self.__infoLabels["title"])
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64 self.__layout.addRow(self.tr("Subject:"), self.__infoLabels["subject"])
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65 self.__layout.addRow(self.tr("Author:"), self.__infoLabels["author"])
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66 self.__layout.addRow(self.tr("Created with:"), self.__infoLabels["creator"])
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67 self.__layout.addRow(self.tr("Creator:"), self.__infoLabels["producer"])
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68 self.__layout.addRow(self.tr("Pages:"), self.__infoLabels["pages"])
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69 self.__layout.addRow(self.tr("Created at:"), self.__infoLabels["creationDate"])
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70 self.__layout.addRow(
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
71 self.tr("Last Modified at:"), self.__infoLabels["modificationDate"]
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72 )
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
73 self.__layout.addRow(self.tr("Keywords:"), self.__infoLabels["keywords"])
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
74 self.__layout.addRow(self.tr("Security:"), self.__infoLabels["security"])
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76 self.setLayout(self.__layout)
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77
9705
7629a6f23b2e Fixed a few bugs in the PDF Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9704
diff changeset
78 self.setDocument(document)
7629a6f23b2e Fixed a few bugs in the PDF Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9704
diff changeset
79
7629a6f23b2e Fixed a few bugs in the PDF Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9704
diff changeset
80 def setDocument(self, document):
7629a6f23b2e Fixed a few bugs in the PDF Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9704
diff changeset
81 """
7629a6f23b2e Fixed a few bugs in the PDF Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9704
diff changeset
82 Public method to set the reference to the PDF document.
7629a6f23b2e Fixed a few bugs in the PDF Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9704
diff changeset
83
7629a6f23b2e Fixed a few bugs in the PDF Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9704
diff changeset
84 @param document reference to the document
7629a6f23b2e Fixed a few bugs in the PDF Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9704
diff changeset
85 @type QPdfDocument
7629a6f23b2e Fixed a few bugs in the PDF Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9704
diff changeset
86 """
7629a6f23b2e Fixed a few bugs in the PDF Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9704
diff changeset
87 if self.__document is not None:
7629a6f23b2e Fixed a few bugs in the PDF Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9704
diff changeset
88 self.__document.statusChanged.disconnect(self.__populateInfoLabels)
7629a6f23b2e Fixed a few bugs in the PDF Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9704
diff changeset
89 self.__document.pageCountChanged.disconnect(self.__handlePageCountChanged)
7629a6f23b2e Fixed a few bugs in the PDF Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9704
diff changeset
90 self.__document.passwordChanged.disconnect(self.__handlePasswordChanged)
7629a6f23b2e Fixed a few bugs in the PDF Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9704
diff changeset
91
7629a6f23b2e Fixed a few bugs in the PDF Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9704
diff changeset
92 self.__document = document
7629a6f23b2e Fixed a few bugs in the PDF Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9704
diff changeset
93
7629a6f23b2e Fixed a few bugs in the PDF Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9704
diff changeset
94 if document is not None:
7629a6f23b2e Fixed a few bugs in the PDF Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9704
diff changeset
95 self.__document.statusChanged.connect(self.__populateInfoLabels)
7629a6f23b2e Fixed a few bugs in the PDF Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9704
diff changeset
96 self.__document.pageCountChanged.connect(self.__handlePageCountChanged)
7629a6f23b2e Fixed a few bugs in the PDF Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9704
diff changeset
97 self.__document.passwordChanged.connect(self.__handlePasswordChanged)
9702
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
98
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
99 @pyqtSlot(QPdfDocument.Status)
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
100 def __populateInfoLabels(self, status):
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
101 """
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
102 Private slot to populate the info labels upon a change of the document status.
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
103
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
104 @param status document status
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
105 @type QPdfDocument.Status
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
106 """
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
107 ready = status == QPdfDocument.Status.Ready
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
108
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
109 self.__infoLabels["title"].setText(
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
110 self.__document.metaData(QPdfDocument.MetaDataField.Title) if ready else ""
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
111 )
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
112 self.__infoLabels["subject"].setText(
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
113 self.__document.metaData(QPdfDocument.MetaDataField.Subject)
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
114 if ready
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
115 else ""
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
116 )
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
117 self.__infoLabels["author"].setText(
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
118 self.__document.metaData(QPdfDocument.MetaDataField.Author) if ready else ""
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
119 )
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
120 self.__infoLabels["creator"].setText(
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
121 self.__document.metaData(QPdfDocument.MetaDataField.Creator)
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
122 if ready
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
123 else ""
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
124 )
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
125 self.__infoLabels["producer"].setText(
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
126 self.__document.metaData(QPdfDocument.MetaDataField.Producer)
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
127 if ready
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
128 else ""
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
129 )
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
130 self.__infoLabels["pages"].setText(
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
131 str(self.__document.pageCount()) if ready else ""
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
132 )
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
133 self.__infoLabels["creationDate"].setText(
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
134 self.__document.metaData(QPdfDocument.MetaDataField.CreationDate).toString(
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
135 "yyyy-MM-dd hh:mm:ss t"
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
136 ) if ready
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
137 else ""
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
138 )
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
139 self.__infoLabels["modificationDate"].setText(
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
140 self.__document.metaData(
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
141 QPdfDocument.MetaDataField.ModificationDate
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
142 ).toString("yyyy-MM-dd hh:mm:ss t")
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
143 if ready
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
144 else ""
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
145 )
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
146 self.__infoLabels["keywords"].setText(
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
147 self.__document.metaData(QPdfDocument.MetaDataField.Keywords)
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
148 if ready
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
149 else ""
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
150 )
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
151
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
152 if ready:
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
153 self.__handlePasswordChanged()
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
154 else:
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
155 self.__infoLabels["security"].setText("")
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
156
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
157 @pyqtSlot(int)
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
158 def __handlePageCountChanged(self, pageCount):
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
159 """
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
160 Private slot to handle a change of the page count.
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
161
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
162 @param pageCount changed page count
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
163 @type int
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
164 """
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
165 self.__infoLabels["pages"].setText(str(pageCount))
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
166
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
167 @pyqtSlot()
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
168 def __handlePasswordChanged(self):
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
169 """
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
170 Private slot to handle a change of the password.
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
171 """
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
172 self.__infoLabels["security"].setText(
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
173 self.tr("Encrypted")
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
174 if self.__document.password()
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
175 else self.tr("Not Encrypted")
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
176 )
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
177
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
178 def setFileName(self, filename):
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
179 """
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
180 Public method to set the file name info.
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
181
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
182 @param filename DESCRIPTION
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
183 @type TYPE
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
184 """
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
185 self.__infoLabels["filePath"].setText(filename)
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
186 if filename:
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
187 fi = QFileInfo(filename)
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
188 fileSize = fi.size()
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
189 self.__infoLabels["fileSize"].setText(dataString(fileSize))
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
190 else:
7c973954919d PDF Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
191 self.__infoLabels["fileSize"].setText("")

eric ide

mercurial