diff options
author | WooHyun Jung <wh0705.jung@samsung.com> | 2013-11-01 18:32:43 +0900 |
---|---|---|
committer | WooHyun Jung <wh0705.jung@samsung.com> | 2013-11-01 18:32:43 +0900 |
commit | 91bd46eee96c0519a4426ddd90ceae5361f9bc3f (patch) | |
tree | a3b2190cb899ba566ab07fbc4308abf4cdaa9584 | |
parent | 81a847a74de12d8644e8e7bdcf70a5d0f885f820 (diff) | |
download | efl-91bd46eee96c0519a4426ddd90ceae5361f9bc3f.tar.gz |
edje/edje_entry.c : By Next/Previous, cursor can reach to the top or the bottom of entry.
-rw-r--r-- | src/lib/edje/edje_entry.c | 13 |
1 files 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); |