diff -r ff89f8bac0a5 -r cd4eee7f1d28 eric7/WebBrowser/WebBrowserWindow.py --- a/eric7/WebBrowser/WebBrowserWindow.py Thu Jun 10 17:10:57 2021 +0200 +++ b/eric7/WebBrowser/WebBrowserWindow.py Thu Jun 10 19:32:22 2021 +0200 @@ -197,6 +197,7 @@ self.__helpEngine = QHelpEngine( WebBrowserWindow.getQtHelpCollectionFileName(), self) + self.__helpEngine.setUsesFilterEngine(True) self.__removeOldDocumentation() self.__helpEngine.warning.connect(self.__warning) else: @@ -2310,7 +2311,7 @@ filtertb.addWidget(QLabel(self.tr("Filtered by: "))) filtertb.addWidget(self.filterCombo) self.__helpEngine.setupFinished.connect(self.__setupFilterCombo) - self.filterCombo.activated[int].connect( + self.filterCombo.currentTextChanged.connect( self.__filterQtHelpDocumentation) self.__setupFilterCombo() self.__toolbars["filter"] = (filtertb.windowTitle(), filtertb) @@ -3436,26 +3437,23 @@ Private slot to setup the filter combo box. """ if WebBrowserWindow._useQtHelp: - curFilter = self.filterCombo.currentText() - if not curFilter: - curFilter = self.__helpEngine.currentFilter() + activeFilter = self.filterCombo.currentText() + if not activeFilter: + activeFilter = self.__helpEngine.filterEngine().activeFilter() self.filterCombo.clear() - self.filterCombo.addItems(self.__helpEngine.customFilters()) - idx = self.filterCombo.findText(curFilter) - if idx < 0: - idx = 0 - self.filterCombo.setCurrentIndex(idx) - - def __filterQtHelpDocumentation(self, index): + self.filterCombo.addItems(sorted( + self.__helpEngine.filterEngine().filters())) + self.filterCombo.setCurrentText(activeFilter) + + def __filterQtHelpDocumentation(self, activeFilter): """ Private slot to filter the QtHelp documentation. - @param index index of the selected entry - @type int - """ - customFilter = self.filterCombo.itemText(index) + @param activeFilter current text of the filter combobox + @type str + """ if self.__helpEngine: - self.__helpEngine.setCurrentFilter(customFilter) + self.__helpEngine.filterEngine().setActiveFilter(activeFilter) def __manageQtHelpDocumentation(self): """