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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
#include <uibase/modrepositoryfileinfo.h>
#include <uibase/json.h>
MOBase::ModRepositoryFileInfo::ModRepositoryFileInfo(
const ModRepositoryFileInfo& reference)
: QObject(reference.parent()), name(reference.name), uri(reference.uri),
description(reference.description), version(reference.version),
categoryID(reference.categoryID), modName(reference.modName),
gameName(reference.gameName), modID(reference.modID), fileID(reference.fileID),
fileSize(reference.fileSize), fileCategory(reference.fileCategory),
repository(reference.repository), userData(reference.userData),
author(reference.author), uploader(reference.uploader),
uploaderUrl(reference.uploaderUrl)
{}
MOBase::ModRepositoryFileInfo::ModRepositoryFileInfo(QString gameName, int modID,
int fileID)
: name(), uri(), description(), version(), categoryID(0), modName(),
gameName(gameName), modID(modID), fileID(fileID), fileSize(0),
fileCategory(TYPE_UNKNOWN), repository(), userData(), author(), uploader(),
uploaderUrl()
{}
MOBase::ModRepositoryFileInfo
MOBase::ModRepositoryFileInfo::createFromJson(const QString& data)
{
QVariantList result = QtJson::parse(data).toList();
while (result.length() < 18) {
result.append(QVariant());
}
ModRepositoryFileInfo newInfo;
newInfo.gameName = result.at(0).toString();
newInfo.fileID = result.at(1).toInt();
newInfo.name = result.at(2).toString();
newInfo.uri = result.at(3).toString();
newInfo.version.parse(result.at(4).toString());
newInfo.description = result.at(5).toString();
newInfo.categoryID = result.at(6).toInt();
newInfo.fileSize = result.at(7).toUInt();
newInfo.modID = result.at(8).toInt();
newInfo.modName = result.at(9).toString();
newInfo.newestVersion.parse(result.at(10).toString());
newInfo.fileName = result.at(11).toString();
newInfo.fileCategory = result.at(12).toInt();
newInfo.repository = result.at(13).toString();
newInfo.userData = result.at(14).toMap();
newInfo.author = result.at(15).toString();
newInfo.uploader = result.at(16).toString();
newInfo.uploaderUrl = result.at(17).toString();
return newInfo;
}
QString MOBase::ModRepositoryFileInfo::toString() const
{
return QString("[ "
"\"%1\",%2,\"%3\",\"%4\",\"%5\",\"%6\",%7,%8,%9,\"%10\",\"%11\",\"%"
"12\",%13,\"%14\",%15 ]")
.arg(gameName)
.arg(fileID)
.arg(name)
.arg(uri)
.arg(version.canonicalString())
.arg(description.mid(0).replace("\"", "'"))
.arg(categoryID)
.arg(fileSize)
.arg(modID)
.arg(modName)
.arg(newestVersion.canonicalString())
.arg(fileName)
.arg(fileCategory)
.arg(repository)
.arg(QString(QtJson::serialize(userData)))
.arg(author)
.arg(uploader)
.arg(uploaderUrl);
}
|