27 @param parent reference to the parent widget |
27 @param parent reference to the parent widget |
28 @type QWidget |
28 @type QWidget |
29 """ |
29 """ |
30 QTextBrowser.__init__(self, parent=parent) |
30 QTextBrowser.__init__(self, parent=parent) |
31 HelpViewerImpl.__init__(self, engine) |
31 HelpViewerImpl.__init__(self, engine) |
|
32 |
|
33 self.__zoomCount = 0 |
32 |
34 |
33 self.sourceChanged.connect(self.titleChanged) |
35 self.sourceChanged.connect(self.titleChanged) |
34 |
36 |
35 def setUrl(self, url): |
37 def setUrl(self, url): |
36 """ |
38 """ |
121 self.backward() |
123 self.backward() |
122 else: |
124 else: |
123 # forward |
125 # forward |
124 for ind in range(index): |
126 for ind in range(index): |
125 self.forward() |
127 self.forward() |
|
128 |
|
129 def scaleUp(self): |
|
130 """ |
|
131 Public method to zoom in. |
|
132 """ |
|
133 if self.__zoomCount < 10: |
|
134 self.__zoomCount += 1 |
|
135 self.zoomIn() |
|
136 self.zoomChanged.emit() |
|
137 |
|
138 def scaleDown(self): |
|
139 """ |
|
140 Public method to zoom out. |
|
141 """ |
|
142 if self.__zoomCount > -5: |
|
143 self.__zoomCount -= 1 |
|
144 self.zoomOut() |
|
145 self.zoomChanged.emit() |
|
146 |
|
147 def resetScale(self): |
|
148 """ |
|
149 Public method to reset the zoom level. |
|
150 """ |
|
151 if self.__zoomCount != 0: |
|
152 self.zoomOut(self.__zoomCount) |
|
153 self.zoomChanged.emit() |
|
154 self.__zoomCount = 0 |
|
155 |
|
156 def scale(self): |
|
157 """ |
|
158 Public method to get the zoom level. |
|
159 |
|
160 @return current zoom level |
|
161 @rtype int |
|
162 """ |
|
163 return self.__zoomCount |
|
164 |
|
165 def isScaleUpAvailable(self): |
|
166 """ |
|
167 Public method to check, if the max. zoom level is reached. |
|
168 |
|
169 @return flag indicating scale up is available |
|
170 @rtype bool |
|
171 """ |
|
172 return self.__zoomCount < 10 |
|
173 |
|
174 def isScaleDownAvailable(self): |
|
175 """ |
|
176 Public method to check, if the min. zoom level is reached. |
|
177 |
|
178 @return flag indicating scale down is available |
|
179 @rtype bool |
|
180 """ |
|
181 return self.__zoomCount > -5 |
|
182 |
|
183 def wheelEvent(self, evt): |
|
184 """ |
|
185 Public method to handle wheel event to zoom. |
|
186 |
|
187 @param evt reference to the event object |
|
188 @type QWheelEvent |
|
189 """ |
|
190 if evt.modifiers() == Qt.KeyboardModifier.ControlModifier: |
|
191 if evt.angleDelta().y() > 0: |
|
192 self.scaleUp() |
|
193 else: |
|
194 self.scaleDown() |
|
195 evt.accept() |
|
196 else: |
|
197 QTextBrowser.wheelEvent(self, evt) |
|
198 |
|
199 # TODO: implement context menu |
|
200 # TODO: add Ctrl+LMB action (open link in new page) |