Edje_entry: emit "cursor,changed,manual" for Home/End/PgUp/PgDown.
authorMykyta Biliavskyi <m.biliavskyi@samsung.com>
Tue, 22 Sep 2015 14:12:47 +0000 (15:12 +0100)
committerTom Hacohen <tom@stosb.com>
Tue, 22 Sep 2015 14:12:47 +0000 (15:12 +0100)
Summary:
The keys Home/End/PgUp/PgDown are changes the entry cursor
position in the same way as arrow keys. For unified behavior
callback "cursor,changed,manual", added emitting signal for
those keys events.

Reviewers: tasn, cedric, herdsman, thiepha

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D3055

src/lib/edje/edje_entry.c

index 237e49a..e32a52e 100644 (file)
@@ -1686,6 +1686,7 @@ _edje_key_down_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
              if (shift) _sel_extend(ed, en->cursor, rp->object, en);
           }
         _edje_emit(ed, "entry,key,home", rp->part->name);
+        _edje_emit(ed, "cursor,changed,manual", rp->part->name);
         ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
      }
    else if ((!alt) &&
@@ -1707,6 +1708,7 @@ _edje_key_down_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
              if (shift) _sel_extend(ed, en->cursor, rp->object, en);
           }
         _edje_emit(ed, "entry,key,end", rp->part->name);
+        _edje_emit(ed, "cursor,changed,manual", rp->part->name);
         ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
      }
    else if ((control) && (!shift) && (!strcmp(ev->keyname, "v")))
@@ -1830,6 +1832,7 @@ _edje_key_down_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
              else _sel_clear(ed, en->cursor, rp->object, en);
           }
         _edje_emit(ed, "entry,key,pgup", rp->part->name);
+        _edje_emit(ed, "cursor,changed,manual", rp->part->name);
         ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
      }
    else if (!strcmp(ev->key, "Next") ||
@@ -1853,6 +1856,7 @@ _edje_key_down_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
              else _sel_clear(ed, en->cursor, rp->object, en);
           }
         _edje_emit(ed, "entry,key,pgdn", rp->part->name);
+        _edje_emit(ed, "cursor,changed,manual", rp->part->name);
         ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
      }
    else if ((!strcmp(ev->key, "Return")) || (!strcmp(ev->key, "KP_Enter")))