diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/dolphiniconsview.cpp | 17 | ||||
| -rw-r--r-- | src/dolphiniconsview.h | 1 |
2 files changed, 16 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); diff --git a/src/dolphiniconsview.h b/src/dolphiniconsview.h index 560d4976a..c1301cd89 100644 --- a/src/dolphiniconsview.h +++ b/src/dolphiniconsview.h @@ -46,6 +46,7 @@ public: protected: virtual QStyleOptionViewItem viewOptions() const; virtual void contextMenuEvent(QContextMenuEvent* event); + virtual void mousePressEvent(QMouseEvent* event); virtual void mouseReleaseEvent(QMouseEvent* event); virtual void dragEnterEvent(QDragEnterEvent* event); virtual void dropEvent(QDropEvent* event); |
