]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Assure that the selection is cleared if a click on the viewport is done.
authorPeter Penz <peter.penz19@gmail.com>
Sat, 2 Jun 2007 15:04:44 +0000 (15:04 +0000)
committerPeter Penz <peter.penz19@gmail.com>
Sat, 2 Jun 2007 15:04:44 +0000 (15:04 +0000)
svn path=/trunk/KDE/kdebase/apps/; revision=670761

src/dolphiniconsview.cpp
src/dolphiniconsview.h

index 73b6313909de27ac6a721530af99c26d1369a6a7..3f2e978c38abed07f407c7263aa1030a5ae2aba6 100644 (file)
@@ -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);
index 560d4976a5adbc88aa65e42275bf6caf9e0ea7ae..c1301cd8936c94dd7371b85542e12d6194a0d81d 100644 (file)
@@ -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);