rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=7c5c53de251cd33938320812e9c4f01f8b49f63a

commit 7c5c53de251cd33938320812e9c4f01f8b49f63a
Author: Andrii Kroitor <[email protected]>
Date:   Tue May 31 10:51:18 2016 +0300

    shortcuts: add shortcut for data item add
---
 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 |  2 +-
 src/bin/ui/workspace/group_navigator.h |  3 +++
 src/bin/ui/workspace/workspace.c       | 10 ++++++++++
 src/bin/ui/workspace/workspace.h       |  3 +++
 8 files changed, 32 insertions(+), 1 deletion(-)

diff --git a/src/bin/common/signals.h b/src/bin/common/signals.h
index b599037..858878d 100644
--- a/src/bin/common/signals.h
+++ b/src/bin/common/signals.h
@@ -502,6 +502,7 @@ typedef struct {
 #define SIGNAL_SHORTCUT_ADD_STATE "SIGNAL_SHORTCUT_ADD_STATE"
 #define SIGNAL_SHORTCUT_ADD_ITEM "SIGNAL_SHORTCUT_ADD_ITEM"
 #define SIGNAL_SHORTCUT_ADD_PROGRAM "SIGNAL_SHORTCUT_ADD_PROGRAM"
+#define SIGNAL_SHORTCUT_ADD_DATA_ITEM "SIGNAL_SHORTCUT_ADD_DATA_ITEM"
 #define SIGNAL_SHORTCUT_DEL "SIGNAL_SHORTCUT_DEL"
 #define SIGNAL_SHORTCUT_TAB_NEXT "SIGNAL_SHORTCUT_TAB_NEXT"
 #define SIGNAL_SHORTCUT_TAB_PREV "SIGNAL_SHORTCUT_TAB_PREV"
diff --git a/src/bin/ui/shortcuts/shortcuts.c b/src/bin/ui/shortcuts/shortcuts.c
index 9dd4441..45d50f8 100644
--- a/src/bin/ui/shortcuts/shortcuts.c
+++ b/src/bin/ui/shortcuts/shortcuts.c
@@ -147,6 +147,7 @@ _shortcut_handle(Shortcut_Type type)
         SHORTCUT(ADD_STATE);
         SHORTCUT(ADD_ITEM);
         SHORTCUT(ADD_PROGRAM);
+        SHORTCUT(ADD_DATA_ITEM);
         SHORTCUT(DEL);
         SHORTCUT(STATE_NEXT);
         SHORTCUT(PART_NEXT);
@@ -400,6 +401,8 @@ _default_shortcuts_add()
                  MOD_NONE, 26/*e*/);
    _add_shortcut(false, SHORTCUT_TYPE_ADD_PROGRAM, SHORTCUT_TYPE_NONE,
                  MOD_NONE, 27/*r*/);
