diff options
author | David Faure <david.faure@kdab.com> | 2017-05-28 10:49:21 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2017-05-31 18:54:00 +0000 |
commit | f33cf18d882ada727da0f378525e55d9421e3b16 (patch) | |
tree | ccd9d3034dd5a8a3794c1ccd7af9550fbc2f2a27 /tests/auto/corelib/itemmodels/qabstractitemmodel/tst_qabstractitemmodel.cpp | |
parent | 32a94e54b58f311f37689f4bc8e0c8a54f0f9216 (diff) |
QAbstractItemModel::supportedDragActions: fix regression
This method now returns -1 by default, due to commit 6255cb893d
which mistakenly replaced -1 with Qt::IgnoreAction (0x0).
As a result, dropping is forbidden in a number of applications
(I detected this in zanshin).
Change-Id: I4922451216e08d5d3fe36f8ba87364a361b691bf
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Diffstat (limited to 'tests/auto/corelib/itemmodels/qabstractitemmodel/tst_qabstractitemmodel.cpp')
-rw-r--r-- | tests/auto/corelib/itemmodels/qabstractitemmodel/tst_qabstractitemmodel.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/auto/corelib/itemmodels/qabstractitemmodel/tst_qabstractitemmodel.cpp b/tests/auto/corelib/itemmodels/qabstractitemmodel/tst_qabstractitemmodel.cpp index dcd9eda4bb..9f67ccd9c9 100644 --- a/tests/auto/corelib/itemmodels/qabstractitemmodel/tst_qabstractitemmodel.cpp +++ b/tests/auto/corelib/itemmodels/qabstractitemmodel/tst_qabstractitemmodel.cpp @@ -101,6 +101,7 @@ private slots: void testRoleNames(); void testDragActions(); + void dragActionsFallsBackToDropActions(); void testFunctionPointerSignalConnection(); @@ -2157,6 +2158,27 @@ void tst_QAbstractItemModel::testDragActions() QVERIFY(actions & Qt::MoveAction); } +class OverrideDropActions : public QStringListModel +{ + Q_OBJECT +public: + OverrideDropActions(QObject *parent = 0) + : QStringListModel(parent) + { + } + Qt::DropActions supportedDropActions() const override + { + return Qt::MoveAction; + } +}; + +void tst_QAbstractItemModel::dragActionsFallsBackToDropActions() +{ + QAbstractItemModel *model = new OverrideDropActions(this); + QCOMPARE(model->supportedDragActions(), Qt::MoveAction); + QCOMPARE(model->supportedDropActions(), Qt::MoveAction); +} + class SignalConnectionTester : public QObject { Q_OBJECT |