From 9ed610f50d8f7e8278b12b442aa23956293837ab Mon Sep 17 00:00:00 2001 From: Mavridis Philippe Date: Sat, 25 May 2024 15:05:26 +0300 Subject: [PATCH] Konqueror: Add support for back/forward actions using history mouse buttons This closes #421. Signed-off-by: Mavridis Philippe --- konqueror/konq_mainwindow.cpp | 16 ++++++++++++++++ konqueror/konq_view.cpp | 21 ++++++++++++++++----- 2 files changed, 32 insertions(+), 5 deletions(-) diff --git a/konqueror/konq_mainwindow.cpp b/konqueror/konq_mainwindow.cpp index 01cbf5a52..1905f5771 100644 --- a/konqueror/konq_mainwindow.cpp +++ b/konqueror/konq_mainwindow.cpp @@ -3580,6 +3580,22 @@ bool KonqMainWindow::eventFilter(TQObject*obj,TQEvent *ev) } } } + + else if (ev->type() == TQEvent::MouseButtonRelease) + { + TQMouseEvent *mouseEv = static_cast(ev); + switch (mouseEv->button()) + { + case TQMouseEvent::HistoryBackButton: + slotBack(); + return true; + + case TQMouseEvent::HistoryForwardButton: + slotForward(); + return true; + } + } + return KParts::MainWindow::eventFilter( obj, ev ); } diff --git a/konqueror/konq_view.cpp b/konqueror/konq_view.cpp index 0f809ccd1..c65537382 100644 --- a/konqueror/konq_view.cpp +++ b/konqueror/konq_view.cpp @@ -472,7 +472,7 @@ void KonqView::connectPart( ) m_pPart->widget()->installEventFilter( this ); - if (m_bBackRightClick && m_pPart->widget()->inherits("TQScrollView") ) + if (m_pPart->widget()->inherits("TQScrollView")) { (static_cast(m_pPart->widget()))->viewport()->installEventFilter( this ); } @@ -1220,10 +1220,6 @@ void KonqView::reparseConfiguration() bool b = KonqSettings::backRightClick(); if ( m_bBackRightClick != b ) { - if (m_bBackRightClick && m_pPart->widget()->inherits("TQScrollView") ) - { - (static_cast(m_pPart->widget()))->viewport()->installEventFilter( this ); - } enableBackRightClick( b ); } } @@ -1289,6 +1285,21 @@ bool KonqView::eventFilter( TQObject *obj, TQEvent *e ) emit ext->openURLRequest( lstDragURLs.first() ); // this will call m_pMainWindow::slotOpenURLRequest delayed } + else if (e->type() == TQEvent::MouseButtonRelease) + { + TQMouseEvent *mouseEvent = static_cast(e); + switch (mouseEvent->button()) + { + case TQMouseEvent::HistoryBackButton: + go(-1); + return true; + + case TQMouseEvent::HistoryForwardButton: + go(1); + return true; + } + } + if ( m_bBackRightClick ) { if ( e->type() == TQEvent::ContextMenu )