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