From: Camila Ayres Date: Thu, 17 Oct 2024 16:40:06 +0000 (+0200) Subject: Save serverHasValidsubcription in the account. X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~12^2~5^2~75^2~5 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=d0f87c3496740ee083060b394676200cd5948ed0;p=nextcloud-desktop.git Save serverHasValidsubcription in the account. Signed-off-by: Camila Ayres --- diff --git a/src/gui/accountmanager.cpp b/src/gui/accountmanager.cpp index f934e1cdb..95baf7a21 100644 --- a/src/gui/accountmanager.cpp +++ b/src/gui/accountmanager.cpp @@ -338,7 +338,7 @@ void AccountManager::saveAccountHelper(Account *acc, QSettings &settings, bool s settings.setValue(QLatin1String(serverVersionC), acc->_serverVersion); settings.setValue(QLatin1String(serverColorC), acc->_serverColor); settings.setValue(QLatin1String(serverTextColorC), acc->_serverTextColor); - settings.setValue(QLatin1String(serverHasValidSubscriptionC), acc->capabilities().serverHasValidSubscription()); + settings.setValue(QLatin1String(serverHasValidSubscriptionC), acc->serverHasValidSubscription()); if (!acc->_skipE2eeMetadataChecksumValidation) { settings.remove(QLatin1String(skipE2eeMetadataChecksumValidationC)); diff --git a/src/libsync/account.cpp b/src/libsync/account.cpp index cb4cc5166..9394e672c 100644 --- a/src/libsync/account.cpp +++ b/src/libsync/account.cpp @@ -1076,13 +1076,28 @@ void Account::setAskUserForMnemonic(const bool ask) emit askUserForMnemonicChanged(); } +bool Account::serverHasValidSubscription() const +{ + return _serverHasValidSubscription; +} + +void Account::setServerHasValidSubscription(bool valid) +{ + if (_serverHasValidSubscription != valid) { + _serverHasValidSubscription = valid; + } +} + void Account::updateServerSubcription() { ConfigFile currentConfig; - if (const auto serverHasValidSubscription = _capabilities.serverHasValidSubscription(); - serverHasValidSubscription != currentConfig.serverHasValidSubscription() && !serverHasValidSubscription) { - currentConfig.setServerHasValidSubscription(serverHasValidSubscription); + const auto capabilityValidSubscription = _capabilities.serverHasValidSubscription(); + const auto configValidSubscription = currentConfig.serverHasValidSubscription(); + if (capabilityValidSubscription != configValidSubscription && !configValidSubscription) { + currentConfig.setServerHasValidSubscription(capabilityValidSubscription); } + + setServerHasValidSubscription(capabilityValidSubscription); } void Account::updateDesktopEnterpriseChannel() diff --git a/src/libsync/account.h b/src/libsync/account.h index 92a132ef6..6333164ad 100644 --- a/src/libsync/account.h +++ b/src/libsync/account.h @@ -409,6 +409,9 @@ public: [[nodiscard]] unsigned int downloadLimit() const; void setDownloadLimit(unsigned int kbytes); + [[nodiscard]] bool serverHasValidSubscription() const; + void setServerHasValidSubscription(bool valid); + public slots: /// Used when forgetting credentials void clearQNAMCache(); @@ -553,6 +556,8 @@ private: unsigned int _uploadLimit = 0; unsigned int _downloadLimit = 0; + bool _serverHasValidSubscription = false; + /* IMPORTANT - remove later - FIXME MS@2019-12-07 --> * TODO: For "Log out" & "Remove account": Remove client CA certs and KEY! *