Helpviewer/HelpWebSearchWidget.py

changeset 1170
a3731e520b28
parent 1131
7781e396c903
child 1509
c0b5e693b0eb
diff -r 36a3bb21e6e6 -r a3731e520b28 Helpviewer/HelpWebSearchWidget.py
--- a/Helpviewer/HelpWebSearchWidget.py	Sun Jul 10 16:31:33 2011 +0200
+++ b/Helpviewer/HelpWebSearchWidget.py	Sun Jul 10 19:01:08 2011 +0200
@@ -7,10 +7,10 @@
 Module implementing a web search widget for the web browser.
 """
 
-from PyQt4.QtCore import pyqtSignal, QUrl, QModelIndex, QTimer
+from PyQt4.QtCore import pyqtSignal, QUrl, QModelIndex, QTimer, Qt
 from PyQt4.QtGui import QWidget, QMenu, QHBoxLayout, QStandardItem, QStandardItemModel, \
     QCompleter, QFont, QIcon, QPixmap
-from PyQt4.QtWebKit import QWebSettings
+from PyQt4.QtWebKit import QWebSettings, QWebPage
 
 import UI.PixmapCache
 
@@ -23,6 +23,35 @@
 from .OpenSearch.OpenSearchEngineAction import OpenSearchEngineAction
 
 
+class HelpWebSearchEdit(E5LineEdit):
+    """
+    Class implementing the web search line edit.
+    """
+    def __init__(self, mainWindow, parent=None):
+        """
+        Constructor
+        
+        @param mainWindow reference to the main window (HelpWindow)
+        @param parent reference to the parent widget (QWidget)
+        """
+        super().__init__(parent)
+        
+        self.__mw = mainWindow
+    
+    def mousePressEvent(self, evt):
+        """
+        Protected method called by a mouse press event.
+        
+        @param evt reference to the mouse event (QMouseEvent)
+        """
+        if evt.button() == Qt.XButton1:
+            self.__mw.currentBrowser().pageAction(QWebPage.Back).trigger()
+        elif evt.button() == Qt.XButton2:
+            self.__mw.currentBrowser().pageAction(QWebPage.Forward).trigger()
+        else:
+            super().mousePressEvent(evt)
+
+
 class HelpWebSearchWidget(QWidget):
     """
     Class implementing a web search widget for the web browser.
@@ -35,7 +64,6 @@
         """
         Constructor
         
-        @param inactiveText text to be shown on inactivity (string)
         @param parent reference to the parent widget (QWidget)
         """
         super().__init__(parent)
@@ -53,7 +81,7 @@
         
         self.__enginesMenu = QMenu(self)
         
-        self.__searchEdit = E5LineEdit(parent=self)
+        self.__searchEdit = HelpWebSearchEdit(self.mw, parent=self)
         self.__layout.addWidget(self.__searchEdit)
         
         self.__engineButton = E5LineEditButton(self)
@@ -391,3 +419,16 @@
         """
         self.__engineButton.setIcon(
             QIcon(QPixmap.fromImage(self.__openSearchManager.currentEngine().image())))
+    
+    def mousePressEvent(self, evt):
+        """
+        Protected method called by a mouse press event.
+        
+        @param evt reference to the mouse event (QMouseEvent)
+        """
+        if evt.button() == Qt.XButton1:
+            self.mw.currentBrowser().pageAction(QWebPage.Back).trigger()
+        elif evt.button() == Qt.XButton2:
+            self.mw.currentBrowser().pageAction(QWebPage.Forward).trigger()
+        else:
+            super().mousePressEvent(evt)

eric ide

mercurial