Helpviewer/Bookmarks/BookmarksToolBar.py

changeset 1170
a3731e520b28
parent 1112
8a7d1b9d18db
child 1509
c0b5e693b0eb
--- a/Helpviewer/Bookmarks/BookmarksToolBar.py	Sun Jul 10 16:31:33 2011 +0200
+++ b/Helpviewer/Bookmarks/BookmarksToolBar.py	Sun Jul 10 19:01:08 2011 +0200
@@ -9,6 +9,7 @@
 
 from PyQt4.QtCore import pyqtSignal, Qt, QUrl
 from PyQt4.QtGui import QMenu, QApplication, QCursor
+from PyQt4.QtWebKit import QWebPage
 
 from E5Gui.E5ModelToolBar import E5ModelToolBar
 
@@ -29,16 +30,18 @@
     openUrl = pyqtSignal(QUrl, str)
     newUrl = pyqtSignal(QUrl, str)
     
-    def __init__(self, model, parent=None):
+    def __init__(self, mainWindow, model, parent=None):
         """
         Constructor
         
+        @param mainWindow reference to the main window (HelpWindow)
         @param model reference to the bookmarks model (BookmarksModel)
         @param parent reference to the parent widget (QWidget)
         """
         E5ModelToolBar.__init__(self,
             QApplication.translate("BookmarksToolBar", "Bookmarks"), parent)
         
+        self.__mw = mainWindow
         self.__bookmarksModel = model
         
         self.setModel(model)
@@ -94,14 +97,19 @@
         """
         assert idx.isValid()
         
-        if self._keyboardModifiers & Qt.ControlModifier:
-            self.newUrl.emit(
-                idx.data(BookmarksModel.UrlRole),
-                idx.data(Qt.DisplayRole))
-        else:
-            self.openUrl.emit(
-                idx.data(BookmarksModel.UrlRole),
-                idx.data(Qt.DisplayRole))
+        if self._mouseButton == Qt.XButton1:
+            self.__mw.currentBrowser().pageAction(QWebPage.Back).trigger()
+        elif self._mouseButton == Qt.XButton2:
+            self.__mw.currentBrowser().pageAction(QWebPage.Forward).trigger()
+        elif self._mouseButton == Qt.LeftButton:
+            if self._keyboardModifiers & Qt.ControlModifier:
+                self.newUrl.emit(
+                    idx.data(BookmarksModel.UrlRole),
+                    idx.data(Qt.DisplayRole))
+            else:
+                self.openUrl.emit(
+                    idx.data(BookmarksModel.UrlRole),
+                    idx.data(Qt.DisplayRole))
     
     def __openToolBarBookmark(self):
         """

eric ide

mercurial