From 4d56a2aa99278d2a90fcf2fcce58d8ba4d89ab26 Mon Sep 17 00:00:00 2001 From: Lysec Date: Sat, 7 Mar 2026 12:19:09 +0100 Subject: [PATCH] fix(session-menu): renumber keybinds on toggle and assign number to Userspace Reboot Issue: #2101 --- .../Tabs/SessionMenu/SessionMenuTab.qml | 29 ++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/Modules/Panels/Settings/Tabs/SessionMenu/SessionMenuTab.qml b/Modules/Panels/Settings/Tabs/SessionMenu/SessionMenuTab.qml index cfa13e055..89375a765 100644 --- a/Modules/Panels/Settings/Tabs/SessionMenu/SessionMenuTab.qml +++ b/Modules/Panels/Settings/Tabs/SessionMenu/SessionMenuTab.qml @@ -65,15 +65,42 @@ ColumnLayout { function saveEntries() { var toSave = []; + var enabledNumber = 1; + for (var i = 0; i < entriesModel.length; i++) { + var keybind = entriesModel[i].keybind || ""; + + if (entriesModel[i].enabled) { + // For enabled entries with numeric or empty keybinds, assign sequential number + if (keybind === "" || /^\d+$/.test(keybind)) { + keybind = String(enabledNumber); + } + enabledNumber++; + } else { + // For disabled entries with numeric keybinds, clear them + if (/^\d+$/.test(keybind)) { + keybind = ""; + } + } + toSave.push({ "action": entriesModel[i].id, "enabled": entriesModel[i].enabled, "countdownEnabled": entriesModel[i].countdownEnabled !== undefined ? entriesModel[i].countdownEnabled : true, "command": entriesModel[i].command || "", - "keybind": entriesModel[i].keybind || "" + "keybind": keybind }); } + + // Update local model with renumbered keybinds + var newModel = []; + for (var i = 0; i < entriesModel.length; i++) { + newModel.push(Object.assign({}, entriesModel[i], { + "keybind": toSave[i].keybind + })); + } + entriesModel = newModel; + Settings.data.sessionMenu.powerOptions = toSave; }