eric7/HelpViewer/HelpViewerWidget.py

branch
eric7-maintenance
changeset 8941
e1f6a9e53979
parent 8902
ba9b8c6e4928
child 9172
4bac907a4c74
diff -r a906ba97c1fe -r e1f6a9e53979 eric7/HelpViewer/HelpViewerWidget.py
--- a/eric7/HelpViewer/HelpViewerWidget.py	Tue Jan 04 15:38:11 2022 +0100
+++ b/eric7/HelpViewer/HelpViewerWidget.py	Tue Feb 08 14:15:48 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,8 @@
             "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.__buttonLayout.addStretch()
         
@@ -320,7 +321,8 @@
         """
         # Open Pages
         self.__openPagesList = OpenPagesWidget(self.__helpStack, self)
-        self.__openPagesList.currentChanged.connect(self.__currentPageChanged)
+        self.__openPagesList.currentPageChanged.connect(
+            self.__currentPageChanged)
         self.__helpNavigationStack.addWidget(self.__openPagesList)
         
         # QtHelp TOC widget
@@ -362,6 +364,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 +394,9 @@
         elif button == self.__helpSearchButton:
             self.__helpNavigationStack.setCurrentWidget(
                 self.__helpSearchWidget)
+        elif button == self.__bookmarksButton:
+            self.__helpNavigationStack.setCurrentWidget(
+                self.__bookmarksList)
     
     def __populateHelpSelector(self):
         """
@@ -595,6 +609,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