efl_ui_text: emit EFL_UI_TEXT_EVENT_CHANGED_USER from paste + drop operations

Summary:
this is a user-triggered change so it must emit the event

ref T6979
Depends on D7886

Reviewers: bu5hm4n, cedric, segfaultxavi

Subscribers: #reviewers, #committers

Tags: #efl_widgets

Maniphest Tasks: T6979

Differential Revision: https://phab.enlightenment.org/D7887
This commit is contained in:
Mike Blumenkrantz 2019-02-07 12:42:00 +01:00 committed by Xavi Artigas
parent cd816eec01
commit 4f9abba440
1 changed files with 7 additions and 0 deletions

View File

@ -599,8 +599,10 @@ _selection_data_cb(void *data EINA_UNUSED, Eo *obj,
Efl_Ui_Selection_Data *sel_data)
{
Efl_Text_Cursor_Cursor *cur, *start, *end;
Efl_Ui_Text_Change_Info info = { NULL, 0, 0, 0, 0 };
char *buf = eina_slice_strdup(sel_data->content);
size_t len = sel_data->content.len;
efl_text_interactive_selection_cursors_get(obj, &start, &end);
if (!efl_text_cursor_equal(obj, start, end))
@ -608,6 +610,10 @@ _selection_data_cb(void *data EINA_UNUSED, Eo *obj,
efl_canvas_text_range_delete(obj, start, end);
}
cur = efl_text_cursor_get(obj, EFL_TEXT_CURSOR_GET_MAIN);
info.insert = EINA_TRUE;
info.position = efl_text_cursor_position_get(obj, cur);
info.length = len;
info.content = buf;
if (sel_data->format == EFL_UI_SELECTION_FORMAT_MARKUP)
{
efl_text_markup_interactive_cursor_markup_insert(obj, cur, buf);
@ -616,6 +622,7 @@ _selection_data_cb(void *data EINA_UNUSED, Eo *obj,
{
efl_text_cursor_text_insert(obj, cur, buf);
}
efl_event_callback_call(obj, EFL_UI_TEXT_EVENT_CHANGED_USER, &info);
free(buf);
}