eric7/WebBrowser/WebBrowserWindow.py

branch
eric7
changeset 8421
cd4eee7f1d28
parent 8358
144a6b854f70
child 8422
bb5da74c1b3f
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):
         """

eric ide

mercurial