summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/controlcenter/Session.qml33
-rw-r--r--modules/controlcenter/state/BluetoothState.qml18
-rw-r--r--modules/controlcenter/state/EthernetState.qml9
-rw-r--r--modules/controlcenter/state/LauncherState.qml9
-rw-r--r--modules/controlcenter/state/NetworkState.qml13
5 files changed, 55 insertions, 27 deletions
diff --git a/modules/controlcenter/Session.qml b/modules/controlcenter/Session.qml
index 6f560f5..5d7b094 100644
--- a/modules/controlcenter/Session.qml
+++ b/modules/controlcenter/Session.qml
@@ -1,5 +1,5 @@
-import Quickshell.Bluetooth
import QtQuick
+import "./state"
QtObject {
readonly property list<string> panes: ["network", "bluetooth", "audio", "appearance", "taskbar", "launcher"]
@@ -10,33 +10,12 @@ QtObject {
property int activeIndex: 0
property bool navExpanded: false
- readonly property Bt bt: Bt {}
- readonly property Network network: Network {}
- readonly property Ethernet ethernet: Ethernet {}
- readonly property Launcher launcher: Launcher {}
+ // Pane-specific state objects
+ readonly property BluetoothState bt: BluetoothState {}
+ readonly property NetworkState network: NetworkState {}
+ readonly property EthernetState ethernet: EthernetState {}
+ readonly property LauncherState launcher: LauncherState {}
onActiveChanged: activeIndex = panes.indexOf(active)
onActiveIndexChanged: active = panes[activeIndex]
-
- component Bt: QtObject {
- property BluetoothDevice active
- property BluetoothAdapter currentAdapter: Bluetooth.defaultAdapter
- property bool editingAdapterName
- property bool fabMenuOpen
- property bool editingDeviceName
- }
-
- component Network: QtObject {
- property var active
- property bool showPasswordDialog: false
- property var pendingNetwork
- }
-
- component Ethernet: QtObject {
- property var active
- }
-
- component Launcher: QtObject {
- property var active
- }
}
diff --git a/modules/controlcenter/state/BluetoothState.qml b/modules/controlcenter/state/BluetoothState.qml
new file mode 100644
index 0000000..db8c7e1
--- /dev/null
+++ b/modules/controlcenter/state/BluetoothState.qml
@@ -0,0 +1,18 @@
+import Quickshell.Bluetooth
+import QtQuick
+
+QtObject {
+ id: root
+
+ // Active selected device
+ property BluetoothDevice active: null
+
+ // Current adapter being used
+ property BluetoothAdapter currentAdapter: Bluetooth.defaultAdapter
+
+ // UI state flags
+ property bool editingAdapterName: false
+ property bool fabMenuOpen: false
+ property bool editingDeviceName: false
+}
+
diff --git a/modules/controlcenter/state/EthernetState.qml b/modules/controlcenter/state/EthernetState.qml
new file mode 100644
index 0000000..25b243a
--- /dev/null
+++ b/modules/controlcenter/state/EthernetState.qml
@@ -0,0 +1,9 @@
+import QtQuick
+
+QtObject {
+ id: root
+
+ // Active selected ethernet interface
+ property var active: null
+}
+
diff --git a/modules/controlcenter/state/LauncherState.qml b/modules/controlcenter/state/LauncherState.qml
new file mode 100644
index 0000000..cd9eeb6
--- /dev/null
+++ b/modules/controlcenter/state/LauncherState.qml
@@ -0,0 +1,9 @@
+import QtQuick
+
+QtObject {
+ id: root
+
+ // Active selected application
+ property var active: null
+}
+
diff --git a/modules/controlcenter/state/NetworkState.qml b/modules/controlcenter/state/NetworkState.qml
new file mode 100644
index 0000000..651a35c
--- /dev/null
+++ b/modules/controlcenter/state/NetworkState.qml
@@ -0,0 +1,13 @@
+import QtQuick
+
+QtObject {
+ id: root
+
+ // Active selected wireless network
+ property var active: null
+
+ // Password dialog state
+ property bool showPasswordDialog: false
+ property var pendingNetwork: null
+}
+