diff --git a/widgets/itemview.cpp b/widgets/itemview.cpp index ede41c690..39683b045 100644 --- a/widgets/itemview.cpp +++ b/widgets/itemview.cpp @@ -67,36 +67,26 @@ void ItemView::setup() } } -EscapeKeyEventHandler::EscapeKeyEventHandler(QAbstractItemView *v, QAction *a) +ListViewEventHandler::ListViewEventHandler(QAbstractItemView *v, QAction *a) : QObject(v) , view(v) , act(a) { } -bool EscapeKeyEventHandler::eventFilter(QObject *obj, QEvent *event) -{ - if (view->hasFocus() && QEvent::KeyRelease==event->type() && static_cast(event)->key()==Qt::Key_Escape) { - if (act->isEnabled()) { - act->trigger(); - } - return true; - } - return QObject::eventFilter(obj, event); -} - -MouseEventHandler::MouseEventHandler(QAbstractItemView *v) - : QObject(v) - , view(v) -{ -} - // HACK time. For some reason, IconView is not always re-drawn when mouse leaves the view. // We sometimes get an item that is left in the mouse-over state. So, work-around this by // keeping track of when mouse is over listview. static QWidget *mouseWidget=0; -bool MouseEventHandler::eventFilter(QObject *obj, QEvent *event) + +bool ListViewEventHandler::eventFilter(QObject *obj, QEvent *event) { + if (view->hasFocus() && QEvent::KeyRelease==event->type() && static_cast(event)->key()==Qt::Key_Escape) { + if (act->isEnabled()) { + act->trigger(); + } + return true; + } if (QEvent::Enter==event->type()) { mouseWidget=view; view->viewport()->update(); @@ -510,8 +500,7 @@ ItemView::ItemView(QWidget *p) Icon::init(backButton); treeView->setPageDefaults(); iconGridSize=listGridSize=listView->gridSize(); - listView->installEventFilter(new EscapeKeyEventHandler(listView, backAction)); - listView->installEventFilter(new MouseEventHandler(listView)); + listView->installEventFilter(new ListViewEventHandler(listView, backAction)); } ItemView::~ItemView() diff --git a/widgets/itemview.h b/widgets/itemview.h index b557353c0..0724b26db 100644 --- a/widgets/itemview.h +++ b/widgets/itemview.h @@ -36,12 +36,12 @@ class QAction; class QTimer; class GroupedView; -class EscapeKeyEventHandler : public QObject +class ListViewEventHandler : public QObject { Q_OBJECT public: - EscapeKeyEventHandler(QAbstractItemView *v, QAction *a); + ListViewEventHandler(QAbstractItemView *v, QAction *a); protected: bool eventFilter(QObject *obj, QEvent *event); @@ -51,20 +51,6 @@ private: QAction *act; }; -class MouseEventHandler : public QObject -{ - Q_OBJECT - -public: - MouseEventHandler(QAbstractItemView *v); - -protected: - bool eventFilter(QObject *obj, QEvent *event); - -private: - QAbstractItemView *view; -}; - #ifndef ENABLE_KDE_SUPPORT class Spinner : public QWidget {