summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/widgets/itemviews/qlistview.cpp7
-rw-r--r--src/widgets/itemviews/qlistview_p.h2
2 files changed, 7 insertions, 2 deletions
diff --git a/src/widgets/itemviews/qlistview.cpp b/src/widgets/itemviews/qlistview.cpp
index a17d89e735..18ea19c8b9 100644
--- a/src/widgets/itemviews/qlistview.cpp
+++ b/src/widgets/itemviews/qlistview.cpp
@@ -1978,6 +1978,11 @@ int QCommonListViewBase::horizontalScrollToValue(const int /*index*/, QListView:
/*
* ListMode ListView Implementation
*/
+QListModeViewBase::QListModeViewBase(QListView *q, QListViewPrivate *d)
+ : QCommonListViewBase(q, d)
+{
+ dd->defaultDropAction = Qt::CopyAction;
+}
#ifndef QT_NO_DRAGANDDROP
QAbstractItemView::DropIndicatorPosition QListModeViewBase::position(const QPoint &pos, const QRect &rect, const QModelIndex &index) const
@@ -2744,7 +2749,7 @@ bool QIconModeViewBase::filterStartDrag(Qt::DropActions supportedActions)
drag->setMimeData(dd->model->mimeData(indexes));
drag->setPixmap(pixmap);
drag->setHotSpot(dd->pressedPosition - rect.topLeft());
- Qt::DropAction action = drag->exec(supportedActions, Qt::CopyAction);
+ Qt::DropAction action = drag->exec(supportedActions, dd->defaultDropAction);
draggedItems.clear();
if (action == Qt::MoveAction)
dd->clearOrRemove();
diff --git a/src/widgets/itemviews/qlistview_p.h b/src/widgets/itemviews/qlistview_p.h
index 62fa45e640..d1ea6fe328 100644
--- a/src/widgets/itemviews/qlistview_p.h
+++ b/src/widgets/itemviews/qlistview_p.h
@@ -193,7 +193,7 @@ public:
class QListModeViewBase : public QCommonListViewBase
{
public:
- QListModeViewBase(QListView *q, QListViewPrivate *d) : QCommonListViewBase(q, d) {}
+ QListModeViewBase(QListView *q, QListViewPrivate *d);
QVector<int> flowPositions;
QVector<int> segmentPositions;