eric7/UI/UserInterface.py

branch
eric7
changeset 8705
327e596607f8
parent 8697
936662560d04
child 8714
85deb98a0a6c
diff -r e4042abf2a5b -r 327e596607f8 eric7/UI/UserInterface.py
--- a/eric7/UI/UserInterface.py	Wed Oct 20 19:45:22 2021 +0200
+++ b/eric7/UI/UserInterface.py	Wed Oct 20 19:47:18 2021 +0200
@@ -5899,9 +5899,10 @@
         if home.endswith(".chm"):
             self.__chmViewer(home)
         else:
-            # TODO: add logic for internal help viewer (= 0)
-            hvType = Preferences.getWebBrowser("HelpViewerType")
-            if hvType == 1:
+            hvType = Preferences.getHelp("HelpViewerType")
+            if hvType == 0:
+                self.__activateHelpViewerWidget(urlStr=home)
+            elif hvType == 1:
                 self.launchHelpViewer(home)
             elif hvType == 2:
                 if home.startswith("qthelp://"):
@@ -5954,9 +5955,10 @@
             else:
                 home = "file://" + home
         
-        # TODO: add logic for internal help viewer (= 0)
-        hvType = Preferences.getWebBrowser("HelpViewerType")
-        if hvType == 1:
+        hvType = Preferences.getHelp("HelpViewerType")
+        if hvType == 0:
+            self.__activateHelpViewerWidget(urlStr=home)
+        elif hvType == 1:
             self.launchHelpViewer(home)
         elif hvType == 2:
             if home.startswith("qthelp://"):
@@ -6023,9 +6025,10 @@
         else:
             home = pyqtDocDir
         
-        # TODO: add logic for internal help viewer (= 0)
-        hvType = Preferences.getWebBrowser("HelpViewerType")
-        if hvType == 1:
+        hvType = Preferences.getHelp("HelpViewerType")
+        if hvType == 0:
+            self.__activateHelpViewerWidget(urlStr=home)
+        elif hvType == 1:
             self.launchHelpViewer(home)
         elif hvType == 2:
             if home.startswith("qthelp://"):
@@ -6061,9 +6064,10 @@
             else:
                 home = "file://" + home
         
-        # TODO: add logic for internal help viewer (= 0)
-        hvType = Preferences.getWebBrowser("HelpViewerType")
-        if hvType == 1:
+        hvType = Preferences.getHelp("HelpViewerType")
+        if hvType == 0:
+            self.__activateHelpViewerWidget(urlStr=home)
+        elif hvType == 1:
             self.launchHelpViewer(home)
         elif hvType == 2:
             if home.startswith("qthelp://"):
@@ -6120,9 +6124,10 @@
         else:
             home = pysideDocDir
         
-        # TODO: add logic for internal help viewer (= 0)
-        hvType = Preferences.getWebBrowser("HelpViewerType")
-        if hvType == 1:
+        hvType = Preferences.getHelp("HelpViewerType")
+        if hvType == 0:
+            self.__activateHelpViewerWidget(urlStr=home)
+        elif hvType == 1:
             self.launchHelpViewer(home)
         elif hvType == 2:
             if home.startswith("qthelp://"):
@@ -7036,9 +7041,12 @@
         self.__vcsStatusWidget.setFocus(
             Qt.FocusReason.ActiveWindowFocusReason)
     
-    def __activateHelpViewerWidget(self):
+    def __activateHelpViewerWidget(self, urlStr=None):
         """
         Private method to activate the embedded Help Viewer window.
+        
+        @param urlStr URL to be shown
+        @type str
         """
         if self.__layoutType == "Toolboxes":
             self.rToolboxDock.show()
@@ -7048,11 +7056,21 @@
             self.rightSidebar.setCurrentWidget(self.__helpViewerWidget)
         self.__helpViewerWidget.setFocus(
             Qt.FocusReason.ActiveWindowFocusReason)
-            
-        searchWord = self.viewmanager.textForFind(False)
-        if searchWord == "":
-            searchWord = None
-        self.__helpViewerWidget.activate(searchWord=searchWord)
+        
+        url = None
+        searchWord = None
+        
+        if urlStr:
+            url = QUrl(urlStr)
+            if not url.isValid():
+                url = None
+        
+        if url is None:
+            searchWord = self.viewmanager.textForFind(False)
+            if searchWord == "":
+                searchWord = None
+        
+        self.__helpViewerWidget.activate(searchWord=searchWord, url=url)
     
     ##########################################################
     ## Below are slots to handle StdOut and StdErr

eric ide

mercurial