Index: konq_view.cc =================================================================== RCS file: /home/kde/kdebase/konqueror/konq_view.cc,v retrieving revision 1.281 diff -b -B -w -r1.281 konq_view.cc 85a86,87 > m_sMouseGestures.enabled = true; > 327c329 < if (m_bBackRightClick && m_pPart->widget()->inherits("QScrollView") ) --- > if ((m_bBackRightClick || m_sMouseGestures.enabled) && m_pPart->widget()->inherits("QScrollView") ) 903a906,951 > > if (m_sMouseGestures.enabled) > { > // Recording mouse position > if (e->type() == QEvent::MouseButtonPress) > { > QMouseEvent *me = static_cast(e); > if (me->button() == QMouseEvent::RightButton) > { > m_sMouseGestures.x = me->x(); > m_sMouseGestures.y = me->y(); > return true; > } > } > if (e->type() == QEvent::MouseButtonRelease) > { > QMouseEvent *me = static_cast(e); > if (me->button() == QMouseEvent::RightButton) > { > // The mouse has moved left or right, we need to go back or forward > if (me->x() < m_sMouseGestures.x) > { > m_pMainWindow->slotBack(); > } > else if (me->x() > m_sMouseGestures.x) > { > m_pMainWindow->slotForward(); > } > // The mouse hasn't moved, we need to generate the context menu we filtered out earlier > else > { > obj->removeEventFilter(this); > QContextMenuEvent ce(QContextMenuEvent::Mouse, me->pos(), Qt::RightButton); > QApplication::sendEvent(obj, &ce); > obj->installEventFilter(this); > return true; > } > } > } > // We need to filter out context menu > if (e->type() == QEvent::ContextMenu) > { > return true; > } > } > Index: konq_view.h =================================================================== RCS file: /home/kde/kdebase/konqueror/konq_view.h,v retrieving revision 1.142 diff -b -B -w -r1.142 konq_view.h 379a380,385 > > private: > struct { > bool enabled; > int x, y; > } m_sMouseGestures;