ItemWidgets: add supportedDragActions()/setSupportedDragActions()
In Qt6 the deprecated function QAIM::setSupportedDragActions() was removed so the itemwidgets had no possibility to specify the drag actions anymore. Fix this by adding it to the itemwidgets themselves. Done-with: David Faure <david.faure@kdab.com> Fixes: QTBUG-87465 Change-Id: Ib10fa30c5b2c9e8e5cd3f0e1c2664f7a12fb249b Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
This commit is contained in:
parent
da1fbf6053
commit
7d0017cda8
@ -431,6 +431,11 @@ Qt::DropActions QListModel::supportedDropActions() const
|
|||||||
}
|
}
|
||||||
#endif // QT_CONFIG(draganddrop)
|
#endif // QT_CONFIG(draganddrop)
|
||||||
|
|
||||||
|
Qt::DropActions QListModel::supportedDragActions() const
|
||||||
|
{
|
||||||
|
return view()->supportedDragActions();
|
||||||
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\class QListWidgetItem
|
\class QListWidgetItem
|
||||||
\brief The QListWidgetItem class provides an item for use with the
|
\brief The QListWidgetItem class provides an item for use with the
|
||||||
@ -1804,7 +1809,7 @@ QMimeData *QListWidget::mimeData(const QList<QListWidgetItem *> &items) const
|
|||||||
with the given \a action in the given \a index. Returns \c true if \a data and
|
with the given \a action in the given \a index. Returns \c true if \a data and
|
||||||
\a action can be handled by the model; otherwise returns \c false.
|
\a action can be handled by the model; otherwise returns \c false.
|
||||||
|
|
||||||
\sa supportedDropActions()
|
\sa supportedDropActions(), supportedDragActions()
|
||||||
*/
|
*/
|
||||||
bool QListWidget::dropMimeData(int index, const QMimeData *data, Qt::DropAction action)
|
bool QListWidget::dropMimeData(int index, const QMimeData *data, Qt::DropAction action)
|
||||||
{
|
{
|
||||||
@ -1829,7 +1834,7 @@ void QListWidget::dropEvent(QDropEvent *event)
|
|||||||
/*!
|
/*!
|
||||||
Returns the drop actions supported by this view.
|
Returns the drop actions supported by this view.
|
||||||
|
|
||||||
\sa Qt::DropActions
|
\sa Qt::DropActions, supportedDragActions(), dropMimeData()
|
||||||
*/
|
*/
|
||||||
Qt::DropActions QListWidget::supportedDropActions() const
|
Qt::DropActions QListWidget::supportedDropActions() const
|
||||||
{
|
{
|
||||||
@ -1838,6 +1843,31 @@ Qt::DropActions QListWidget::supportedDropActions() const
|
|||||||
}
|
}
|
||||||
#endif // QT_CONFIG(draganddrop)
|
#endif // QT_CONFIG(draganddrop)
|
||||||
|
|
||||||
|
/*!
|
||||||
|
Returns the drag actions supported by this view.
|
||||||
|
|
||||||
|
\since 6.10
|
||||||
|
\sa Qt::DropActions, setSupportedDragActions(), supportedDropActions()
|
||||||
|
*/
|
||||||
|
Qt::DropActions QListWidget::supportedDragActions() const
|
||||||
|
{
|
||||||
|
Q_D(const QListWidget);
|
||||||
|
return d->supportedDragActions.value_or(supportedDropActions());
|
||||||
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
Sets the drag \a actions supported by this view.
|
||||||
|
|
||||||
|
\since 6.10
|
||||||
|
\sa Qt::DropActions, supportedDragActions()
|
||||||
|
*/
|
||||||
|
|
||||||
|
void QListWidget::setSupportedDragActions(Qt::DropActions actions)
|
||||||
|
{
|
||||||
|
Q_D(QListWidget);
|
||||||
|
d->supportedDragActions = actions;
|
||||||
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Returns a list of pointers to the items contained in the \a data object. If
|
Returns a list of pointers to the items contained in the \a data object. If
|
||||||
the object was not created by a QListWidget in the same process, the list
|
the object was not created by a QListWidget in the same process, the list
|
||||||
|
@ -221,6 +221,9 @@ public:
|
|||||||
QModelIndex indexFromItem(const QListWidgetItem *item) const;
|
QModelIndex indexFromItem(const QListWidgetItem *item) const;
|
||||||
QListWidgetItem *itemFromIndex(const QModelIndex &index) const;
|
QListWidgetItem *itemFromIndex(const QModelIndex &index) const;
|
||||||
|
|
||||||
|
void setSupportedDragActions(Qt::DropActions actions);
|
||||||
|
Qt::DropActions supportedDragActions() const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
#if QT_CONFIG(draganddrop)
|
#if QT_CONFIG(draganddrop)
|
||||||
void dropEvent(QDropEvent *event) override;
|
void dropEvent(QDropEvent *event) override;
|
||||||
|
@ -98,6 +98,7 @@ public:
|
|||||||
int row, int column, const QModelIndex &parent) override;
|
int row, int column, const QModelIndex &parent) override;
|
||||||
Qt::DropActions supportedDropActions() const override;
|
Qt::DropActions supportedDropActions() const override;
|
||||||
#endif
|
#endif
|
||||||
|
Qt::DropActions supportedDragActions() const override;
|
||||||
|
|
||||||
QMimeData *internalMimeData() const;
|
QMimeData *internalMimeData() const;
|
||||||
private:
|
private:
|
||||||
@ -126,9 +127,10 @@ public:
|
|||||||
void emitCurrentItemChanged(const QModelIndex ¤t, const QModelIndex &previous);
|
void emitCurrentItemChanged(const QModelIndex ¤t, const QModelIndex &previous);
|
||||||
void sort();
|
void sort();
|
||||||
void dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight);
|
void dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight);
|
||||||
|
|
||||||
Qt::SortOrder sortOrder;
|
Qt::SortOrder sortOrder;
|
||||||
bool sortingEnabled;
|
bool sortingEnabled;
|
||||||
|
std::optional<Qt::DropActions> supportedDragActions;
|
||||||
std::array<QMetaObject::Connection, 8> connections;
|
std::array<QMetaObject::Connection, 8> connections;
|
||||||
std::array<QMetaObject::Connection, 2> selectionModelConnections;
|
std::array<QMetaObject::Connection, 2> selectionModelConnections;
|
||||||
};
|
};
|
||||||
|
@ -869,6 +869,12 @@ Qt::DropActions QTableModel::supportedDropActions() const
|
|||||||
return (view ? view->supportedDropActions() : Qt::DropActions(Qt::IgnoreAction));
|
return (view ? view->supportedDropActions() : Qt::DropActions(Qt::IgnoreAction));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Qt::DropActions QTableModel::supportedDragActions() const
|
||||||
|
{
|
||||||
|
const QTableWidget *view = this->view();
|
||||||
|
return (view ? view->supportedDragActions() : Qt::DropActions(Qt::IgnoreAction));
|
||||||
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\class QTableWidgetSelectionRange
|
\class QTableWidgetSelectionRange
|
||||||
|
|
||||||
@ -2605,7 +2611,7 @@ QMimeData *QTableWidget::mimeData(const QList<QTableWidgetItem *> &items) const
|
|||||||
Returns \c true if the data and action can be handled by the model;
|
Returns \c true if the data and action can be handled by the model;
|
||||||
otherwise returns \c false.
|
otherwise returns \c false.
|
||||||
|
|
||||||
\sa supportedDropActions()
|
\sa supportedDropActions(), supportedDragActions()
|
||||||
*/
|
*/
|
||||||
bool QTableWidget::dropMimeData(int row, int column, const QMimeData *data, Qt::DropAction action)
|
bool QTableWidget::dropMimeData(int row, int column, const QMimeData *data, Qt::DropAction action)
|
||||||
{
|
{
|
||||||
@ -2624,13 +2630,38 @@ bool QTableWidget::dropMimeData(int row, int column, const QMimeData *data, Qt::
|
|||||||
/*!
|
/*!
|
||||||
Returns the drop actions supported by this view.
|
Returns the drop actions supported by this view.
|
||||||
|
|
||||||
\sa Qt::DropActions
|
\sa Qt::DropActions, supportedDragActions(), dropMimeData()
|
||||||
*/
|
*/
|
||||||
Qt::DropActions QTableWidget::supportedDropActions() const
|
Qt::DropActions QTableWidget::supportedDropActions() const
|
||||||
{
|
{
|
||||||
return d_func()->tableModel()->QAbstractTableModel::supportedDropActions() | Qt::MoveAction;
|
return d_func()->tableModel()->QAbstractTableModel::supportedDropActions() | Qt::MoveAction;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
Returns the drag actions supported by this view.
|
||||||
|
|
||||||
|
\since 6.10
|
||||||
|
\sa Qt::DropActions, setSupportedDragActions(), supportedDropActions()
|
||||||
|
*/
|
||||||
|
Qt::DropActions QTableWidget::supportedDragActions() const
|
||||||
|
{
|
||||||
|
Q_D(const QTableWidget);
|
||||||
|
return d->supportedDragActions.value_or(supportedDropActions());
|
||||||
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
Sets the drag \a actions supported by this view.
|
||||||
|
|
||||||
|
\since 6.10
|
||||||
|
\sa Qt::DropActions, supportedDragActions()
|
||||||
|
*/
|
||||||
|
|
||||||
|
void QTableWidget::setSupportedDragActions(Qt::DropActions actions)
|
||||||
|
{
|
||||||
|
Q_D(QTableWidget);
|
||||||
|
d->supportedDragActions = actions;
|
||||||
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Returns a list of pointers to the items contained in the \a data object.
|
Returns a list of pointers to the items contained in the \a data object.
|
||||||
If the object was not created by a QTreeWidget in the same process, the list
|
If the object was not created by a QTreeWidget in the same process, the list
|
||||||
|
@ -265,6 +265,9 @@ public:
|
|||||||
const QTableWidgetItem *itemPrototype() const;
|
const QTableWidgetItem *itemPrototype() const;
|
||||||
void setItemPrototype(const QTableWidgetItem *item);
|
void setItemPrototype(const QTableWidgetItem *item);
|
||||||
|
|
||||||
|
Qt::DropActions supportedDragActions() const;
|
||||||
|
void setSupportedDragActions(Qt::DropActions actions);
|
||||||
|
|
||||||
public Q_SLOTS:
|
public Q_SLOTS:
|
||||||
void scrollToItem(const QTableWidgetItem *item, QAbstractItemView::ScrollHint hint = EnsureVisible);
|
void scrollToItem(const QTableWidgetItem *item, QAbstractItemView::ScrollHint hint = EnsureVisible);
|
||||||
void insertRow(int row);
|
void insertRow(int row);
|
||||||
|
@ -136,6 +136,7 @@ public:
|
|||||||
bool dropMimeData(const QMimeData *data, Qt::DropAction action,
|
bool dropMimeData(const QMimeData *data, Qt::DropAction action,
|
||||||
int row, int column, const QModelIndex &parent) override;
|
int row, int column, const QModelIndex &parent) override;
|
||||||
Qt::DropActions supportedDropActions() const override;
|
Qt::DropActions supportedDropActions() const override;
|
||||||
|
Qt::DropActions supportedDragActions() const override;
|
||||||
|
|
||||||
QMimeData *internalMimeData() const;
|
QMimeData *internalMimeData() const;
|
||||||
|
|
||||||
@ -173,6 +174,7 @@ public:
|
|||||||
void dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight);
|
void dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight);
|
||||||
|
|
||||||
std::array<QMetaObject::Connection, 10> connections;
|
std::array<QMetaObject::Connection, 10> connections;
|
||||||
|
std::optional<Qt::DropActions> supportedDragActions;
|
||||||
};
|
};
|
||||||
|
|
||||||
class QTableWidgetItemPrivate
|
class QTableWidgetItemPrivate
|
||||||
|
@ -737,6 +737,11 @@ Qt::DropActions QTreeModel::supportedDropActions() const
|
|||||||
return view()->supportedDropActions();
|
return view()->supportedDropActions();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Qt::DropActions QTreeModel::supportedDragActions() const
|
||||||
|
{
|
||||||
|
return view()->supportedDragActions();
|
||||||
|
}
|
||||||
|
|
||||||
void QTreeModel::itemChanged(QTreeWidgetItem *item)
|
void QTreeModel::itemChanged(QTreeWidgetItem *item)
|
||||||
{
|
{
|
||||||
if (item->columnCount() <= 0)
|
if (item->columnCount() <= 0)
|
||||||
@ -3193,7 +3198,7 @@ QMimeData *QTreeWidget::mimeData(const QList<QTreeWidgetItem *> &items) const
|
|||||||
successfully handled by decoding the mime data and inserting it
|
successfully handled by decoding the mime data and inserting it
|
||||||
into the model; otherwise it returns \c false.
|
into the model; otherwise it returns \c false.
|
||||||
|
|
||||||
\sa supportedDropActions()
|
\sa supportedDropActions(), supportedDragActions()
|
||||||
*/
|
*/
|
||||||
bool QTreeWidget::dropMimeData(QTreeWidgetItem *parent, int index,
|
bool QTreeWidget::dropMimeData(QTreeWidgetItem *parent, int index,
|
||||||
const QMimeData *data, Qt::DropAction action)
|
const QMimeData *data, Qt::DropAction action)
|
||||||
@ -3206,13 +3211,38 @@ bool QTreeWidget::dropMimeData(QTreeWidgetItem *parent, int index,
|
|||||||
/*!
|
/*!
|
||||||
Returns the drop actions supported by this view.
|
Returns the drop actions supported by this view.
|
||||||
|
|
||||||
\sa Qt::DropActions
|
\sa Qt::DropActions, supportedDragActions(), dropMimeData()
|
||||||
*/
|
*/
|
||||||
Qt::DropActions QTreeWidget::supportedDropActions() const
|
Qt::DropActions QTreeWidget::supportedDropActions() const
|
||||||
{
|
{
|
||||||
return model()->QAbstractItemModel::supportedDropActions() | Qt::MoveAction;
|
return model()->QAbstractItemModel::supportedDropActions() | Qt::MoveAction;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
Returns the drag actions supported by this view.
|
||||||
|
|
||||||
|
\since 6.10
|
||||||
|
\sa Qt::DropActions, setSupportedDragActions(), supportedDropActions()
|
||||||
|
*/
|
||||||
|
Qt::DropActions QTreeWidget::supportedDragActions() const
|
||||||
|
{
|
||||||
|
Q_D(const QTreeWidget);
|
||||||
|
return d->supportedDragActions.value_or(supportedDropActions());
|
||||||
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
Sets the drag \a actions supported by this view.
|
||||||
|
|
||||||
|
\since 6.10
|
||||||
|
\sa Qt::DropActions, supportedDragActions()
|
||||||
|
*/
|
||||||
|
|
||||||
|
void QTreeWidget::setSupportedDragActions(Qt::DropActions actions)
|
||||||
|
{
|
||||||
|
Q_D(QTreeWidget);
|
||||||
|
d->supportedDragActions = actions;
|
||||||
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Returns the QModelIndex associated with the given \a item in the given \a column.
|
Returns the QModelIndex associated with the given \a item in the given \a column.
|
||||||
|
|
||||||
|
@ -288,6 +288,9 @@ public:
|
|||||||
|
|
||||||
void setSelectionModel(QItemSelectionModel *selectionModel) override;
|
void setSelectionModel(QItemSelectionModel *selectionModel) override;
|
||||||
|
|
||||||
|
Qt::DropActions supportedDragActions() const;
|
||||||
|
void setSupportedDragActions(Qt::DropActions actions);
|
||||||
|
|
||||||
public Q_SLOTS:
|
public Q_SLOTS:
|
||||||
void scrollToItem(const QTreeWidgetItem *item,
|
void scrollToItem(const QTreeWidgetItem *item,
|
||||||
QAbstractItemView::ScrollHint hint = EnsureVisible);
|
QAbstractItemView::ScrollHint hint = EnsureVisible);
|
||||||
|
@ -96,6 +96,7 @@ public:
|
|||||||
bool dropMimeData(const QMimeData *data, Qt::DropAction action,
|
bool dropMimeData(const QMimeData *data, Qt::DropAction action,
|
||||||
int row, int column, const QModelIndex &parent) override;
|
int row, int column, const QModelIndex &parent) override;
|
||||||
Qt::DropActions supportedDropActions() const override;
|
Qt::DropActions supportedDropActions() const override;
|
||||||
|
Qt::DropActions supportedDragActions() const override;
|
||||||
|
|
||||||
QMimeData *internalMimeData() const;
|
QMimeData *internalMimeData() const;
|
||||||
|
|
||||||
@ -210,6 +211,7 @@ public:
|
|||||||
int explicitSortColumn;
|
int explicitSortColumn;
|
||||||
|
|
||||||
std::array<QMetaObject::Connection, 12> connections;
|
std::array<QMetaObject::Connection, 12> connections;
|
||||||
|
std::optional<Qt::DropActions> supportedDragActions;
|
||||||
};
|
};
|
||||||
|
|
||||||
QT_END_NAMESPACE
|
QT_END_NAMESPACE
|
||||||
|
@ -100,15 +100,14 @@ private slots:
|
|||||||
void QTBUG50891_ensureSelectionModelSignalConnectionsAreSet();
|
void QTBUG50891_ensureSelectionModelSignalConnectionsAreSet();
|
||||||
void createPersistentOnLayoutAboutToBeChanged();
|
void createPersistentOnLayoutAboutToBeChanged();
|
||||||
void createPersistentOnLayoutAboutToBeChangedAutoSort();
|
void createPersistentOnLayoutAboutToBeChangedAutoSort();
|
||||||
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
|
|
||||||
void clearItemData();
|
void clearItemData();
|
||||||
#endif
|
|
||||||
|
|
||||||
void moveRows_data();
|
void moveRows_data();
|
||||||
void moveRows();
|
void moveRows();
|
||||||
void moveRowsInvalid_data();
|
void moveRowsInvalid_data();
|
||||||
void moveRowsInvalid();
|
void moveRowsInvalid();
|
||||||
void noopDragDrop();
|
void noopDragDrop();
|
||||||
|
void supportedDragActions();
|
||||||
|
|
||||||
protected slots:
|
protected slots:
|
||||||
void rowsAboutToBeInserted(const QModelIndex &parent, int first, int last)
|
void rowsAboutToBeInserted(const QModelIndex &parent, int first, int last)
|
||||||
@ -2002,7 +2001,6 @@ void tst_QListWidget::noopDragDrop() // QTBUG-100128
|
|||||||
CHECK_ITEM;
|
CHECK_ITEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
|
|
||||||
void tst_QListWidget::clearItemData()
|
void tst_QListWidget::clearItemData()
|
||||||
{
|
{
|
||||||
QListWidget list;
|
QListWidget list;
|
||||||
@ -2022,7 +2020,25 @@ void tst_QListWidget::clearItemData()
|
|||||||
QVERIFY(list.model()->clearItemData(list.model()->index(0, 0)));
|
QVERIFY(list.model()->clearItemData(list.model()->index(0, 0)));
|
||||||
QCOMPARE(dataChangeSpy.size(), 0);
|
QCOMPARE(dataChangeSpy.size(), 0);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
class MoveOnlyListWidget : public QListWidget
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
using QListWidget::QListWidget;
|
||||||
|
Qt::DropActions supportedDropActions() const override { return Qt::MoveAction; }
|
||||||
|
};
|
||||||
|
|
||||||
|
void tst_QListWidget::supportedDragActions()
|
||||||
|
{
|
||||||
|
MoveOnlyListWidget listWidget;
|
||||||
|
QCOMPARE(listWidget.model()->supportedDropActions(), Qt::MoveAction);
|
||||||
|
// For Qt < 6.8 compatibility reasons, supportedDragActions defaults to supportedDropActions
|
||||||
|
QCOMPARE(listWidget.model()->supportedDragActions(), Qt::MoveAction);
|
||||||
|
|
||||||
|
listWidget.setSupportedDragActions(Qt::CopyAction);
|
||||||
|
QCOMPARE(listWidget.model()->supportedDragActions(), Qt::CopyAction);
|
||||||
|
}
|
||||||
|
|
||||||
QTEST_MAIN(tst_QListWidget)
|
QTEST_MAIN(tst_QListWidget)
|
||||||
#include "tst_qlistwidget.moc"
|
#include "tst_qlistwidget.moc"
|
||||||
|
@ -87,6 +87,7 @@ private slots:
|
|||||||
void moveRows();
|
void moveRows();
|
||||||
void moveRowsInvalid_data();
|
void moveRowsInvalid_data();
|
||||||
void moveRowsInvalid();
|
void moveRowsInvalid();
|
||||||
|
void supportedDragActions();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::unique_ptr<QTableWidget> testWidget;
|
std::unique_ptr<QTableWidget> testWidget;
|
||||||
@ -2047,5 +2048,24 @@ void tst_QTableWidget::moveRowsInvalid()
|
|||||||
delete baseWidget;
|
delete baseWidget;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class MoveOnlyTableWidget : public QTableWidget
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
using QTableWidget::QTableWidget;
|
||||||
|
Qt::DropActions supportedDropActions() const override { return Qt::MoveAction; }
|
||||||
|
};
|
||||||
|
|
||||||
|
void tst_QTableWidget::supportedDragActions()
|
||||||
|
{
|
||||||
|
MoveOnlyTableWidget tableWidget;
|
||||||
|
QCOMPARE(tableWidget.model()->supportedDropActions(), Qt::MoveAction);
|
||||||
|
// For Qt < 6.8 compatibility reasons, supportedDragActions defaults to supportedDropActions
|
||||||
|
QCOMPARE(tableWidget.model()->supportedDragActions(), Qt::MoveAction);
|
||||||
|
|
||||||
|
tableWidget.setSupportedDragActions(Qt::CopyAction);
|
||||||
|
QCOMPARE(tableWidget.model()->supportedDragActions(), Qt::CopyAction);
|
||||||
|
}
|
||||||
|
|
||||||
QTEST_MAIN(tst_QTableWidget)
|
QTEST_MAIN(tst_QTableWidget)
|
||||||
#include "tst_qtablewidget.moc"
|
#include "tst_qtablewidget.moc"
|
||||||
|
@ -130,9 +130,8 @@ private slots:
|
|||||||
void persistentChildIndex();
|
void persistentChildIndex();
|
||||||
void createPersistentOnLayoutAboutToBeChanged();
|
void createPersistentOnLayoutAboutToBeChanged();
|
||||||
void createPersistentOnLayoutAboutToBeChangedAutoSort();
|
void createPersistentOnLayoutAboutToBeChangedAutoSort();
|
||||||
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
|
|
||||||
void clearItemData();
|
void clearItemData();
|
||||||
#endif
|
void supportedDragActions();
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void itemSelectionChanged();
|
void itemSelectionChanged();
|
||||||
@ -3589,7 +3588,6 @@ void tst_QTreeWidget::persistentChildIndex() // QTBUG-90030
|
|||||||
QCOMPARE(persistentIdx.data().toString(), QStringLiteral("child2"));
|
QCOMPARE(persistentIdx.data().toString(), QStringLiteral("child2"));
|
||||||
}
|
}
|
||||||
|
|
||||||
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
|
|
||||||
void tst_QTreeWidget::clearItemData()
|
void tst_QTreeWidget::clearItemData()
|
||||||
{
|
{
|
||||||
QTreeWidget tree;
|
QTreeWidget tree;
|
||||||
@ -3625,7 +3623,6 @@ void tst_QTreeWidget::clearItemData()
|
|||||||
QCOMPARE(dataChangeArgs.at(1).value<QModelIndex>(), childIdx);
|
QCOMPARE(dataChangeArgs.at(1).value<QModelIndex>(), childIdx);
|
||||||
QVERIFY(dataChangeArgs.at(2).value<QList<int>>().isEmpty());
|
QVERIFY(dataChangeArgs.at(2).value<QList<int>>().isEmpty());
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
void tst_QTreeWidget::createPersistentOnLayoutAboutToBeChanged() // QTBUG-93466
|
void tst_QTreeWidget::createPersistentOnLayoutAboutToBeChanged() // QTBUG-93466
|
||||||
{
|
{
|
||||||
@ -3694,5 +3691,24 @@ void tst_QTreeWidget::createPersistentOnLayoutAboutToBeChangedAutoSort() // QTBU
|
|||||||
QCOMPARE(layoutChangedSpy.size(), 1);
|
QCOMPARE(layoutChangedSpy.size(), 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class MoveOnlyTreeWidget : public QTreeWidget
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
using QTreeWidget::QTreeWidget;
|
||||||
|
Qt::DropActions supportedDropActions() const override { return Qt::MoveAction; }
|
||||||
|
};
|
||||||
|
|
||||||
|
void tst_QTreeWidget::supportedDragActions()
|
||||||
|
{
|
||||||
|
MoveOnlyTreeWidget treeWidget;
|
||||||
|
QCOMPARE(treeWidget.model()->supportedDropActions(), Qt::MoveAction);
|
||||||
|
// For Qt < 6.8 compatibility reasons, supportedDragActions defaults to supportedDropActions
|
||||||
|
QCOMPARE(treeWidget.model()->supportedDragActions(), Qt::MoveAction);
|
||||||
|
|
||||||
|
treeWidget.setSupportedDragActions(Qt::CopyAction);
|
||||||
|
QCOMPARE(treeWidget.model()->supportedDragActions(), Qt::CopyAction);
|
||||||
|
}
|
||||||
|
|
||||||
QTEST_MAIN(tst_QTreeWidget)
|
QTEST_MAIN(tst_QTreeWidget)
|
||||||
#include "tst_qtreewidget.moc"
|
#include "tst_qtreewidget.moc"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user