forked from enlightenment/efl
elm genlist: Fixed homogeneous mode bug with ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY item. Now it calculates display only item size correctly.
SVN revision: 72910
This commit is contained in:
parent
f4e1f3c0e5
commit
36d4de353a
|
@ -2179,25 +2179,21 @@ _item_realize(Elm_Gen_Item *it,
|
||||||
_elm_genlist_item_index_update(it);
|
_elm_genlist_item_index_update(it);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((calc) && (it->wd->homogeneous) &&
|
/* homogenous genlist shortcut */
|
||||||
((it->wd->item_width) ||
|
if ((calc) && (it->wd->homogeneous) && (!it->item->mincalcd) &&
|
||||||
((it->wd->item_width) && (it->wd->group_item_width))))
|
((it->group && it->wd->group_item_width) || (!it->group && it->wd->item_width)))
|
||||||
{
|
{
|
||||||
/* homogenous genlist shortcut */
|
if (it->group)
|
||||||
if (!it->item->mincalcd)
|
|
||||||
{
|
{
|
||||||
if (it->group)
|
it->item->w = it->item->minw = it->wd->group_item_width;
|
||||||
{
|
it->item->h = it->item->minh = it->wd->group_item_height;
|
||||||
it->item->w = it->item->minw = it->wd->group_item_width;
|
|
||||||
it->item->h = it->item->minh = it->wd->group_item_height;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
it->item->w = it->item->minw = it->wd->item_width;
|
|
||||||
it->item->h = it->item->minh = it->wd->item_height;
|
|
||||||
}
|
|
||||||
it->item->mincalcd = EINA_TRUE;
|
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
it->item->w = it->item->minw = it->wd->item_width;
|
||||||
|
it->item->h = it->item->minh = it->wd->item_height;
|
||||||
|
}
|
||||||
|
it->item->mincalcd = EINA_TRUE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -5896,6 +5892,15 @@ elm_genlist_item_select_mode_set(Elm_Object_Item *it,
|
||||||
if (_it->item->block) _it->item->block->updateme = EINA_TRUE;
|
if (_it->item->block) _it->item->block->updateme = EINA_TRUE;
|
||||||
if (_it->wd->update_job) ecore_job_del(_it->wd->update_job);
|
if (_it->wd->update_job) ecore_job_del(_it->wd->update_job);
|
||||||
_it->wd->update_job = ecore_job_add(_update_job, _it->wd);
|
_it->wd->update_job = ecore_job_add(_update_job, _it->wd);
|
||||||
|
|
||||||
|
// reset homogeneous item size
|
||||||
|
if (_it->wd->homogeneous)
|
||||||
|
{
|
||||||
|
if (_it->group)
|
||||||
|
_it->wd->group_item_width = _it->wd->group_item_height = 0;
|
||||||
|
else
|
||||||
|
_it->wd->item_width = _it->wd->item_height = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue