Changeset View
Changeset View
Standalone View
Standalone View
src/drive/filefetchjob.cpp
Show All 34 Lines | |||||
35 | using namespace KGAPI2; | 35 | using namespace KGAPI2; | ||
36 | using namespace KGAPI2::Drive; | 36 | using namespace KGAPI2::Drive; | ||
37 | 37 | | |||
38 | class Q_DECL_HIDDEN FileFetchJob::Private | 38 | class Q_DECL_HIDDEN FileFetchJob::Private | ||
39 | { | 39 | { | ||
40 | public: | 40 | public: | ||
41 | Private(FileFetchJob *parent); | 41 | Private(FileFetchJob *parent); | ||
42 | void processNext(); | 42 | void processNext(); | ||
43 | QNetworkRequest createRequest(const QUrl &url); | | |||
44 | QStringList fieldsToStrings(qulonglong fields); | 43 | QStringList fieldsToStrings(qulonglong fields); | ||
45 | 44 | | |||
46 | FileSearchQuery searchQuery; | 45 | FileSearchQuery searchQuery; | ||
47 | QStringList filesIDs; | 46 | QStringList filesIDs; | ||
48 | bool isFeed; | 47 | bool isFeed; | ||
49 | bool includeItemsFromAllDrives; | 48 | bool includeItemsFromAllDrives; | ||
50 | bool supportsAllDrives; | 49 | bool supportsAllDrives; | ||
51 | 50 | | |||
Show All 10 Lines | 59 | FileFetchJob::Private::Private(FileFetchJob *parent): | |||
62 | includeItemsFromAllDrives(true), | 61 | includeItemsFromAllDrives(true), | ||
63 | supportsAllDrives(true), | 62 | supportsAllDrives(true), | ||
64 | updateViewedDate(false), | 63 | updateViewedDate(false), | ||
65 | fields(FileFetchJob::AllFields), | 64 | fields(FileFetchJob::AllFields), | ||
66 | q(parent) | 65 | q(parent) | ||
67 | { | 66 | { | ||
68 | } | 67 | } | ||
69 | 68 | | |||
70 | QNetworkRequest FileFetchJob::Private::createRequest(const QUrl &url) | | |||
71 | { | | |||
72 | QNetworkRequest request; | | |||
73 | request.setUrl(url); | | |||
74 | request.setRawHeader("Authorization", "Bearer " + q->account()->accessToken().toLatin1()); | | |||
75 | | ||||
76 | return request; | | |||
77 | } | | |||
78 | 69 | | |||
79 | QStringList FileFetchJob::Private::fieldsToStrings(qulonglong fields) | 70 | QStringList FileFetchJob::Private::fieldsToStrings(qulonglong fields) | ||
80 | { | 71 | { | ||
81 | if (fields & AllFields) { | 72 | if (fields & AllFields) { | ||
82 | return QStringList(); | 73 | return QStringList(); | ||
83 | } | 74 | } | ||
84 | 75 | | |||
85 | QStringList fieldsStrings; | 76 | QStringList fieldsStrings; | ||
▲ Show 20 Lines • Show All 175 Lines • ▼ Show 20 Line(s) | 248 | if (fields != FileFetchJob::AllFields) { | |||
261 | url.setQuery(query); | 252 | url.setQuery(query); | ||
262 | } | 253 | } | ||
263 | } | 254 | } | ||
264 | 255 | | |||
265 | QUrlQuery withDriveSupportQuery(url); | 256 | QUrlQuery withDriveSupportQuery(url); | ||
266 | withDriveSupportQuery.addQueryItem(QStringLiteral("supportsAllDrives"), supportsAllDrives ? QStringLiteral("true") : QStringLiteral("false")); | 257 | withDriveSupportQuery.addQueryItem(QStringLiteral("supportsAllDrives"), supportsAllDrives ? QStringLiteral("true") : QStringLiteral("false")); | ||
267 | url.setQuery(withDriveSupportQuery); | 258 | url.setQuery(withDriveSupportQuery); | ||
268 | 259 | | |||
269 | q->enqueueRequest(createRequest(url)); | 260 | QNetworkRequest request(url); | ||
261 | q->enqueueRequest(request); | ||||
270 | } | 262 | } | ||
271 | 263 | | |||
272 | FileFetchJob::FileFetchJob(const QString &fileId, | 264 | FileFetchJob::FileFetchJob(const QString &fileId, | ||
273 | const AccountPtr &account, QObject *parent): | 265 | const AccountPtr &account, QObject *parent): | ||
274 | FetchJob(account, parent), | 266 | FetchJob(account, parent), | ||
275 | d(new Private(this)) | 267 | d(new Private(this)) | ||
276 | { | 268 | { | ||
277 | d->filesIDs << fileId; | 269 | d->filesIDs << fileId; | ||
▲ Show 20 Lines • Show All 89 Lines • ▼ Show 20 Line(s) | 355 | { | |||
367 | ContentType ct = Utils::stringToContentType(contentType); | 359 | ContentType ct = Utils::stringToContentType(contentType); | ||
368 | if (ct == KGAPI2::JSON) { | 360 | if (ct == KGAPI2::JSON) { | ||
369 | if (d->isFeed) { | 361 | if (d->isFeed) { | ||
370 | FeedData feedData; | 362 | FeedData feedData; | ||
371 | 363 | | |||
372 | items << File::fromJSONFeed(rawData, feedData); | 364 | items << File::fromJSONFeed(rawData, feedData); | ||
373 | 365 | | |||
374 | if (feedData.nextPageUrl.isValid()) { | 366 | if (feedData.nextPageUrl.isValid()) { | ||
375 | const QNetworkRequest request = d->createRequest(feedData.nextPageUrl); | 367 | QNetworkRequest request(feedData.nextPageUrl); | ||
376 | enqueueRequest(request); | 368 | enqueueRequest(request); | ||
377 | } | 369 | } | ||
378 | 370 | | |||
379 | } else { | 371 | } else { | ||
380 | items << File::fromJSON(rawData); | 372 | items << File::fromJSON(rawData); | ||
381 | 373 | | |||
382 | d->processNext(); | 374 | d->processNext(); | ||
383 | } | 375 | } | ||
Show All 11 Lines |