summaryrefslogtreecommitdiff
path: root/scene
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2022-12-03 21:30:57 +0100
committerRémi Verschelde <rverschelde@gmail.com>2022-12-03 21:30:57 +0100
commit82b1cd67539aede9141972aaa6eb585be34eb573 (patch)
tree5c36419a4a24d7c0d8e2948c9be430b528f9c51e /scene
parentdaf168f4c821980a6a06fde67057f6a14d9e20c6 (diff)
parenta6c1cfae9965cea01864060ae8cfbe39ee00af11 (diff)
Merge pull request #62675 from Jummit/tolerant_lookup
Allow drag-clicking before symbol lookup
Diffstat (limited to 'scene')
-rw-r--r--scene/gui/code_edit.cpp5
-rw-r--r--scene/gui/code_edit.h1
2 files changed, 4 insertions, 2 deletions
diff --git a/scene/gui/code_edit.cpp b/scene/gui/code_edit.cpp
index 9e0dc049e5..f46daef127 100644
--- a/scene/gui/code_edit.cpp
+++ b/scene/gui/code_edit.cpp
@@ -378,12 +378,13 @@ void CodeEdit::gui_input(const Ref<InputEvent> &p_gui_input) {
}
if (symbol_lookup_on_click_enabled) {
- if (mm->is_command_or_control_pressed() && mm->get_button_mask() == MouseButton::NONE && !is_dragging_cursor()) {
+ if (mm->is_command_or_control_pressed() && mm->get_button_mask() == MouseButton::NONE) {
+ symbol_lookup_pos = get_line_column_at_pos(mpos);
symbol_lookup_new_word = get_word_at_pos(mpos);
if (symbol_lookup_new_word != symbol_lookup_word) {
emit_signal(SNAME("symbol_validate"), symbol_lookup_new_word);
}
- } else {
+ } else if (!mm->is_command_or_control_pressed() || (mm->get_button_mask() != MouseButton::NONE && symbol_lookup_pos != get_line_column_at_pos(mpos))) {
set_symbol_lookup_word_as_valid(false);
}
}
diff --git a/scene/gui/code_edit.h b/scene/gui/code_edit.h
index cbbc13480e..e409c7c82b 100644
--- a/scene/gui/code_edit.h
+++ b/scene/gui/code_edit.h
@@ -236,6 +236,7 @@ private:
String symbol_lookup_new_word = "";
String symbol_lookup_word = "";
+ Point2i symbol_lookup_pos;
/* Visual */
Ref<StyleBox> style_normal;