diff options
| author | luigi1111 <luigi1111w@gmail.com> | 2020-09-07 14:44:26 -0500 |
|---|---|---|
| committer | luigi1111 <luigi1111w@gmail.com> | 2020-09-07 14:44:26 -0500 |
| commit | 79a87ca03b2b0378fca9157b718815a3da9bab92 (patch) | |
| tree | b81ac7e9d9b0ab303ff752253a696f1825cd8915 /src/qt | |
| parent | a8eab144e4b5e0a1550595ac44cd8ec0b9d5fa48 (diff) | |
| parent | 380b955bceeae28bdf76ee1dab1cd2b1135d9e3d (diff) | |
| download | monzero-gui-79a87ca03b2b0378fca9157b718815a3da9bab92.tar.gz monzero-gui-79a87ca03b2b0378fca9157b718815a3da9bab92.tar.xz monzero-gui-79a87ca03b2b0378fca9157b718815a3da9bab92.zip | |
Merge pull request #3029
380b955 Downloader: introduce proxyAddress property (xiphon)
Diffstat (limited to 'src/qt')
| -rw-r--r-- | src/qt/downloader.cpp | 20 | ||||
| -rw-r--r-- | src/qt/downloader.h | 6 |
2 files changed, 26 insertions, 0 deletions
diff --git a/src/qt/downloader.cpp b/src/qt/downloader.cpp index d925c77c..25790895 100644 --- a/src/qt/downloader.cpp +++ b/src/qt/downloader.cpp @@ -220,3 +220,23 @@ quint64 Downloader::total() const { return m_httpClient->contentLength(); } + +QString Downloader::proxyAddress() const +{ + QMutexLocker locker(&m_proxyMutex); + return m_proxyAddress; +} + +void Downloader::setProxyAddress(QString address) +{ + m_scheduler.run([this, address] { + if (!m_httpClient->set_proxy(address.toStdString())) + { + qCritical() << "Failed to set proxy address" << address; + } + + QMutexLocker locker(&m_proxyMutex); + m_proxyAddress = address; + emit proxyAddressChanged(); + }); +} diff --git a/src/qt/downloader.h b/src/qt/downloader.h index 418627a5..b60eeeae 100644 --- a/src/qt/downloader.h +++ b/src/qt/downloader.h @@ -38,6 +38,7 @@ class Downloader : public QObject Q_PROPERTY(bool active READ active NOTIFY activeChanged); Q_PROPERTY(quint64 loaded READ loaded NOTIFY loadedChanged); Q_PROPERTY(quint64 total READ total NOTIFY totalChanged); + Q_PROPERTY(QString proxyAddress READ proxyAddress WRITE setProxyAddress NOTIFY proxyAddressChanged) public: Downloader(QObject *parent = nullptr); @@ -51,11 +52,14 @@ signals: void activeChanged() const; void loadedChanged() const; void totalChanged() const; + void proxyAddressChanged() const; private: bool active() const; quint64 loaded() const; quint64 total() const; + QString proxyAddress() const; + void setProxyAddress(QString address); private: bool m_active; @@ -63,5 +67,7 @@ private: std::shared_ptr<HttpClient> m_httpClient; mutable QReadWriteLock m_mutex; Network m_network; + QString m_proxyAddress; + mutable QMutex m_proxyMutex; mutable FutureScheduler m_scheduler; }; |
