From af1516b43dc1e9dfa6850998811925698fbca177 Mon Sep 17 00:00:00 2001 From: Turann_ Date: Fri, 13 Mar 2026 05:34:24 +0300 Subject: [PATCH] further attempt to improve efficiency --- Modules/Panels/Network/NetworkPanel.qml | 28 +++++++++++-------- .../Settings/Tabs/Connections/WifiSubTab.qml | 2 +- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/Modules/Panels/Network/NetworkPanel.qml b/Modules/Panels/Network/NetworkPanel.qml index aa09a53df..56ab13251 100644 --- a/Modules/Panels/Network/NetworkPanel.qml +++ b/Modules/Panels/Network/NetworkPanel.qml @@ -46,13 +46,23 @@ SmartPanel { } } + // Effectively visible tracking + readonly property bool effectivelyVisible: root.visible && Window.window && Window.window.visible + + onEffectivelyVisibleChanged: { + if (effectivelyVisible) { + SystemStatService.registerComponent("network-panel"); + NetworkService.scan(); + // Preload active Wi‑Fi details so Info shows instantly + NetworkService.refreshActiveWifiDetails(); + // Also fetch Ethernet details if connected + NetworkService.refreshActiveEthernetDetails(); + } else { + SystemStatService.unregisterComponent("network-panel"); + } + } + onOpened: { - SystemStatService.registerComponent("network-panel"); - NetworkService.scan(); - // Preload active Wi‑Fi details so Info shows instantly - NetworkService.refreshActiveWifiDetails(); - // Also fetch Ethernet details if connected - NetworkService.refreshActiveEthernetDetails(); // Restore last view if valid, otherwise choose what's available (prefer Wi‑Fi when both exist) if (Settings.data.network.networkPanelView) { const last = Settings.data.network.networkPanelView; @@ -71,10 +81,6 @@ SmartPanel { panelViewPersistEnabled = true; } - onClosed: { - SystemStatService.unregisterComponent("network-panel"); - } - panelContent: Rectangle { color: "transparent" @@ -309,7 +315,7 @@ SmartPanel { } NBusyIndicator { - running: visible + running: visible && root.effectivelyVisible color: Color.mPrimary size: Style.baseWidgetSize Layout.alignment: Qt.AlignHCenter diff --git a/Modules/Panels/Settings/Tabs/Connections/WifiSubTab.qml b/Modules/Panels/Settings/Tabs/Connections/WifiSubTab.qml index f9f04ab11..d7d6b9311 100644 --- a/Modules/Panels/Settings/Tabs/Connections/WifiSubTab.qml +++ b/Modules/Panels/Settings/Tabs/Connections/WifiSubTab.qml @@ -676,7 +676,7 @@ Item { NBusyIndicator { visible: networkItem.isBusy - running: visible + running: visible && root.effectivelyVisible color: Color.mPrimary size: Style.baseWidgetSize * 0.5 }