src/eric7/HelpViewer/HelpViewerImplQTB.py

Sat, 23 Dec 2023 15:48:12 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 23 Dec 2023 15:48:12 +0100
branch
eric7
changeset 10439
21c28b0f9e41
parent 9786
f94b530722af
child 10628
6968d6c31b3e
permissions
-rw-r--r--

Updated copyright for 2024.

8679
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
10439
21c28b0f9e41 Updated copyright for 2024.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
3 # Copyright (c) 2021 - 2024 Detlev Offenbach <detlev@die-offenbachs.de>
8679
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing the QTextBrowser based help viewer class.
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
8700
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
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: 8693
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: 8693
diff changeset
12
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
13 from PyQt6.QtCore import (
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
14 QByteArray,
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
15 QCoreApplication,
9473
3f23dbf37dbe Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9413
diff changeset
16 QEvent,
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
17 QPoint,
9473
3f23dbf37dbe Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9413
diff changeset
18 Qt,
3f23dbf37dbe Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9413
diff changeset
19 QUrl,
3f23dbf37dbe Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9413
diff changeset
20 pyqtSlot,
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
21 )
9473
3f23dbf37dbe Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9413
diff changeset
22 from PyQt6.QtGui import QClipboard, QDesktopServices, QGuiApplication, QImage
3f23dbf37dbe Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9413
diff changeset
23 from PyQt6.QtWidgets import QMenu, QTextBrowser
8679
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
25 from eric7.EricGui import EricPixmapCache
8679
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26
9473
3f23dbf37dbe Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9413
diff changeset
27 from .HelpViewerImpl import HelpViewerImpl
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
28
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
29 AboutBlank = QCoreApplication.translate(
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
30 "HelpViewer",
9576
be9f8e7e42e0 Corrected some 'wrong' string quotes caused by the Black line merging.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
31 "<html><head><title>about:blank</title></head><body></body></html>",
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
32 )
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
33
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
34 PageNotFound = QCoreApplication.translate(
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
35 "HelpViewer",
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
36 """<html>"""
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
37 """<head><title>Error 404...</title></head>"""
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
38 """<body><div align="center"><br><br>"""
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
39 """<h1>The page could not be found</h1><br>"""
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
40 """<h3>'{0}'</h3></div></body>"""
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
41 """</html>""",
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
42 )
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
43
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
44
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
45 class HelpViewerImplQTB(HelpViewerImpl, QTextBrowser):
8679
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 """
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 Class implementing the QTextBrowser based help viewer class.
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 """
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
49
8680
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
50 def __init__(self, engine, parent=None):
8679
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 """
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 Constructor
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
53
8680
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
54 @param engine reference to the help engine
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
55 @type QHelpEngine
8679
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 @param parent reference to the parent widget
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 @type QWidget
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 """
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
59 QTextBrowser.__init__(self, parent=parent)
8680
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
60 HelpViewerImpl.__init__(self, engine)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
61
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
62 self.__helpViewerWidget = parent
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
63
8681
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
64 self.__zoomCount = 0
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
65
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
66 self.__menu = QMenu(self)
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
67 self.setContextMenuPolicy(Qt.ContextMenuPolicy.CustomContextMenu)
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
68 self.customContextMenuRequested.connect(self.__showContextMenu)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
69
8680
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
70 self.sourceChanged.connect(self.titleChanged)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
71
8689
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
72 self.grabGesture(Qt.GestureType.PinchGesture)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
73
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
74 def setLink(self, url):
8680
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
75 """
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
76 Public method to set the URL of the document to be shown.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
77
8680
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
78 @param url source of the document
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
79 @type QUrl
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
80 """
9172
4bac907a4c74 Added light and dark mode empty documents to the help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8900
diff changeset
81 if url.toString() == "about:blank":
4bac907a4c74 Added light and dark mode empty documents to the help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8900
diff changeset
82 self.setHtml(self.__helpViewerWidget.emptyDocument())
4bac907a4c74 Added light and dark mode empty documents to the help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8900
diff changeset
83 else:
4bac907a4c74 Added light and dark mode empty documents to the help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8900
diff changeset
84 self.setSource(url)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
85
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
86 def link(self):
8683
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8681
diff changeset
87 """
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8681
diff changeset
88 Public method to get the URL of the shown document.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
89
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
90 @return URL of the document
8683
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8681
diff changeset
91 @rtype QUrl
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8681
diff changeset
92 """
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8681
diff changeset
93 return self.source()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
94
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
95 def doSetSource(self, url, type_):
8680
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
96 """
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
97 Public method to load the data and show it.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
98
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
99 @param url URL of resource to load
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
100 @type QUrl
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
101 @param type_ type of the resource to load
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
102 @type QTextDocument.ResourceType
8680
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
103 """
8700
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
104 if not self.__canLoadResource(url):
8680
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
105 QDesktopServices.openUrl(url)
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
106 return
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
107
8700
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
108 super().doSetSource(url, type_)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
109
8680
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
110 self.sourceChanged.emit(url)
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
111 self.loadFinished.emit(True)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
112
8700
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
113 def loadResource(self, type_, name):
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
114 """
8700
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
115 Public method to load data of the specified type from the resource with
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
116 the given name.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
117
8700
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
118 @param type_ resource type
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
119 @type int
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
120 @param name resource name
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
121 @type QUrl
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
122 @return byte array containing the loaded data
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
123 @rtype QByteArray
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
124 """
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
125 ba = QByteArray()
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
126 scheme = name.scheme()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
127
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
128 if type_ < 4: # QTextDocument.ResourceType.MarkdownResource
8700
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
129 if scheme == "about":
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
130 if name.toString() == "about:blank":
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
131 return QByteArray(AboutBlank.encode("utf-8"))
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
132 elif scheme in ("file", ""):
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
133 filePath = name.toLocalFile()
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
134 with contextlib.suppress(OSError), open(filePath, "rb") as f:
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
135 ba = QByteArray(f.read())
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
136 elif scheme == "qthelp":
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
137 url = self._engine.findFile(name)
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
138 if url.isValid():
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
139 ba = self._engine.fileData(url)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
140
8700
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
141 if name.toString().lower().endswith(".svg"):
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
142 image = QImage()
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
143 image.loadFromData(ba, "svg")
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
144 if not image.isNull():
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
145 return image
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
146
8700
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
147 if ba.isEmpty():
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
148 ba = QByteArray(PageNotFound.format(name.toString()).encode("utf-8"))
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
149
8700
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
150 return ba
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
151
8700
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
152 def __canLoadResource(self, url):
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
153 """
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
154 Private method to check, if the given resource can be loaded.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
155
8700
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
156 @param url URL of resource to be loaded
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
157 @type QUrl
8700
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
158 @return flag indicating, that the given URL can be handled
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
159 @rtype bool
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
160 """
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
161 scheme = url.scheme()
8700
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
162 return scheme in ("about", "qthelp", "file", "")
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
163
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
164 def pageTitle(self):
8680
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
165 """
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
166 Public method get the page title.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
167
8680
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
168 @return page title
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
169 @rtype str
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
170 """
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: 8689
diff changeset
171 titleStr = self.documentTitle()
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8689
diff changeset
172 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: 8693
diff changeset
173 url = self.link()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
174
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: 8689
diff changeset
175 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: 8689
diff changeset
176 if not titleStr:
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
177 titleStr = url.toString(QUrl.UrlFormattingOption.RemoveFragment)
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
178
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: 8689
diff changeset
179 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: 8689
diff changeset
180 titleStr = self.tr("Empty Page")
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
181
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: 8689
diff changeset
182 return titleStr
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
183
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
184 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
185 """
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
186 Public method to check, if the current page is the empty page.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
187
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
188 @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
189 @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
190 """
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
191 return self.pageTitle() == self.tr("Empty Page")
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
192
8680
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
193 def mousePressEvent(self, evt):
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
194 """
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
195 Protected method called by a mouse press event.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
196
8680
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
197 @param evt reference to the mouse event
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
198 @type QMouseEvent
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
199 """
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
200 if evt.button() == Qt.MouseButton.XButton1:
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
201 self.backward()
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
202 evt.accept()
8680
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
203 elif evt.button() == Qt.MouseButton.XButton2:
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
204 self.forward()
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
205 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: 8693
diff changeset
206 else:
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
207 super().mousePressEvent(evt)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
208
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
209 def mouseReleaseEvent(self, evt):
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
210 """
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
211 Protected method called by a mouse release event.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
212
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
213 @param evt reference to the mouse event
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
214 @type QMouseEvent
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
215 """
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
216 hasModifier = evt.modifiers() != Qt.KeyboardModifier.NoModifier
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
217 if evt.button() == Qt.MouseButton.LeftButton and hasModifier:
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
218 anchor = self.anchorAt(evt.pos())
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
219 if anchor:
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
220 url = self.link().resolved(QUrl(anchor))
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
221 if evt.modifiers() & Qt.KeyboardModifier.ControlModifier:
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
222 self.__helpViewerWidget.openUrlNewBackgroundPage(url)
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
223 else:
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
224 self.__helpViewerWidget.openUrlNewPage(url)
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
225 evt.accept()
8680
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
226 else:
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
227 super().mousePressEvent(evt)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
228
8680
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
229 def gotoHistory(self, index):
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
230 """
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
231 Public method to step through the history.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
232
8680
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
233 @param index history index (<0 backward, >0 forward)
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
234 @type int
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
235 """
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
236 if index < 0:
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
237 # backward
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
238 for _ind in range(-index):
8680
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
239 self.backward()
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
240 else:
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
241 # forward
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
242 for _ind in range(index):
8680
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
243 self.forward()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
244
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: 8689
diff changeset
245 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: 8689
diff changeset
246 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8689
diff changeset
247 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: 8689
diff changeset
248 available.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
249
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
250 @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: 8693
diff changeset
251 @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: 8689
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: 8689
diff changeset
253 return QTextBrowser.isBackwardAvailable(self)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
254
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: 8689
diff changeset
255 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: 8689
diff changeset
256 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8689
diff changeset
257 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: 8689
diff changeset
258 available.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
259
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
260 @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: 8693
diff changeset
261 @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: 8689
diff changeset
262 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8689
diff changeset
263 return QTextBrowser.isForwardAvailable(self)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
264
8681
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
265 def scaleUp(self):
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
266 """
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
267 Public method to zoom in.
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
268 """
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
269 if self.__zoomCount < 10:
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
270 self.__zoomCount += 1
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
271 self.zoomIn()
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
272 self.zoomChanged.emit()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
273
8681
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
274 def scaleDown(self):
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
275 """
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
276 Public method to zoom out.
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
277 """
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
278 if self.__zoomCount > -5:
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
279 self.__zoomCount -= 1
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
280 self.zoomOut()
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
281 self.zoomChanged.emit()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
282
8689
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
283 def setScale(self, scale):
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
284 """
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
285 Public method to set the zoom level.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
286
8689
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
287 @param scale zoom level to set
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
288 @type int
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
289 """
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
290 if -5 <= scale <= 10:
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
291 self.zoomOut(scale)
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
292 self.__zoomCount = scale
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
293 self.zoomChanged.emit()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
294
8681
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
295 def resetScale(self):
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
296 """
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
297 Public method to reset the zoom level.
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
298 """
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
299 if self.__zoomCount != 0:
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
300 self.zoomOut(self.__zoomCount)
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
301 self.zoomChanged.emit()
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
302 self.__zoomCount = 0
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
303
8681
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
304 def scale(self):
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
305 """
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
306 Public method to get the zoom level.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
307
8681
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
308 @return current zoom level
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
309 @rtype int
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
310 """
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
311 return self.__zoomCount
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
312
8681
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
313 def isScaleUpAvailable(self):
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
314 """
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
315 Public method to check, if the max. zoom level is reached.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
316
8681
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
317 @return flag indicating scale up is available
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
318 @rtype bool
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
319 """
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
320 return self.__zoomCount < 10
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
321
8681
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
322 def isScaleDownAvailable(self):
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
323 """
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
324 Public method to check, if the min. zoom level is reached.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
325
8681
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
326 @return flag indicating scale down is available
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
327 @rtype bool
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
328 """
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
329 return self.__zoomCount > -5
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
330
8681
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
331 def wheelEvent(self, evt):
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
332 """
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
333 Protected method to handle wheel event to zoom.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
334
8681
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
335 @param evt reference to the event object
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
336 @type QWheelEvent
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
337 """
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: 8689
diff changeset
338 delta = evt.angleDelta().y()
8681
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
339 if evt.modifiers() == Qt.KeyboardModifier.ControlModifier:
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: 8689
diff changeset
340 if delta > 0:
8681
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
341 self.scaleUp()
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
342 else:
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
343 self.scaleDown()
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
344 evt.accept()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
345
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: 8689
diff changeset
346 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: 8689
diff changeset
347 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: 8689
diff changeset
348 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: 8689
diff changeset
349 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: 8689
diff changeset
350 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: 8689
diff changeset
351 evt.accept()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
352
8681
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
353 else:
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
354 QTextBrowser.wheelEvent(self, evt)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
355
8689
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
356 def keyPressEvent(self, evt):
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
357 """
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
358 Protected method to handle key press events.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
359
8689
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
360 @param evt reference to the key event
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
361 @type QKeyEvent
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
362 """
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
363 key = evt.key()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
364 isControlModifier = evt.modifiers() == Qt.KeyboardModifier.ControlModifier
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
365
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
366 if key == Qt.Key.Key_ZoomIn or (key == Qt.Key.Key_Plus and isControlModifier):
8689
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
367 self.scaleUp()
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
368 evt.accept()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
369 elif key == Qt.Key.Key_ZoomOut or (
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
370 key == Qt.Key.Key_Minus and isControlModifier
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
371 ):
8689
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
372 self.scaleDown()
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
373 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: 8693
diff changeset
374 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: 8693
diff changeset
375 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: 8693
diff changeset
376 evt.accept()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
377 elif key == Qt.Key.Key_Backspace or (
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
378 key == Qt.Key.Key_Left and isControlModifier
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
379 ):
8689
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
380 self.backward()
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
381 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: 8693
diff changeset
382 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: 8693
diff changeset
383 self.forward()
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
384 evt.accept()
8702
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8700
diff changeset
385 elif key == Qt.Key.Key_F and isControlModifier:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8700
diff changeset
386 self.__helpViewerWidget.showHideSearch(True)
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8700
diff changeset
387 evt.accept()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
388 elif key == Qt.Key.Key_F3 and evt.modifiers() == Qt.KeyboardModifier.NoModifier:
8702
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8700
diff changeset
389 self.__helpViewerWidget.searchNext()
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8700
diff changeset
390 evt.accept()
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8700
diff changeset
391 elif (
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
392 key == Qt.Key.Key_F3
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
393 and evt.modifiers() == Qt.KeyboardModifier.ShiftModifier
8702
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8700
diff changeset
394 ):
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8700
diff changeset
395 self.__helpViewerWidget.searchPrev()
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8700
diff changeset
396 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: 8693
diff changeset
397 else:
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
398 super().keyPressEvent(evt)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
399
8689
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
400 def event(self, evt):
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
401 """
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
402 Public method handling events.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
403
8689
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
404 @param evt reference to the event
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
405 @type QEvent
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
406 @return flag indicating the event was handled
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
407 @rtype bool
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
408 """
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
409 if evt.type() == QEvent.Type.Gesture:
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
410 self.gestureEvent(evt)
8689
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
411 return True
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
412
8689
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
413 return super().event(evt)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
414
8689
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
415 def gestureEvent(self, evt):
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
416 """
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
417 Protected method handling gesture events.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
418
8689
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
419 @param evt reference to the gesture event
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
420 @type QGestureEvent
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
421 """
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
422 pinch = evt.gesture(Qt.GestureType.PinchGesture)
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
423 if pinch:
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
424 if pinch.state() == Qt.GestureState.GestureStarted:
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
425 zoom = (self.getZoom() + 6) / 10.0
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
426 pinch.setTotalScaleFactor(zoom)
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
427 elif pinch.state() == Qt.GestureState.GestureUpdated:
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
428 zoom = int(pinch.totalScaleFactor() * 10) - 6
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
429 if zoom <= -5:
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
430 zoom = -5
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
431 pinch.setTotalScaleFactor(0.1)
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
432 elif zoom >= 10:
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
433 zoom = 10
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
434 pinch.setTotalScaleFactor(1.6)
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
435 self.setScale(zoom)
da40117c42d6 Implemented some keyboard zoom actions and zooming via a pinch gesture for the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
436 evt.accept()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
437
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
438 #######################################################################
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
439 ## Context menu 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: 8693
diff changeset
440 #######################################################################
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
441
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
442 @pyqtSlot(QPoint)
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
443 def __showContextMenu(self, pos):
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
444 """
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
445 Private slot to show the context menu.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
446
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
447 @param pos position to show the context menu at
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
448 @type QPoint
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
449 """
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
450 self.__menu.clear()
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
451 anchor = self.anchorAt(pos)
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
452 linkUrl = self.link().resolved(QUrl(anchor)) if anchor else QUrl()
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
453 selectedText = self.textCursor().selectedText()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
454
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
455 act = self.__menu.addAction(
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
456 EricPixmapCache.getIcon("back"), self.tr("Backward"), self.backward
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
457 )
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
458 act.setEnabled(self.isBackwardAvailable())
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
459
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
460 act = self.__menu.addAction(
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
461 EricPixmapCache.getIcon("forward"), self.tr("Forward"), self.forward
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
462 )
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
463 act.setEnabled(self.isForwardAvailable())
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
464
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
465 act = self.__menu.addAction(
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
466 EricPixmapCache.getIcon("reload"), self.tr("Reload"), self.reload
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
467 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
468
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
469 if not linkUrl.isEmpty() and linkUrl.scheme() != "javascript":
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
470 self.__createLinkContextMenu(self.__menu, linkUrl)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
471
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
472 self.__menu.addSeparator()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
473
8900
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
474 act = self.__menu.addAction(
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
475 EricPixmapCache.getIcon("editCopy"), self.tr("Copy Page URL to Clipboard")
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
476 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
477 act.setData(self.link())
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
478 act.triggered.connect(functools.partial(self.__copyLink, act))
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
479
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
480 act = self.__menu.addAction(
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
481 EricPixmapCache.getIcon("bookmark22"), self.tr("Bookmark Page")
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
482 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
483 act.setData({"title": self.pageTitle(), "url": self.link()})
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
484 act.triggered.connect(functools.partial(self.__bookmarkPage, act))
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
485
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
486 self.__menu.addSeparator()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
487
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
488 act = self.__menu.addAction(
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
489 EricPixmapCache.getIcon("zoomIn"), self.tr("Zoom in"), self.scaleUp
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
490 )
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
491 act.setEnabled(self.isScaleUpAvailable())
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
492
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
493 act = self.__menu.addAction(
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
494 EricPixmapCache.getIcon("zoomOut"), self.tr("Zoom out"), self.scaleDown
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
495 )
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
496 act.setEnabled(self.isScaleDownAvailable())
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
497
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
498 self.__menu.addAction(
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
499 EricPixmapCache.getIcon("zoomReset"), self.tr("Zoom reset"), self.resetScale
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
500 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
501
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
502 self.__menu.addSeparator()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
503
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
504 act = self.__menu.addAction(
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
505 EricPixmapCache.getIcon("editCopy"), self.tr("Copy"), self.copy
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
506 )
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
507 act.setEnabled(bool(selectedText))
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
508
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
509 self.__menu.addAction(
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
510 EricPixmapCache.getIcon("editSelectAll"),
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
511 self.tr("Select All"),
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
512 self.selectAll,
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
513 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
514
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
515 self.__menu.addSeparator()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
516
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
517 self.__menu.addAction(
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
518 EricPixmapCache.getIcon("tabClose"), self.tr("Close"), self.__closePage
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
519 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
520
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
521 act = self.__menu.addAction(
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
522 EricPixmapCache.getIcon("tabCloseOther"),
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
523 self.tr("Close Others"),
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
524 self.__closeOtherPages,
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
525 )
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
526 act.setEnabled(self.__helpViewerWidget.openPagesCount() > 1)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
527
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
528 self.__menu.popup(self.mapToGlobal(pos))
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
529
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
530 def __createLinkContextMenu(self, menu, linkUrl):
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
531 """
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
532 Private method to populate the context menu for URLs.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
533
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
534 @param menu reference to the menu to be populated
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
535 @type QMenu
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
536 @param linkUrl URL to create the menu part for
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
537 @type QUrl
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
538 """
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
539 if not menu.isEmpty():
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
540 menu.addSeparator()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
541
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
542 act = menu.addAction(
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
543 EricPixmapCache.getIcon("openNewTab"), self.tr("Open Link in New Page")
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
544 )
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
545 act.setData(linkUrl)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
546 act.triggered.connect(functools.partial(self.__openLinkInNewPage, act))
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
547
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
548 act = menu.addAction(
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
549 EricPixmapCache.getIcon("newWindow"),
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
550 self.tr("Open Link in Background Page"),
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
551 )
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
552 act.setData(linkUrl)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
553 act.triggered.connect(functools.partial(self.__openLinkInBackgroundPage, act))
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
554
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
555 menu.addSeparator()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
556
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
557 act = menu.addAction(
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
558 EricPixmapCache.getIcon("editCopy"), self.tr("Copy URL to Clipboard")
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
559 )
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
560 act.setData(linkUrl)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
561 act.triggered.connect(functools.partial(self.__copyLink, act))
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
562
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
563 def __openLinkInNewPage(self, act):
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
564 """
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
565 Private method called by the context menu to open a link in a new page.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
566
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
567 @param act reference to the action that triggered
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
568 @type QAction
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
569 """
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
570 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: 8693
diff changeset
571 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: 8693
diff changeset
572 return
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
573
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
574 self.__helpViewerWidget.openUrlNewPage(url)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
575
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
576 def __openLinkInBackgroundPage(self, act):
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
577 """
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
578 Private method called by the context menu to open a link in a
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
579 background page.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
580
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
581 @param act reference to the action that triggered
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
582 @type QAction
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
583 """
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
584 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: 8693
diff changeset
585 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: 8693
diff changeset
586 return
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
587
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
588 self.__helpViewerWidget.openUrlNewBackgroundPage(url)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
589
8900
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
590 def __bookmarkPage(self, act):
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
591 """
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
592 Private method called by the context menu to bookmark the page.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
593
8900
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
594 @param act reference to the action that triggered
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
595 @type QAction
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
596 """
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
597 data = act.data()
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
598 if data:
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
599 with contextlib.suppress(KeyError):
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
600 url = data["url"]
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
601 title = data["title"]
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
602
8900
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
603 self.__helpViewerWidget.bookmarkPage(title, url)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
604
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
605 def __copyLink(self, act):
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
606 """
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
607 Private method called by the context menu to copy a link to the
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
608 clipboard.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
609
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
610 @param act reference to the action that triggered
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
611 @type QAction
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
612 """
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
613 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: 8693
diff changeset
614 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: 8693
diff changeset
615 return
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
616
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
617 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: 8693
diff changeset
618 data = data.toString()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
619
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
620 # 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: 8693
diff changeset
621 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: 8693
diff changeset
622 QGuiApplication.clipboard().setText(data, QClipboard.Mode.Selection)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
623
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
624 def __closePage(self):
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
625 """
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
626 Private method called by the context menu to close the current page.
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
627 """
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
628 self.__helpViewerWidget.closeCurrentPage()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
629
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
630 def __closeOtherPages(self):
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
631 """
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
632 Private method called by the context menu to close all other pages.
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
633 """
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
634 self.__helpViewerWidget.closeOtherPages()

eric ide

mercurial