eric7/HelpViewer/HelpViewerImplQTB.py

Tue, 19 Oct 2021 19:57:26 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Tue, 19 Oct 2021 19:57:26 +0200
branch
eric7
changeset 8702
131ef7267fd4
parent 8700
112271b4a2eb
child 8705
327e596607f8
permissions
-rw-r--r--

***

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
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3 # Copyright (c) 2021 Detlev Offenbach <detlev@die-offenbachs.de>
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 (
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
14 pyqtSlot, Qt, QByteArray, QUrl, QEvent, QCoreApplication, 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
15 )
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
16 from PyQt6.QtGui import QDesktopServices, QImage, QGuiApplication, QClipboard
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
17 from PyQt6.QtWidgets import QTextBrowser, QMenu
8679
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 from .HelpViewerImpl import HelpViewerImpl
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20
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 import UI.PixmapCache
8679
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22
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
23
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
24 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
25 "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
26 "<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
27 "<head><title>about:blank</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
28 "<body></body>"
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 "</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
30
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
31 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
32 "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
33 """<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
34 """<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
35 """<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
36 """<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
37 """<h3>'{0}'</h3></div></body>"""
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 """</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
39
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
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
41 class HelpViewerImplQTB(HelpViewerImpl, QTextBrowser):
8679
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 """
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 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
44 """
8680
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
45 def __init__(self, engine, parent=None):
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 Constructor
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48
8680
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
49 @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
50 @type QHelpEngine
8679
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 @param parent reference to the parent widget
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 @type QWidget
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 """
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
54 QTextBrowser.__init__(self, parent=parent)
8680
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
55 HelpViewerImpl.__init__(self, engine)
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
56
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
57 self.__helpViewerWidget = parent
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
58
8681
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
59 self.__zoomCount = 0
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
60
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
61 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
62 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
63 self.customContextMenuRequested.connect(self.__showContextMenu)
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
64
8680
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
65 self.sourceChanged.connect(self.titleChanged)
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
66
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
67 self.grabGesture(Qt.GestureType.PinchGesture)
8680
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
68
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
69 def setLink(self, url):
8680
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
70 """
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
71 Public method to set the URL of the document to be shown.
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
72
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
73 @param url source of the document
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
74 @type QUrl
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 self.setSource(url)
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
77
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
78 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
79 """
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
80 Public method to get the URL of the shown document.
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
81
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
82 @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
83 @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
84 """
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
85 return self.source()
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
86
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
87 def doSetSource(self, url, type_):
8680
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
88 """
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
89 Public method to load the data and show it.
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
90
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
91 @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
92 @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
93 @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
94 @type QTextDocument.ResourceType
8680
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
95 """
8700
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
96 if not self.__canLoadResource(url):
8680
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
97 QDesktopServices.openUrl(url)
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
98 return
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
99
8700
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
100 super().doSetSource(url, type_)
8680
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
101
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
102 self.sourceChanged.emit(url)
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
103 self.loadFinished.emit(True)
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
104
8700
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
105 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
106 """
8700
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
107 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
108 the given name.
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
109
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
110 @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
111 @type int
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
112 @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
113 @type QUrl
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
114 @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
115 @rtype QByteArray
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
116 """
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
117 ba = QByteArray()
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
118 scheme = name.scheme()
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
119
8700
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
120 if type_ < 4: # QTextDocument.ResourceType.MarkdownResource
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
121 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
122 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
123 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
124 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
125 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
126 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
127 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
128 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
129 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
130 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
131 ba = self._engine.fileData(url)
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
132
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
133 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
134 image = QImage()
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
135 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
136 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
137 return image
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
138
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
139 if ba.isEmpty():
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
140 ba = QByteArray(
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
141 PageNotFound.format(name.toString()).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
142 )
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
143
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
144 return ba
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
145
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
146 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
147 """
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
148 Private method to check, if the given resource can be loaded.
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
149
112271b4a2eb Refactored the data loading mechanism of the QTextBrowser based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8697
diff changeset
150 @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
151 @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
152 @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
153 @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
154 """
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
155 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
156 return scheme in ("about", "qthelp", "file", "")
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
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
158 def pageTitle(self):
8680
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
159 """
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
160 Public method get the page title.
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
161
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
162 @return page title
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
163 @rtype str
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
164 """
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
165 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
166 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
167 url = self.link()
8693
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8689
diff changeset
168
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8689
diff changeset
169 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
170 if not titleStr:
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8689
diff changeset
171 titleStr = url.toString(
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8689
diff changeset
172 QUrl.UrlFormattingOption.RemoveFragment)
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8689
diff changeset
173
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
174 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
175 titleStr = self.tr("Empty Page")
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8689
diff changeset
176
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8689
diff changeset
177 return titleStr
8680
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
178
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
179 def mousePressEvent(self, evt):
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
180 """
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
181 Protected method called by a mouse press event.
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
182
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
183 @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
184 @type QMouseEvent
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
185 """
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
186 if evt.button() == Qt.MouseButton.XButton1:
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
187 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
188 evt.accept()
8680
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
189 elif evt.button() == Qt.MouseButton.XButton2:
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
190 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
191 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
192 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
193 super().mousePressEvent(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
194
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
195 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
196 """
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
197 Protected method called by a mouse release 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
198
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
199 @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
200 @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
201 """
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 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
203 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
204
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 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
206 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
207 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
208 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
209 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
210 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
211 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
212 evt.accept()
8680
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
213 else:
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
214 super().mousePressEvent(evt)
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
215
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
216 def gotoHistory(self, index):
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
217 """
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
218 Public method to step through the history.
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
219
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
220 @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
221 @type int
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
222 """
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
223 if index < 0:
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
224 # 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
225 for _ind in range(-index):
8680
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
226 self.backward()
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
227 else:
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
228 # 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
229 for _ind in range(index):
8680
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
230 self.forward()
8681
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
231
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
232 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
233 """
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
234 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
235 available.
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
236
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
237 @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
238 @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
239 """
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
240 return QTextBrowser.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
241
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
242 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
243 """
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8689
diff changeset
244 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
245 available.
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
246
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
247 @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
248 @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
249 """
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
250 return QTextBrowser.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
251
8681
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
252 def scaleUp(self):
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
253 """
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
254 Public method to zoom in.
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
255 """
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
256 if self.__zoomCount < 10:
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
257 self.__zoomCount += 1
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
258 self.zoomIn()
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
259 self.zoomChanged.emit()
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
260
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
261 def scaleDown(self):
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
262 """
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
263 Public method to zoom out.
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
264 """
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
265 if self.__zoomCount > -5:
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
266 self.__zoomCount -= 1
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
267 self.zoomOut()
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
268 self.zoomChanged.emit()
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
269
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
270 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
271 """
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
272 Public method to set the zoom level.
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
273
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
274 @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
275 @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
276 """
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
277 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
278 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
279 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
280 self.zoomChanged.emit()
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
281
8681
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
282 def resetScale(self):
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
283 """
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
284 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
285 """
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
286 if self.__zoomCount != 0:
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
287 self.zoomOut(self.__zoomCount)
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
288 self.zoomChanged.emit()
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
289 self.__zoomCount = 0
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
290
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
291 def scale(self):
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
292 """
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
293 Public method to get the zoom level.
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
294
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
295 @return current zoom level
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
296 @rtype int
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
297 """
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
298 return self.__zoomCount
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
299
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
300 def isScaleUpAvailable(self):
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
301 """
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
302 Public method to check, if the max. zoom level is reached.
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
303
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
304 @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
305 @rtype bool
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
306 """
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
307 return self.__zoomCount < 10
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
308
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
309 def isScaleDownAvailable(self):
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 Public method to check, if the min. zoom level is reached.
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
312
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
313 @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
314 @rtype bool
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
315 """
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
316 return self.__zoomCount > -5
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
317
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
318 def wheelEvent(self, evt):
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
319 """
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
320 Protected method to handle wheel event to zoom.
8681
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
321
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
322 @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
323 @type QWheelEvent
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
324 """
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
325 delta = evt.angleDelta().y()
8681
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
326 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
327 if delta > 0:
8681
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
328 self.scaleUp()
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
329 else:
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
330 self.scaleDown()
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
331 evt.accept()
8693
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8689
diff changeset
332
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
333 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
334 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
335 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
336 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
337 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
338 evt.accept()
d51660d6f1b9 Continued implementing the embedded help viewer widget. Implemented most part of the QWebEngine based help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8689
diff changeset
339
8681
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
340 else:
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
341 QTextBrowser.wheelEvent(self, evt)
6285e8374d99 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
342
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
343 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
344 """
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
345 Protected method to handle key press events.
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
346
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
347 @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
348 @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
349 """
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
350 key = evt.key()
8702
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8700
diff changeset
351 isControlModifier = (
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8700
diff changeset
352 evt.modifiers() == Qt.KeyboardModifier.ControlModifier
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8700
diff changeset
353 )
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
354
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
355 if (
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
356 key == Qt.Key.Key_ZoomIn or
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
357 (key == Qt.Key.Key_Plus and isControlModifier)
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
358 ):
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
359 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
360 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
361 elif (
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
362 key == Qt.Key.Key_ZoomOut or
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
363 (key == Qt.Key.Key_Minus and isControlModifier)
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
364 ):
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
365 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
366 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
367 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
368 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
369 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
370 elif (
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 key == Qt.Key.Key_Backspace or
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
372 (key == Qt.Key.Key_Left and isControlModifier)
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
373 ):
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
374 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
375 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
376 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
377 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
378 evt.accept()
8702
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8700
diff changeset
379 elif key == Qt.Key.Key_F and isControlModifier:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8700
diff changeset
380 self.__helpViewerWidget.showHideSearch(True)
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8700
diff changeset
381 evt.accept()
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8700
diff changeset
382 elif (
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8700
diff changeset
383 key == Qt.Key.Key_F3 and
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8700
diff changeset
384 evt.modifiers() == Qt.KeyboardModifier.NoModifier
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8700
diff changeset
385 ):
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8700
diff changeset
386 self.__helpViewerWidget.searchNext()
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8700
diff changeset
387 evt.accept()
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8700
diff changeset
388 elif (
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8700
diff changeset
389 key == Qt.Key.Key_F3 and
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8700
diff changeset
390 evt.modifiers() == Qt.KeyboardModifier.ShiftModifier
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8700
diff changeset
391 ):
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8700
diff changeset
392 self.__helpViewerWidget.searchPrev()
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8700
diff changeset
393 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
394 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
395 super().keyPressEvent(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
396
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
397 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
398 """
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
399 Public method handling events.
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
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 @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
402 @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
403 @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
404 @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
405 """
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 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
407 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
408 return True
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
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
410 return super().event(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
411
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
412 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
413 """
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
414 Protected method handling gesture events.
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
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 @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
417 @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
418 """
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 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
420 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
421 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
422 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
423 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
424 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
425 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
426 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
427 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
428 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
429 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
430 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
431 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
432 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
433 evt.accept()
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
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
435 #######################################################################
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
436 ## 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
437 #######################################################################
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 @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
440 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
441 """
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 Private slot to show the context menu.
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
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 @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
445 @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
446 """
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 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
448 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
449 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
450 selectedText = self.textCursor().selectedText()
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
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 act = self.__menu.addAction(
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 UI.PixmapCache.getIcon("back"),
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
454 self.tr("Backward"),
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 self.backward)
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
456 act.setEnabled(self.isBackwardAvailable())
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
457
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 = self.__menu.addAction(
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
459 UI.PixmapCache.getIcon("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
460 self.tr("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
461 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
462 act.setEnabled(self.isForwardAvailable())
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
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
464 act = self.__menu.addAction(
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 UI.PixmapCache.getIcon("reload"),
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
466 self.tr("Reload"),
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
467 self.reload)
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
468
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)
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
471
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()
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
473
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
474 act = self.__menu.addAction(
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
475 UI.PixmapCache.getIcon("editCopy"),
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
476 self.tr("Copy Page URL to 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
477 act.setData(self.link())
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
478 act.triggered.connect(
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
479 functools.partial(self.__copyLink, 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
480
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
481 self.__menu.addSeparator()
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
482
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
483 act = self.__menu.addAction(
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
484 UI.PixmapCache.getIcon("zoomIn"),
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
485 self.tr("Zoom in"),
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.scaleUp)
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
487 act.setEnabled(self.isScaleUpAvailable())
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
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
489 act = self.__menu.addAction(
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
490 UI.PixmapCache.getIcon("zoomOut"),
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 self.tr("Zoom out"),
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
492 self.scaleDown)
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.setEnabled(self.isScaleDownAvailable())
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
494
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
495 self.__menu.addAction(
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 UI.PixmapCache.getIcon("zoomReset"),
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
497 self.tr("Zoom reset"),
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.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
499
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
500 self.__menu.addSeparator()
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
501
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 act = self.__menu.addAction(
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
503 UI.PixmapCache.getIcon("editCopy"),
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 self.tr("Copy"),
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
505 self.copy)
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
506 act.setEnabled(bool(selectedText))
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
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
508 self.__menu.addAction(
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 UI.PixmapCache.getIcon("editSelectAll"),
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
510 self.tr("Select All"),
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.selectAll)
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
512
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
513 self.__menu.addSeparator()
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
514
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.addAction(
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
516 UI.PixmapCache.getIcon("tabClose"),
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.tr('Close'),
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
518 self.__closePage)
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
519
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
520 act = self.__menu.addAction(
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 UI.PixmapCache.getIcon("tabCloseOther"),
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
522 self.tr("Close Others"),
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.__closeOtherPages)
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
524 act.setEnabled(self.__helpViewerWidget.openPagesCount() > 1)
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
525
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 self.__menu.popup(self.mapToGlobal(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
527
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 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
529 """
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 Private method to populate the context menu for URLs.
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 @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
533 @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
534 @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
535 @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
536 """
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 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
538 menu.addSeparator()
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
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 act = menu.addAction(
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
541 UI.PixmapCache.getIcon("openNewTab"),
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 self.tr("Open Link in New 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
543 act.setData(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
544 act.triggered.connect(
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 functools.partial(self.__openLinkInNewPage, 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
546
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
547 act = menu.addAction(
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 UI.PixmapCache.getIcon("newWindow"),
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
549 self.tr("Open Link in Background 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
550 act.setData(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
551 act.triggered.connect(
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 functools.partial(self.__openLinkInBackgroundPage, 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
553
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
554 menu.addSeparator()
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
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
556 act = menu.addAction(
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 UI.PixmapCache.getIcon("editCopy"),
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
558 self.tr("Copy URL to 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
559 act.setData(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
560 act.triggered.connect(
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
561 functools.partial(self.__copyLink, 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
562
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.
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
566
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
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
573
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)
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
575
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.
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
580
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
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
587
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)
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
589
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
590 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
591 """
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
592 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
593 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
594
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
595 @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
596 @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
597 """
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
598 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
599 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
600 return
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
601
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
602 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
603 data = data.toString()
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8693
diff changeset
604
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 # 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
606 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
607 QGuiApplication.clipboard().setText(data, QClipboard.Mode.Selection)
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
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
609 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
610 """
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 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
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 self.__helpViewerWidget.closeCurrentPage()
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
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 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
616 """
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 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
618 """
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
619 self.__helpViewerWidget.closeOtherPages()

eric ide

mercurial