summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWooHyun Jung <wh0705.jung@samsung.com>2013-11-01 18:32:43 +0900
committerWooHyun Jung <wh0705.jung@samsung.com>2013-11-01 18:32:43 +0900
commit91bd46eee96c0519a4426ddd90ceae5361f9bc3f (patch)
treea3b2190cb899ba566ab07fbc4308abf4cdaa9584
parent81a847a74de12d8644e8e7bdcf70a5d0f885f820 (diff)
downloadefl-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.c13
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);