From bac125abb0fb40ca8e258cc7e70740a916a65510 Mon Sep 17 00:00:00 2001 From: Benjamin Palko Date: Thu, 31 Jul 2025 12:30:34 -0400 Subject: [PATCH] guess i dont need bluetooth service? --- .../components/bluetooth/BluetoothMenu.qml | 24 +++++++++++++------ services/Bluetooth.qml | 22 ----------------- 2 files changed, 17 insertions(+), 29 deletions(-) delete mode 100644 services/Bluetooth.qml diff --git a/modules/bar/components/bluetooth/BluetoothMenu.qml b/modules/bar/components/bluetooth/BluetoothMenu.qml index 90186c8..ddb73b3 100644 --- a/modules/bar/components/bluetooth/BluetoothMenu.qml +++ b/modules/bar/components/bluetooth/BluetoothMenu.qml @@ -1,11 +1,12 @@ pragma ComponentBehavior: Bound import qs.config -import qs.services import qs.widgets import QtQuick import QtQuick.Controls import QtQuick.Layouts +import Quickshell +import Quickshell.Bluetooth import Quickshell.Widgets StyledPopupWindow { @@ -65,14 +66,17 @@ StyledPopupWindow { ColumnLayout { Loader { - active: Bluetooth.connectedDevices.length == 0 + active: repeater1.count == 0 sourceComponent: StyledText { font.italic: true text: "No devices connected..." } } Repeater { - model: Bluetooth.connectedDevices + id: repeater1 + model: ScriptModel { + values: Bluetooth.devices.values.filter(device => device.state == BluetoothDeviceState.Connected) + } delegate: Loader { id: connectedDeviceLoader required property var modelData @@ -94,14 +98,17 @@ StyledPopupWindow { ColumnLayout { Loader { - active: Bluetooth.availableDevices.length == 0 + active: repeater2.count == 0 sourceComponent: StyledText { font.italic: true text: "No paired devices..." } } Repeater { - model: Bluetooth.pairedDevices + id: repeater2 + model: ScriptModel { + values: Bluetooth.devices.values.filter(device => device.bonded && device.state == BluetoothDeviceState.Disconnected) + } delegate: Loader { id: pairedDeviceLoader required property var modelData @@ -123,14 +130,17 @@ StyledPopupWindow { ColumnLayout { Loader { - active: Bluetooth.availableDevices.length == 0 + active: repeater3.count == 0 sourceComponent: StyledText { font.italic: true text: Bluetooth.defaultAdapter.discovering ? "No devices found..." : "Scan to find devices..." } } Repeater { - model: Bluetooth.availableDevices + id: repeater3 + model: ScriptModel { + values: Bluetooth.devices.values.filter(device => !device.bonded && device.deviceName != "") + } delegate: Loader { id: availableDeviceLoader required property var modelData diff --git a/services/Bluetooth.qml b/services/Bluetooth.qml deleted file mode 100644 index 65363ed..0000000 --- a/services/Bluetooth.qml +++ /dev/null @@ -1,22 +0,0 @@ -pragma Singleton - -import QtQuick -import Quickshell -import Quickshell.Bluetooth - -Singleton { - id: root - - property BluetoothAdapter defaultAdapter: Bluetooth.defaultAdapter - property list connectedDevices: defaultAdapter?.devices.values.filter(device => device.state == BluetoothDeviceState.Connected) - property list pairedDevices: defaultAdapter?.devices.values.filter(device => device.bonded && device.state == BluetoothDeviceState.Disconnected) - property list availableDevices: defaultAdapter?.devices.values.filter(device => !device.bonded && device.deviceName != "") - - function isConnected(BluetoothDevice: device) { - return device.state == BluetoothDeviceState.Connected; - } - - function isConnecting(BluetoothDevice: device) { - return device.state == BluetoothDeviceState.Connecting; - } -}