eric7/HelpViewer/HelpViewerWidget.py

branch
eric7
changeset 8900
9c153ce17d74
parent 8895
d66181594630
child 8902
ba9b8c6e4928
--- 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
     #######################################################################

eric ide

mercurial