#1284: disable key-menu commands that need selecting an unselected key on a locked layer

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RDvxCR4xUtUfBJwkhwaFuD
This commit is contained in:
Claude
2026-10-29 13:01:42 +00:00
parent f9d514bb21
commit c4ca4dc0e9
+3 -1
View File
@@ -4080,7 +4080,9 @@ pub(crate) fn key_menu(
continue;
}
let edits = !matches!(cmd, "keys.copy" | "keys.selectEqual" | "keys.selectPrevious" | "keys.selectFollowing" | "keys.selectAll");
if ui.add_enabled(!(locked && edits), egui::Button::new(crate::i18n::context_item(cmd, &params, lbl))).clicked() {
// An unselected key is selected before the command runs, and locked keys cannot be selected.
let unselectable = locked && !selected && cmd != "keys.selectAll";
if ui.add_enabled(!(locked && edits) && !unselectable, egui::Button::new(crate::i18n::context_item(cmd, &params, lbl))).clicked() {
if !selected {
actions.push(("keys.select".into(), json!({"keys": [this_key.clone()]})));
}