summaryrefslogtreecommitdiff
path: root/core/input
diff options
context:
space:
mode:
authorAlfred Reinold Baudisch <alfred@alfredbaudisch.com>2022-10-31 16:55:47 +0100
committerAlfred Reinold Baudisch <alfred@alfredbaudisch.com>2022-10-31 17:44:47 +0100
commitfcff9787638e73eac0802ff6abdba6061a569d81 (patch)
tree6bca261a97053ef276ca2bfa337800eb8a4973f4 /core/input
parent2ccd827453fe1a48b6b59b91944e3a202c364b97 (diff)
Shortcut and Bind to Remove Secondary Carets
Adds the bind `ui_text_remove_secondary_carets` to TextEdit, with ESC as the default shortcut. When the bind is performed, if the TextEdit has multiple carets, `remove_secondary_carets` is called and secondary carets are removed. This is useful when multiple selects are performed with `add_select_for_next_occurrence` #67644 or when multiple multiple carets are manually added, then it's possible to go back to a single caret with a shortcut. Closes #67991
Diffstat (limited to 'core/input')
-rw-r--r--core/input/input_map.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/core/input/input_map.cpp b/core/input/input_map.cpp
index 233065fe8b..aebb9caa2f 100644
--- a/core/input/input_map.cpp
+++ b/core/input/input_map.cpp
@@ -342,6 +342,7 @@ static const _BuiltinActionDisplayName _builtin_action_display_names[] = {
{ "ui_text_select_all", TTRC("Select All") },
{ "ui_text_select_word_under_caret", TTRC("Select Word Under Caret") },
{ "ui_text_add_selection_for_next_occurrence", TTRC("Add Selection for Next Occurrence") },
+ { "ui_text_remove_secondary_carets", TTRC("Remove Secondary Carets") },
{ "ui_text_toggle_insert_mode", TTRC("Toggle Insert Mode") },
{ "ui_text_submit", TTRC("Text Submitted") },
{ "ui_graph_duplicate", TTRC("Duplicate Nodes") },
@@ -672,6 +673,10 @@ const HashMap<String, List<Ref<InputEvent>>> &InputMap::get_builtins() {
default_builtin_cache.insert("ui_text_add_selection_for_next_occurrence", inputs);
inputs = List<Ref<InputEvent>>();
+ inputs.push_back(InputEventKey::create_reference(Key::ESCAPE));
+ default_builtin_cache.insert("ui_text_remove_secondary_carets", inputs);
+
+ inputs = List<Ref<InputEvent>>();
inputs.push_back(InputEventKey::create_reference(Key::INSERT));
default_builtin_cache.insert("ui_text_toggle_insert_mode", inputs);