focus: Renamed the config APIs _item_focus_on_selection_get/set to _item_select_on_fo...
authorAmitesh Singh <amitesh.sh@samsung.com>
Sat, 5 Apr 2014 15:10:55 +0000 (00:10 +0900)
committerDaniel Juyung Seo <seojuyung2@gmail.com>
Sat, 5 Apr 2014 15:10:55 +0000 (00:10 +0900)
Summary: - List: On Enter/Space/KP_Enter key press, focused item gets selected.

Test Plan: elementary_test->List Focus

Reviewers: seoz, raster

Reviewed By: seoz

CC: seoz
Differential Revision: https://phab.enlightenment.org/D704

config/default/base.src
config/mobile/base.src
config/standard/base.src
src/bin/test_list.c
src/lib/elm_config.c
src/lib/elm_config.h
src/lib/elm_list.c
src/lib/elm_priv.h

index 842b8c9..77890e9 100644 (file)
@@ -45,7 +45,7 @@ group "Elm_Config" struct {
   value "focus_highlight_enable" uchar: 0;
   value "focus_highlight_animate" uchar: 0;
   value "focus_highlight_clip_disable" uchar: 0;
-  value "item_focus_on_selection" uchar: 1;
+  value "item_select_on_focus_disable" uchar: 0;
   value "focus_move_policy" uchar: 0;
   value "toolbar_shrink_mode" int: 3;
   value "fileselector_expand_enable" uchar: 0;
index 97773a9..abe3c2b 100644 (file)
@@ -45,7 +45,7 @@ group "Elm_Config" struct {
   value "focus_highlight_enable" uchar: 0;
   value "focus_highlight_animate" uchar: 0;
   value "focus_highlight_clip_disable" uchar: 0;
-  value "item_focus_on_selection" uchar: 1;
+  value "item_select_on_focus_disable" uchar: 0;
   value "focus_move_policy" uchar: 0;
   value "toolbar_shrink_mode" int: 3;
   value "fileselector_expand_enable" uchar: 0;
index fa846ab..b6071b4 100644 (file)
@@ -45,7 +45,7 @@ group "Elm_Config" struct {
   value "focus_highlight_enable" uchar: 0;
   value "focus_highlight_animate" uchar: 0;
   value "focus_highlight_clip_disable" uchar: 1;
-  value "item_focus_on_selection" uchar: 1;
+  value "item_select_on_focus_disable" uchar: 0;
   value "focus_move_policy" uchar: 0;
   value "toolbar_shrink_mode" int: 3;
   value "fileselector_expand_enable" uchar: 1;
index 2003ff1..fb2922e 100644 (file)
@@ -1318,10 +1318,10 @@ test_list_focus_item_loop_enable_check_changed(void *data, Evas_Object *obj,
 }
 
 static void
-test_list_focus_item_focus_on_selection_changed(void *data EINA_UNUSED, Evas_Object *obj,
-                                                void *event_info  EINA_UNUSED)
+test_list_focus_item_select_on_focus_disable_changed(void *data EINA_UNUSED, Evas_Object *obj,
+                                                     void *event_info  EINA_UNUSED)
 {
-   elm_config_item_focus_on_selection_set(elm_check_state_get(obj));
+   elm_config_item_select_on_focus_disabled_set(elm_check_state_get(obj));
 }
 
 static void
@@ -1523,11 +1523,11 @@ _test_list_focus(const char *name, const char *title, Eina_Bool horiz)
    evas_object_show(chk);
 
    chk = elm_check_add(bx_opt);
-   elm_object_text_set(chk, "Item Focus on selection enable");
-   elm_check_state_set(chk, elm_config_item_focus_on_selection_get());
+   elm_object_text_set(chk, "Item Select on Focus disable");
+   elm_check_state_set(chk, elm_config_item_select_on_focus_disabled_get());
    evas_object_size_hint_weight_set(chk, EVAS_HINT_EXPAND, 0.0);
    evas_object_smart_callback_add(chk, "changed",
-                                  test_list_focus_item_focus_on_selection_changed,
+                                  test_list_focus_item_select_on_focus_disable_changed,
                                   NULL);
    elm_box_pack_end(bx_opt, chk);
    evas_object_show(chk);
index 05ac9cc..f9de3ec 100644 (file)
@@ -507,7 +507,7 @@ _desc_init(void)
    ELM_CONFIG_VAL(D, T, focus_highlight_animate, T_UCHAR);
    ELM_CONFIG_VAL(D, T, focus_highlight_clip_disable, T_UCHAR);
    ELM_CONFIG_VAL(D, T, focus_move_policy, T_UCHAR);
-   ELM_CONFIG_VAL(D, T, item_focus_on_selection, T_UCHAR);
+   ELM_CONFIG_VAL(D, T, item_select_on_focus_disable, T_UCHAR);
    ELM_CONFIG_VAL(D, T, toolbar_shrink_mode, T_INT);
    ELM_CONFIG_VAL(D, T, fileselector_expand_enable, T_UCHAR);
    ELM_CONFIG_VAL(D, T, fileselector_double_tap_navigation_enable, T_UCHAR);
@@ -1491,7 +1491,7 @@ _config_load(void)
    _elm_config->focus_highlight_animate = EINA_TRUE;
    _elm_config->focus_highlight_clip_disable = EINA_FALSE;
    _elm_config->focus_move_policy = ELM_FOCUS_MOVE_POLICY_CLICK;
-   _elm_config->item_focus_on_selection = EINA_TRUE;
+   _elm_config->item_select_on_focus_disable = EINA_TRUE;
    _elm_config->toolbar_shrink_mode = 2;
    _elm_config->fileselector_expand_enable = EINA_FALSE;
    _elm_config->fileselector_double_tap_navigation_enable = EINA_FALSE;
@@ -2069,8 +2069,8 @@ _env_get(void)
    s = getenv("ELM_FOCUS_MOVE_POLICY");
    if (s) _elm_config->focus_move_policy = !!atoi(s);
 
-   s = getenv("ELM_ITEM_FOCUS_ON_SELECTION");
-   if (s) _elm_config->item_focus_on_selection = !!atoi(s);
+   s = getenv("ELM_ITEM_SELECT_ON_FOCUS_DISABLE");
+   if (s) _elm_config->item_select_on_focus_disable = !!atoi(s);
 
    s = getenv("ELM_TOOLBAR_SHRINK_MODE");
    if (s) _elm_config->toolbar_shrink_mode = atoi(s);
@@ -2605,15 +2605,15 @@ elm_config_focus_move_policy_set(Elm_Focus_Move_Policy policy)
 }
 
 EAPI Eina_Bool
-elm_config_item_focus_on_selection_get(void)
+elm_config_item_select_on_focus_disabled_get(void)
 {
-   return _elm_config->item_focus_on_selection;
+   return _elm_config->item_select_on_focus_disable;
 }
 
 EAPI void
-elm_config_item_focus_on_selection_set(Eina_Bool enabled)
+elm_config_item_select_on_focus_disabled_set(Eina_Bool disable)
 {
-   _elm_config->item_focus_on_selection = !!enabled;
+   _elm_config->item_select_on_focus_disable = !!disable;
 }
 
 EAPI Eina_Bool
index 5af8833..d092441 100644 (file)
@@ -1278,24 +1278,26 @@ EAPI Elm_Focus_Move_Policy elm_config_focus_move_policy_get(void);
 EAPI void elm_config_focus_move_policy_set(Elm_Focus_Move_Policy policy);
 
 /**
- * Set elementary item focus on selection
+ * Get disable status of item select on focus feature.
  *
- * @see elm_config_item_focus_on_selection_set
+ * @return The item select on focus disable status
+ *
+ * @see elm_config_item_select_on_focus_disabled_set
  * @since 1.10
  * @ingroup Focus
  */
-EAPI Eina_Bool elm_config_item_focus_on_selection_get(void);
+EAPI Eina_Bool elm_config_item_select_on_focus_disabled_get(void);
 
 /**
- * Get elementary item focus on selection
+ * Set the disable status of the item select on focus feature.
  *
- * @param enabled Enable item focus on selection if @c EINA_TRUE, disable otherwise
+ * @param disable Disable item select on focus if @c EINA_TRUE, enable otherwise
  *
- * @see elm_config_item_focus_on_selection_get
+ * @see elm_config_item_select_on_focus_disabled_get
  * @since 1.10
  * @ingroup Focus
  */
-EAPI void elm_config_item_focus_on_selection_set(Eina_Bool enabled);
+EAPI void elm_config_item_select_on_focus_disabled_set(Eina_Bool enabled);
 
 /**
  * Get the system mirrored mode. This determines the default mirrored mode
index 0694b0e..5a44e83 100644 (file)
@@ -353,7 +353,7 @@ _elm_list_elm_widget_event(Eo *obj, Elm_List_Data *sd, Evas_Object *src, Evas_Ca
 
         if ((sd->h_mode && !focused))
           {
-             if (_elm_config->item_focus_on_selection)
+             if (!_elm_config->item_select_on_focus_disable)
                {
                   if (evas_key_modifier_is_set(ev->modifiers, "Shift"))
                     sel_ret = _item_multi_select_up(sd);
@@ -379,7 +379,7 @@ _elm_list_elm_widget_event(Eo *obj, Elm_List_Data *sd, Evas_Object *src, Evas_Ca
                        else
                          {
                             it = (Elm_List_Item *)elm_list_last_item_get(obj);
-                            if (_elm_config->item_focus_on_selection)
+                            if (!_elm_config->item_select_on_focus_disable)
                               elm_list_item_selected_set((Elm_Object_Item *)it, EINA_TRUE);
                             else
                               elm_object_item_focus_set((Elm_Object_Item *)it, EINA_TRUE);
@@ -400,7 +400,7 @@ _elm_list_elm_widget_event(Eo *obj, Elm_List_Data *sd, Evas_Object *src, Evas_Ca
 
         if (sd->h_mode && !focused)
           {
-             if (_elm_config->item_focus_on_selection)
+             if (!_elm_config->item_select_on_focus_disable)
                {
                   if (evas_key_modifier_is_set(ev->modifiers, "Shift"))
                     sel_ret = _item_multi_select_down(sd);
@@ -426,7 +426,7 @@ _elm_list_elm_widget_event(Eo *obj, Elm_List_Data *sd, Evas_Object *src, Evas_Ca
                        else
                          {
                             it = (Elm_List_Item *)elm_list_first_item_get(obj);
-                            if (_elm_config->item_focus_on_selection)
+                            if (!_elm_config->item_select_on_focus_disable)
                               elm_list_item_selected_set((Elm_Object_Item *)it, EINA_TRUE);
                             else
                               elm_object_item_focus_set((Elm_Object_Item *)it, EINA_TRUE);
@@ -447,7 +447,7 @@ _elm_list_elm_widget_event(Eo *obj, Elm_List_Data *sd, Evas_Object *src, Evas_Ca
 
         if (!sd->h_mode && !focused)
           {
-             if (_elm_config->item_focus_on_selection)
+             if (!_elm_config->item_select_on_focus_disable)
                {
                   if (evas_key_modifier_is_set(ev->modifiers, "Shift"))
                     sel_ret = _item_multi_select_up(sd);
@@ -473,7 +473,7 @@ _elm_list_elm_widget_event(Eo *obj, Elm_List_Data *sd, Evas_Object *src, Evas_Ca
                        else
                          {
                             it = (Elm_List_Item *)elm_list_last_item_get(obj);
-                            if (_elm_config->item_focus_on_selection)
+                            if (!_elm_config->item_select_on_focus_disable)
                               elm_list_item_selected_set((Elm_Object_Item *)it, EINA_TRUE);
                             else
                               elm_object_item_focus_set((Elm_Object_Item *)it, EINA_TRUE);
@@ -494,7 +494,7 @@ _elm_list_elm_widget_event(Eo *obj, Elm_List_Data *sd, Evas_Object *src, Evas_Ca
 
         if (!sd->h_mode && !focused)
           {
-             if (_elm_config->item_focus_on_selection)
+             if (!_elm_config->item_select_on_focus_disable)
                {
                   if (evas_key_modifier_is_set(ev->modifiers, "Shift"))
                     sel_ret = _item_multi_select_down(sd);
@@ -520,7 +520,7 @@ _elm_list_elm_widget_event(Eo *obj, Elm_List_Data *sd, Evas_Object *src, Evas_Ca
                        else
                          {
                             it = (Elm_List_Item *)elm_list_first_item_get(obj);
-                            if (_elm_config->item_focus_on_selection)
+                            if (!_elm_config->item_select_on_focus_disable)
                               elm_list_item_selected_set((Elm_Object_Item *)it, EINA_TRUE);
                             else
                               elm_object_item_focus_set((Elm_Object_Item *)it, EINA_TRUE);
@@ -596,13 +596,14 @@ _elm_list_elm_widget_event(Eo *obj, Elm_List_Data *sd, Evas_Object *src, Evas_Ca
      }
    else if (((!strcmp(ev->key, "Return")) ||
              (!strcmp(ev->key, "KP_Enter")) ||
-             (!strcmp(ev->key, "space")))
-            && (!sd->multi) && (sd->selected))
+             (!strcmp(ev->key, "space"))))
      {
-        if (_elm_config->item_focus_on_selection)
+        if (!_elm_config->item_select_on_focus_disable &&
+            (!sd->multi) && (sd->selected))
           it = (Elm_List_Item *)elm_list_selected_item_get(obj);
         else
           it = (Elm_List_Item *)elm_object_focused_item_get(obj);
+        elm_list_item_selected_set((Elm_Object_Item *)it, EINA_TRUE);
         if (it) evas_object_smart_callback_call(WIDGET(it), SIG_ACTIVATED, it);
      }
    else if (!strcmp(ev->key, "Escape"))
@@ -1236,7 +1237,7 @@ _elm_list_elm_widget_on_focus(Eo *obj, Elm_List_Data *sd)
              it = _elm_list_nearest_visible_item_get(obj, it);
              if (it)
                {
-                  if (_elm_config->item_focus_on_selection && is_sel)
+                  if (!_elm_config->item_select_on_focus_disable && is_sel)
                     elm_list_item_selected_set(it, EINA_TRUE);
                   else
                     elm_object_item_focus_set(it, EINA_TRUE);
@@ -1707,7 +1708,7 @@ _elm_list_looping_left_cb(void *data,
 {
    Evas_Object *list = data;
    Elm_List_Item *it = (Elm_List_Item *)elm_list_last_item_get(list);
-   if (_elm_config->item_focus_on_selection)
+   if (!_elm_config->item_select_on_focus_disable)
      elm_list_item_selected_set((Elm_Object_Item *)it, EINA_TRUE);
    else
      elm_object_item_focus_set((Elm_Object_Item *)it, EINA_TRUE);
@@ -1722,7 +1723,7 @@ _elm_list_looping_right_cb(void *data,
 {
    Evas_Object *list = data;
    Elm_List_Item *it = (Elm_List_Item *)elm_list_first_item_get(list);
-   if (_elm_config->item_focus_on_selection)
+   if (!_elm_config->item_select_on_focus_disable)
      elm_list_item_selected_set((Elm_Object_Item *)it, EINA_TRUE);
    else
      elm_object_item_focus_set((Elm_Object_Item *)it, EINA_TRUE);
@@ -1737,7 +1738,7 @@ _elm_list_looping_up_cb(void *data,
 {
    Evas_Object *list = data;
    Elm_List_Item *it = (Elm_List_Item *)elm_list_last_item_get(list);
-   if (_elm_config->item_focus_on_selection)
+   if (!_elm_config->item_select_on_focus_disable)
      elm_list_item_selected_set((Elm_Object_Item *)it, EINA_TRUE);
    else
      elm_object_item_focus_set((Elm_Object_Item *)it, EINA_TRUE);
@@ -1752,7 +1753,7 @@ _elm_list_looping_down_cb(void *data,
 {
    Evas_Object *list = data;
    Elm_List_Item *it = (Elm_List_Item *)elm_list_first_item_get(list);
-   if (_elm_config->item_focus_on_selection)
+   if (!_elm_config->item_select_on_focus_disable)
      elm_list_item_selected_set((Elm_Object_Item *)it, EINA_TRUE);
    else
      elm_object_item_focus_set((Elm_Object_Item *)it, EINA_TRUE);
index 4ebccb1..00420af 100644 (file)
@@ -229,7 +229,7 @@ struct _Elm_Config
    unsigned char focus_highlight_animate;
    unsigned char focus_highlight_clip_disable; /**< This shows disabled status of focus highlight clip feature. This value is false by default so the focus highlight is clipped. */
    unsigned char focus_move_policy; /**< This show how the elementary focus is moved to another object. Focus can be moved by click or mouse_in. */
-   unsigned char item_focus_on_selection; /**< flag for item focus on selection.*/
+   unsigned char item_select_on_focus_disable; /**< This shows the disabled status of select on focus feature. This value is false by default so that select on focus feature is enabled by default.*/
    int           toolbar_shrink_mode;
    unsigned char fileselector_expand_enable;
    unsigned char fileselector_double_tap_navigation_enable;