eric7/HelpViewer/HelpViewerImplQWE.py

Tue, 04 Jan 2022 17:13:35 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Tue, 04 Jan 2022 17:13:35 +0100
branch
eric7
changeset 8900
9c153ce17d74
parent 8881
54e42bc2437a
child 9172
4bac907a4c74
permissions
-rw-r--r--

Help Viewer
- added bookmarks to the internal help viewer

8693
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
8881
54e42bc2437a Updated copyright for 2022.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8705
diff changeset
3 # Copyright (c) 2021 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
8693
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing the help viewer base class.
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
8900
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
10 import contextlib
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
11 import functools
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
12
8693
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13 from PyQt6.QtCore import pyqtSlot, Qt, QEvent, QTimer, QUrl, QPoint
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14 from PyQt6.QtGui import QGuiApplication, QClipboard, QContextMenuEvent
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15 from PyQt6.QtWidgets import QMenu
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 from PyQt6.QtWebEngineWidgets import QWebEngineView
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
17 from PyQt6.QtWebEngineCore import QWebEnginePage, QWebEngineNewWindowRequest
8693
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 from .HelpViewerWidget import HelpViewerWidget
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 from .HelpViewerImpl import HelpViewerImpl
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 import UI.PixmapCache
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
24
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
25 class HelpViewerImplQWE(HelpViewerImpl, QWebEngineView):
8693
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 Class implementing the QTextBrowser based help viewer class.
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 ZoomLevels = [
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 30, 40, 50, 67, 80, 90,
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 100,
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 110, 120, 133, 150, 170, 200, 220, 233, 250, 270, 285, 300,
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 ]
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 ZoomLevelDefault = 100
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 def __init__(self, engine, parent=None):
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 Constructor
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 @param engine reference to the help engine
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 @type QHelpEngine
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 @param parent reference to the parent widget
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 @type QWidget
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45 QWebEngineView.__init__(self, parent=parent)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 HelpViewerImpl.__init__(self, engine)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 self.__helpViewerWidget = parent
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 self.__rwhvqt = None
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 self.installEventFilter(self)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 self.__page = None
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 self.__createNewPage()
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 self.__currentScale = 100
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 self.__menu = QMenu(self)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 def __createNewPage(self):
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 Private method to create a new page object.
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64 self.__page = QWebEnginePage(self.__helpViewerWidget.webProfile())
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65 self.setPage(self.__page)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67 self.__page.titleChanged.connect(self.__titleChanged)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68 self.__page.urlChanged.connect(self.__titleChanged)
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
69 self.__page.newWindowRequested.connect(self.__newWindowRequested)
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
70
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
71 def __newWindowRequested(self, request):
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
72 """
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
73 Private slot handling new window requests of the web page.
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
74
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
75 @param request reference to the new window request
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
76 @type QWebEngineNewWindowRequest
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
77 """
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
78 background = (
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
79 request.destination() ==
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
80 QWebEngineNewWindowRequest.DestinationType.InNewBackgroundTab
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
81 )
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
82 newViewer = self.__helpViewerWidget.addPage(background=background)
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
83 request.openIn(newViewer.page())
8693
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
84
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85 def __setRwhvqt(self):
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
86 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
87 Private slot to set widget that receives input events.
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
88 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
89 self.grabGesture(Qt.GestureType.PinchGesture)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
90 self.__rwhvqt = self.focusProxy()
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
91 if self.__rwhvqt:
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
92 self.__rwhvqt.grabGesture(Qt.GestureType.PinchGesture)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
93 self.__rwhvqt.installEventFilter(self)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
94 else:
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
95 print("Focus proxy is null!") # __IGNORE_WARNING_M801__
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
96
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
97 def setLink(self, url):
8693
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
98 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
99 Public method to set the URL of the document to be shown.
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
100
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
101 @param url URL of the document
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
102 @type QUrl
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
103 """
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
104 super().setUrl(url)
8693
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
105
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
106 def link(self):
8693
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
107 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
108 Public method to get the URL of the shown document.
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
109
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
110 @return url URL of the document
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
111 @rtype QUrl
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
112 """
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
113 return super().url()
8693
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
114
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
115 @pyqtSlot()
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
116 def __titleChanged(self):
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
117 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
118 Private method to handle a change of the web page title.
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
119 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
120 super().titleChanged.emit()
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
121
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
122 def pageTitle(self):
8693
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
123 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
124 Public method get the page title.
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
125
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
126 @return page title
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
127 @rtype str
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
128 """
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
129 titleStr = super().title()
8693
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
130 if not titleStr:
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
131 if self.link().isEmpty():
8693
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
132 url = self.__page.requestedUrl()
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
133 else:
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
134 url = self.link()
8693
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
135
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
136 titleStr = url.host()
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
137 if not titleStr:
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
138 titleStr = url.toString(
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
139 QUrl.UrlFormattingOption.RemoveFragment)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
140
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
141 if not titleStr or titleStr == "about:blank":
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
142 titleStr = self.tr("Empty Page")
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
143
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
144 return titleStr
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
145
8705
327e596607f8 Added a configuration option to use the internal help viewer and made that the default.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8702
diff changeset
146 def isEmptyPage(self):
327e596607f8 Added a configuration option to use the internal help viewer and made that the default.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8702
diff changeset
147 """
327e596607f8 Added a configuration option to use the internal help viewer and made that the default.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8702
diff changeset
148 Public method to check, if the current page is the empty page.
327e596607f8 Added a configuration option to use the internal help viewer and made that the default.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8702
diff changeset
149
327e596607f8 Added a configuration option to use the internal help viewer and made that the default.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8702
diff changeset
150 @return flag indicating an empty page is loaded
327e596607f8 Added a configuration option to use the internal help viewer and made that the default.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8702
diff changeset
151 @rtype bool
327e596607f8 Added a configuration option to use the internal help viewer and made that the default.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8702
diff changeset
152 """
327e596607f8 Added a configuration option to use the internal help viewer and made that the default.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8702
diff changeset
153 return self.pageTitle() == self.tr("Empty Page")
327e596607f8 Added a configuration option to use the internal help viewer and made that the default.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8702
diff changeset
154
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
155 #######################################################################
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
156 ## History related methods below
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
157 #######################################################################
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
158
8693
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
159 def isBackwardAvailable(self):
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
160 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
161 Public method to check, if stepping backward through the history is
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
162 available.
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
163
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
164 @return flag indicating backward stepping is available
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
165 @rtype bool
8693
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
166 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
167 return self.history().canGoBack()
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
168
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
169 def isForwardAvailable(self):
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
170 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
171 Public method to check, if stepping forward through the history is
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
172 available.
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
173
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
174 @return flag indicating forward stepping is available
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
175 @rtype bool
8693
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
176 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
177 return self.history().canGoForward()
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
178
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
179 def backward(self):
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
180 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
181 Public slot to move backwards in history.
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
182 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
183 self.triggerPageAction(QWebEnginePage.WebAction.Back)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
184
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
185 def forward(self):
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
186 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
187 Public slot to move forward in history.
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
188 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
189 self.triggerPageAction(QWebEnginePage.WebAction.Forward)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
190
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
191 def reload(self):
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
192 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
193 Public slot to reload the current page.
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
194 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
195 self.triggerPageAction(QWebEnginePage.WebAction.Reload)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
196
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
197 def backwardHistoryCount(self):
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
198 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
199 Public method to get the number of available back history items.
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
200
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
201 Note: For performance reasons this is limited to the maximum number of
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
202 history items the help viewer is interested in.
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
203
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
204 @return count of available back history items
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
205 @rtype int
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
206 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
207 history = self.history()
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
208 return len(history.backItems(HelpViewerWidget.MaxHistoryItems))
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
209
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
210 def forwardHistoryCount(self):
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
211 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
212 Public method to get the number of available forward history items.
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
213
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
214 Note: For performance reasons this is limited to the maximum number of
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
215 history items the help viewer is interested in.
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
216
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
217 @return count of available forward history items
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
218 @rtype int
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
219 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
220 history = self.history()
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
221 return len(history.forwardItems(HelpViewerWidget.MaxHistoryItems))
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
222
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
223 def historyTitle(self, offset):
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
224 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
225 Public method to get the title of a history item.
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
226
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
227 @param offset offset of the item with respect to the current page
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
228 @type int
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
229 @return title of the requeted item in history
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
230 @rtype str
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
231 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
232 history = self.history()
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
233 currentIndex = history.currentItemIndex()
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
234 itm = self.history().itemAt(currentIndex + offset)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
235 return itm.title()
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
236
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
237 def gotoHistory(self, offset):
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
238 """
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
239 Public method to go to a history item.
8693
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
240
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
241 @param offset offset of the item with respect to the current page
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
242 @type int
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
243 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
244 history = self.history()
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
245 currentIndex = history.currentItemIndex()
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
246 itm = self.history().itemAt(currentIndex + offset)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
247 history.goToItem(itm)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
248
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
249 def clearHistory(self):
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
250 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
251 Public method to clear the history.
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
252 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
253 self.history().clear()
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
254
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
255 #######################################################################
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
256 ## Zoom related methods below
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
257 #######################################################################
8693
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
258
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
259 def __levelForScale(self, scale):
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
260 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
261 Private method determining the zoom level index given a zoom factor.
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
262
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
263 @param scale zoom factor
8693
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
264 @type int
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
265 @return index of zoom factor
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
266 @rtype int
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
267 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
268 try:
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
269 index = self.ZoomLevels.index(scale)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
270 except ValueError:
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
271 for _index in range(len(self.ZoomLevels)):
8693
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
272 if scale <= self.ZoomLevels[scale]:
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
273 break
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
274 return index
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
275
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
276 def scaleUp(self):
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
277 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
278 Public method to zoom in.
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
279 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
280 index = self.__levelForScale(self.__currentScale)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
281 if index < len(self.ZoomLevels) - 1:
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
282 self.setScale(self.ZoomLevels[index + 1])
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
283
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
284 def scaleDown(self):
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
285 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
286 Public method to zoom out.
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
287 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
288 index = self.__levelForScale(self.__currentScale)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
289 if index > 0:
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
290 self.setScale(self.ZoomLevels[index - 1])
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
291
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
292 def setScale(self, scale):
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
293 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
294 Public method to set the zoom level.
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
295
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
296 @param scale zoom level to set
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
297 @type int
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
298 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
299 if scale != self.__currentScale:
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
300 self.setZoomFactor(scale / 100.0)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
301 self.__currentScale = scale
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
302 self.zoomChanged.emit()
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
303
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
304 def resetScale(self):
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
305 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
306 Public method to reset the zoom level.
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
307 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
308 index = self.__levelForScale(self.ZoomLevelDefault)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
309 self.setScale(self.ZoomLevels[index])
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
310
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
311 def scale(self):
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
312 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
313 Public method to get the zoom level.
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
314
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
315 @return current zoom level
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
316 @rtype int
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
317 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
318 return self.__currentScale
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
319
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
320 def isScaleUpAvailable(self):
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
321 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
322 Public method to check, if the max. zoom level is reached.
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
323
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
324 @return flag indicating scale up is available
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
325 @rtype bool
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
326 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
327 index = self.__levelForScale(self.__currentScale)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
328 return index < len(self.ZoomLevels) - 1
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
329
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
330 def isScaleDownAvailable(self):
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
331 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
332 Public method to check, if the min. zoom level is reached.
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
333
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
334 @return flag indicating scale down is available
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
335 @rtype bool
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
336 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
337 index = self.__levelForScale(self.__currentScale)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
338 return index > 0
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
339
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
340 #######################################################################
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
341 ## Event handlers below
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
342 #######################################################################
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
343
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
344 def eventFilter(self, obj, evt):
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
345 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
346 Public method to process event for other objects.
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
347
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
348 @param obj reference to object to process events for
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
349 @type QObject
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
350 @param evt reference to event to be processed
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
351 @type QEvent
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
352 @return flag indicating that the event should be filtered out
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
353 @rtype bool
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
354 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
355 if (
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
356 obj is self and
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
357 evt.type() == QEvent.Type.ParentChange and
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
358 self.parentWidget() is not None
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
359 ):
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
360 self.parentWidget().installEventFilter(self)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
361
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
362 # find the render widget receiving events for the web page
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
363 if obj is self and evt.type() == QEvent.Type.ChildAdded:
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
364 QTimer.singleShot(0, self.__setRwhvqt)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
365
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
366 # forward events to WebBrowserView
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
367 if (
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
368 obj is self.__rwhvqt and
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
369 evt.type() in [QEvent.Type.KeyPress,
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
370 QEvent.Type.MouseButtonRelease,
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
371 QEvent.Type.Wheel,
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
372 QEvent.Type.Gesture]
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
373 ):
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
374 wasAccepted = evt.isAccepted()
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
375 evt.setAccepted(False)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
376 if evt.type() == QEvent.Type.KeyPress:
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
377 self._keyPressEvent(evt)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
378 elif evt.type() == QEvent.Type.MouseButtonRelease:
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
379 self._mouseReleaseEvent(evt)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
380 elif evt.type() == QEvent.Type.Wheel:
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
381 self._wheelEvent(evt)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
382 elif evt.type() == QEvent.Type.Gesture:
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
383 self._gestureEvent(evt)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
384 ret = evt.isAccepted()
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
385 evt.setAccepted(wasAccepted)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
386 return ret
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
387
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
388 if (
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
389 obj is self.parentWidget() and
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
390 evt.type() in [QEvent.Type.KeyPress, QEvent.Type.KeyRelease]
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
391 ):
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
392 wasAccepted = evt.isAccepted()
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
393 evt.setAccepted(False)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
394 if evt.type() == QEvent.Type.KeyPress:
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
395 self._keyPressEvent(evt)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
396 ret = evt.isAccepted()
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
397 evt.setAccepted(wasAccepted)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
398 return ret
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
399
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
400 # block already handled events
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
401 if (
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
402 obj is self and
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
403 evt.type() in [QEvent.Type.KeyPress,
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
404 QEvent.Type.MouseButtonRelease,
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
405 QEvent.Type.Wheel,
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
406 QEvent.Type.Gesture]
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
407 ):
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
408 return True
8693
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
409
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
410 return super().eventFilter(obj, evt)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
411
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
412 def _keyPressEvent(self, evt):
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
413 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
414 Protected method called by a key press.
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
415
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
416 @param evt reference to the key event
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
417 @type QKeyEvent
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
418 """
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
419 key = evt.key()
8702
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8696
diff changeset
420 isControlModifier = (
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8696
diff changeset
421 evt.modifiers() == Qt.KeyboardModifier.ControlModifier
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8696
diff changeset
422 )
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
423
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
424 if (
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
425 key == Qt.Key.Key_ZoomIn or
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
426 (key == Qt.Key.Key_Plus and isControlModifier)
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
427 ):
8693
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
428 self.scaleUp()
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
429 evt.accept()
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
430 elif (
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
431 key == Qt.Key.Key_ZoomOut or
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
432 (key == Qt.Key.Key_Minus and isControlModifier)
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
433 ):
8693
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
434 self.scaleDown()
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
435 evt.accept()
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
436 elif key == Qt.Key.Key_0 and isControlModifier:
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
437 self.resetScale()
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
438 evt.accept()
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
439 elif (
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
440 key == Qt.Key.Key_Backspace or
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
441 (key == Qt.Key.Key_Left and isControlModifier)
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
442 ):
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
443 self.backward()
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
444 evt.accept()
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
445 elif key == Qt.Key.Key_Right and isControlModifier:
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
446 self.forward()
8693
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
447 evt.accept()
8702
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8696
diff changeset
448 elif key == Qt.Key.Key_F and isControlModifier:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8696
diff changeset
449 self.__helpViewerWidget.showHideSearch(True)
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8696
diff changeset
450 evt.accept()
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8696
diff changeset
451 elif (
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8696
diff changeset
452 key == Qt.Key.Key_F3 and
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8696
diff changeset
453 evt.modifiers() == Qt.KeyboardModifier.NoModifier
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8696
diff changeset
454 ):
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8696
diff changeset
455 self.__helpViewerWidget.searchNext()
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8696
diff changeset
456 evt.accept()
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8696
diff changeset
457 elif (
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8696
diff changeset
458 key == Qt.Key.Key_F3 and
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8696
diff changeset
459 evt.modifiers() == Qt.KeyboardModifier.ShiftModifier
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8696
diff changeset
460 ):
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8696
diff changeset
461 self.__helpViewerWidget.searchPrev()
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8696
diff changeset
462 evt.accept()
8693
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
463
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
464 def _mouseReleaseEvent(self, evt):
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
465 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
466 Protected method called by a mouse release event.
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
467
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
468 @param evt reference to the mouse event
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
469 @type QMouseEvent
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
470 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
471 accepted = evt.isAccepted()
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
472 self.__page.event(evt)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
473 if (
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
474 not evt.isAccepted() and
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
475 evt.button() == Qt.MouseButton.MiddleButton
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
476 ):
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
477 url = QUrl(QGuiApplication.clipboard().text(
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
478 QClipboard.Mode.Selection))
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
479 if (
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
480 not url.isEmpty() and
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
481 url.isValid() and
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
482 url.scheme() != ""
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
483 ):
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
484 self.setLink(url)
8693
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
485 accepted = True
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
486 evt.setAccepted(accepted)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
487
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
488 def _wheelEvent(self, evt):
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
489 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
490 Protected method to handle wheel events.
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
491
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
492 @param evt reference to the wheel event
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
493 @type QWheelEvent
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
494 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
495 delta = evt.angleDelta().y()
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
496 if evt.modifiers() & Qt.KeyboardModifier.ControlModifier:
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
497 if delta < 0:
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
498 self.scaleDown()
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
499 elif delta > 0:
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
500 self.scaleUp()
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
501 evt.accept()
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
502
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
503 elif evt.modifiers() & Qt.KeyboardModifier.ShiftModifier:
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
504 if delta < 0:
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
505 self.backward()
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
506 elif delta > 0:
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
507 self.forward()
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
508 evt.accept()
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
509
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
510 def _gestureEvent(self, evt):
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
511 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
512 Protected method handling gesture events.
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
513
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
514 @param evt reference to the gesture event
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
515 @type QGestureEvent
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
516 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
517 pinch = evt.gesture(Qt.GestureType.PinchGesture)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
518 if pinch:
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
519 if pinch.state() == Qt.GestureState.GestureStarted:
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
520 pinch.setTotalScaleFactor(self.__currentScale / 100.0)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
521 elif pinch.state() == Qt.GestureState.GestureUpdated:
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
522 scaleFactor = pinch.totalScaleFactor()
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
523 self.setScale(int(scaleFactor * 100))
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
524 evt.accept()
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
525
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
526 def event(self, evt):
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
527 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
528 Public method handling events.
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
529
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
530 @param evt reference to the event (QEvent)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
531 @return flag indicating, if the event was handled (boolean)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
532 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
533 if evt.type() == QEvent.Type.Gesture:
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
534 self._gestureEvent(evt)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
535 return True
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
536
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
537 return super().event(evt)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
538
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
539 #######################################################################
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
540 ## Context menu related methods below
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
541 #######################################################################
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
542
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
543 def contextMenuEvent(self, evt):
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
544 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
545 Protected method called to create a context menu.
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
546
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
547 This method is overridden from QWebEngineView.
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
548
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
549 @param evt reference to the context menu event object
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
550 @type QContextMenuEvent
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
551 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
552 pos = evt.pos()
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
553 reason = evt.reason()
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
554 QTimer.singleShot(
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
555 0,
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
556 lambda: self._contextMenuEvent(QContextMenuEvent(reason, pos)))
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
557 # needs to be done this way because contextMenuEvent is blocking
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
558 # the main loop
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
559
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
560 def _contextMenuEvent(self, evt):
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
561 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
562 Protected method called to create a context menu.
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
563
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
564 @param evt reference to the context menu event object
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
565 (QContextMenuEvent)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
566 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
567 self.__menu.clear()
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
568
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
569 self.__createContextMenu(self.__menu)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
570
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
571 if not self.__menu.isEmpty():
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
572 pos = evt.globalPos()
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
573 self.__menu.popup(QPoint(pos.x(), pos.y() + 1))
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
574
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
575 def __createContextMenu(self, menu):
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
576 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
577 Private method to populate the context menu.
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
578
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
579 @param menu reference to the menu to be populated
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
580 @type QMenu
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
581 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
582 contextMenuData = self.lastContextMenuRequest()
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
583
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
584 act = menu.addAction(
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
585 UI.PixmapCache.getIcon("back"),
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
586 self.tr("Backward"),
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
587 self.backward)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
588 act.setEnabled(self.isBackwardAvailable())
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
589
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
590 act = menu.addAction(
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
591 UI.PixmapCache.getIcon("forward"),
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
592 self.tr("Forward"),
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
593 self.forward)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
594 act.setEnabled(self.isForwardAvailable())
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
595
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
596 act = menu.addAction(
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
597 UI.PixmapCache.getIcon("reload"),
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
598 self.tr("Reload"),
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
599 self.reload)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
600
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
601 if (
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
602 not contextMenuData.linkUrl().isEmpty() and
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
603 contextMenuData.linkUrl().scheme() != "javascript"
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
604 ):
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
605 self.__createLinkContextMenu(menu, contextMenuData)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
606
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
607 menu.addSeparator()
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
608
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
609 act = menu.addAction(
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
610 UI.PixmapCache.getIcon("editCopy"),
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
611 self.tr("Copy Page URL to Clipboard"))
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
612 act.setData(self.link())
8693
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
613 act.triggered.connect(
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
614 functools.partial(self.__copyLink, act))
8693
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
615
8900
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
616 act = menu.addAction(
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
617 UI.PixmapCache.getIcon("bookmark22"),
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
618 self.tr("Bookmark Page"))
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
619 act.setData({
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
620 "title": self.pageTitle(),
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
621 "url": self.link()
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
622 })
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
623 act.triggered.connect(
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
624 functools.partial(self.__bookmarkPage, act))
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
625
8693
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
626 menu.addSeparator()
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
627
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
628 act = menu.addAction(
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
629 UI.PixmapCache.getIcon("zoomIn"),
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
630 self.tr("Zoom in"),
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
631 self.scaleUp)
8694
ee70b17dcd71 Fixed a stupid issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
632 act.setEnabled(self.isScaleUpAvailable())
8693
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
633
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
634 act = menu.addAction(
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
635 UI.PixmapCache.getIcon("zoomOut"),
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
636 self.tr("Zoom out"),
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
637 self.scaleDown)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
638 act.setEnabled(self.isScaleDownAvailable())
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
639
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
640 menu.addAction(
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
641 UI.PixmapCache.getIcon("zoomReset"),
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
642 self.tr("Zoom reset"),
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
643 self.resetScale)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
644
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
645 menu.addSeparator()
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
646
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
647 act = menu.addAction(
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
648 UI.PixmapCache.getIcon("editCopy"),
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
649 self.tr("Copy"),
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
650 self.__copyText)
8693
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
651 act.setEnabled(bool(contextMenuData.selectedText()))
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
652
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
653 menu.addAction(
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
654 UI.PixmapCache.getIcon("editSelectAll"),
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
655 self.tr("Select All"),
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
656 self.__selectAll)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
657
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
658 menu.addSeparator()
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
659
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
660 menu.addAction(
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
661 UI.PixmapCache.getIcon("tabClose"),
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
662 self.tr('Close'),
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
663 self.__closePage)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
664
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
665 act = menu.addAction(
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
666 UI.PixmapCache.getIcon("tabCloseOther"),
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
667 self.tr("Close Others"),
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
668 self.__closeOtherPages)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
669 act.setEnabled(self.__helpViewerWidget.openPagesCount() > 1)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
670
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
671 def __createLinkContextMenu(self, menu, contextMenuData):
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
672 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
673 Private method to populate the context menu for URLs.
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
674
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
675 @param menu reference to the menu to be populated
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
676 @type QMenu
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
677 @param contextMenuData data of the last context menu request
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
678 @type QWebEngineContextMenuRequest
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
679 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
680 if not menu.isEmpty():
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
681 menu.addSeparator()
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
682
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
683 act = menu.addAction(
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
684 UI.PixmapCache.getIcon("openNewTab"),
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
685 self.tr("Open Link in New Page"))
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
686 act.setData(contextMenuData.linkUrl())
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
687 act.triggered.connect(
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
688 functools.partial(self.__openLinkInNewPage, act))
8693
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
689
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
690 act = menu.addAction(
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
691 UI.PixmapCache.getIcon("newWindow"),
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
692 self.tr("Open Link in Background Page"))
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
693 act.setData(contextMenuData.linkUrl())
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
694 act.triggered.connect(
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
695 functools.partial(self.__openLinkInBackgroundPage, act))
8693
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
696
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
697 menu.addSeparator()
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
698
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
699 act = menu.addAction(
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
700 UI.PixmapCache.getIcon("editCopy"),
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
701 self.tr("Copy URL to Clipboard"))
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
702 act.setData(contextMenuData.linkUrl())
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
703 act.triggered.connect(
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
704 functools.partial(self.__copyLink, act))
8693
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
705
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
706 def __openLinkInNewPage(self, act):
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
707 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
708 Private method called by the context menu to open a link in a new page.
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
709
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
710 @param act reference to the action that triggered
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
711 @type QAction
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
712 """
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
713 url = act.data()
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
714 if url.isEmpty():
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
715 return
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
716
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
717 self.__helpViewerWidget.openUrlNewPage(url)
8693
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
718
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
719 def __openLinkInBackgroundPage(self, act):
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
720 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
721 Private method called by the context menu to open a link in a
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
722 background page.
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
723
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
724 @param act reference to the action that triggered
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
725 @type QAction
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
726 """
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
727 url = act.data()
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
728 if url.isEmpty():
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
729 return
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
730
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
731 self.__helpViewerWidget.openUrlNewBackgroundPage(url)
8693
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
732
8900
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
733 def __bookmarkPage(self, act):
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
734 """
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
735 Private method called by the context menu to bookmark the page.
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
736
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
737 @param act reference to the action that triggered
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
738 @type QAction
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
739 """
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
740 data = act.data()
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
741 if data:
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
742 with contextlib.suppress(KeyError):
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
743 url = data["url"]
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
744 title = data["title"]
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
745
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
746 self.__helpViewerWidget.bookmarkPage(title, url)
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
747
8693
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
748 def __copyLink(self, act):
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
749 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
750 Private method called by the context menu to copy a link to the
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
751 clipboard.
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
752
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
753 @param act reference to the action that triggered
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
754 @type QAction
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
755 """
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
756 data = act.data()
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
757 if isinstance(data, QUrl) and data.isEmpty():
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
758 return
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
759
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
760 if isinstance(data, QUrl):
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
761 data = data.toString()
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
762
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
763 # copy the URL to both clipboard areas
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
764 QGuiApplication.clipboard().setText(data, QClipboard.Mode.Clipboard)
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
765 QGuiApplication.clipboard().setText(data, QClipboard.Mode.Selection)
8693
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
766
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
767 def __copyText(self):
8693
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
768 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
769 Private method called by the context menu to copy selected text to the
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
770 clipboard.
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
771 """
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
772 self.triggerPageAction(QWebEnginePage.WebAction.Copy)
8693
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
773
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
774 def __selectAll(self):
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
775 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
776 Private method called by the context menu to select all text.
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
777 """
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
778 self.triggerPageAction(QWebEnginePage.WebAction.SelectAll)
8693
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
779
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
780 def __closePage(self):
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
781 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
782 Private method called by the context menu to close the current page.
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
783 """
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
784 self.__helpViewerWidget.closeCurrentPage()
8693
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
785
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
786 def __closeOtherPages(self):
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
787 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
788 Private method called by the context menu to close all other pages.
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
789 """
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8694
diff changeset
790 self.__helpViewerWidget.closeOtherPages()

eric ide

mercurial