diff options
Diffstat (limited to 'src/dolphiniconsview.cpp')
| -rw-r--r-- | src/dolphiniconsview.cpp | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/src/dolphiniconsview.cpp b/src/dolphiniconsview.cpp index 73b631390..3f2e978c3 100644 --- a/src/dolphiniconsview.cpp +++ b/src/dolphiniconsview.cpp @@ -29,8 +29,9 @@ #include <kfileitem.h> #include <kfileitemdelegate.h> -#include <QtGui/QAbstractProxyModel> -#include <QtCore/QPoint> +#include <QAbstractProxyModel> +#include <QApplication> +#include <QPoint> DolphinIconsView::DolphinIconsView(QWidget* parent, DolphinController* controller) : KListView(parent), @@ -105,6 +106,18 @@ void DolphinIconsView::contextMenuEvent(QContextMenuEvent* event) m_controller->triggerContextMenuRequest(event->pos()); } +void DolphinIconsView::mousePressEvent(QMouseEvent* event) +{ + if (!indexAt(event->pos()).isValid()) { + const Qt::KeyboardModifiers modifier = QApplication::keyboardModifiers(); + if (!(modifier & Qt::ShiftModifier) && !(modifier & Qt::ControlModifier)) { + clearSelection(); + } + } + + KListView::mousePressEvent(event); +} + void DolphinIconsView::mouseReleaseEvent(QMouseEvent* event) { KListView::mouseReleaseEvent(event); |
