forked from enlightenment/efl
Elementary genlist: Fixed item disabled set bug and disabled swallow
objects as well. SVN revision: 59228
This commit is contained in:
parent
0a07dc8225
commit
c7e8085c9f
|
@ -1694,6 +1694,8 @@ _item_icon_realize(Elm_Genlist_Item *it,
|
||||||
edje_object_part_swallow(target, key, ic);
|
edje_object_part_swallow(target, key, ic);
|
||||||
evas_object_show(ic);
|
evas_object_show(ic);
|
||||||
elm_widget_sub_object_add(it->base.widget, ic);
|
elm_widget_sub_object_add(it->base.widget, ic);
|
||||||
|
if (it->disabled)
|
||||||
|
elm_widget_disabled_set(ic, EINA_TRUE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3789,7 +3791,7 @@ elm_genlist_item_selected_set(Elm_Genlist_Item *it,
|
||||||
ELM_WIDGET_ITEM_WIDTYPE_CHECK_OR_RETURN(it);
|
ELM_WIDGET_ITEM_WIDTYPE_CHECK_OR_RETURN(it);
|
||||||
Widget_Data *wd = elm_widget_data_get(it->base.widget);
|
Widget_Data *wd = elm_widget_data_get(it->base.widget);
|
||||||
if (!wd) return;
|
if (!wd) return;
|
||||||
if (it->delete_me) return;
|
if ((it->delete_me) && (it->disabled)) return;
|
||||||
selected = !!selected;
|
selected = !!selected;
|
||||||
if (it->selected == selected) return;
|
if (it->selected == selected) return;
|
||||||
|
|
||||||
|
@ -3905,15 +3907,21 @@ elm_genlist_item_disabled_set(Elm_Genlist_Item *it,
|
||||||
Eina_Bool disabled)
|
Eina_Bool disabled)
|
||||||
{
|
{
|
||||||
ELM_WIDGET_ITEM_WIDTYPE_CHECK_OR_RETURN(it);
|
ELM_WIDGET_ITEM_WIDTYPE_CHECK_OR_RETURN(it);
|
||||||
|
Eina_List *l;
|
||||||
|
Evas_Object *obj;
|
||||||
if (it->disabled == disabled) return;
|
if (it->disabled == disabled) return;
|
||||||
if (it->delete_me) return;
|
if (it->delete_me) return;
|
||||||
it->disabled = !!disabled;
|
it->disabled = !!disabled;
|
||||||
|
if (it->selected)
|
||||||
|
elm_genlist_item_selected_set(it, EINA_FALSE);
|
||||||
if (it->realized)
|
if (it->realized)
|
||||||
{
|
{
|
||||||
if (it->disabled)
|
if (it->disabled)
|
||||||
edje_object_signal_emit(it->base.view, "elm,state,disabled", "elm");
|
edje_object_signal_emit(it->base.view, "elm,state,disabled", "elm");
|
||||||
else
|
else
|
||||||
edje_object_signal_emit(it->base.view, "elm,state,enabled", "elm");
|
edje_object_signal_emit(it->base.view, "elm,state,enabled", "elm");
|
||||||
|
EINA_LIST_FOREACH(it->icon_objs, l, obj)
|
||||||
|
elm_widget_disabled_set(obj, disabled);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue