From d3f1945bfed654945e556fed9e26260aba5ea4c6 Mon Sep 17 00:00:00 2001 From: craig Date: Sun, 11 Dec 2011 19:00:11 +0000 Subject: [PATCH] Only respond to mouseRelease if we have no modifiers - to allow items to be selected! --- widgets/listview.cpp | 8 ++++++++ widgets/listview.h | 1 + widgets/treeview.cpp | 9 +++++++++ widgets/treeview.h | 1 + 4 files changed, 19 insertions(+) diff --git a/widgets/listview.cpp b/widgets/listview.cpp index a668e531e..ff7568952 100644 --- a/widgets/listview.cpp +++ b/widgets/listview.cpp @@ -25,6 +25,7 @@ #include #include #include +#include ListView::ListView(QWidget *parent) : QListView(parent) @@ -82,3 +83,10 @@ void ListView::startDrag(Qt::DropActions supportedActions) drag->start(supportedActions); } } + +void ListView::mouseReleaseEvent(QMouseEvent *event) +{ + if (Qt::NoModifier==event->modifiers()) { + QListView::mouseReleaseEvent(event); + } +} diff --git a/widgets/listview.h b/widgets/listview.h index 859dbb243..3dbc5a162 100644 --- a/widgets/listview.h +++ b/widgets/listview.h @@ -39,6 +39,7 @@ public: bool haveSelectedItems() const; bool haveUnSelectedItems() const; void startDrag(Qt::DropActions supportedActions); + void mouseReleaseEvent(QMouseEvent *event); Q_SIGNALS: bool itemsSelected(bool); diff --git a/widgets/treeview.cpp b/widgets/treeview.cpp index 74453eb48..be788c950 100644 --- a/widgets/treeview.cpp +++ b/widgets/treeview.cpp @@ -22,6 +22,7 @@ */ #include "treeview.h" +#include TreeView::TreeView(QWidget *parent) : QTreeView(parent) @@ -64,3 +65,11 @@ bool TreeView::haveUnSelectedItems() const { return selectedIndexes().count()!=model()->rowCount(); } + +void TreeView::mouseReleaseEvent(QMouseEvent *event) +{ + if (Qt::NoModifier==event->modifiers()) { + QTreeView::mouseReleaseEvent(event); + } +} + diff --git a/widgets/treeview.h b/widgets/treeview.h index ae291fd74..201b842dd 100644 --- a/widgets/treeview.h +++ b/widgets/treeview.h @@ -39,6 +39,7 @@ public: void selectionChanged(const QItemSelection &selected, const QItemSelection &deselected); bool haveSelectedItems() const; bool haveUnSelectedItems() const; + void mouseReleaseEvent(QMouseEvent *event); Q_SIGNALS: bool itemsSelected(bool);