mirror of
https://github.com/noctalia-dev/noctalia-shell.git
synced 2026-05-11 17:08:27 +08:00
fix(session-menu): renumber keybinds on toggle and assign number to Userspace Reboot
Issue: #2101
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user