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

-- 


Reply via email to