blob: 5ffda76973ac5b15a9de1fa0bd50c0ce2a313a4b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
#include "PluginListDropInfo.h"
#include <QMap>
#include <QMimeData>
#include <QModelIndex>
#include <QVariant>
namespace BSPluginList
{
PluginListDropInfo::PluginListDropInfo(const QMimeData* data, int insertId,
const QModelIndex& parent,
const TESData::PluginList* plugins)
{
QByteArray encoded = data->data("application/x-qabstractitemmodeldatalist");
QDataStream stream(&encoded, QIODevice::ReadOnly);
while (!stream.atEnd()) {
int sourceRow;
int col;
QMap<int, QVariant> roleDataMap;
stream >> sourceRow >> col >> roleDataMap;
if (col == 0) {
m_SourceRows.push_back(sourceRow);
}
}
if (insertId == -1) {
insertId = parent.row();
}
if (plugins) {
if (insertId < 0 || insertId >= plugins->pluginCount()) {
m_Destination = plugins->pluginCount();
} else {
const auto plugin = plugins->getPlugin(insertId);
m_Destination = plugin ? plugin->priority() : plugins->pluginCount();
}
}
}
} // namespace BSPluginList
|