From: Christian Kamm Date: Fri, 21 Apr 2017 12:08:00 +0000 (+0200) Subject: Sharing multiple public links: Depend on new capability X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~766 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=05236f0a7afd1ae316fc5cbe4ea8032a061fb2a2;p=nextcloud-desktop.git Sharing multiple public links: Depend on new capability See owncloud/core#27709: files_sharing/public/multiple --- diff --git a/src/gui/sharelinkwidget.cpp b/src/gui/sharelinkwidget.cpp index ddd3e3fe1..5413cc555 100644 --- a/src/gui/sharelinkwidget.cpp +++ b/src/gui/sharelinkwidget.cpp @@ -93,11 +93,11 @@ ShareLinkWidget::ShareLinkWidget(AccountPtr account, } // Older servers don't support multiple public link shares - // TODO: Tying to the server version isn't nice, see owncloud/core#27622 - if (_account->serverVersionInt() < Account::makeServerVersion(10, 0, 0)) { + if (!_account->capabilities().sharePublicLinkMultiple()) { _namesSupported = false; - _ui->nameLineEdit->hide(); _ui->createShareButton->setText(tr("Create public link share")); + _ui->nameLineEdit->hide(); + _ui->nameLineEdit->clear(); // so we don't send a name } _ui->shareProperties->setEnabled(false); diff --git a/src/libsync/capabilities.cpp b/src/libsync/capabilities.cpp index cee5f1aeb..3721ad406 100644 --- a/src/libsync/capabilities.cpp +++ b/src/libsync/capabilities.cpp @@ -67,6 +67,11 @@ int Capabilities::sharePublicLinkExpireDateDays() const return _capabilities["files_sharing"].toMap()["public"].toMap()["expire_date"].toMap()["days"].toInt(); } +bool Capabilities::sharePublicLinkMultiple() const +{ + return _capabilities["files_sharing"].toMap()["public"].toMap()["multiple"].toBool(); +} + bool Capabilities::shareResharing() const { return _capabilities["files_sharing"].toMap()["resharing"].toBool(); diff --git a/src/libsync/capabilities.h b/src/libsync/capabilities.h index e3d8c013c..56ef6f622 100644 --- a/src/libsync/capabilities.h +++ b/src/libsync/capabilities.h @@ -39,6 +39,7 @@ public: bool sharePublicLinkEnforcePassword() const; bool sharePublicLinkEnforceExpireDate() const; int sharePublicLinkExpireDateDays() const; + bool sharePublicLinkMultiple() const; bool shareResharing() const; bool chunkingNg() const;