Skip to content

Commit dfd026c

Browse files
committed
fix: auto scan when in the wireless page
auto scan when in the wireless page PMS: BUG-286941
1 parent 3a921bd commit dfd026c

3 files changed

Lines changed: 22 additions & 2 deletions

File tree

dcc-network/qml/PageWirelessDevice.qml

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// SPDX-FileCopyrightText: 2024 - 2027 UnionTech Software Technology Co., Ltd.
1+
// SPDX-FileCopyrightText: 2024 - 2026 UnionTech Software Technology Co., Ltd.
22
// SPDX-License-Identifier: GPL-3.0-or-later
33
import QtQuick 2.15
44
import QtQuick.Controls 2.15
@@ -211,8 +211,23 @@ DccObject {
211211
}
212212
}
213213
DccObject {
214+
id: pageObject
214215
name: "page"
215216
parentName: root.name
217+
property bool isActive: DccApp.activeObject === pageObject
218+
Timer {
219+
id: refreshTimer
220+
interval: 60000 // 一分钟间隔
221+
running: pageObject.isActive && root.netItem && root.netItem.isEnabled && !root.netItem.apMode
222+
repeat: true
223+
triggeredOnStart: true
224+
onTriggered: {
225+
// 定期扫描网络
226+
if (root.netItem) {
227+
root.netItem.requestScan()
228+
}
229+
}
230+
}
216231
DccObject {
217232
name: "title"
218233
parentName: root.name + "/page"

net-view/operation/netitem.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// SPDX-FileCopyrightText: 2018 - 2022 UnionTech Software Technology Co., Ltd.
1+
// SPDX-FileCopyrightText: 2018 - 2026 UnionTech Software Technology Co., Ltd.
22
//
33
// SPDX-License-Identifier: GPL-3.0-or-later
44

@@ -168,6 +168,7 @@ class NetWirelessDeviceItem : public NetDeviceItem
168168

169169
Q_SIGNALS:
170170
void apModeChanged(bool apMode) const;
171+
Q_INVOKABLE void requestScan();
171172

172173
protected:
173174
using NetDeviceItem::NetDeviceItem;

net-view/operation/private/netmanagerthreadprivate.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1926,6 +1926,10 @@ void NetManagerThreadPrivate::onDeviceAdded(QList<NetworkDeviceBase *> devices)
19261926
WirelessDevice *wirelessDevice = static_cast<WirelessDevice *>(device);
19271927
NetWirelessDeviceItemPrivate *wirelessDeviceItem = NetItemNew(WirelessDeviceItem, wirelessDevice->path());
19281928
addDevice(wirelessDeviceItem, wirelessDevice);
1929+
NetWirelessDeviceItem *devItem = NetItem::toItem<NetWirelessDeviceItem>(wirelessDeviceItem->item());
1930+
if (devItem) {
1931+
connect(devItem, &NetWirelessDeviceItem::requestScan, wirelessDevice, &dde::network::WirelessDevice::scanNetwork);
1932+
}
19291933
wirelessDeviceItem->updateapMode(wirelessDevice->hotspotEnabled());
19301934
wirelessDeviceItem->item()->moveToThread(m_parentThread);
19311935
Q_EMIT itemAdded("Root", wirelessDeviceItem);

0 commit comments

Comments
 (0)