From 91bd46eee96c0519a4426ddd90ceae5361f9bc3f Mon Sep 17 00:00:00 2001 From: WooHyun Jung Date: Fri, 1 Nov 2013 18:32:43 +0900 Subject: [PATCH] edje/edje_entry.c : By Next/Previous, cursor can reach to the top or the bottom of entry. --- src/lib/edje/edje_entry.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/lib/edje/edje_entry.c b/src/lib/edje/edje_entry.c index 159a2b471a..31c6d70ebb 100644 --- a/src/lib/edje/edje_entry.c +++ b/src/lib/edje/edje_entry.c @@ -1879,7 +1879,11 @@ _edje_key_down_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, if (shift) _sel_start(en->cursor, rp->object, en); else _sel_clear(ed, en->cursor, rp->object, en); } - _curs_jump_line_by(en->cursor, rp->object, en, -10); + if (!_curs_jump_line_by(en->cursor, rp->object, en, -10)) + { + evas_textblock_cursor_line_set(en->cursor, 0); + _curs_lin_start(en->cursor, rp->object, en); + } if (en->select_allow) { if (shift) _sel_extend(ed, en->cursor, rp->object, en); @@ -1897,7 +1901,12 @@ _edje_key_down_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, if (shift) _sel_start(en->cursor, rp->object, en); else _sel_clear(ed, en->cursor, rp->object, en); } - _curs_jump_line_by(en->cursor, rp->object, en, 10); + if (!_curs_jump_line_by(en->cursor, rp->object, en, 10)) + { + int last = _curs_line_last_get(en->cursor, rp->object, en); + evas_textblock_cursor_line_set(en->cursor, last); + _curs_lin_end(en->cursor, rp->object, en); + } if (en->select_allow) { if (shift) _sel_extend(ed, en->cursor, rp->object, en);