39bool DragDropListModel::dropMimeData(
const QMimeData *data,
40 Qt::DropAction action,
int row,
int column,
const QModelIndex &parent)
42 if (!canDropMimeData(data, action, row, column, parent))
45 if (action == Qt::IgnoreAction)
57 else if (parent.isValid())
58 beginRow = parent.row();
63 beginRow = rowCount(QModelIndex());
67 QByteArray encodedData = data->data(
"application/vnd.text.list");
68 QDataStream stream(&encodedData, QIODevice::ReadOnly);
72 while (!stream.atEnd()) {
81 insertRows(beginRow, rows, QModelIndex());
82 for (
const QString &text : std::as_const(newItems)) {
83 QModelIndex idx = index(beginRow, 0, QModelIndex());
105QMimeData *DragDropListModel::mimeData(
const QModelIndexList &indexes)
const
107 QMimeData *mimeData =
new QMimeData;
108 QByteArray encodedData;
110 QDataStream stream(&encodedData, QIODevice::WriteOnly);
112 for (
const QModelIndex &index : indexes) {
113 if (index.isValid()) {
114 QString text = data(index, Qt::DisplayRole).toString();
119 mimeData->setData(
"application/vnd.text.list", encodedData);