[Pkg-owncloud-commits] [owncloud-client] 62/484: Extended capabilities API
Sandro Knauß
hefee-guest at moszumanska.debian.org
Wed Dec 16 00:37:13 UTC 2015
This is an automated email from the git hooks/post-receive script.
hefee-guest pushed a commit to branch master
in repository owncloud-client.
commit 4a7242c8f9d99700c5f64ee3aba6b29d025339f0
Author: Roeland Jago Douma <rullzer at owncloud.com>
Date: Tue Oct 6 09:07:45 2015 +0200
Extended capabilities API
* Naming of capabilities is now a bit more consistent
---
src/gui/sharedialog.cpp | 8 ++++----
src/libsync/capabilities.cpp | 26 +++++++++++++++++++++++---
src/libsync/capabilities.h | 9 ++++++---
3 files changed, 33 insertions(+), 10 deletions(-)
diff --git a/src/gui/sharedialog.cpp b/src/gui/sharedialog.cpp
index bcfe169..f1775fe 100644
--- a/src/gui/sharedialog.cpp
+++ b/src/gui/sharedialog.cpp
@@ -143,15 +143,15 @@ ShareDialog::ShareDialog(AccountPtr account, const QString &sharePath, const QSt
// Parse capabilities
// If password is enforced then don't allow users to disable it
- if (_account->capabilities().publicLinkEnforcePassword()) {
+ if (_account->capabilities().sharePublicLinkEnforcePassword()) {
_ui->checkBox_password->setEnabled(false);
}
// If expiredate is enforced do not allow disable and set max days
- if (_account->capabilities().publicLinkEnforceExpireDate()) {
+ if (_account->capabilities().sharePublicLinkEnforceExpireDate()) {
_ui->checkBox_expire->setEnabled(false);
_ui->calendar->setMaximumDate(QDate::currentDate().addDays(
- _account->capabilities().publicLinkExpireDateDays()
+ _account->capabilities().sharePublicLinkExpireDateDays()
));
}
}
@@ -466,7 +466,7 @@ void ShareDialog::slotCheckBoxShareLinkClicked()
* Check the capabilities if the server requires a password for a share
* Ask for it directly
*/
- if (_account->capabilities().publicLinkEnforcePassword()) {
+ if (_account->capabilities().sharePublicLinkEnforcePassword()) {
_pi_link->stopAnimation();
_ui->checkBox_password->setChecked(true);
_ui->checkBox_password->setEnabled(false);
diff --git a/src/libsync/capabilities.cpp b/src/libsync/capabilities.cpp
index 5b826d7..e477b9f 100644
--- a/src/libsync/capabilities.cpp
+++ b/src/libsync/capabilities.cpp
@@ -23,21 +23,41 @@ Capabilities::Capabilities(const QVariantMap &capabilities)
{
}
-bool Capabilities::publicLinkEnforcePassword() const
+bool Capabilities::shareAPI() const
+{
+ if (_capabilities["files_sharing"].toMap().contains("api_enabled")) {
+ return _capabilities["files_sharing"].toMap()["api_enabled"].toBool();
+ } else {
+ // This was later added so if it is not present just assume the API is enabled.
+ return true;
+ }
+}
+
+bool Capabilities::sharePublicLink() const
+{
+ return _capabilities["files_sharing"].toMap()["public"].toMap()["enabled"].toBool();
+}
+
+bool Capabilities::sharePublicLinkEnforcePassword() const
{
return _capabilities["files_sharing"].toMap()["public"].toMap()["password"].toMap()["enforced"].toBool();
}
-bool Capabilities::publicLinkEnforceExpireDate() const
+bool Capabilities::sharePublicLinkEnforceExpireDate() const
{
return _capabilities["files_sharing"].toMap()["public"].toMap()["expire_date"].toMap()["enforced"].toBool();
}
-int Capabilities::publicLinkExpireDateDays() const
+int Capabilities::sharePublicLinkExpireDateDays() const
{
return _capabilities["files_sharing"].toMap()["public"].toMap()["expire_date"].toMap()["days"].toInt();
}
+bool Capabilities::shareResharing() const
+{
+ return _capabilities["files_sharing"].toMap()["resharing"].toBool();
+}
+
QStringList Capabilities::supportedChecksumTypes() const
{
return QStringList();
diff --git a/src/libsync/capabilities.h b/src/libsync/capabilities.h
index eb38572..51fb8e7 100644
--- a/src/libsync/capabilities.h
+++ b/src/libsync/capabilities.h
@@ -32,9 +32,12 @@ class OWNCLOUDSYNC_EXPORT Capabilities {
public:
Capabilities(const QVariantMap &capabilities);
- bool publicLinkEnforcePassword() const;
- bool publicLinkEnforceExpireDate() const;
- int publicLinkExpireDateDays() const;
+ bool shareAPI() const;
+ bool sharePublicLink() const;
+ bool sharePublicLinkEnforcePassword() const;
+ bool sharePublicLinkEnforceExpireDate() const;
+ int sharePublicLinkExpireDateDays() const;
+ bool shareResharing() const;
QStringList supportedChecksumTypes() const;
private:
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/owncloud-client.git
More information about the Pkg-owncloud-commits
mailing list