ajwillia-ms pushed a commit to branch master. http://git.enlightenment.org/apps/ecrire.git/commit/?id=7614d743557dd21be474ceda2aa7c405b94c34c1
commit 7614d743557dd21be474ceda2aa7c405b94c34c1 Author: Andy Williams <a...@andywilliams.me> Date: Sat Aug 12 17:37:53 2017 +0100 Add a few more expected key bindings --- src/bin/main.c | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/src/bin/main.c b/src/bin/main.c index 9c2a2e9..b538e5f 100644 --- a/src/bin/main.c +++ b/src/bin/main.c @@ -124,7 +124,7 @@ _cur_changed(void *data, Evas_Object *obj, void *event_info __UNUSED__) col = evas_textblock_cursor_pos_get(mcur) - evas_textblock_cursor_pos_get(cur) + 1; evas_textblock_cursor_free(cur); - + snprintf(buf, sizeof(buf), _("Ln %d, Col %d"), line, col); elm_object_text_set(data, buf); } @@ -592,6 +592,30 @@ _selection_notify(void *data, int type __UNUSED__, void *_event) #endif */ +static void +_key_cb(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event) +{ + Eina_Bool ctrl, alt, shift; + Evas_Event_Key_Down *ev = event; + + ctrl = evas_key_modifier_is_set(ev->modifiers, "Control"); + alt = evas_key_modifier_is_set(ev->modifiers, "Alt"); + shift = evas_key_modifier_is_set(ev->modifiers, "Shift"); + if ((alt) || (!ctrl) || (shift)) + return; + + if (!strcmp(ev->key, "a")) + _save_as(data, obj, event); + else if (!strcmp(ev->key, "f")) + _find(data, obj, event); + else if (!strcmp(ev->key, "g")) + _goto_line(data, obj, event); + else if (!strcmp(ev->key, "n")) + _new(data, obj, event); + else if (!strcmp(ev->key, "s")) + _save(data, obj, event); +} + int main(int argc, char *argv[]) { @@ -707,6 +731,7 @@ main(int argc, char *argv[]) evas_object_smart_callback_add(main_ec_ent->entry, "redo,request", _redo, main_ec_ent); evas_object_smart_callback_add(main_ec_ent->entry, "selection,start", _sel_start, main_ec_ent); evas_object_smart_callback_add(main_ec_ent->entry, "selection,cleared", _sel_clear, main_ec_ent); + evas_object_event_callback_add(main_ec_ent->entry, EVAS_CALLBACK_KEY_DOWN, _key_cb, main_ec_ent); elm_toolbar_item_append(tbar, "document-new", _("New"), _new, main_ec_ent); elm_toolbar_item_append(tbar, "document-open", _("Open"), _open, main_ec_ent); --