Changeset View
Changeset View
Standalone View
Standalone View
src/drive/parentreferencecreatejob.cpp
Show All 22 Lines | |||||
23 | #include "parentreferencecreatejob.h" | 23 | #include "parentreferencecreatejob.h" | ||
24 | #include "account.h" | 24 | #include "account.h" | ||
25 | #include "driveservice.h" | 25 | #include "driveservice.h" | ||
26 | #include "parentreference.h" | 26 | #include "parentreference.h" | ||
27 | #include "utils.h" | 27 | #include "utils.h" | ||
28 | 28 | | |||
29 | #include <QNetworkRequest> | 29 | #include <QNetworkRequest> | ||
30 | #include <QNetworkReply> | 30 | #include <QNetworkReply> | ||
31 | #include <QUrlQuery> | ||||
31 | 32 | | |||
32 | 33 | | |||
33 | using namespace KGAPI2; | 34 | using namespace KGAPI2; | ||
34 | using namespace KGAPI2::Drive; | 35 | using namespace KGAPI2::Drive; | ||
35 | 36 | | |||
36 | class Q_DECL_HIDDEN ParentReferenceCreateJob::Private | 37 | class Q_DECL_HIDDEN ParentReferenceCreateJob::Private | ||
37 | { | 38 | { | ||
38 | public: | 39 | public: | ||
39 | Private(ParentReferenceCreateJob *parent); | 40 | Private(ParentReferenceCreateJob *parent); | ||
40 | void processNext(); | 41 | void processNext(); | ||
42 | bool supportsAllDrives; | ||||
41 | 43 | | |||
42 | QString fileId; | 44 | QString fileId; | ||
43 | ParentReferencesList references; | 45 | ParentReferencesList references; | ||
44 | 46 | | |||
45 | private: | 47 | private: | ||
46 | ParentReferenceCreateJob *q; | 48 | ParentReferenceCreateJob *q; | ||
47 | }; | 49 | }; | ||
48 | 50 | | |||
49 | ParentReferenceCreateJob::Private::Private(ParentReferenceCreateJob *parent): | 51 | ParentReferenceCreateJob::Private::Private(ParentReferenceCreateJob *parent): | ||
52 | supportsAllDrives(true), | ||||
50 | q(parent) | 53 | q(parent) | ||
51 | { | 54 | { | ||
52 | } | 55 | } | ||
53 | 56 | | |||
54 | void ParentReferenceCreateJob::Private::processNext() | 57 | void ParentReferenceCreateJob::Private::processNext() | ||
55 | { | 58 | { | ||
56 | if (references.isEmpty()) { | 59 | if (references.isEmpty()) { | ||
57 | q->emitFinished(); | 60 | q->emitFinished(); | ||
58 | return; | 61 | return; | ||
59 | } | 62 | } | ||
60 | 63 | | |||
61 | const ParentReferencePtr reference = references.takeFirst(); | 64 | const ParentReferencePtr reference = references.takeFirst(); | ||
62 | const QUrl url = DriveService::createParentReferenceUrl(fileId); | 65 | QUrl url = DriveService::createParentReferenceUrl(fileId); | ||
66 | | ||||
67 | QUrlQuery withDriveSupportQuery(url); | ||||
68 | withDriveSupportQuery.addQueryItem(QStringLiteral("supportsAllDrives"), supportsAllDrives ? QStringLiteral("true") : QStringLiteral("false")); | ||||
69 | url.setQuery(withDriveSupportQuery); | ||||
63 | 70 | | |||
64 | QNetworkRequest request; | 71 | QNetworkRequest request; | ||
65 | request.setRawHeader("Authorization", "Bearer " + q->account()->accessToken().toLatin1()); | 72 | request.setRawHeader("Authorization", "Bearer " + q->account()->accessToken().toLatin1()); | ||
66 | request.setUrl(url); | 73 | request.setUrl(url); | ||
67 | 74 | | |||
68 | const QByteArray rawData = ParentReference::toJSON(reference); | 75 | const QByteArray rawData = ParentReference::toJSON(reference); | ||
69 | q->enqueueRequest(request, rawData, QStringLiteral("application/json")); | 76 | q->enqueueRequest(request, rawData, QStringLiteral("application/json")); | ||
70 | } | 77 | } | ||
▲ Show 20 Lines • Show All 44 Lines • ▼ Show 20 Line(s) | 120 | { | |||
115 | d->references << references; | 122 | d->references << references; | ||
116 | } | 123 | } | ||
117 | 124 | | |||
118 | ParentReferenceCreateJob::~ParentReferenceCreateJob() | 125 | ParentReferenceCreateJob::~ParentReferenceCreateJob() | ||
119 | { | 126 | { | ||
120 | delete d; | 127 | delete d; | ||
121 | } | 128 | } | ||
122 | 129 | | |||
130 | bool ParentReferenceCreateJob::supportsAllDrives() const | ||||
131 | { | ||||
132 | return d->supportsAllDrives; | ||||
133 | } | ||||
134 | | ||||
135 | void ParentReferenceCreateJob::setSupportsAllDrives(bool supportsAllDrives) | ||||
136 | { | ||||
137 | d->supportsAllDrives = supportsAllDrives; | ||||
138 | } | ||||
139 | | ||||
123 | void ParentReferenceCreateJob::start() | 140 | void ParentReferenceCreateJob::start() | ||
124 | { | 141 | { | ||
125 | d->processNext(); | 142 | d->processNext(); | ||
126 | } | 143 | } | ||
127 | 144 | | |||
128 | ObjectsList ParentReferenceCreateJob::handleReplyWithItems(const QNetworkReply *reply, | 145 | ObjectsList ParentReferenceCreateJob::handleReplyWithItems(const QNetworkReply *reply, | ||
129 | const QByteArray &rawData) | 146 | const QByteArray &rawData) | ||
130 | { | 147 | { | ||
Show All 18 Lines |