diff options
author | Dave Andreoli <dave@gurumeditation.it> | 2018-04-17 00:11:11 +0200 |
---|---|---|
committer | Dave Andreoli <dave@gurumeditation.it> | 2018-04-17 00:11:11 +0200 |
commit | 01a95d1f40b5ecc3a6357dfe2451b319685603b6 (patch) | |
tree | 8ccd274369cfb2382ecb9f7b994e870891424ae8 | |
parent | ad6ef480531845b954472a5b4edb1135802ec263 (diff) | |
download | efl-01a95d1f40b5ecc3a6357dfe2451b319685603b6.tar.gz |
Revert "Genlist: restore old behaviour of item next/prev in group items"
This reverts commit f0a0da9f449b0878fe6a5ce2abc50b8b6589c50a.
As per T5938 seems we really want to restore a totally wrong
behaviour, without taking care of newer apps being broken.
I revert this for now, but I'm still convinced that we must
find a way to let user use a sane ordering for newer app.
I'm thinking about adding an api in genlist to let the widget
use the new sane ordering, something like
elm_genlist_fixed_ordering_set(bool) so that new apps can use
this to ensure correct behaviour. zmike what do you think about
this solution?
-rw-r--r-- | src/lib/elementary/elm_genlist.c | 20 |
1 files changed, 2 insertions, 18 deletions
diff --git a/src/lib/elementary/elm_genlist.c b/src/lib/elementary/elm_genlist.c index 012b99a397..82025ebe0a 100644 --- a/src/lib/elementary/elm_genlist.c +++ b/src/lib/elementary/elm_genlist.c @@ -6958,12 +6958,6 @@ _elm_genlist_next_item_get_insane(Elm_Genlist_Data *sd, Elm_Gen_Item *it) if (sd->filter && !_item_filtered_get(it2)) continue; - // Insanity does not apply for group items - // (group and normal items was treated in a flat way) - if (it->item->type == ELM_GENLIST_ITEM_GROUP || - it2->item->type == ELM_GENLIST_ITEM_GROUP) - return EO_OBJ(it2); - // 1. Return next sibling in list, if any if (it->parent == it2->parent) return EO_OBJ(it2); @@ -6987,7 +6981,7 @@ _elm_genlist_next_item_get_insane(Elm_Genlist_Data *sd, Elm_Gen_Item *it) return EO_OBJ(it->parent); } /* if item is already last item, return its parent if a parent exists */ - if (it->parent && it->parent->item->type != ELM_GENLIST_ITEM_GROUP) + if (it->parent) return EO_OBJ(it->parent); return EO_OBJ(it2); } @@ -7007,16 +7001,6 @@ _elm_genlist_prev_item_get_insane(Elm_Genlist_Data *sd, Elm_Gen_Item *it) return EO_OBJ(it2); } - // Insanity does not apply for group items - // (group and normal items was treated in a flat way) - if (it->item->type == ELM_GENLIST_ITEM_GROUP) - { - for (it2 = ELM_GEN_ITEM_PREV(it); it2; it2 = ELM_GEN_ITEM_PREV(it2)) - if (!sd->filter || _item_filtered_get(it2)) - break; - return EO_OBJ(it2); - } - parent = it->parent; if (!parent) { @@ -7036,7 +7020,7 @@ _elm_genlist_prev_item_get_insane(Elm_Genlist_Data *sd, Elm_Gen_Item *it) } it2 = ELM_GEN_ITEM_PREV(it); - if (it2 == parent && it2->item->type != ELM_GENLIST_ITEM_GROUP) + if (it2 == parent) return _elm_genlist_prev_item_get_insane(sd, it2); return EO_OBJ(it2); |