summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2020-03-26 09:29:18 +0100
committerGitHub <noreply@github.com>2020-03-26 09:29:18 +0100
commit4d5705eefaa06cc818f9ae6fda4db2ae95f94a25 (patch)
treeba4bd66340d1e8f21fc5e4204b84da558ec95007
parent4507d0cd2b034d1396ba9a6dc8bdb3fd76b0b36d (diff)
parent77b70aa79d006790168d623821d8e2c3bf505b67 (diff)
downloadredot-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.cpp17
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();
}