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 */

-- 


Reply via email to