diff options
Diffstat (limited to 'src/dolphiniconsview.cpp')
| -rw-r--r-- | src/dolphiniconsview.cpp | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/src/dolphiniconsview.cpp b/src/dolphiniconsview.cpp index 9372ae9e0..4cd4bdddc 100644 --- a/src/dolphiniconsview.cpp +++ b/src/dolphiniconsview.cpp @@ -21,6 +21,9 @@ #include "dolphiniconsview.h" #include "dolphinview.h" +#include <kdirmodel.h> +#include <kfileitem.h> + DolphinIconsView::DolphinIconsView(DolphinView* parent) : QListView(parent), m_parentView( parent ) @@ -32,9 +35,28 @@ DolphinIconsView::~DolphinIconsView() { } -void DolphinIconsView::mouseReleaseEvent(QMouseEvent *e) +void DolphinIconsView::mousePressEvent(QMouseEvent* event) +{ + QListView::mousePressEvent(event); + + if (event->button() != Qt::RightButton) { + return; + } + + KFileItem* item = 0; + + const QModelIndex index = indexAt(event->pos()); + if (index.isValid()) { + KDirModel* dirModel = static_cast<KDirModel*>(model()); + item = dirModel->itemForIndex(index); + } + + m_parentView->openContextMenu(item, event->globalPos()); +} + +void DolphinIconsView::mouseReleaseEvent(QMouseEvent* event) { - QListView::mouseReleaseEvent(e); + QListView::mouseReleaseEvent(event); m_parentView->declareViewActive(); } |
