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
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;
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;
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;
}
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
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);
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);
_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;
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);
}
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
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
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);
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);
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);
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);
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);
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);
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);
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);
}
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"))
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);
{
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);
{
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);
{
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);
{
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);
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;