eric7/HelpViewer/HelpViewerWidget.py

branch
eric7
changeset 8686
af2ee3a303ac
parent 8685
b0669ce1066d
child 8693
d51660d6f1b9
diff -r b0669ce1066d -r af2ee3a303ac eric7/HelpViewer/HelpViewerWidget.py
--- 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)

eric ide

mercurial