diff --git a/src/gui/sharelinkwidget.cpp b/src/gui/sharelinkwidget.cpp index 97a6b5ec92..d482f6024e 100644 --- a/src/gui/sharelinkwidget.cpp +++ b/src/gui/sharelinkwidget.cpp @@ -41,7 +41,8 @@ ShareLinkWidget::ShareLinkWidget(AccountPtr account, _manager(NULL), _share(NULL), _resharingAllowed(resharingAllowed), - _autoShare(autoShare) + _autoShare(autoShare), + _passwordRequired(false) { _ui->setupUi(this); @@ -116,6 +117,7 @@ ShareLinkWidget::ShareLinkWidget(AccountPtr account, // If password is enforced then don't allow users to disable it if (_account->capabilities().sharePublicLinkEnforcePassword()) { _ui->checkBox_password->setEnabled(false); + _passwordRequired = true; } // If expiredate is enforced do not allow disable and set max days @@ -234,7 +236,9 @@ void ShareLinkWidget::slotSharesFetched(const QList> &shar _ui->widget_shareLink->show(); _ui->checkBox_shareLink->setChecked(true); - _ui->checkBox_password->setEnabled(true); + if (!_passwordRequired) { + _ui->checkBox_password->setEnabled(true); + } if (_share->isPasswordSet()) { _ui->lineEdit_password->setEnabled(true); _ui->checkBox_password->setChecked(true); @@ -419,6 +423,8 @@ void ShareLinkWidget::slotCreateShareRequiresPassword() _ui->checkBox_expire->setEnabled(false); _ui->checkBox_editing->setEnabled(false); + _passwordRequired = true; + slotCheckBoxPasswordClicked(); } diff --git a/src/gui/sharelinkwidget.h b/src/gui/sharelinkwidget.h index d6950b37f0..3f0cd54bb4 100644 --- a/src/gui/sharelinkwidget.h +++ b/src/gui/sharelinkwidget.h @@ -107,6 +107,7 @@ private: bool _resharingAllowed; bool _isFile; bool _autoShare; + bool _passwordRequired; }; }