From 627bc66fba6fcf06a43c16f29e65af51bffc3ead Mon Sep 17 00:00:00 2001 From: caixiangrong Date: Fri, 19 Jul 2024 10:52:47 +0800 Subject: [PATCH] fix: Responding to proxy change signals Responding to proxy change signals Issue: https://github.com/linuxdeepin/developer-center/issues/9711 --- dcc-network-plugin/window/sysproxymodule.cpp | 3 ++- src/networkdbusproxy.h | 1 + src/proxycontroller.cpp | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/dcc-network-plugin/window/sysproxymodule.cpp b/dcc-network-plugin/window/sysproxymodule.cpp index 979f3195..e7906261 100644 --- a/dcc-network-plugin/window/sysproxymodule.cpp +++ b/dcc-network-plugin/window/sysproxymodule.cpp @@ -44,10 +44,11 @@ SysProxyModule::SysProxyModule(QObject *parent) proxySwitch->setLeftWidget(lblTitle); proxySwitch->switchButton()->setAccessibleName(lblTitle->text()); - auto updateSwitch = [proxySwitch]() { + auto updateSwitch = [proxySwitch, this]() { ProxyMethod method = NetworkController::instance()->proxyController()->proxyMethod(); proxySwitch->blockSignals(true); proxySwitch->setChecked(method != ProxyMethod::None); + uiMethodChanged(method); proxySwitch->blockSignals(false); }; updateSwitch(); diff --git a/src/networkdbusproxy.h b/src/networkdbusproxy.h index 11af97e9..0371920f 100644 --- a/src/networkdbusproxy.h +++ b/src/networkdbusproxy.h @@ -63,6 +63,7 @@ class NetworkDBusProxy : public QObject void ActiveConnectionInfoChanged(); void DeviceEnabled(const QString &device, bool enabled); void IPConflict(const QString &in0, const QString &in1); + void ProxyMethodChanged(const QString &method); // begin property changed signals void ActiveConnectionsChanged(const QString &value) const; void ConnectionsChanged(const QString &value) const; diff --git a/src/proxycontroller.cpp b/src/proxycontroller.cpp index 62ec619d..b2ddf6de 100644 --- a/src/proxycontroller.cpp +++ b/src/proxycontroller.cpp @@ -25,6 +25,7 @@ ProxyController::ProxyController(NetworkDBusProxy *networkInter, QObject *parent connect(m_networkInter, &NetworkDBusProxy::TypeChanged, this, &ProxyController::onTypeChanged); connect(m_networkInter, &NetworkDBusProxy::UserChanged, this, &ProxyController::onUserChanged); connect(m_networkInter, &NetworkDBusProxy::PortChanged, this, &ProxyController::onPortChanged); + connect(m_networkInter, &NetworkDBusProxy::ProxyMethodChanged, this, &ProxyController::queryProxyMethod); // 初始化应用代理的相关的数据 m_appProxyConfig.type = appProxyType(m_networkInter->type()); m_appProxyConfig.ip = m_networkInter->iP();