--- a/eric7/HelpViewer/HelpViewerWidget.py Tue Jan 04 15:52:14 2022 +0100 +++ b/eric7/HelpViewer/HelpViewerWidget.py Tue Jan 04 17:13:35 2022 +0100 @@ -33,13 +33,13 @@ import Preferences from .OpenPagesWidget import OpenPagesWidget +from .HelpBookmarksWidget import HelpBookmarksWidget from WebBrowser.QtHelp.HelpTocWidget import HelpTocWidget from WebBrowser.QtHelp.HelpIndexWidget import HelpIndexWidget from WebBrowser.QtHelp.HelpSearchWidget import HelpSearchWidget -# TODO: add support for bookmarks class HelpViewerWidget(QWidget): """ Class implementing an embedded viewer for QtHelp and local HTML files. @@ -260,7 +260,9 @@ "helpIndex", self.tr("Show the help document index")) self.__helpSearchButton = self.__addNavigationButton( "documentFind", self.tr("Show the help search window")) - self.__openPagesButton.setChecked(True) + self.__bookmarksButton = self.__addNavigationButton( + "bookmark22", self.tr("Show list of bookmarks")) +# self.__openPagesButton.setChecked(True) self.__buttonLayout.addStretch() @@ -320,7 +322,8 @@ """ # Open Pages self.__openPagesList = OpenPagesWidget(self.__helpStack, self) - self.__openPagesList.currentPageChanged.connect(self.__currentPageChanged) + self.__openPagesList.currentPageChanged.connect( + self.__currentPageChanged) self.__helpNavigationStack.addWidget(self.__openPagesList) # QtHelp TOC widget @@ -362,6 +365,15 @@ self.__helpSearchWidget.newBackgroundTab.connect( self.openUrlNewBackgroundPage) self.__helpNavigationStack.addWidget(self.__helpSearchWidget) + + # Bookmarks widget + self.__bookmarksList = HelpBookmarksWidget(self) + self.__bookmarksList.escapePressed.connect(self.__activateCurrentPage) + self.__bookmarksList.openUrl.connect(self.openUrl) + self.__bookmarksList.newTab.connect(self.openUrlNewPage) + self.__bookmarksList.newBackgroundTab.connect( + self.openUrlNewBackgroundPage) + self.__helpNavigationStack.addWidget(self.__bookmarksList) @pyqtSlot(QAbstractButton) def __selectNavigationWidget(self, button): @@ -383,6 +395,9 @@ elif button == self.__helpSearchButton: self.__helpNavigationStack.setCurrentWidget( self.__helpSearchWidget) + elif button == self.__bookmarksButton: + self.__helpNavigationStack.setCurrentWidget( + self.__bookmarksList) def __populateHelpSelector(self): """ @@ -595,6 +610,17 @@ """ return self.__helpStack.currentWidget() + def bookmarkPage(self, title, url): + """ + Public method to bookmark a page with the given data. + + @param title title of the page + @type str + @param url URL of the page + @type QUrl + """ + self.__bookmarksList.addBookmark(title, url) + ####################################################################### ## QtHelp related code below #######################################################################