From 0923596b4bf5b0aec118383b7292e5ec4c021a37 Mon Sep 17 00:00:00 2001 From: Damocles Date: Thu, 16 Apr 2026 00:47:52 +0200 Subject: [PATCH] fix bluetooth _busy pattern, remove stale dismiss(), trigger network panel refresh on bar monitor events --- modules/Bluetooth.qml | 2 +- modules/BluetoothMenu.qml | 3 ++- modules/Network.qml | 5 ++++- modules/NetworkMenu.qml | 5 +++++ 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/modules/Bluetooth.qml b/modules/Bluetooth.qml index f991349..884a708 100644 --- a/modules/Bluetooth.qml +++ b/modules/Bluetooth.qml @@ -76,7 +76,7 @@ M.BarSection { required property var bar - readonly property bool _anyHover: root._hovered || bluetoothMenu.panelHovered + readonly property bool _anyHover: root._hovered || bluetoothMenu.panelHovered || bluetoothMenu._busy M.BluetoothMenu { id: bluetoothMenu diff --git a/modules/BluetoothMenu.qml b/modules/BluetoothMenu.qml index 565baf9..4d0e415 100644 --- a/modules/BluetoothMenu.qml +++ b/modules/BluetoothMenu.qml @@ -12,6 +12,8 @@ M.HoverPanel { onVisibleChanged: if (visible) scanner.running = true + readonly property bool _busy: powerProc.running || toggleProc.running + property var _devices: [] property bool _btEnabled: true @@ -196,7 +198,6 @@ M.HoverPanel { toggleProc.action = entry.modelData.connected ? "disconnect" : "connect"; toggleProc.mac = entry.modelData.mac; toggleProc.running = true; - menuWindow.dismiss(); } } } diff --git a/modules/Network.qml b/modules/Network.qml index 75b8acc..f0d3865 100644 --- a/modules/Network.qml +++ b/modules/Network.qml @@ -63,7 +63,10 @@ M.BarSection { Timer { id: _debounce interval: 300 - onTriggered: proc.running = true + onTriggered: { + proc.running = true; + networkMenu.triggerRefresh(); + } } // Fallback poll Timer { diff --git a/modules/NetworkMenu.qml b/modules/NetworkMenu.qml index 30fb449..ad493a2 100644 --- a/modules/NetworkMenu.qml +++ b/modules/NetworkMenu.qml @@ -14,6 +14,11 @@ M.HoverPanel { readonly property bool _busy: connectProc.running || disconnectProc.running || radioProc.running + function triggerRefresh() { + if (visible) + scanner.running = true; + } + property var _networks: [] property bool _wifiEnabled: true