fix(session-menu): renumber keybinds on toggle and assign number to Userspace Reboot

Issue: #2101
This commit is contained in:
Lysec
2026-03-07 12:19:09 +01:00
parent 77de0b0ade
commit 4d56a2aa99
@@ -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;
}