From 2501cdf44d79df5af2cdb78f0a79cc69ce602d9b Mon Sep 17 00:00:00 2001 From: Claudio Cambra Date: Fri, 28 Jun 2024 17:51:11 +0800 Subject: [PATCH] Add network proxy setting property to account Signed-off-by: Claudio Cambra --- src/libsync/account.cpp | 14 ++++++++++++++ src/libsync/account.h | 8 ++++++++ 2 files changed, 22 insertions(+) diff --git a/src/libsync/account.cpp b/src/libsync/account.cpp index 1a05650eda..9eb87f8fe1 100644 --- a/src/libsync/account.cpp +++ b/src/libsync/account.cpp @@ -1088,5 +1088,19 @@ void Account::updateDesktopEnterpriseChannel() } } +Account::AccountNetworkProxySetting Account::networkProxySetting() const +{ + return _networkProxySetting; +} + +void Account::setNetworkProxySetting(const AccountNetworkProxySetting setting) +{ + if (setting == _networkProxySetting) { + return; + } + + _networkProxySetting = setting; + emit networkProxySettingChanged(); +} } // namespace OCC diff --git a/src/libsync/account.h b/src/libsync/account.h index 55ff4fc7ba..4864f8075c 100644 --- a/src/libsync/account.h +++ b/src/libsync/account.h @@ -90,6 +90,7 @@ class OWNCLOUDSYNC_EXPORT Account : public QObject Q_PROPERTY(QUrl url MEMBER _url) Q_PROPERTY(bool e2eEncryptionKeysGenerationAllowed MEMBER _e2eEncryptionKeysGenerationAllowed) Q_PROPERTY(bool askUserForMnemonic READ askUserForMnemonic WRITE setAskUserForMnemonic NOTIFY askUserForMnemonicChanged) + Q_PROPERTY(AccountNetworkProxySetting networkProxySetting READ networkProxySetting WRITE setNetworkProxySetting NOTIFY networkProxySettingChanged) public: enum class AccountNetworkProxySetting { @@ -354,6 +355,10 @@ public: void updateServerSubcription(); void updateDesktopEnterpriseChannel(); + // Network-related settings + [[nodiscard]] AccountNetworkProxySetting networkProxySetting() const; + void setNetworkProxySetting(AccountNetworkProxySetting networkProxySetting); + public slots: /// Used when forgetting credentials void clearQNAMCache(); @@ -398,6 +403,8 @@ signals: void lockFileSuccess(); void lockFileError(const QString&); + void networkProxySettingChanged(); + protected Q_SLOTS: void slotCredentialsFetched(); void slotCredentialsAsked(); @@ -473,6 +480,7 @@ private: QHash> _lockStatusChangeInprogress; + AccountNetworkProxySetting _networkProxySetting = AccountNetworkProxySetting::GlobalProxy; /* IMPORTANT - remove later - FIXME MS@2019-12-07 --> * TODO: For "Log out" & "Remove account": Remove client CA certs and KEY! *