summaryrefslogtreecommitdiff
path: root/scene/gui
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <remi@verschelde.fr>2021-01-26 16:03:07 +0100
committerGitHub <noreply@github.com>2021-01-26 16:03:07 +0100
commiteda5f4ea31f36aa8d551007a61faf71521667c12 (patch)
tree1078838651febbb3bccb535d54f31225c62d2e44 /scene/gui
parent0991c63fbaba61d5c40eef25b756eb034fe0f2fa (diff)
parenta3a31591b53da6a79f37760d0e7ee34d6d4e4ee6 (diff)
Merge pull request #44349 from KoBeWi/drop_the_data!
Allow to override drop data in LineEdit
Diffstat (limited to 'scene/gui')
-rw-r--r--scene/gui/control.cpp2
-rw-r--r--scene/gui/line_edit.cpp7
2 files changed, 8 insertions, 1 deletions
diff --git a/scene/gui/control.cpp b/scene/gui/control.cpp
index 4aa9c31522..6b5d8cb658 100644
--- a/scene/gui/control.cpp
+++ b/scene/gui/control.cpp
@@ -709,7 +709,7 @@ bool Control::can_drop_data(const Point2 &p_point, const Variant &p_data) const
}
}
- return Variant();
+ return false;
}
void Control::drop_data(const Point2 &p_point, const Variant &p_data) {
diff --git a/scene/gui/line_edit.cpp b/scene/gui/line_edit.cpp
index 10a42c8f6e..51f780462f 100644
--- a/scene/gui/line_edit.cpp
+++ b/scene/gui/line_edit.cpp
@@ -629,10 +629,17 @@ Variant LineEdit::get_drag_data(const Point2 &p_point) {
}
bool LineEdit::can_drop_data(const Point2 &p_point, const Variant &p_data) const {
+ bool drop_override = Control::can_drop_data(p_point, p_data); // In case user wants to drop custom data.
+ if (drop_override) {
+ return drop_override;
+ }
+
return p_data.get_type() == Variant::STRING;
}
void LineEdit::drop_data(const Point2 &p_point, const Variant &p_data) {
+ Control::drop_data(p_point, p_data);
+
if (p_data.get_type() == Variant::STRING) {
set_cursor_at_pixel_pos(p_point.x);
int selected = selection.end - selection.begin;