rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=6545cf5ffb7f13a636210b79f93ac1a25ea01e78
commit 6545cf5ffb7f13a636210b79f93ac1a25ea01e78 Author: Andrii Kroitor <an.kroi...@samsung.com> Date: Fri Mar 25 11:34:06 2016 +0200 workspace: add shortcut to show/hide current part (h) --- src/bin/common/signals.h | 1 + src/bin/ui/shortcuts/shortcuts.c | 3 +++ src/bin/ui/shortcuts/shortcuts.h | 1 + src/bin/ui/tabs.c | 10 ++++++++++ src/bin/ui/workspace/group_navigator.c | 16 ++++++++++++++++ src/bin/ui/workspace/group_navigator.h | 3 +++ src/bin/ui/workspace/workspace.c | 8 ++++++++ src/bin/ui/workspace/workspace.h | 3 +++ 8 files changed, 45 insertions(+) diff --git a/src/bin/common/signals.h b/src/bin/common/signals.h index ef10340..d5b9870 100644 --- a/src/bin/common/signals.h +++ b/src/bin/common/signals.h @@ -468,6 +468,7 @@ typedef struct { #define SIGNAL_SHORTCUT_MODE_CODE "SIGNAL_SHORTCUT_MODE_CODE" #define SIGNAL_SHORTCUT_MODE_DEMO "SIGNAL_SHORTCUT_MODE_DEMO" #define SIGNAL_SHORTCUT_STATE_NEXT "SIGNAL_SHORTCUT_STATE_NEXT" +#define SIGNAL_SHORTCUT_PART_SHOWHIDE "SIGNAL_SHORTCUT_PART_SHOWHIDE" /** * emited when shortcut is pressed. * eventinfo - tab number. diff --git a/src/bin/ui/shortcuts/shortcuts.c b/src/bin/ui/shortcuts/shortcuts.c index 2ed7a90..7db14a7 100644 --- a/src/bin/ui/shortcuts/shortcuts.c +++ b/src/bin/ui/shortcuts/shortcuts.c @@ -146,6 +146,7 @@ _shortcut_handle(Shortcut_Type type) SHORTCUT(ADD_PROGRAM); SHORTCUT(DEL); SHORTCUT(STATE_NEXT); + SHORTCUT(PART_SHOWHIDE); SHORTCUT_NUM(TAB_NUM1, SIGNAL_SHORTCUT_TAB_NUM, 1); SHORTCUT_NUM(TAB_NUM2, SIGNAL_SHORTCUT_TAB_NUM, 2); SHORTCUT_NUM(TAB_NUM3, SIGNAL_SHORTCUT_TAB_NUM, 3); @@ -369,6 +370,8 @@ _default_shortcuts_add() MOD_NONE, 119/*del*/); _add_shortcut(SHORTCUT_TYPE_STATE_NEXT, SHORTCUT_TYPE_NONE, MOD_NONE, 39/*s*/); + _add_shortcut(SHORTCUT_TYPE_PART_SHOWHIDE, SHORTCUT_TYPE_NONE, + MOD_NONE, 43/*h*/); _add_shortcut(SHORTCUT_TYPE_TAB_NUM1, SHORTCUT_TYPE_NONE, MOD_CTRL, 10/*1*/); diff --git a/src/bin/ui/shortcuts/shortcuts.h b/src/bin/ui/shortcuts/shortcuts.h index 3c488dd..7c919ab 100644 --- a/src/bin/ui/shortcuts/shortcuts.h +++ b/src/bin/ui/shortcuts/shortcuts.h @@ -85,6 +85,7 @@ typedef enum { SHORTCUT_TYPE_MODE_CODE, SHORTCUT_TYPE_MODE_DEMO, SHORTCUT_TYPE_STATE_NEXT, + SHORTCUT_TYPE_PART_SHOWHIDE, SHORTCUT_TYPE_LAST, } Shortcut_Type; diff --git a/src/bin/ui/tabs.c b/src/bin/ui/tabs.c index adbac60..66450e8 100644 --- a/src/bin/ui/tabs.c +++ b/src/bin/ui/tabs.c @@ -620,6 +620,15 @@ _shortcut_state_next_cb(void *data __UNUSED__, } static void +_shortcut_part_showhide_cb(void *data __UNUSED__, + Evas_Object *obj __UNUSED__, + void *event_info __UNUSED__) +{ + if (tabs.current_workspace) + workspace_part_showhide_request(tabs.current_workspace); +} + +static void _shortcut_tab_next_cb(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) @@ -839,6 +848,7 @@ tabs_add(void) 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); evas_object_smart_callback_add(ap.win, SIGNAL_SHORTCUT_STATE_NEXT, _shortcut_state_next_cb, NULL); + evas_object_smart_callback_add(ap.win, SIGNAL_SHORTCUT_PART_SHOWHIDE, _shortcut_part_showhide_cb, NULL); evas_object_smart_callback_add(ap.win, SIGNAL_SHORTCUT_TAB_NEXT, _shortcut_tab_next_cb, NULL); evas_object_smart_callback_add(ap.win, SIGNAL_SHORTCUT_TAB_PREV, _shortcut_tab_prev_cb, NULL); evas_object_smart_callback_add(ap.win, SIGNAL_SHORTCUT_TAB_NUM, _shortcut_tab_num_cb, NULL); diff --git a/src/bin/ui/workspace/group_navigator.c b/src/bin/ui/workspace/group_navigator.c index 9b253da..cb0f658 100644 --- a/src/bin/ui/workspace/group_navigator.c +++ b/src/bin/ui/workspace/group_navigator.c @@ -2013,3 +2013,19 @@ group_navigator_state_next_request(Evas_Object *obj) } } } + +void +group_navigator_part_showhide_request(Evas_Object *obj) +{ + Part_List *pl = evas_object_data_get(obj, GROUP_NAVIGATOR_DATA); + Part *part; + + if (pl->selected_part_item != NULL) + { + part = elm_object_item_data_get(pl->selected_part_item); + if (part) + { + _on_eye_clicked(part, obj, NULL); + } + } +} diff --git a/src/bin/ui/workspace/group_navigator.h b/src/bin/ui/workspace/group_navigator.h index f032924..05a4600 100644 --- a/src/bin/ui/workspace/group_navigator.h +++ b/src/bin/ui/workspace/group_navigator.h @@ -116,4 +116,7 @@ group_navigator_delete_request(Evas_Object *obj); void group_navigator_state_next_request(Evas_Object *obj); + +void +group_navigator_part_showhide_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 7661eb8..1c1a304 100644 --- a/src/bin/ui/workspace/workspace.c +++ b/src/bin/ui/workspace/workspace.c @@ -1189,3 +1189,11 @@ workspace_state_next_request(Evas_Object *obj) group_navigator_state_next_request(wd->group_navi); } + +void +workspace_part_showhide_request(Evas_Object *obj) +{ + WS_DATA_GET(obj); + + group_navigator_part_showhide_request(wd->group_navi); +} diff --git a/src/bin/ui/workspace/workspace.h b/src/bin/ui/workspace/workspace.h index 0cee836..75c7d12 100644 --- a/src/bin/ui/workspace/workspace.h +++ b/src/bin/ui/workspace/workspace.h @@ -351,4 +351,7 @@ workspace_mode_set(Evas_Object *obj, Workspace_Mode mode); void workspace_state_next_request(Evas_Object *obj); + +void +workspace_part_showhide_request(Evas_Object *obj); #endif /* WORKSPACE_H */ --