summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Andreoli <dave@gurumeditation.it>2018-04-17 00:11:11 +0200
committerDave Andreoli <dave@gurumeditation.it>2018-04-17 00:11:11 +0200
commit01a95d1f40b5ecc3a6357dfe2451b319685603b6 (patch)
tree8ccd274369cfb2382ecb9f7b994e870891424ae8
parentad6ef480531845b954472a5b4edb1135802ec263 (diff)
downloadefl-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.c20
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);