rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=1c529ca63d66d07785d4ec66562ad4fdbd6ccfb8
commit 1c529ca63d66d07785d4ec66562ad4fdbd6ccfb8 Author: Andrii Kroitor <an.kroi...@samsung.com> Date: Wed Mar 23 17:19:06 2016 +0200 workspace: add DEL shortcut --- src/bin/ui/tabs.c | 10 ++++++++++ src/bin/ui/workspace/group_navigator.c | 9 +++++++++ src/bin/ui/workspace/group_navigator.h | 3 +++ src/bin/ui/workspace/workspace.c | 8 ++++++++ src/bin/ui/workspace/workspace.h | 3 +++ 5 files changed, 33 insertions(+) diff --git a/src/bin/ui/tabs.c b/src/bin/ui/tabs.c index 7f8c665..860e3f9 100644 --- a/src/bin/ui/tabs.c +++ b/src/bin/ui/tabs.c @@ -601,6 +601,15 @@ _shortcut_add_program_cb(void *data __UNUSED__, workspace_add_program_request(tabs.current_workspace); } +static void +_shortcut_del_cb(void *data __UNUSED__, + Evas_Object *obj __UNUSED__, + void *event_info __UNUSED__) +{ + if (tabs.current_workspace) + workspace_delete_request(tabs.current_workspace); +} + Evas_Object * tabs_add(void) { @@ -705,6 +714,7 @@ tabs_add(void) evas_object_smart_callback_add(ap.win, SIGNAL_SHORTCUT_ADD_ITEM, _shortcut_add_part_item_cb, NULL); evas_object_smart_callback_add(ap.win, SIGNAL_SHORTCUT_ADD_STATE, _shortcut_add_state_cb, NULL); evas_object_smart_callback_add(ap.win, SIGNAL_SHORTCUT_ADD_PROGRAM, _shortcut_add_program_cb, NULL); + evas_object_smart_callback_add(ap.win, SIGNAL_SHORTCUT_DEL, _shortcut_del_cb, NULL); return tabs.layout; } diff --git a/src/bin/ui/workspace/group_navigator.c b/src/bin/ui/workspace/group_navigator.c index ce7258d..ad91f35 100644 --- a/src/bin/ui/workspace/group_navigator.c +++ b/src/bin/ui/workspace/group_navigator.c @@ -1974,3 +1974,12 @@ group_navigator_add_program_request(Evas_Object *obj) { _on_menu_add_program_clicked(NULL, obj, NULL); } + +void +group_navigator_delete_request(Evas_Object *obj) +{ + Part_List *pl = evas_object_data_get(obj, GROUP_NAVIGATOR_DATA); + + if (!elm_object_disabled_get(pl->btn_del)) + _on_btn_minus_clicked(pl, NULL, NULL); +} diff --git a/src/bin/ui/workspace/group_navigator.h b/src/bin/ui/workspace/group_navigator.h index f39c3f1..b211af1 100644 --- a/src/bin/ui/workspace/group_navigator.h +++ b/src/bin/ui/workspace/group_navigator.h @@ -111,4 +111,7 @@ group_navigator_add_state_request(Evas_Object *obj); void group_navigator_add_program_request(Evas_Object *obj); +void +group_navigator_delete_request(Evas_Object *obj); + #endif /* GROUP_NAVIGATOR_H */ diff --git a/src/bin/ui/workspace/workspace.c b/src/bin/ui/workspace/workspace.c index b4413a2..589408e 100644 --- a/src/bin/ui/workspace/workspace.c +++ b/src/bin/ui/workspace/workspace.c @@ -1104,3 +1104,11 @@ workspace_add_program_request(Evas_Object *obj) group_navigator_add_program_request(wd->group_navi); } + +void +workspace_delete_request(Evas_Object *obj) +{ + WS_DATA_GET(obj); + + group_navigator_delete_request(wd->group_navi); +} diff --git a/src/bin/ui/workspace/workspace.h b/src/bin/ui/workspace/workspace.h index c644751..05c0e32 100644 --- a/src/bin/ui/workspace/workspace.h +++ b/src/bin/ui/workspace/workspace.h @@ -335,4 +335,7 @@ workspace_add_state_request(Evas_Object *obj); void workspace_add_program_request(Evas_Object *obj); +void +workspace_delete_request(Evas_Object *obj); + #endif /* WORKSPACE_H */ --