From c41fdd1430f4632a7276578a22989c307cc49e07 Mon Sep 17 00:00:00 2001 From: Tom Hacohen Date: Thu, 15 Dec 2011 14:41:46 +0000 Subject: [PATCH] Edje entry: Added cursor,changed,manual signal. SVN revision: 66259 --- legacy/edje/ChangeLog | 3 +++ legacy/edje/src/lib/edje_entry.c | 19 ++++++++++++++++--- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/legacy/edje/ChangeLog b/legacy/edje/ChangeLog index a61546c809..0bef458953 100644 --- a/legacy/edje/ChangeLog +++ b/legacy/edje/ChangeLog @@ -231,3 +231,6 @@ * Entry: Added support for various new key bindings: Ctrl+Arrows, Ctrl+Del and Ctrl+Backspace. + * Entry: Added cursor,changed,manual signal. + This signal indicates the cursor has been manually changed, i.e by + either mouse click or arrows. diff --git a/legacy/edje/src/lib/edje_entry.c b/legacy/edje/src/lib/edje_entry.c index 66a14a27e3..a6473686c0 100644 --- a/legacy/edje/src/lib/edje_entry.c +++ b/legacy/edje/src/lib/edje_entry.c @@ -1124,6 +1124,7 @@ _edje_key_down_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, v } _sel_clear(en->cursor, rp->object, en); _edje_emit(ed, "entry,key,up", rp->part->name); + _edje_emit(rp->edje, "cursor,changed,manual", rp->part->name); } else if (!strcmp(ev->key, "Down") || !strcmp(ev->key, "KP_Down")) { @@ -1143,6 +1144,7 @@ _edje_key_down_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, v } _sel_clear(en->cursor, rp->object, en); _edje_emit(ed, "entry,key,down", rp->part->name); + _edje_emit(rp->edje, "cursor,changed,manual", rp->part->name); } else if (!strcmp(ev->key, "Left") || !strcmp(ev->key, "KP_Left")) { @@ -1160,6 +1162,7 @@ _edje_key_down_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, v } _sel_clear(en->cursor, rp->object, en); _edje_emit(ed, "entry,key,left", rp->part->name); + _edje_emit(rp->edje, "cursor,changed,manual", rp->part->name); ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; } else if (!strcmp(ev->key, "Right") || !strcmp(ev->key, "KP_Right")) @@ -1178,6 +1181,7 @@ _edje_key_down_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, v } _sel_clear(en->cursor, rp->object, en); _edje_emit(ed, "entry,key,right", rp->part->name); + _edje_emit(rp->edje, "cursor,changed,manual", rp->part->name); ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; } else if (!strcmp(ev->key, "BackSpace")) @@ -1694,7 +1698,10 @@ _edje_part_mouse_down_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUS } } if (evas_textblock_cursor_compare(tc, en->cursor)) - _edje_emit(rp->edje, "cursor,changed", rp->part->name); + { + _edje_emit(rp->edje, "cursor,changed", rp->part->name); + _edje_emit(rp->edje, "cursor,changed,manual", rp->part->name); + } evas_textblock_cursor_free(tc); _edje_entry_imf_context_reset(en); @@ -1803,7 +1810,10 @@ _edje_part_mouse_up_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED en->selecting = EINA_FALSE; } if (evas_textblock_cursor_compare(tc, en->cursor)) - _edje_emit(rp->edje, "cursor,changed", rp->part->name); + { + _edje_emit(rp->edje, "cursor,changed", rp->part->name); + _edje_emit(rp->edje, "cursor,changed,manual", rp->part->name); + } evas_textblock_cursor_free(tc); _edje_entry_imf_context_reset(en); @@ -1897,7 +1907,10 @@ _edje_part_mouse_move_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUS _sel_update(en->cursor, rp->object, en); } if (evas_textblock_cursor_compare(tc, en->cursor)) - _edje_emit(rp->edje, "cursor,changed", rp->part->name); + { + _edje_emit(rp->edje, "cursor,changed", rp->part->name); + _edje_emit(rp->edje, "cursor,changed,manual", rp->part->name); + } evas_textblock_cursor_free(tc); _edje_entry_imf_context_reset(en);