+   _add_shortcut(false, SHORTCUT_TYPE_ADD_DATA_ITEM, SHORTCUT_TYPE_NONE,
+                 MOD_NONE, 28/*t*/);
    _add_shortcut(false, SHORTCUT_TYPE_DEL, SHORTCUT_TYPE_NONE,
                  MOD_NONE, 119/*del*/);
    _add_shortcut(false, SHORTCUT_TYPE_STATE_NEXT, SHORTCUT_TYPE_NONE,
diff --git a/src/bin/ui/shortcuts/shortcuts.h b/src/bin/ui/shortcuts/shortcuts.h
index a442deb..28c02dd 100644
--- a/src/bin/ui/shortcuts/shortcuts.h
+++ b/src/bin/ui/shortcuts/shortcuts.h
@@ -62,6 +62,7 @@ typedef enum {
    SHORTCUT_TYPE_ADD_STATE,
    SHORTCUT_TYPE_ADD_ITEM,
    SHORTCUT_TYPE_ADD_PROGRAM,
+   SHORTCUT_TYPE_ADD_DATA_ITEM,
    SHORTCUT_TYPE_DEL,
    SHORTCUT_TYPE_TAB_NUM1,
    SHORTCUT_TYPE_TAB_NUM2,
diff --git a/src/bin/ui/tabs.c b/src/bin/ui/tabs.c
index 96d15c2..d9166a5 100644
--- a/src/bin/ui/tabs.c
+++ b/src/bin/ui/tabs.c
@@ -687,6 +687,15 @@ _shortcut_add_program_cb(void *data __UNUSED__,
 }
 
 static void
+_shortcut_add_data_item_cb(void *data __UNUSED__,
+                           Evas_Object *obj __UNUSED__,
+                           void *event_info __UNUSED__)
+{
+   if (tabs.current_workspace)
+     workspace_add_group_data_request(tabs.current_workspace);
+}
+
+static void
 _shortcut_del_cb(void *data __UNUSED__,
                  Evas_Object *obj __UNUSED__,
                  void *event_info __UNUSED__)
@@ -1009,6 +1018,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_ADD_DATA_ITEM, 
_shortcut_add_data_item_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_NEXT, 
_shortcut_part_next_cb, NULL);
diff --git a/src/bin/ui/workspace/group_navigator.c 
b/src/bin/ui/workspace/group_navigator.c
index a51dd1c..2705e14 100644
--- a/src/bin/ui/workspace/group_navigator.c
+++ b/src/bin/ui/workspace/group_navigator.c
@@ -2220,7 +2220,7 @@ group_navigator_add(Evas_Object *parent, Group *group)
    elm_menu_item_separator_add(pl->menu, NULL);
 
    menu_item = elm_menu_item_add(pl->menu, NULL, NULL, _("Data item"), 
_on_menu_add_group_data_clicked, NULL);
-   //elm_object_part_text_set(elm_menu_item_object_get(menu_item), 
"elm.shortcut", "q");
+   elm_object_part_text_set(elm_menu_item_object_get(menu_item), 
"elm.shortcut", "t");
 
    pl->name_validator = elm_validator_regexp_new(PART_NAME_REGEX, NULL);
    pl->part_name_validator = resource_name_validator_new(PART_NAME_REGEX, 
NULL);
diff --git a/src/bin/ui/workspace/group_navigator.h 
b/src/bin/ui/workspace/group_navigator.h
index a840dbb..38f5662 100644
--- a/src/bin/ui/workspace/group_navigator.h
+++ b/src/bin/ui/workspace/group_navigator.h
@@ -123,6 +123,9 @@ void
 group_navigator_add_program_request(Evas_Object *obj);
 
 void
+group_navigator_add_group_data_request(Evas_Object *obj);
+
+void
 group_navigator_delete_request(Evas_Object *obj);
 
 void
diff --git a/src/bin/ui/workspace/workspace.c b/src/bin/ui/workspace/workspace.c
index bcfeca4..2f1f734 100644
--- a/src/bin/ui/workspace/workspace.c
+++ b/src/bin/ui/workspace/workspace.c
@@ -1556,6 +1556,16 @@ workspace_add_program_request(Evas_Object *obj)
 }
 
 void
+workspace_add_group_data_request(Evas_Object *obj)
+{
+   WS_DATA_GET(obj);
+
+   if (wd->mode != MODE_DEMO)
+     group_navigator_add_group_data_request(wd->group_navi);
+}
+
+
+void
 workspace_delete_request(Evas_Object *obj)
 {
    WS_DATA_GET(obj);
diff --git a/src/bin/ui/workspace/workspace.h b/src/bin/ui/workspace/workspace.h
index af1603e..001361e 100644
--- a/src/bin/ui/workspace/workspace.h
+++ b/src/bin/ui/workspace/workspace.h
@@ -405,6 +405,9 @@ void
 workspace_add_program_request(Evas_Object *obj);
 
 void
+workspace_add_group_data_request(Evas_Object *obj);
+
+void
 workspace_delete_request(Evas_Object *obj);
 
 void

-- 


Reply via email to