From 9cf952d3f09cc13b742e7e2e4446df044f2af232 Mon Sep 17 00:00:00 2001 From: Wu JiangYu Date: Wed, 9 Sep 2026 13:46:09 +0800 Subject: [PATCH] feat: enable primary connection type tracking MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. Implemented primaryConnectionType() getter to return tracked connection type 2. Initialized m_primaryConnectionType to Wired in constructor 3. Enabled updatePrimaryConnectionType() method with signal emission 4. Added m_primaryConnectionType member in private data class Log: 新增主连接类型跟踪功能 Influence: 1. Test primaryConnectionType() returns default Wired at initialization 2. Verify updatePrimaryConnectionType() correctly updates when connection changes 3. Test primaryConnectionTypeChanged signal is emitted with new connection type 4. Test different connection types (Wired, Wireless, etc.) in various network scenarios 5. Verify no regression in airplane mode functionality feat: 启用主连接类型跟踪功能 1. 实现 primaryConnectionType() 查询当前跟踪的连接类型 2. 在构造函数中将 m_primaryConnectionType 初始化为有线连接 3. 启用 updatePrimaryConnectionType() 方法并支持信号发射 4. 在私有数据类中添加 m_primaryConnectionType 成员变量 Log: 新增主连接类型跟踪功能 Influence: 1. 测试 primaryConnectionType() 在初始化时返回默认的有线类型 2. 验证 updatePrimaryConnectionType() 在连接状态变化时正确更新 3. 测试 primaryConnectionTypeChanged 信号在连接类型变化时正确发射 4. 在各种网络场景下测试不同连接类型(有线、无线等)的区分 5. 验证飞行模式功能无回归问题 PMS: BUG-375223 --- net-view/operation/netmanager.cpp | 15 ++++++++------- net-view/operation/private/netmanager_p.h | 2 +- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/net-view/operation/netmanager.cpp b/net-view/operation/netmanager.cpp index ef9969258..65e4417af 100644 --- a/net-view/operation/netmanager.cpp +++ b/net-view/operation/netmanager.cpp @@ -83,7 +83,8 @@ NetItem *NetManager::root() const NetManager::ConnectionType NetManager::primaryConnectionType() const { - return Unknown; + Q_D(const NetManager); + return d->m_primaryConnectionType; } /** @@ -208,7 +209,7 @@ NetManagerPrivate::NetManagerPrivate(NetManager *manager) , m_deleteItem(NetItemNew(Item, "trash")) , m_isDeleting(false) , m_airplaneMode(false) - // , m_primaryConnectionType(NetManager::ConnectionType::Wired) + , m_primaryConnectionType(NetManager::ConnectionType::Wired) , m_monitorNetworkNotify(false) , m_secretAgent(false) , m_autoAddConnection(false) @@ -1045,11 +1046,11 @@ void NetManagerPrivate::updateAirplaneMode(bool enabled) void NetManagerPrivate::updatePrimaryConnectionType(NetManager::ConnectionType type) { - // if (m_primaryConnectionType != type) { - // m_primaryConnectionType = type; - // Q_Q(NetManager); - // Q_EMIT q->primaryConnectionTypeChanged(m_primaryConnectionType); - // } + if (m_primaryConnectionType != type) { + m_primaryConnectionType = type; + Q_Q(NetManager); + Q_EMIT q->primaryConnectionTypeChanged(m_primaryConnectionType); + } } void NetManagerPrivate::updatePortalUrl(const QString &id, const QString &url) diff --git a/net-view/operation/private/netmanager_p.h b/net-view/operation/private/netmanager_p.h index 943ed2947..42e555e0d 100644 --- a/net-view/operation/private/netmanager_p.h +++ b/net-view/operation/private/netmanager_p.h @@ -85,7 +85,7 @@ protected Q_SLOTS: NetItemPrivate *m_deleteItem; // 关联无父对象item,用于删除 bool m_isDeleting; bool m_airplaneMode; - // NetManager::ConnectionType m_primaryConnectionType; + NetManager::ConnectionType m_primaryConnectionType; bool m_monitorNetworkNotify; bool m_secretAgent; bool m_autoAddConnection;