diff options
-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 ); |