summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'kde-misc/kio-gdrive/files/kio-gdrive-1.2.6-libkgapi-19.08-1.patch')
-rw-r--r--kde-misc/kio-gdrive/files/kio-gdrive-1.2.6-libkgapi-19.08-1.patch120
1 files changed, 120 insertions, 0 deletions
diff --git a/kde-misc/kio-gdrive/files/kio-gdrive-1.2.6-libkgapi-19.08-1.patch b/kde-misc/kio-gdrive/files/kio-gdrive-1.2.6-libkgapi-19.08-1.patch
new file mode 100644
index 000000000000..03352081b73f
--- /dev/null
+++ b/kde-misc/kio-gdrive/files/kio-gdrive-1.2.6-libkgapi-19.08-1.patch
@@ -0,0 +1,120 @@
+From 01ec4d87b2e28de5eb3c23ec469c6c746f573520 Mon Sep 17 00:00:00 2001
+From: David Barchiesi <david@barchie.si>
+Date: Sun, 19 May 2019 12:38:24 +0200
+Subject: Adapt to LibKGAPI setFields() changes.
+
+Summary:
+In the next release, LibKGAPI has changed the way it sets fields in `FileFetchJob` and in general allows setting response fields for all `Job`s (see [[ https://phabricator.kde.org/D20886 | D20886 Add fields standard query parameter to Job and use it in FileFetchJob ]]).
+
+This patch adjusts KIO Gdrive to this change and limits the response in `AboutFetchJob`s.
+
+Reviewers: dvratil, elvisangelaccio
+
+Subscribers: #libkgapi, #kio_gdrive
+
+Tags: #kio_gdrive, #libkgapi
+
+Differential Revision: https://phabricator.kde.org/D20888
+---
+ CMakeLists.txt | 2 +-
+ src/kio_gdrive.cpp | 30 ++++++++++++++++++------------
+ 2 files changed, 19 insertions(+), 13 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a830925..680ae3e 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -5,7 +5,7 @@ project(kio-gdrive VERSION ${GDRIVE_VERSION})
+
+ set(QT_MIN_VERSION 5.2.0)
+ set(KF5_MIN_VERSION 5.14.0)
+-set(KGAPI_MIN_VERSION 5.5.0)
++set(KGAPI_MIN_VERSION 5.11.41)
+ set(KACCOUNTS_MIN_VERSION 17.04.0)
+ set(QTKEYCHAIN_MIN_VERSION 0.6.0)
+
+diff --git a/src/kio_gdrive.cpp b/src/kio_gdrive.cpp
+index 9ab146f..e01fef6 100644
+--- a/src/kio_gdrive.cpp
++++ b/src/kio_gdrive.cpp
+@@ -146,6 +146,12 @@ void KIOGDrive::fileSystemFreeSpace(const QUrl &url)
+ }
+ if (!gdriveUrl.isRoot()) {
+ AboutFetchJob aboutFetch(getAccount(accountId));
++ aboutFetch.setFields({
++ About::Fields::Kind,
++ About::Fields::QuotaBytesTotal,
++ About::Fields::QuotaBytesUsedAggregate,
++ About::Fields::CanCreateTeamDrives,
++ });
+ if (runJob(aboutFetch, url, accountId)) {
+ const AboutPtr about = aboutFetch.aboutData();
+ if (about) {
+@@ -379,7 +385,7 @@ QString KIOGDrive::resolveFileIdFromPath(const QString &path, PathFlags flags)
+
+ const QString accountId = gdriveUrl.account();
+ FileFetchJob fetchJob(query, getAccount(accountId));
+- fetchJob.setFields(FileFetchJob::Id | FileFetchJob::Title | FileFetchJob::Labels);
++ fetchJob.setFields({File::Fields::Id, File::Fields::Title, File::Fields::Labels});
+ if (!runJob(fetchJob, url, accountId)) {
+ return QString();
+ }
+@@ -404,6 +410,7 @@ QString KIOGDrive::rootFolderId(const QString &accountId)
+ auto it = m_rootIds.constFind(accountId);
+ if (it == m_rootIds.cend()) {
+ AboutFetchJob aboutFetch(getAccount(accountId));
++ aboutFetch.setFields({About::Fields::Kind, About::Fields::RootFolderId});
+ QUrl url;
+ if (!runJob(aboutFetch, url, accountId)) {
+ return QString();
+@@ -455,10 +462,13 @@ void KIOGDrive::listDir(const QUrl &url)
+ query.addQuery(FileSearchQuery::Trashed, FileSearchQuery::Equals, false);
+ query.addQuery(FileSearchQuery::Parents, FileSearchQuery::In, folderId);
+ FileFetchJob fileFetchJob(query, getAccount(accountId));
+- fileFetchJob.setFields((FileFetchJob::BasicFields & ~FileFetchJob::Permissions)
+- | FileFetchJob::Labels
+- | FileFetchJob::ExportLinks
+- | FileFetchJob::LastViewedByMeDate);
++ const auto extraFields =
++ KGAPI2::Drive::FileFetchJob::FieldShorthands::BasicFields +
++ QStringList({ KGAPI2::Drive::File::Fields::Labels,
++ KGAPI2::Drive::File::Fields::ExportLinks,
++ KGAPI2::Drive::File::Fields::LastViewedByMeDate,
++ });
++ fileFetchJob.setFields(KGAPI2::Drive::FileFetchJob::FieldShorthands::BasicFields + extraFields);
+ runJob(fileFetchJob, url, accountId);
+
+ ObjectsList objects = fileFetchJob.items();
+@@ -607,10 +617,7 @@ void KIOGDrive::get(const QUrl &url)
+ }
+
+ FileFetchJob fileFetchJob(fileId, getAccount(accountId));
+- fileFetchJob.setFields(FileFetchJob::Id
+- | FileFetchJob::MimeType
+- | FileFetchJob::ExportLinks
+- | FileFetchJob::DownloadUrl);
++ fileFetchJob.setFields({File::Fields::Id, File::Fields::MimeType, File::Fields::ExportLinks, File::Fields::DownloadUrl});
+ runJob(fileFetchJob, url, accountId);
+
+ const ObjectsList objects = fileFetchJob.items();
+@@ -866,8 +873,7 @@ void KIOGDrive::copy(const QUrl &src, const QUrl &dest, int permissions, KIO::Jo
+ return;
+ }
+ FileFetchJob sourceFileFetchJob(sourceFileId, getAccount(sourceAccountId));
+- sourceFileFetchJob.setFields(FileFetchJob::Id | FileFetchJob::ModifiedDate |
+- FileFetchJob::LastViewedByMeDate | FileFetchJob::Description);
++ sourceFileFetchJob.setFields({File::Fields::Id, File::Fields::ModifiedDate, File::Fields::LastViewedByMeDate, File::Fields::Description});
+ runJob(sourceFileFetchJob, src, sourceAccountId);
+
+ const ObjectsList objects = sourceFileFetchJob.items();
+@@ -1086,7 +1092,7 @@ void KIOGDrive::mimetype(const QUrl &url)
+ const QString accountId = GDriveUrl(url).account();
+
+ FileFetchJob fileFetchJob(fileId, getAccount(accountId));
+- fileFetchJob.setFields(FileFetchJob::Id | FileFetchJob::MimeType);
++ fileFetchJob.setFields({File::Fields::Id, File::Fields::MimeType});
+ runJob(fileFetchJob, url, accountId);
+
+ const ObjectsList objects = fileFetchJob.items();
+--
+cgit v1.1