eric7/HelpViewer/OpenPagesWidget.py

Sun, 31 Oct 2021 18:01:20 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 31 Oct 2021 18:01:20 +0100
branch
eric7
changeset 8741
54546929c371
parent 8696
7e88f292b1b1
child 8881
54e42bc2437a
permissions
-rw-r--r--

Some modifications to the integrated help viewer.

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 a widget showing the list of open pages.
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
8683
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
10 from PyQt6.QtCore import pyqtSlot, pyqtSignal, Qt, QPoint
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
11 from PyQt6.QtGui import QGuiApplication, QClipboard
8679
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12 from PyQt6.QtWidgets import (
8741
54546929c371 Some modifications to the integrated help viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8696
diff changeset
13 QWidget, QListWidget, QVBoxLayout, QAbstractItemView, QMenu
8679
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14 )
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15
8683
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
16 import UI.PixmapCache
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
17
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 class OpenPagesWidget(QWidget):
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 """
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 Class implementing a widget showing the list of open pages.
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8691
diff changeset
22
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8691
diff changeset
23 @signal currentChanged(index) emitted to signal a change of the current
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8691
diff changeset
24 page index
8679
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 """
8680
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
26 currentChanged = pyqtSignal(int)
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
27
8679
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 def __init__(self, stack, parent=None):
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 """
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 Constructor
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 @param stack reference to the stack widget containing the open
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 help pages
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 @type QStackedWidget
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 @param parent reference to the parent widget (defaults to None)
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 @type QWidget (optional)
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 """
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 super().__init__(parent)
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 self.setObjectName("OpenPagesWidget")
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40
8683
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
41 self.__helpViewer = parent
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
42
8679
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 self.__layout = QVBoxLayout()
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 self.__layout.setContentsMargins(0, 0, 0, 0)
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 self.__openPagesList = QListWidget(self)
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 self.__openPagesList.setAlternatingRowColors(True)
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 self.__openPagesList.setSelectionMode(
8683
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
49 QAbstractItemView.SelectionMode.SingleSelection)
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
50 self.__openPagesList.setContextMenuPolicy(
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
51 Qt.ContextMenuPolicy.CustomContextMenu)
8679
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 self.__openPagesList.currentRowChanged.connect(
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 self.__currentRowChanged)
8683
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
54 self.__openPagesList.customContextMenuRequested.connect(
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
55 self.__showContextMenu)
8679
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 self.__layout.addWidget(self.__openPagesList)
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 self.setLayout(self.__layout)
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 self.__stack = stack
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61 self.__stack.currentChanged.connect(self.__currentPageChanged)
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62
8683
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
63 self.__initContextMenu()
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
64
8679
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65 self.__defaultFont = self.__openPagesList.font()
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66 self.__boldFont = self.__openPagesList.font()
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67 self.__boldFont.setBold(True)
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68
8683
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
69 def __initContextMenu(self):
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
70 """
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
71 Private method to initialize the context menu.
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
72 """
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
73 self.__menu = QMenu(self)
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
74 self.__menu.addAction(
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
75 UI.PixmapCache.getIcon("tabClose"),
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
76 self.tr('Close'), self.__contextMenuClose)
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
77 self.closeOthersMenuAct = self.__menu.addAction(
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
78 UI.PixmapCache.getIcon("tabCloseOther"),
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
79 self.tr("Close Others"),
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
80 self.__contextMenuCloseOthers)
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
81 self.__menu.addAction(
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
82 self.tr('Close All'), self.__contextMenuCloseAll)
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
83 self.__menu.addSeparator()
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
84 self.__copyUrlAct = self.__menu.addAction(
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
85 self.tr("Copy URL to Clipboard"),
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
86 self.__contextMenuCopyUrlToClipboard)
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
87
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
88 @pyqtSlot(QPoint)
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
89 def __showContextMenu(self, point):
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
90 """
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
91 Private slot to handle the customContextMenuRequested signal of
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
92 the viewlist.
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
93
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
94 @param point position to open the menu at
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
95 @type QPoint
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
96 """
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
97 itm = self.__openPagesList.itemAt(point)
8685
b0669ce1066d Continued implementing the embedded help viewer widget. Added the help index and help search widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8683
diff changeset
98 self.__copyUrlAct.setEnabled(bool(itm) and itm.text() != "about:blank")
8691
5dfa59f73de3 Fixed an issue in the Open Pages widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8685
diff changeset
99 self.closeOthersMenuAct.setEnabled(self.__openPagesList.count() > 1)
8683
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
100 self.__menu.popup(self.__openPagesList.mapToGlobal(point))
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
101
8679
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
102 @pyqtSlot(int)
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
103 def __currentPageChanged(self, index):
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
104 """
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
105 Private slot to handle a change of the shown page.
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
106
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
107 @param index index of the current page
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
108 @type int
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
109 """
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
110 for row in range(self.__openPagesList.count()):
8683
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
111 itm = self.__openPagesList.item(row)
8679
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
112 itm.setFont(
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
113 self.__boldFont if row == index else self.__defaultFont
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
114 )
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
115
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
116 @pyqtSlot(int)
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
117 def __currentRowChanged(self, row):
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
118 """
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
119 Private slot handling a change of the current row.
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
120
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
121 @param row current row
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
122 @type int
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
123 """
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
124 self.__stack.setCurrentIndex(row)
8680
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
125 self.currentChanged.emit(row)
8679
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
126
8683
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
127 def addPage(self, viewer, background=False):
8679
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
128 """
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
129 Public method to add a viewer page to our list.
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
130
8680
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
131 @param viewer reference to the viewer object
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
132 @type HelpViewerImpl
8683
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
133 @param background flag indicating to not change the current page
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
134 (defaults to False)
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
135 @type bool (optional)
8679
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
136 """
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8691
diff changeset
137 self.__openPagesList.addItem(viewer.pageTitle())
8680
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
138 viewer.titleChanged.connect(
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
139 lambda: self.__viewerTitleChanged(viewer))
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
140
8683
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
141 if not background:
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
142 self.__openPagesList.setCurrentRow(
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
143 self.__openPagesList.count() - 1)
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
144 if self.__openPagesList.count() == 1:
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
145 self.__currentPageChanged(0)
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
146
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
147 def insertPage(self, index, viewer, background=False):
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
148 """
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
149 Public method to insert a viewer page into our list.
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
150
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
151 @param index index to insert at
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
152 @type int
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
153 @param viewer reference to the viewer object
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
154 @type HelpViewerImpl
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
155 @param background flag indicating to not change the current page
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
156 (defaults to False)
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
157 @type bool (optional)
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
158 """
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
159 currentRow = self.__openPagesList.currentRow()
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8691
diff changeset
160 self.__openPagesList.insertItem(index, viewer.pageTitle())
8683
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
161 viewer.titleChanged.connect(
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
162 lambda: self.__viewerTitleChanged(viewer))
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
163
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
164 if not background:
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
165 self.__openPagesList.setCurrentRow(index)
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
166 else:
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
167 self.__openPagesList.setCurrentRow(currentRow)
8680
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
168
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
169 def __viewerTitleChanged(self, viewer):
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
170 """
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
171 Private method to handle the change of a viewer title.
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
172
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
173 @param viewer reference to the viewer that change title
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
174 @type HelpViewerImpl
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
175 """
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
176 index = self.__stack.indexOf(viewer)
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
177 itm = self.__openPagesList.item(index)
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8691
diff changeset
178 itm.setText(viewer.pageTitle())
8680
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
179 self.currentChanged.emit(index)
8683
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
180
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
181 #######################################################################
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
182 ## Context menu action methods
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
183 #######################################################################
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
184
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
185 @pyqtSlot()
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
186 def __contextMenuClose(self):
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
187 """
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8691
diff changeset
188 Private slot to close a page via the context menu.
8683
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
189 """
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8691
diff changeset
190 self.closeCurrentPage()
8683
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
191
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
192 @pyqtSlot()
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
193 def __contextMenuCloseOthers(self):
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
194 """
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8691
diff changeset
195 Private slot to close all other pages via the context menu.
8683
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
196 """
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8691
diff changeset
197 self.closeOtherPages()
8683
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
198
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
199 @pyqtSlot()
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
200 def __contextMenuCloseAll(self):
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
201 """
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8691
diff changeset
202 Private slot to close all pages via the context menu.
8683
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
203 """
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8691
diff changeset
204 self.closeAllPages()
8683
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
205
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
206 @pyqtSlot()
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
207 def __contextMenuCopyUrlToClipboard(self):
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
208 """
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
209 Private slot to copy the URL to the clipboard.
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
210 """
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
211 row = self.__openPagesList.currentRow()
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
212 viewer = self.__stack.widget(row)
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8691
diff changeset
213 url = viewer.link()
8683
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
214 if url.isValid():
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
215 urlStr = url.toString()
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
216
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
217 # copy the URL to both clipboard areas
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
218 QGuiApplication.clipboard().setText(
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
219 urlStr, QClipboard.Mode.Clipboard)
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
220 QGuiApplication.clipboard().setText(
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
221 urlStr, QClipboard.Mode.Selection)
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
222
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
223 def __removeViewer(self, row):
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
224 """
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
225 Private method to remove a viewer page.
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
226
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
227 @param row row associated with the viewer
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
228 @type int
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
229 """
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
230 viewer = self.__stack.widget(row)
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
231 self.__stack.removeWidget(viewer)
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
232 viewer.deleteLater()
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
233
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
234 itm = self.__openPagesList.takeItem(row)
e8a907801549 Continued implementing the embedded help viewer widget. Added the QtHelp Table of Contents widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8680
diff changeset
235 del itm
8696
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8691
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: 8691
diff changeset
237 #######################################################################
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8691
diff changeset
238 ## Slots for external access below
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8691
diff changeset
239 #######################################################################
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8691
diff changeset
240
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8691
diff changeset
241 @pyqtSlot()
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8691
diff changeset
242 def closeCurrentPage(self):
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8691
diff changeset
243 """
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8691
diff changeset
244 Public slot 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: 8691
diff changeset
245 """
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8691
diff changeset
246 row = self.__openPagesList.currentRow()
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8691
diff changeset
247 self.__removeViewer(row)
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8691
diff changeset
248
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8691
diff changeset
249 if self.__openPagesList.count() == 0:
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8691
diff changeset
250 self.__helpViewer.addPage()
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8691
diff changeset
251
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8691
diff changeset
252 @pyqtSlot()
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8691
diff changeset
253 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: 8691
diff changeset
254 """
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8691
diff changeset
255 Public slot 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: 8691
diff changeset
256 """
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8691
diff changeset
257 currentRow = self.__openPagesList.currentRow()
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8691
diff changeset
258 for row in range(self.__openPagesList.count() - 1, -1, -1):
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8691
diff changeset
259 if row != currentRow:
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8691
diff changeset
260 self.__removeViewer(row)
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8691
diff changeset
261
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8691
diff changeset
262 @pyqtSlot()
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8691
diff changeset
263 def closeAllPages(self):
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8691
diff changeset
264 """
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8691
diff changeset
265 Public slot to close all pages.
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8691
diff changeset
266 """
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8691
diff changeset
267 while self.__openPagesList.count() != 0:
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8691
diff changeset
268 self.__removeViewer(0)
7e88f292b1b1 Continued implementing the embedded help viewer widget. Added context menus to the help viewer variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8691
diff changeset
269 self.__helpViewer.addPage()

eric ide

mercurial