eric7/HelpViewer/OpenPagesWidget.py

Sun, 02 Jan 2022 18:36:21 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 02 Jan 2022 18:36:21 +0100
branch
eric7
changeset 8895
d66181594630
parent 8881
54e42bc2437a
child 8898
cf11386c25ec
permissions
-rw-r--r--

Redefined the inheritance of OpenPagesWidget.

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
8881
54e42bc2437a Updated copyright for 2022.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8741
diff changeset
3 # Copyright (c) 2021 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
8679
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing 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
8895
d66181594630 Redefined the inheritance of OpenPagesWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
12 from PyQt6.QtWidgets import QListWidget, QVBoxLayout, QAbstractItemView, QMenu
8679
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13
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
14 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
15
8679
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16
8895
d66181594630 Redefined the inheritance of OpenPagesWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
17 class OpenPagesWidget(QListWidget):
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 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
20
8895
d66181594630 Redefined the inheritance of OpenPagesWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
21 @signal currentPageChanged(index) emitted to signal a change of the current
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 page index
8679
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 """
8895
d66181594630 Redefined the inheritance of OpenPagesWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
24 currentPageChanged = pyqtSignal(int)
8680
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
25
8679
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 def __init__(self, stack, parent=None):
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 """
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 Constructor
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 @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
31 help pages
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 @type QStackedWidget
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 @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
34 @type QWidget (optional)
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 """
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 super().__init__(parent)
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 self.setObjectName("OpenPagesWidget")
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38
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
39 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
40
8679
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 self.__layout = QVBoxLayout()
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 self.__layout.setContentsMargins(0, 0, 0, 0)
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43
8895
d66181594630 Redefined the inheritance of OpenPagesWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
44 self.setAlternatingRowColors(True)
d66181594630 Redefined the inheritance of OpenPagesWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
45 self.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
46 QAbstractItemView.SelectionMode.SingleSelection)
8895
d66181594630 Redefined the inheritance of OpenPagesWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
47 self.setContextMenuPolicy(
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
48 Qt.ContextMenuPolicy.CustomContextMenu)
8895
d66181594630 Redefined the inheritance of OpenPagesWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
49 self.currentRowChanged.connect(
8679
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 self.__currentRowChanged)
8895
d66181594630 Redefined the inheritance of OpenPagesWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
51 self.customContextMenuRequested.connect(
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
52 self.__showContextMenu)
8679
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 self.setLayout(self.__layout)
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 self.__stack = stack
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 self.__stack.currentChanged.connect(self.__currentPageChanged)
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58
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
59 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
60
8895
d66181594630 Redefined the inheritance of OpenPagesWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
61 self.__defaultFont = self.font()
d66181594630 Redefined the inheritance of OpenPagesWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
62 self.__boldFont = self.font()
8679
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 self.__boldFont.setBold(True)
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64
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
65 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
66 """
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
67 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
68 """
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 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
70 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
71 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
72 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
73 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
74 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
75 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
76 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
77 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 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
79 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
80 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
81 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
82 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
83
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 @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
85 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
86 """
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 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
88 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
89
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 @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
91 @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
92 """
8895
d66181594630 Redefined the inheritance of OpenPagesWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
93 itm = self.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
94 self.__copyUrlAct.setEnabled(bool(itm) and itm.text() != "about:blank")
8895
d66181594630 Redefined the inheritance of OpenPagesWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
95 self.closeOthersMenuAct.setEnabled(self.count() > 1)
d66181594630 Redefined the inheritance of OpenPagesWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
96 self.__menu.popup(self.mapToGlobal(point))
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
97
8679
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
98 @pyqtSlot(int)
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
99 def __currentPageChanged(self, index):
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
100 """
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
101 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
102
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
103 @param index index of the current page
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
104 @type int
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
105 """
8895
d66181594630 Redefined the inheritance of OpenPagesWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
106 for row in range(self.count()):
d66181594630 Redefined the inheritance of OpenPagesWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
107 itm = self.item(row)
8679
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
108 itm.setFont(
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
109 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
110 )
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
111
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
112 @pyqtSlot(int)
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
113 def __currentRowChanged(self, row):
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 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
116
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
117 @param row current row
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
118 @type int
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
119 """
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
120 self.__stack.setCurrentIndex(row)
8895
d66181594630 Redefined the inheritance of OpenPagesWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
121 self.currentPageChanged.emit(row)
8679
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
122
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
123 def addPage(self, viewer, background=False):
8679
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
124 """
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
125 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
126
8680
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
127 @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
128 @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
129 @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
130 (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
131 @type bool (optional)
8679
fd172973428e Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
132 """
8895
d66181594630 Redefined the inheritance of OpenPagesWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
133 self.addItem(viewer.pageTitle())
8680
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
134 viewer.titleChanged.connect(
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
135 lambda: self.__viewerTitleChanged(viewer))
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
136
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
137 if not background:
8895
d66181594630 Redefined the inheritance of OpenPagesWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
138 self.setCurrentRow(
d66181594630 Redefined the inheritance of OpenPagesWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
139 self.count() - 1)
d66181594630 Redefined the inheritance of OpenPagesWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
140 if self.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
141 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
142
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 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
144 """
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 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
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 @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
148 @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
149 @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
150 @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
151 @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
152 (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
153 @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
154 """
8895
d66181594630 Redefined the inheritance of OpenPagesWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
155 currentRow = self.currentRow()
d66181594630 Redefined the inheritance of OpenPagesWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
156 self.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
157 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
158 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
159
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
160 if not background:
8895
d66181594630 Redefined the inheritance of OpenPagesWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
161 self.setCurrentRow(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
162 else:
8895
d66181594630 Redefined the inheritance of OpenPagesWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
163 self.setCurrentRow(currentRow)
8680
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
164
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
165 def __viewerTitleChanged(self, viewer):
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
166 """
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
167 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
168
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
169 @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
170 @type HelpViewerImpl
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
171 """
85503ff2fce9 Continued implementing the embedded help viewer widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8679
diff changeset
172 index = self.__stack.indexOf(viewer)
8895
d66181594630 Redefined the inheritance of OpenPagesWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
173 itm = self.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
174 itm.setText(viewer.pageTitle())
8895
d66181594630 Redefined the inheritance of OpenPagesWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
175 self.currentPageChanged.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
176
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
177 #######################################################################
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
178 ## 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
179 #######################################################################
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 @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
182 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
183 """
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
184 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
185 """
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
186 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
187
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
188 @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
189 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
190 """
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
191 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
192 """
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
193 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
194
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
195 @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
196 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
197 """
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
198 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
199 """
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
200 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
201
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
202 @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
203 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
204 """
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 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
206 """
8895
d66181594630 Redefined the inheritance of OpenPagesWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
207 row = self.currentRow()
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
208 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
209 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
210 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
211 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
212
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
213 # 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
214 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
215 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
216 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
217 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
218
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 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
220 """
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 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
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 @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
224 @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
225 """
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 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
227 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
228 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
229
8895
d66181594630 Redefined the inheritance of OpenPagesWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
230 itm = self.takeItem(row)
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
231 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
232
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
233 #######################################################################
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
234 ## 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
235 #######################################################################
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 @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
238 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
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 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
241 """
8895
d66181594630 Redefined the inheritance of OpenPagesWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
242 row = self.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
243 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
244
8895
d66181594630 Redefined the inheritance of OpenPagesWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
245 if self.count() == 0:
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
246 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
247
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 @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
249 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
250 """
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 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
252 """
8895
d66181594630 Redefined the inheritance of OpenPagesWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
253 currentRow = self.currentRow()
d66181594630 Redefined the inheritance of OpenPagesWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
254 for row in range(self.count() - 1, -1, -1):
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
255 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
256 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
257
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 @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
259 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
260 """
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 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
262 """
8895
d66181594630 Redefined the inheritance of OpenPagesWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
263 while self.count() != 0:
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
264 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
265 self.__helpViewer.addPage()

eric ide

mercurial