diff options
author | Mavridis Philippe <[email protected]> | 2024-05-28 00:03:14 +0300 |
---|---|---|
committer | TDE Gitea <[email protected]> | 2024-06-01 14:40:47 +0000 |
commit | 4911fcf8417043562fcf397596d212db5733e189 (patch) | |
tree | 21ded7aaa97e3f8e022ceab409733d61d90dd6f4 /tdeio | |
parent | cc43ae5992f63e378d7ef91d703d98eaa3133205 (diff) | |
download | tdelibs-4911fcf8417043562fcf397596d212db5733e189.tar.gz tdelibs-4911fcf8417043562fcf397596d212db5733e189.zip |
KDirOperator: add support for history navigation mouse buttons
Signed-off-by: Mavridis Philippe <[email protected]>
Diffstat (limited to 'tdeio')
-rw-r--r-- | tdeio/tdefile/tdediroperator.cpp | 25 | ||||
-rw-r--r-- | tdeio/tdefile/tdediroperator.h | 3 |
2 files changed, 28 insertions, 0 deletions
diff --git a/tdeio/tdefile/tdediroperator.cpp b/tdeio/tdefile/tdediroperator.cpp index 9bf947f20..8b133d433 100644 --- a/tdeio/tdefile/tdediroperator.cpp +++ b/tdeio/tdefile/tdediroperator.cpp @@ -145,6 +145,8 @@ KDirOperator::KDirOperator(const KURL& _url, setupMenu(); setFocusPolicy(TQWidget::WheelFocus); + + installEventFilter(this); } KDirOperator::~KDirOperator() @@ -1046,6 +1048,11 @@ void KDirOperator::connectView(KFileView *view) } m_fileView = view; + m_fileView->widget()->installEventFilter(this); + if (m_fileView->widget()->inherits("TQScrollView")) + { + (static_cast<TQScrollView *>(m_fileView->widget()))->viewport()->installEventFilter(this); + } m_fileView->setDropOptions(d->dropOptions); viewActionCollection = 0L; KFileViewSignaler *sig = view->signaler(); @@ -1734,6 +1741,24 @@ TQString KDirOperator::viewConfigGroup() const return d->configGroup; } +bool KDirOperator::eventFilter(TQObject *obj, TQEvent *ev) +{ + if (ev->type() == TQEvent::MouseButtonRelease) + { + TQMouseEvent *mouseEv = static_cast<TQMouseEvent *>(ev); + switch (mouseEv->button()) + { + case TQMouseEvent::HistoryBackButton: + back(); + return true; + case TQMouseEvent::HistoryForwardButton: + forward(); + return true; + } + } + return false; +} + void KDirOperator::virtual_hook( int, void* ) { /*BASE::virtual_hook( id, data );*/ } diff --git a/tdeio/tdefile/tdediroperator.h b/tdeio/tdefile/tdediroperator.h index 89b1a1709..50467fc61 100644 --- a/tdeio/tdefile/tdediroperator.h +++ b/tdeio/tdefile/tdediroperator.h @@ -936,6 +936,9 @@ private slots: void insertViewDependentActions(); +public: + bool eventFilter(TQObject *obj, TQEvent *ev); + private: static bool isReadable( const KURL& url ); |