fix cursor to stay shown when cursor moves due to manual placement or typing

related to https://phab.enlightenment.org/D204 which doesn't apply or
has the emit in the wrong place. this now has it done right.
This commit is contained in:
Carsten Haitzler 2013-11-08 16:56:24 +09:00
parent 45dd27d9ac
commit dc6d3c10a2
2 changed files with 12 additions and 0 deletions

View File

@ -353,6 +353,15 @@ group { name: "elm/entry/cursor/default";
target: "cursor_hide_timer";
after: "cursor_hide_stop";
}
program {
signal: "elm,action,show,cursor"; source: "elm";
action: ACTION_STOP;
target: "cursor_show";
target: "cursor_hide";
target: "cursor_show_timer";
target: "cursor_hide_timer";
after: "cursor_show";
}
program { name: "cursor_hide_stop";
action: STATE_SET "default" 0.0;
target: "cursor";

View File

@ -1876,6 +1876,8 @@ _entry_cursor_changed_signal_cb(void *data,
sd->cursor_pos = edje_object_part_text_cursor_pos_get
(sd->entry_edje, "elm.text", EDJE_CURSOR_MAIN);
sd->cur_changed = EINA_TRUE;
if (elm_widget_focus_get(data))
edje_object_signal_emit(sd->entry_edje, "elm,action,show,cursor", "elm");
_cursor_geometry_recalc(data);
}
@ -1885,6 +1887,7 @@ _entry_cursor_changed_manual_signal_cb(void *data,
const char *emission __UNUSED__,
const char *source __UNUSED__)
{
ELM_ENTRY_DATA_GET(data, sd);
evas_object_smart_callback_call(data, SIG_CURSOR_CHANGED_MANUAL, NULL);
}