Add upload limit property to account

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
This commit is contained in:
Claudio Cambra 2024-06-28 17:57:07 +08:00
parent f96fe64bde
commit d06e8b1d4e
No known key found for this signature in database
GPG Key ID: C839200C384636B0
2 changed files with 22 additions and 0 deletions

View File

@ -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

View File

@ -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!
*