diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2020-03-26 09:29:18 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-26 09:29:18 +0100 |
commit | 4d5705eefaa06cc818f9ae6fda4db2ae95f94a25 (patch) | |
tree | ba4bd66340d1e8f21fc5e4204b84da558ec95007 | |
parent | 4507d0cd2b034d1396ba9a6dc8bdb3fd76b0b36d (diff) | |
parent | 77b70aa79d006790168d623821d8e2c3bf505b67 (diff) | |
download | redot-engine-4d5705eefaa06cc818f9ae6fda4db2ae95f94a25.tar.gz |
Merge pull request #37274 from Janglee123/corrected-text-selection-in-color-picker
Corrected text selection in color picker
-rw-r--r-- | scene/gui/color_picker.cpp | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/scene/gui/color_picker.cpp b/scene/gui/color_picker.cpp index cbbad79811..a8b5ac6909 100644 --- a/scene/gui/color_picker.cpp +++ b/scene/gui/color_picker.cpp @@ -624,26 +624,33 @@ void ColorPicker::_screen_pick_pressed() { } void ColorPicker::_focus_enter() { - if (c_text->has_focus()) { + bool has_ctext_focus = c_text->has_focus(); + if (has_ctext_focus) { c_text->select_all(); - return; + } else { + c_text->select(0, 0); } + for (int i = 0; i < 4; i++) { - if (values[i]->get_line_edit()->has_focus()) { + if (values[i]->get_line_edit()->has_focus() && !has_ctext_focus) { values[i]->get_line_edit()->select_all(); - break; + } else { + values[i]->get_line_edit()->select(0, 0); } } } void ColorPicker::_focus_exit() { for (int i = 0; i < 4; i++) { - values[i]->get_line_edit()->select(0, 0); + if (!values[i]->get_line_edit()->get_menu()->is_visible()) + values[i]->get_line_edit()->select(0, 0); } c_text->select(0, 0); } void ColorPicker::_html_focus_exit() { + if (c_text->get_menu()->is_visible()) + return; _html_entered(c_text->get_text()); _focus_exit(); } |