import QtQuick import Quickshell.Networking import Quickshell.Bluetooth import qs.config import qs.services import qs.modules.quicksettings SettingsPage { id: root title: "Network & Devices" lede: "Connect graphically—no terminal workflow required." readonly property var wifiDevice: { for (const device of Networking.devices.values) { if (device.type === DeviceType.Wifi) return device; } return null; } readonly property var bluetoothAdapter: Bluetooth.defaultAdapter SettingsCard { title: "Wi‑Fi" subtitle: Networking.wifiEnabled ? "Available networks" : "Wireless networking is off" SettingRow { label: "Wi‑Fi" detail: root.wifiDevice ? "Managed by NetworkManager" : "No wireless adapter found" controlWidth: 48 SettingsToggle { anchors.right: parent.right anchors.verticalCenter: parent.verticalCenter checked: Networking.wifiEnabled enabled: Networking.wifiHardwareEnabled onToggled: value => Networking.wifiEnabled = value } } WifiList { width: parent.width device: root.wifiDevice active: true maxHeight: 240 } ActionRow { label: "Advanced network settings" detail: "VPN, wired profiles, DNS, and connection details" divider: false action: "Open panel" onTriggered: SystemSettings.openGnomePanel("network") } } SettingsCard { title: "Bluetooth" subtitle: root.bluetoothAdapter?.enabled ? "Nearby and paired devices" : "Bluetooth is off" SettingRow { label: "Bluetooth" detail: root.bluetoothAdapter ? "Pair and reconnect without leaving Settings" : "No Bluetooth adapter found" controlWidth: 48 SettingsToggle { anchors.right: parent.right anchors.verticalCenter: parent.verticalCenter checked: root.bluetoothAdapter?.enabled ?? false enabled: root.bluetoothAdapter !== null onToggled: value => { if (root.bluetoothAdapter) root.bluetoothAdapter.enabled = value; } } } BluetoothList { width: parent.width active: true maxHeight: 220 } ActionRow { label: "Advanced Bluetooth settings" detail: "Device details and system-level options" divider: false action: "Open panel" onTriggered: SystemSettings.openGnomePanel("bluetooth") } } }