diff --git a/src/libsync/account.cpp b/src/libsync/account.cpp index 87dfc96679..42f46c250f 100644 --- a/src/libsync/account.cpp +++ b/src/libsync/account.cpp @@ -1223,4 +1223,19 @@ void Account::setDownloadLimitSetting(const AccountNetworkTransferLimitSetting s emit downloadLimitSettingChanged(); } +unsigned int Account::uploadLimit() const +{ + return _uploadLimit; +} + +void Account::setUploadLimit(const unsigned int limit) +{ + if (_uploadLimit == limit) { + return; + } + + _uploadLimit = limit; + emit uploadLimitChanged(); +} + } // namespace OCC diff --git a/src/libsync/account.h b/src/libsync/account.h index fdf4d12497..e50df0f486 100644 --- a/src/libsync/account.h +++ b/src/libsync/account.h @@ -100,6 +100,7 @@ class OWNCLOUDSYNC_EXPORT Account : public QObject 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) + Q_PROPERTY(unsigned int uploadLimit READ uploadLimit WRITE setUploadLimit NOTIFY uploadLimitChanged) public: enum class AccountNetworkProxySetting { @@ -392,6 +393,10 @@ public: [[nodiscard]] AccountNetworkTransferLimitSetting downloadLimitSetting() const; void setDownloadLimitSetting(AccountNetworkTransferLimitSetting setting); + /** in kbyte/s */ + [[nodiscard]] unsigned int uploadLimit() const; + void setUploadLimit(unsigned int kbytes); + public slots: /// Used when forgetting credentials void clearQNAMCache(); @@ -445,6 +450,7 @@ signals: void proxyPasswordChanged(); void uploadLimitSettingChanged(); void downloadLimitSettingChanged(); + void uploadLimitChanged(); protected Q_SLOTS: void slotCredentialsFetched(); @@ -530,6 +536,7 @@ private: QString _proxyPassword; AccountNetworkTransferLimitSetting _uploadLimitSetting = AccountNetworkTransferLimitSetting::GlobalLimit; AccountNetworkTransferLimitSetting _downloadLimitSetting = AccountNetworkTransferLimitSetting::GlobalLimit; + unsigned int _uploadLimit = 0; /* IMPORTANT - remove later - FIXME MS@2019-12-07 --> * TODO: For "Log out" & "Remove account": Remove client CA certs and KEY! *