From fb82e101eaf183bd923d03fd976f6d06512af515 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thorbj=C3=B8rn=20Lindeijer?= <thorbjorn.lindeijer@nokia.com> Date: Fri, 19 Mar 2010 16:23:10 +0100 Subject: [PATCH] Handle forward/backward mouse buttons for editor navigation Task-number: QTCREATORBUG-899 Reviewed-by: kh1 --- src/plugins/texteditor/basetexteditor.cpp | 25 +++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp index 5ec6f11ffad..a3537d03af7 100644 --- a/src/plugins/texteditor/basetexteditor.cpp +++ b/src/plugins/texteditor/basetexteditor.cpp @@ -3389,6 +3389,20 @@ void BaseTextEditor::mouseMoveEvent(QMouseEvent *e) viewport()->setCursor(Qt::IBeamCursor); } +static bool handleForwardBackwardMouseButtons(QMouseEvent *e) +{ + if (e->button() == Qt::XButton1) { + Core::EditorManager::instance()->goBackInNavigationHistory(); + return true; + } + if (e->button() == Qt::XButton2) { + Core::EditorManager::instance()->goForwardInNavigationHistory(); + return true; + } + + return false; +} + void BaseTextEditor::mousePressEvent(QMouseEvent *e) { if (e->button() == Qt::LeftButton) { @@ -3405,6 +3419,12 @@ void BaseTextEditor::mousePressEvent(QMouseEvent *e) if (d->m_currentLink.isValid()) d->m_linkPressed = true; } + +#ifdef Q_OS_LINUX + if (handleForwardBackwardMouseButtons(e)) + return; +#endif + QPlainTextEdit::mousePressEvent(e); } @@ -3423,6 +3443,11 @@ void BaseTextEditor::mouseReleaseEvent(QMouseEvent *e) } } +#ifndef Q_OS_LINUX + if (handleForwardBackwardMouseButtons(e)) + return; +#endif + QPlainTextEdit::mouseReleaseEvent(e); } -- GitLab