forked from enlightenment/efl
genlist: fix regression bug. (T1986)
newly added in 2955ebc5dd01fbfb5a3286b724c8a40915864ad8
This commit is contained in:
parent
c66c698e43
commit
8cd8ea50cb
|
@ -619,7 +619,7 @@ _item_block_unrealize(Item_Block *itb)
|
||||||
|
|
||||||
EINA_LIST_FOREACH(itb->items, l, it)
|
EINA_LIST_FOREACH(itb->items, l, it)
|
||||||
{
|
{
|
||||||
if (itb->must_recalc || (GL_IT(it)->type != ELM_GENLIST_ITEM_GROUP))
|
if (itb->must_recalc || !(GL_IT(it)->type & ELM_GENLIST_ITEM_GROUP))
|
||||||
{
|
{
|
||||||
if (it->dragging)
|
if (it->dragging)
|
||||||
{
|
{
|
||||||
|
@ -1705,10 +1705,10 @@ _item_realize(Elm_Gen_Item *it,
|
||||||
|
|
||||||
/* homogeneous genlist shortcut */
|
/* homogeneous genlist shortcut */
|
||||||
if ((calc) && (sd->homogeneous) && (!it->item->mincalcd) &&
|
if ((calc) && (sd->homogeneous) && (!it->item->mincalcd) &&
|
||||||
(((GL_IT(it)->type == ELM_GENLIST_ITEM_GROUP) && sd->group_item_width) ||
|
(((GL_IT(it)->type & ELM_GENLIST_ITEM_GROUP) && sd->group_item_width) ||
|
||||||
((GL_IT(it)->type != ELM_GENLIST_ITEM_GROUP) && sd->item_width)))
|
(!(GL_IT(it)->type & ELM_GENLIST_ITEM_GROUP) && sd->item_width)))
|
||||||
{
|
{
|
||||||
if (GL_IT(it)->type == ELM_GENLIST_ITEM_GROUP)
|
if (GL_IT(it)->type & ELM_GENLIST_ITEM_GROUP)
|
||||||
{
|
{
|
||||||
it->item->w = it->item->minw = sd->group_item_width;
|
it->item->w = it->item->minw = sd->group_item_width;
|
||||||
it->item->h = it->item->minh = sd->group_item_height;
|
it->item->h = it->item->minh = sd->group_item_height;
|
||||||
|
@ -1757,7 +1757,7 @@ _item_realize(Elm_Gen_Item *it,
|
||||||
it->item->mincalcd = EINA_TRUE;
|
it->item->mincalcd = EINA_TRUE;
|
||||||
|
|
||||||
if ((!sd->group_item_width) &&
|
if ((!sd->group_item_width) &&
|
||||||
(GL_IT(it)->type == ELM_GENLIST_ITEM_GROUP))
|
(GL_IT(it)->type & ELM_GENLIST_ITEM_GROUP))
|
||||||
{
|
{
|
||||||
sd->group_item_width = mw;
|
sd->group_item_width = mw;
|
||||||
sd->group_item_height = mh;
|
sd->group_item_height = mh;
|
||||||
|
@ -2168,7 +2168,7 @@ _item_block_position(Item_Block *itb,
|
||||||
vis = (ELM_RECTS_INTERSECT
|
vis = (ELM_RECTS_INTERSECT
|
||||||
(it->item->scrl_x, it->item->scrl_y, it->item->w, it->item->h,
|
(it->item->scrl_x, it->item->scrl_y, it->item->w, it->item->h,
|
||||||
cvx, cvy, cvw, cvh));
|
cvx, cvy, cvw, cvh));
|
||||||
if (GL_IT(it)->type != ELM_GENLIST_ITEM_GROUP)
|
if (!(GL_IT(it)->type & ELM_GENLIST_ITEM_GROUP))
|
||||||
{
|
{
|
||||||
if ((itb->realized) && (!it->realized))
|
if ((itb->realized) && (!it->realized))
|
||||||
{
|
{
|
||||||
|
@ -3566,7 +3566,7 @@ _elm_genlist_item_del_serious(Elm_Gen_Item *it)
|
||||||
if (it->tooltip.del_cb)
|
if (it->tooltip.del_cb)
|
||||||
it->tooltip.del_cb((void *)it->tooltip.data, WIDGET(it), it);
|
it->tooltip.del_cb((void *)it->tooltip.data, WIDGET(it), it);
|
||||||
ELM_SAFE_FREE(it->long_timer, ecore_timer_del);
|
ELM_SAFE_FREE(it->long_timer, ecore_timer_del);
|
||||||
if (GL_IT(it)->type == ELM_GENLIST_ITEM_GROUP)
|
if (GL_IT(it)->type & ELM_GENLIST_ITEM_GROUP)
|
||||||
sd->group_items = eina_list_remove(sd->group_items, it);
|
sd->group_items = eina_list_remove(sd->group_items, it);
|
||||||
|
|
||||||
ELM_SAFE_FREE(sd->state, eina_inlist_sorted_state_free);
|
ELM_SAFE_FREE(sd->state, eina_inlist_sorted_state_free);
|
||||||
|
@ -3830,7 +3830,7 @@ _long_press_cb(void *data)
|
||||||
|
|
||||||
sd->longpressed = EINA_TRUE;
|
sd->longpressed = EINA_TRUE;
|
||||||
evas_object_smart_callback_call(WIDGET(it), SIG_LONGPRESSED, EO_OBJ(it));
|
evas_object_smart_callback_call(WIDGET(it), SIG_LONGPRESSED, EO_OBJ(it));
|
||||||
if ((sd->reorder_mode) && (GL_IT(it)->type != ELM_GENLIST_ITEM_GROUP))
|
if ((sd->reorder_mode) && !(GL_IT(it)->type & ELM_GENLIST_ITEM_GROUP))
|
||||||
{
|
{
|
||||||
sd->reorder_it = it;
|
sd->reorder_it = it;
|
||||||
sd->reorder_start_y = 0;
|
sd->reorder_start_y = 0;
|
||||||
|
@ -4979,9 +4979,9 @@ _item_block_recalc(Item_Block *itb,
|
||||||
if (!itb->realized)
|
if (!itb->realized)
|
||||||
{
|
{
|
||||||
if (qadd || (itb->sd->homogeneous &&
|
if (qadd || (itb->sd->homogeneous &&
|
||||||
(((GL_IT(it)->type == ELM_GENLIST_ITEM_GROUP) &&
|
(((GL_IT(it)->type & ELM_GENLIST_ITEM_GROUP) &&
|
||||||
(!itb->sd->group_item_height)) ||
|
(!itb->sd->group_item_height)) ||
|
||||||
((GL_IT(it)->type != ELM_GENLIST_ITEM_GROUP) &&
|
(!(GL_IT(it)->type & ELM_GENLIST_ITEM_GROUP) &&
|
||||||
(!itb->sd->item_height)))))
|
(!itb->sd->item_height)))))
|
||||||
{
|
{
|
||||||
if (!it->item->mincalcd) changed = EINA_TRUE;
|
if (!it->item->mincalcd) changed = EINA_TRUE;
|
||||||
|
@ -4991,7 +4991,7 @@ _item_block_recalc(Item_Block *itb,
|
||||||
|
|
||||||
if (itb->sd->homogeneous)
|
if (itb->sd->homogeneous)
|
||||||
{
|
{
|
||||||
if ((GL_IT(it)->type == ELM_GENLIST_ITEM_GROUP) &&
|
if ((GL_IT(it)->type & ELM_GENLIST_ITEM_GROUP) &&
|
||||||
(itb->sd->group_item_height == 0))
|
(itb->sd->group_item_height == 0))
|
||||||
doit = EINA_TRUE;
|
doit = EINA_TRUE;
|
||||||
else if (itb->sd->item_height == 0)
|
else if (itb->sd->item_height == 0)
|
||||||
|
@ -5006,7 +5006,7 @@ _item_block_recalc(Item_Block *itb,
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (GL_IT(it)->type == ELM_GENLIST_ITEM_GROUP)
|
if (GL_IT(it)->type & ELM_GENLIST_ITEM_GROUP)
|
||||||
{
|
{
|
||||||
it->item->w = it->item->minw =
|
it->item->w = it->item->minw =
|
||||||
sd->group_item_width;
|
sd->group_item_width;
|
||||||
|
@ -5029,7 +5029,7 @@ _item_block_recalc(Item_Block *itb,
|
||||||
if ((itb->sd->homogeneous) &&
|
if ((itb->sd->homogeneous) &&
|
||||||
(itb->sd->mode == ELM_LIST_COMPRESS))
|
(itb->sd->mode == ELM_LIST_COMPRESS))
|
||||||
{
|
{
|
||||||
if (GL_IT(it)->type == ELM_GENLIST_ITEM_GROUP)
|
if (GL_IT(it)->type & ELM_GENLIST_ITEM_GROUP)
|
||||||
{
|
{
|
||||||
it->item->w = it->item->minw =
|
it->item->w = it->item->minw =
|
||||||
sd->group_item_width;
|
sd->group_item_width;
|
||||||
|
@ -5898,14 +5898,14 @@ _elm_genlist_item_new(Elm_Genlist_Data *sd,
|
||||||
|
|
||||||
if (it->parent)
|
if (it->parent)
|
||||||
{
|
{
|
||||||
if (GL_IT(it->parent)->type == ELM_GENLIST_ITEM_GROUP)
|
if (GL_IT(it->parent)->type & ELM_GENLIST_ITEM_GROUP)
|
||||||
GL_IT(it)->group_item = parent;
|
GL_IT(it)->group_item = parent;
|
||||||
else if (GL_IT(it->parent)->group_item)
|
else if (GL_IT(it->parent)->group_item)
|
||||||
GL_IT(it)->group_item = GL_IT(it->parent)->group_item;
|
GL_IT(it)->group_item = GL_IT(it->parent)->group_item;
|
||||||
}
|
}
|
||||||
for (it2 = it, depth = 0; it2->parent; it2 = it2->parent)
|
for (it2 = it, depth = 0; it2->parent; it2 = it2->parent)
|
||||||
{
|
{
|
||||||
if (!GL_IT(it2->parent)->type == ELM_GENLIST_ITEM_GROUP) depth += 1;
|
if (!(GL_IT(it2->parent)->type & ELM_GENLIST_ITEM_GROUP)) depth += 1;
|
||||||
}
|
}
|
||||||
GL_IT(it)->expanded_depth = depth;
|
GL_IT(it)->expanded_depth = depth;
|
||||||
sd->item_count++;
|
sd->item_count++;
|
||||||
|
@ -5993,7 +5993,7 @@ _elm_genlist_item_append(Eo *obj EINA_UNUSED, Elm_Genlist_Data *sd, const Elm_Ge
|
||||||
|
|
||||||
if (!it->parent)
|
if (!it->parent)
|
||||||
{
|
{
|
||||||
if (GL_IT(it)->type == ELM_GENLIST_ITEM_GROUP)
|
if (GL_IT(it)->type & ELM_GENLIST_ITEM_GROUP)
|
||||||
sd->group_items = eina_list_append(sd->group_items, it);
|
sd->group_items = eina_list_append(sd->group_items, it);
|
||||||
sd->items = eina_inlist_append(sd->items, EINA_INLIST_GET(it));
|
sd->items = eina_inlist_append(sd->items, EINA_INLIST_GET(it));
|
||||||
it->item->rel = NULL;
|
it->item->rel = NULL;
|
||||||
|
@ -6037,7 +6037,7 @@ _elm_genlist_item_prepend(Eo *obj EINA_UNUSED, Elm_Genlist_Data *sd, const Elm_G
|
||||||
|
|
||||||
if (!it->parent)
|
if (!it->parent)
|
||||||
{
|
{
|
||||||
if (GL_IT(it)->type == ELM_GENLIST_ITEM_GROUP)
|
if (GL_IT(it)->type & ELM_GENLIST_ITEM_GROUP)
|
||||||
sd->group_items = eina_list_prepend(sd->group_items, it);
|
sd->group_items = eina_list_prepend(sd->group_items, it);
|
||||||
sd->items = eina_inlist_prepend(sd->items, EINA_INLIST_GET(it));
|
sd->items = eina_inlist_prepend(sd->items, EINA_INLIST_GET(it));
|
||||||
it->item->rel = NULL;
|
it->item->rel = NULL;
|
||||||
|
@ -6088,8 +6088,8 @@ _elm_genlist_item_insert_after(Eo *obj EINA_UNUSED, Elm_Genlist_Data *sd, const
|
||||||
|
|
||||||
if (!it->parent)
|
if (!it->parent)
|
||||||
{
|
{
|
||||||
if ((GL_IT(it)->type == ELM_GENLIST_ITEM_GROUP) &&
|
if ((GL_IT(it)->type & ELM_GENLIST_ITEM_GROUP) &&
|
||||||
(GL_IT(after)->type == ELM_GENLIST_ITEM_GROUP))
|
(GL_IT(after)->type & ELM_GENLIST_ITEM_GROUP))
|
||||||
sd->group_items = eina_list_append_relative
|
sd->group_items = eina_list_append_relative
|
||||||
(sd->group_items, it, after);
|
(sd->group_items, it, after);
|
||||||
}
|
}
|
||||||
|
@ -6134,8 +6134,8 @@ _elm_genlist_item_insert_before(Eo *obj, Elm_Genlist_Data *sd, const Elm_Genlist
|
||||||
|
|
||||||
if (!it->parent)
|
if (!it->parent)
|
||||||
{
|
{
|
||||||
if ((GL_IT(it)->type == ELM_GENLIST_ITEM_GROUP) &&
|
if ((GL_IT(it)->type & ELM_GENLIST_ITEM_GROUP) &&
|
||||||
(GL_IT(before)->type == ELM_GENLIST_ITEM_GROUP))
|
(GL_IT(before)->type & ELM_GENLIST_ITEM_GROUP))
|
||||||
sd->group_items =
|
sd->group_items =
|
||||||
eina_list_prepend_relative(sd->group_items, it, before);
|
eina_list_prepend_relative(sd->group_items, it, before);
|
||||||
}
|
}
|
||||||
|
@ -7603,7 +7603,7 @@ _elm_genlist_item_select_mode_set(Eo *eo_it EINA_UNUSED, Elm_Gen_Item *it,
|
||||||
// reset homogeneous item size
|
// reset homogeneous item size
|
||||||
if (sd->homogeneous)
|
if (sd->homogeneous)
|
||||||
{
|
{
|
||||||
if (GL_IT(it)->type == ELM_GENLIST_ITEM_GROUP)
|
if (GL_IT(it)->type & ELM_GENLIST_ITEM_GROUP)
|
||||||
sd->group_item_width = sd->group_item_height = 0;
|
sd->group_item_width = sd->group_item_height = 0;
|
||||||
else
|
else
|
||||||
sd->item_width = sd->item_height = 0;
|
sd->item_width = sd->item_height = 0;
|
||||||
|
|
Loading…
Reference in New Issue