diff options
Diffstat (limited to 'src/bin/tools/paledit/main.c')
-rw-r--r-- | src/bin/tools/paledit/main.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/bin/tools/paledit/main.c b/src/bin/tools/paledit/main.c index 0ddc07353b..d06139e4d2 100644 --- a/src/bin/tools/paledit/main.c +++ b/src/bin/tools/paledit/main.c @@ -19,6 +19,7 @@ pal_load(Evas_Object *win) if (!palname) return; Elm_Palette *pal = elm_config_palette_load(palname); if (!pal) return; + undoredo_reset(win); evas_object_data_set(win, "pal", pal); palcols_fill(win); palimg_update(evas_object_data_get(win, "pal_image"), pal); @@ -32,6 +33,19 @@ _cb_close_click(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_ evas_object_del(data); } +static void +_cb_key_down(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info) +{ + Evas_Object *win = data; + Evas_Event_Key_Down *ev = event_info; + + if (!strcmp(ev->key, "Escape")) + { + underedo_undo(win); + } +} + + EAPI_MAIN int elm_main(int argc, char **argv) { @@ -42,6 +56,11 @@ elm_main(int argc, char **argv) win = elm_win_util_standard_add("e_paledit", "Palette Editor"); elm_win_autodel_set(win, EINA_TRUE); + o = evas_object_rectangle_add(evas_object_evas_get(win)); + if (!evas_object_key_grab(o, "Escape", 0, 0, EINA_FALSE)) printf("Can't grab...\n"); + evas_object_event_callback_add(o, EVAS_CALLBACK_KEY_DOWN, + _cb_key_down, win); + fr = o = elm_frame_add(win); elm_object_style_set(o, "pad_medium"); evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); |