From 3776a04206610a90b527e8ba5b65ec12e97f7bf3 Mon Sep 17 00:00:00 2001 From: Roeland Jago Douma Date: Thu, 5 Mar 2020 10:44:06 +0100 Subject: [PATCH] Allow sharing to circles Signed-off-by: Roeland Jago Douma --- src/gui/sharee.cpp | 15 +++++++++++++++ src/gui/sharee.h | 3 ++- src/gui/sharemanager.h | 3 ++- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/gui/sharee.cpp b/src/gui/sharee.cpp index b5fc11d3e..035a51411 100644 --- a/src/gui/sharee.cpp +++ b/src/gui/sharee.cpp @@ -40,6 +40,8 @@ QString Sharee::format() const formatted += QLatin1String(" (group)"); } else if (_type == Type::Federated) { formatted += QLatin1String(" (remote)"); + } else if (_type == Type::Circle) { + formatted += QLatin1String(" (circle)"); } return formatted; @@ -92,14 +94,21 @@ void ShareeModel::shareesFetched(const QJsonDocument &reply) foreach (auto user, users) { newSharees.append(parseSharee(user.toObject())); } + auto groups = exact.value("groups").toArray(); foreach (auto group, groups) { newSharees.append(parseSharee(group.toObject())); } + auto remotes = exact.value("remotes").toArray(); foreach (auto remote, remotes) { newSharees.append(parseSharee(remote.toObject())); } + + auto circles = exact.value("circles").toArray(); + foreach (auto circle, circles) { + newSharees.append(parseSharee(circle.toObject())); + } } { @@ -120,6 +129,12 @@ void ShareeModel::shareesFetched(const QJsonDocument &reply) newSharees.append(parseSharee(remote.toObject())); } } + { + auto circles = data.value("circles").toArray(); + foreach (auto circle, circles) { + newSharees.append(parseSharee(circle.toObject())); + } + } // Filter sharees that we have already shared with QVector> filteredSharees; diff --git a/src/gui/sharee.h b/src/gui/sharee.h index 6b56642e8..690ec0047 100644 --- a/src/gui/sharee.h +++ b/src/gui/sharee.h @@ -40,7 +40,8 @@ public: enum Type { User = 0, Group = 1, - Federated = 6 + Federated = 6, + Circle = 7 }; explicit Sharee(const QString shareWith, diff --git a/src/gui/sharemanager.h b/src/gui/sharemanager.h index 08de75f59..a7a7a718c 100644 --- a/src/gui/sharemanager.h +++ b/src/gui/sharemanager.h @@ -44,7 +44,8 @@ public: TypeUser = Sharee::User, TypeGroup = Sharee::Group, TypeLink = 3, - TypeRemote = Sharee::Federated + TypeRemote = Sharee::Federated, + TypeCircle = Sharee::Circle }; typedef SharePermissions Permissions; -- 2.30.2