From a3f1e5961f66d2c0acdf5575eb058eb352d5f6d4 Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Sun, 27 Nov 2022 22:03:42 +0100 Subject: [PATCH] Fix bug in keyboard shortcut formatting --- crates/egui/src/data/input.rs | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/crates/egui/src/data/input.rs b/crates/egui/src/data/input.rs index d87caec2..bc5dcffe 100644 --- a/crates/egui/src/data/input.rs +++ b/crates/egui/src/data/input.rs @@ -546,7 +546,7 @@ impl<'a> ModifierNames<'a> { append_if(modifiers.alt, self.alt); append_if(modifiers.mac_cmd || modifiers.command, self.mac_cmd); } else { - append_if(modifiers.ctrl, self.ctrl); + append_if(modifiers.ctrl || modifiers.command, self.ctrl); append_if(modifiers.alt, self.alt); append_if(modifiers.shift, self.shift); } @@ -789,6 +789,21 @@ impl KeyboardShortcut { } } +#[test] +fn format_kb_shortcut() { + let cmd_shift_f = KeyboardShortcut::new(Modifiers::COMMAND | Modifiers::SHIFT, Key::F); + assert_eq!( + cmd_shift_f.format(&ModifierNames::NAMES, false), + "Ctrl+Shift+F" + ); + assert_eq!( + cmd_shift_f.format(&ModifierNames::NAMES, true), + "Shift+Cmd+F" + ); + assert_eq!(cmd_shift_f.format(&ModifierNames::SYMBOLS, false), "^⇧F"); + assert_eq!(cmd_shift_f.format(&ModifierNames::SYMBOLS, true), "⇧⌘F"); +} + // ---------------------------------------------------------------------------- impl RawInput {