From f96fe64bdeb597d854aa35db09a9e11202e7fa45 Mon Sep 17 00:00:00 2001 From: Claudio Cambra Date: Fri, 28 Jun 2024 17:56:45 +0800 Subject: [PATCH] Add download limit setting property to account Signed-off-by: Claudio Cambra --- src/libsync/account.cpp | 15 +++++++++++++++ src/libsync/account.h | 6 ++++++ 2 files changed, 21 insertions(+) diff --git a/src/libsync/account.cpp b/src/libsync/account.cpp index 64743269a7..87dfc96679 100644 --- a/src/libsync/account.cpp +++ b/src/libsync/account.cpp @@ -1208,4 +1208,19 @@ void Account::setUploadLimitSetting(const AccountNetworkTransferLimitSetting set emit uploadLimitSettingChanged(); } +Account::AccountNetworkTransferLimitSetting Account::downloadLimitSetting() const +{ + return _downloadLimitSetting; +} + +void Account::setDownloadLimitSetting(const AccountNetworkTransferLimitSetting setting) +{ + if (setting == _downloadLimitSetting) { + return; + } + + _downloadLimitSetting = setting; + emit downloadLimitSettingChanged(); +} + } // namespace OCC diff --git a/src/libsync/account.h b/src/libsync/account.h index 3dae273165..fdf4d12497 100644 --- a/src/libsync/account.h +++ b/src/libsync/account.h @@ -99,6 +99,7 @@ class OWNCLOUDSYNC_EXPORT Account : public QObject Q_PROPERTY(QString proxyUser READ proxyUser WRITE setProxyUser NOTIFY proxyUserChanged) Q_PROPERTY(QString proxyPassword READ proxyPassword WRITE setProxyPassword NOTIFY proxyPasswordChanged) Q_PROPERTY(AccountNetworkTransferLimitSetting uploadLimitSetting READ uploadLimitSetting WRITE setUploadLimitSetting NOTIFY uploadLimitSettingChanged) + Q_PROPERTY(AccountNetworkTransferLimitSetting downloadLimitSetting READ downloadLimitSetting WRITE setDownloadLimitSetting NOTIFY downloadLimitSettingChanged) public: enum class AccountNetworkProxySetting { @@ -388,6 +389,9 @@ public: [[nodiscard]] AccountNetworkTransferLimitSetting uploadLimitSetting() const; void setUploadLimitSetting(AccountNetworkTransferLimitSetting setting); + [[nodiscard]] AccountNetworkTransferLimitSetting downloadLimitSetting() const; + void setDownloadLimitSetting(AccountNetworkTransferLimitSetting setting); + public slots: /// Used when forgetting credentials void clearQNAMCache(); @@ -440,6 +444,7 @@ signals: void proxyUserChanged(); void proxyPasswordChanged(); void uploadLimitSettingChanged(); + void downloadLimitSettingChanged(); protected Q_SLOTS: void slotCredentialsFetched(); @@ -524,6 +529,7 @@ private: QString _proxyUser; QString _proxyPassword; AccountNetworkTransferLimitSetting _uploadLimitSetting = AccountNetworkTransferLimitSetting::GlobalLimit; + AccountNetworkTransferLimitSetting _downloadLimitSetting = AccountNetworkTransferLimitSetting::GlobalLimit; /* IMPORTANT - remove later - FIXME MS@2019-12-07 --> * TODO: For "Log out" & "Remove account": Remove client CA certs and KEY! *