Fix WiFi, Bluetooth and Battery symbol visibility states

This commit is contained in:
Ly-sec 2025-08-24 11:12:45 +02:00
parent 5a90d28003
commit f8f1e789d4

View file

@ -3,6 +3,7 @@ import QtQuick.Controls
import QtQuick.Layouts import QtQuick.Layouts
import Quickshell import Quickshell
import Quickshell.Wayland import Quickshell.Wayland
import Quickshell.Services.UPower
import qs.Commons import qs.Commons
import qs.Services import qs.Services
import qs.Widgets import qs.Widgets
@ -63,6 +64,12 @@ Variants {
id: leftWidgetLoader id: leftWidgetLoader
sourceComponent: widgetLoader.getWidgetComponent(modelData) sourceComponent: widgetLoader.getWidgetComponent(modelData)
active: true active: true
visible: {
if (modelData === "WiFi" && !Settings.data.network.wifiEnabled) return false
if (modelData === "Bluetooth" && !Settings.data.network.bluetoothEnabled) return false
if (modelData === "Battery" && !shouldShowBattery()) return false
return true
}
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
onStatusChanged: { onStatusChanged: {
if (status === Loader.Error) { if (status === Loader.Error) {
@ -90,6 +97,12 @@ Variants {
id: centerWidgetLoader id: centerWidgetLoader
sourceComponent: widgetLoader.getWidgetComponent(modelData) sourceComponent: widgetLoader.getWidgetComponent(modelData)
active: true active: true
visible: {
if (modelData === "WiFi" && !Settings.data.network.wifiEnabled) return false
if (modelData === "Bluetooth" && !Settings.data.network.bluetoothEnabled) return false
if (modelData === "Battery" && !shouldShowBattery()) return false
return true
}
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
onStatusChanged: { onStatusChanged: {
if (status === Loader.Error) { if (status === Loader.Error) {
@ -118,6 +131,11 @@ Variants {
id: rightWidgetLoader id: rightWidgetLoader
sourceComponent: widgetLoader.getWidgetComponent(modelData) sourceComponent: widgetLoader.getWidgetComponent(modelData)
active: true active: true
visible: {
if (modelData === "WiFi" && !Settings.data.network.wifiEnabled) return false
if (modelData === "Bluetooth" && !Settings.data.network.bluetoothEnabled) return false
return true
}
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
onStatusChanged: { onStatusChanged: {
if (status === Loader.Error) { if (status === Loader.Error) {
@ -131,6 +149,13 @@ Variants {
} }
} }
// Helper function to check if battery widget should be visible (same logic as Battery.qml)
function shouldShowBattery() {
// For now, always show battery widget and let it handle its own visibility
// The Battery widget has its own testMode and visibility logic
return true
}
// Widget loader instance // Widget loader instance
WidgetLoader { WidgetLoader {
id: widgetLoader id: widgetLoader