eric7/HelpViewer/HelpViewerWidget.py

branch
eric7
changeset 8741
54546929c371
parent 8705
327e596607f8
child 8751
4a6c2ccd880f
equal deleted inserted replaced
8740:d60ae328c740 8741:54546929c371
13 from PyQt6.QtGui import QAction, QFont, QFontMetrics 13 from PyQt6.QtGui import QAction, QFont, QFontMetrics
14 from PyQt6.QtHelp import QHelpEngine 14 from PyQt6.QtHelp import QHelpEngine
15 from PyQt6.QtWidgets import ( 15 from PyQt6.QtWidgets import (
16 QWidget, QHBoxLayout, QVBoxLayout, QComboBox, QSizePolicy, QStackedWidget, 16 QWidget, QHBoxLayout, QVBoxLayout, QComboBox, QSizePolicy, QStackedWidget,
17 QToolButton, QButtonGroup, QAbstractButton, QMenu, QFrame, QLabel, 17 QToolButton, QButtonGroup, QAbstractButton, QMenu, QFrame, QLabel,
18 QProgressBar 18 QProgressBar, QSplitter
19 ) 19 )
20 try: 20 try:
21 from PyQt6.QtWebEngineCore import QWebEngineProfile, QWebEngineSettings 21 from PyQt6.QtWebEngineCore import QWebEngineProfile, QWebEngineSettings
22 WEBENGINE_AVAILABLE = True 22 WEBENGINE_AVAILABLE = True
23 except ImportError: 23 except ImportError:
62 self.__layout = QVBoxLayout() 62 self.__layout = QVBoxLayout()
63 self.__layout.setObjectName("MainLayout") 63 self.__layout.setObjectName("MainLayout")
64 self.__layout.setContentsMargins(0, 3, 0, 0) 64 self.__layout.setContentsMargins(0, 3, 0, 0)
65 65
66 ################################################################### 66 ###################################################################
67 ## Help Topic Selector
68 ###################################################################
67 69
68 self.__selectorLayout = QHBoxLayout() 70 self.__selectorLayout = QHBoxLayout()
69 71
70 self.__helpSelector = QComboBox(self) 72 self.__helpSelector = QComboBox(self)
71 self.__helpSelector.setSizePolicy( 73 self.__helpSelector.setSizePolicy(
90 self.__selectorLayout.addWidget(self.__actionsButton) 92 self.__selectorLayout.addWidget(self.__actionsButton)
91 93
92 self.__layout.addLayout(self.__selectorLayout) 94 self.__layout.addLayout(self.__selectorLayout)
93 95
94 ################################################################### 96 ###################################################################
97 ## Navigation Buttons
98 ###################################################################
95 99
96 self.__navButtonsLayout = QHBoxLayout() 100 self.__navButtonsLayout = QHBoxLayout()
97 101
98 self.__navButtonsLayout.addStretch() 102 self.__navButtonsLayout.addStretch()
99 103
193 self.__navigationMenuActionTriggered) 197 self.__navigationMenuActionTriggered)
194 self.__forwardButton.setMenu(self.__forwardMenu) 198 self.__forwardButton.setMenu(self.__forwardMenu)
195 self.__forwardMenu.aboutToShow.connect(self.__showForwardMenu) 199 self.__forwardMenu.aboutToShow.connect(self.__showForwardMenu)
196 200
197 ################################################################### 201 ###################################################################
202 ## Center widget with help pages, search widget and navigation
203 ## widgets
204 ###################################################################
205
206 self.__centerSplitter = QSplitter(Qt.Orientation.Vertical, self)
207 self.__centerSplitter.setChildrenCollapsible(False)
208 self.__layout.addWidget(self.__centerSplitter)
209
210 self.__helpCenterWidget = QWidget(self)
211 self.__helpCenterLayout = QVBoxLayout()
212 self.__helpCenterLayout.setContentsMargins(0, 0, 0, 0)
213 self.__helpCenterWidget.setLayout(self.__helpCenterLayout)
214
215 ###################################################################
198 216
199 self.__helpStack = QStackedWidget(self) 217 self.__helpStack = QStackedWidget(self)
200 self.__helpStack.setSizePolicy( 218 self.__helpStack.setSizePolicy(
201 QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding) 219 QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding)
202 self.__layout.addWidget(self.__helpStack) 220 self.__helpCenterLayout.addWidget(self.__helpStack)
203 221
204 ################################################################### 222 ###################################################################
205 223
206 self.__searchWidget = EricTextEditSearchWidget( 224 self.__searchWidget = EricTextEditSearchWidget(
207 self, widthForHeight=False, enableClose=True) 225 self, widthForHeight=False, enableClose=True)
208 self.__layout.addWidget(self.__searchWidget) 226 self.__helpCenterLayout.addWidget(self.__searchWidget)
209 self.__searchWidget.closePressed.connect(self.__searchWidgetClosed) 227 self.__searchWidget.closePressed.connect(self.__searchWidgetClosed)
210 self.__searchWidget.hide() 228 self.__searchWidget.hide()
229
230 self.__centerSplitter.addWidget(self.__helpCenterWidget)
211 231
212 ################################################################### 232 ###################################################################
213 233
214 self.__helpNavigationStack = QStackedWidget(self) 234 self.__helpNavigationStack = QStackedWidget(self)
215 self.__helpNavigationStack.setSizePolicy( 235 self.__helpNavigationStack.setSizePolicy(
216 QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Preferred) 236 QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Preferred)
217 self.__helpNavigationStack.setMaximumHeight(200) 237 self.__helpNavigationStack.setMinimumHeight(100)
218 self.__layout.addWidget(self.__helpNavigationStack) 238 self.__centerSplitter.addWidget(self.__helpNavigationStack)
219 self.__populateNavigationStack() 239 self.__populateNavigationStack()
220 240
241 ###################################################################
242 ## Bottom buttons
221 ################################################################### 243 ###################################################################
222 244
223 self.__buttonLayout = QHBoxLayout() 245 self.__buttonLayout = QHBoxLayout()
224 246
225 self.__buttonGroup = QButtonGroup(self) 247 self.__buttonGroup = QButtonGroup(self)
264 self.__initQWebEngine() 286 self.__initQWebEngine()
265 self.__ui.preferencesChanged.connect(self.__initQWebEngineSettings) 287 self.__ui.preferencesChanged.connect(self.__initQWebEngineSettings)
266 288
267 self.addPage() 289 self.addPage()
268 self.__checkActionButtons() 290 self.__checkActionButtons()
291
292 self.__centerSplitter.setSizes([900, 150])
269 293
270 QTimer.singleShot(50, self.__lookForNewDocumentation) 294 QTimer.singleShot(50, self.__lookForNewDocumentation)
271 295
272 def __addNavigationButton(self, iconName, toolTip): 296 def __addNavigationButton(self, iconName, toolTip):
273 """ 297 """

eric ide

mercurial