--- a/eric7/HelpViewer/HelpViewerWidget.py Thu Oct 14 20:15:58 2021 +0200 +++ b/eric7/HelpViewer/HelpViewerWidget.py Fri Oct 15 17:46:03 2021 +0200 @@ -206,8 +206,6 @@ self.__openPagesButton.setChecked(True) - self.__initHelpEngine() - self.__ui.preferencesChanged.connect(self.__populateHelpSelector) self.__initActionsMenu() @@ -482,9 +480,11 @@ self) self.__helpEngine.setReadOnly(False) self.__helpEngine.setUsesFilterEngine(True) + + self.__helpEngine.warning.connect(self.__warning) + self.__helpEngine.setupData() self.__removeOldDocumentation() - self.__helpEngine.warning.connect(self.__warning) def __getQtHelpCollectionFileName(cls): """ @@ -561,6 +561,26 @@ self.__ui.statusBar().clearMessage() self.__helpEngine.setupData() + ####################################################################### + ## Actions Menu related methods + ####################################################################### + + def __initActionsMenu(self): + """ + Private method to initialize the actions menu. + """ + self.__actionsMenu = QMenu() + self.__actionsMenu.setToolTipsVisible(True) + + self.__actionsMenu.addAction( + self.tr("Manage QtHelp Documents"), + self.__manageQtHelpDocuments) + self.__actionsMenu.addAction( + self.tr("Reindex Documentation"), + self.__helpSearchEngine.reindexDocumentation) + + self.__actionsButton.setMenu(self.__actionsMenu) + @pyqtSlot() def __manageQtHelpDocuments(self): """ @@ -573,31 +593,6 @@ self.__helpEngine, self) dlg.exec() - @pyqtSlot() - def __reindexDocumentation(self): - """ - Private slot - """ - - ####################################################################### - ## Actions Menu related methods - ####################################################################### - - def __initActionsMenu(self): - """ - Private method to initialize the actions menu. - """ - self.__actionsMenu = QMenu() - self.__actionsMenu.setToolTipsVisible(True) - - self.__actionsMenu.addAction(self.tr("Manage QtHelp Documents"), - self.__manageQtHelpDocuments) - act = self.__actionsMenu.addAction(self.tr("Reindex Documentation"), - self.__reindexDocumentation) - act.triggered.connect(self.__helpSearchEngine.reindexDocumentation) - - self.__actionsButton.setMenu(self.__actionsMenu) - ####################################################################### ## Navigation related methods below ####################################################################### @@ -825,9 +820,12 @@ self.__helpFilterCombo.setMinimumWidth(comboWidth) layout.addWidget(self.__helpFilterCombo) - self.__helpEngine.setupFinished.connect(self.__setupFilterCombo) + self.__helpEngine.setupFinished.connect( + self.__setupFilterCombo, Qt.ConnectionType.QueuedConnection) self.__helpFilterCombo.currentIndexChanged.connect( self.__filterQtHelpDocumentation) + self.__helpEngine.filterEngine().filterActivated.connect( + self.__currentFilterChanged) self.__setupFilterCombo() @@ -867,3 +865,16 @@ if self.__helpEngine: helpFilter = self.__helpFilterCombo.itemData(index) self.__helpEngine.filterEngine().setActiveFilter(helpFilter) + + @pyqtSlot(str) + def __currentFilterChanged(self, filter): + """ + Private slot handling a change of the active QtHelp filter. + + @param filter filter name + @type str + """ + index = self.__helpFilterCombo.findData(filter) + if index < 0: + index = 0 + self.__helpFilterCombo.setCurrentIndex(index)