Skip to content

Commit 06ad744

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 06ad744

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,6 +211,7 @@ DccObject {
211211
}
212212
}
213213
DccObject {
214+
id: pageObject
214215
name: "page"
215216
parentName: root.name
216217
DccObject {
@@ -271,6 +272,20 @@ DccObject {
271272
"bold": true
272273
})
273274
text: dccObj.displayName
275+
276+
Timer {
277+
id: refreshTimer
278+
interval: 60000 // 一分钟间隔
279+
running: true
280+
repeat: true
281+
triggeredOnStart: true
282+
onTriggered: {
283+
// 定期扫描网络
284+
if (root.netItem) {
285+
root.netItem.requestScan()
286+
}
287+
}
288+
}
274289
}
275290
onParentItemChanged: {
276291
if (parentItem) {

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+
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)