From 8a84306ff64deb542ef8de60cc30d490c5e25aff Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Tue, 10 Nov 2026 19:55:12 +0100 Subject: feat(deckit): toggles for the dashboard's action icons Co-Authored-By: Claude Sonnet 5.5 --- desktop/modules/deckit/DeckItPage.qml | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/desktop/modules/deckit/DeckItPage.qml b/desktop/modules/deckit/DeckItPage.qml index fe4092c..4368ca4 100644 --- a/desktop/modules/deckit/DeckItPage.qml +++ b/desktop/modules/deckit/DeckItPage.qml @@ -38,6 +38,15 @@ Column { } function setApps(list) { col.st.put("launch", "apps", list); } + // The dashboard's action icons: every id deck-it knows is in the + // defaults' list; the file keeps the ones switched on, in that order. + readonly property var allActions: col.def("dashboard", "actions") ?? [] + readonly property var actions: col.st.value("dashboard", "actions") ?? col.allActions + function setAction(id, on) { + col.st.put("dashboard", "actions", + col.allActions.filter(a => a === id ? on : col.actions.includes(a))); + } + component Small: Text { width: col.width wrapMode: Text.Wrap @@ -203,6 +212,31 @@ Column { } } + Heading { objectName: "dashboard/actions"; text: "Dashboard actions" } + Small { text: "Icon buttons at the bottom of the tablet's dashboard." } + Repeater { + model: col.allActions + Item { + id: act + required property string modelData + width: col.width + height: 34 + Text { + id: actLabel + anchors { left: parent.left; verticalCenter: parent.verticalCenter } + width: 160 + text: act.modelData + color: Theme.subtext + font { family: Theme.fontFamily; pixelSize: Theme.fontSize - 3 } + } + Switch { + anchors { left: actLabel.right; leftMargin: 8; verticalCenter: parent.verticalCenter } + checked: col.actions.includes(act.modelData) + onToggled: on => col.setAction(act.modelData, on) + } + } + } + Heading { text: "Modules" } Small { text: "The dashboard's panels and tabs." } Repeater { -- cgit v1.2.3