rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=2d031c886a68a4df1cb661971b9c55828563f770
commit 2d031c886a68a4df1cb661971b9c55828563f770 Author: Andrii Kroitor <an.kroi...@samsung.com> Date: Mon Apr 4 17:09:36 2016 +0300 shortcuts: add part unselect shortcut(ESC) --- src/bin/common/signals.h | 1 + src/bin/ui/shortcuts/shortcuts.c | 6 +++++- src/bin/ui/shortcuts/shortcuts.h | 1 + src/bin/ui/tabs.c | 10 +++++++++ src/bin/ui/workspace/workspace.c | 44 ++++++++++++++++++++++++---------------- src/bin/ui/workspace/workspace.h | 9 ++++---- 6 files changed, 48 insertions(+), 23 deletions(-) diff --git a/src/bin/common/signals.h b/src/bin/common/signals.h index 19dce29..6318355 100644 --- a/src/bin/common/signals.h +++ b/src/bin/common/signals.h @@ -470,6 +470,7 @@ typedef struct { #define SIGNAL_SHORTCUT_STATE_NEXT "SIGNAL_SHORTCUT_STATE_NEXT" #define SIGNAL_SHORTCUT_PART_SHOWHIDE "SIGNAL_SHORTCUT_PART_SHOWHIDE" #define SIGNAL_SHORTCUT_ALL_PARTS_SHOWHIDE "SIGNAL_SHORTCUT_ALL_PARTS_SHOWHIDE" +#define SIGNAL_SHORTCUT_PART_UNSELECT "SIGNAL_SHORTCUT_PART_UNSELECT" #define SIGNAL_SHORTCUT_ZOOM_IN "SIGNAL_SHORTCUT_ZOOM_IN" #define SIGNAL_SHORTCUT_ZOOM_OUT "SIGNAL_SHORTCUT_ZOOM_OUT" #define SIGNAL_SHORTCUT_ZOOM_RESET "SIGNAL_SHORTCUT_ZOOM_RESET" diff --git a/src/bin/ui/shortcuts/shortcuts.c b/src/bin/ui/shortcuts/shortcuts.c index 2c01e51..0420e8d 100644 --- a/src/bin/ui/shortcuts/shortcuts.c +++ b/src/bin/ui/shortcuts/shortcuts.c @@ -151,6 +151,7 @@ _shortcut_handle(Shortcut_Type type) SHORTCUT(STATE_NEXT); SHORTCUT(PART_SHOWHIDE); SHORTCUT(ALL_PARTS_SHOWHIDE); + SHORTCUT(PART_UNSELECT); 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); @@ -244,7 +245,8 @@ _key_press_event_cb(void *data __UNUSED__, int type __UNUSED__, void *event) (!(((sc.keycode >= 67 /*F1*/) && (sc.keycode <= 76 /*F10*/)) || (sc.keycode == 95 /*F11*/) || - (sc.keycode == 96 /*F12*/)) ) && + (sc.keycode == 96 /*F12*/) || + (sc.keycode == 9 /*ESC*/)) ) && /* elm_entry is in focus */ (!strcmp("elm_entry", evas_object_type_get(elm_object_focused_object_get(ap.win))))) { @@ -404,6 +406,8 @@ _default_shortcuts_add() MOD_NONE, 43/*h*/); _add_shortcut(false, SHORTCUT_TYPE_ALL_PARTS_SHOWHIDE, SHORTCUT_TYPE_NONE, MOD_SHIFT, 43/*h*/); + _add_shortcut(false, SHORTCUT_TYPE_PART_UNSELECT, SHORTCUT_TYPE_NONE, + MOD_NONE, 9/*ESC*/); _add_shortcut(false, 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 5471ace..e84b7ff 100644 --- a/src/bin/ui/shortcuts/shortcuts.h +++ b/src/bin/ui/shortcuts/shortcuts.h @@ -87,6 +87,7 @@ typedef enum { SHORTCUT_TYPE_STATE_NEXT, SHORTCUT_TYPE_PART_SHOWHIDE, SHORTCUT_TYPE_ALL_PARTS_SHOWHIDE, + SHORTCUT_TYPE_PART_UNSELECT, SHORTCUT_TYPE_ZOOM_IN, SHORTCUT_TYPE_ZOOM_OUT, SHORTCUT_TYPE_ZOOM_RESET, diff --git a/src/bin/ui/tabs.c b/src/bin/ui/tabs.c index a5dd889..2f6fcfd 100644 --- a/src/bin/ui/tabs.c +++ b/src/bin/ui/tabs.c @@ -629,6 +629,15 @@ _shortcut_part_showhide_cb(void *data __UNUSED__, } static void +_shortcut_part_unselect_cb(void *data __UNUSED__, + Evas_Object *obj __UNUSED__, + void *event_info __UNUSED__) +{ + if (tabs.current_workspace) + workspace_part_unselect_request(tabs.current_workspace); +} + +static void _shortcut_all_parts_showhide_cb(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) @@ -941,6 +950,7 @@ tabs_add(void) 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_PART_UNSELECT, _shortcut_part_unselect_cb, NULL); evas_object_smart_callback_add(ap.win, SIGNAL_SHORTCUT_ALL_PARTS_SHOWHIDE, _shortcut_all_parts_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); diff --git a/src/bin/ui/workspace/workspace.c b/src/bin/ui/workspace/workspace.c index 33f50bc..85d4cca 100644 --- a/src/bin/ui/workspace/workspace.c +++ b/src/bin/ui/workspace/workspace.c @@ -1230,6 +1230,30 @@ workspace_program_del(Evas_Object *obj, Eina_Stringshare *program_name) } void +workspace_rulers_visibled_set(Evas_Object *obj, Eina_Bool visible) +{ + Scroll_Area *area; + WS_DATA_GET(obj); + + area = _scroll_area_get(wd); + area->rulers_visibled = visible; + if (visible) + elm_layout_signal_emit(area->layout, "elm,state,rulers,show", "eflete"); + else + elm_layout_signal_emit(area->layout, "elm,state,rulers,hide", "eflete"); +} + +Eina_Bool +workspace_rulers_visibled_get(Evas_Object *obj) +{ + Scroll_Area *area; + WS_DATA_GET(obj); + + area = _scroll_area_get(wd); + return area->rulers_visibled; +} + +void workspace_add_part_request(Evas_Object *obj) { WS_DATA_GET(obj); @@ -1361,25 +1385,9 @@ workspace_all_parts_showhide_request(Evas_Object *obj) } void -workspace_rulers_visibled_set(Evas_Object *obj, Eina_Bool visible) +workspace_part_unselect_request(Evas_Object *obj) { - Scroll_Area *area; WS_DATA_GET(obj); - area = _scroll_area_get(wd); - area->rulers_visibled = visible; - if (visible) - elm_layout_signal_emit(area->layout, "elm,state,rulers,show", "eflete"); - else - elm_layout_signal_emit(area->layout, "elm,state,rulers,hide", "eflete"); -} - -Eina_Bool -workspace_rulers_visibled_get(Evas_Object *obj) -{ - Scroll_Area *area; - WS_DATA_GET(obj); - - area = _scroll_area_get(wd); - return area->rulers_visibled; + group_navigator_part_select(wd->group_navi, NULL); } diff --git a/src/bin/ui/workspace/workspace.h b/src/bin/ui/workspace/workspace.h index d60e956..ce685ec 100644 --- a/src/bin/ui/workspace/workspace.h +++ b/src/bin/ui/workspace/workspace.h @@ -343,7 +343,11 @@ workspace_object_area_visible_set(Evas_Object *obj, Eina_Bool visible); Eina_Bool workspace_object_area_visible_get(Evas_Object *obj); +void +workspace_rulers_visibled_set(Evas_Object *obj, Eina_Bool visible); +Eina_Bool +workspace_rulers_visibled_get(Evas_Object *obj); TODO("remove after property refactor!!! HIGH LEVEL"); Eina_Bool @@ -377,9 +381,6 @@ void workspace_all_parts_showhide_request(Evas_Object *obj); void -workspace_rulers_visibled_set(Evas_Object *obj, Eina_Bool visible); - -Eina_Bool -workspace_rulers_visibled_get(Evas_Object *obj); +workspace_part_unselect_request(Evas_Object *obj); #endif /* WORKSPACE_H */ --