diff options
author | Mike Blumenkrantz <michael.blumenkrantz@gmail.com> | 2012-06-01 10:14:54 +0000 |
---|---|---|
committer | Daniel Willmann <d.willmann@samsung.com> | 2013-02-15 14:26:40 +0000 |
commit | 17be32478bed9df9313ca8a072520b9807a0b382 (patch) | |
tree | e1c0bd63ad17158a9974e9d6ae728a04294c71e1 | |
parent | 61c4d2deb20002c09c19556dee99eb4fc857daeb (diff) | |
download | elementary-17be32478bed9df9313ca8a072520b9807a0b382.tar.gz |
rollup backport of this week's bugfixes
SVN revision: 71618
-rw-r--r-- | ChangeLog | 12 | ||||
-rw-r--r-- | Makefile.am | 3 | ||||
-rw-r--r-- | data/themes/widgets/genlist.edc | 273 | ||||
-rw-r--r-- | src/lib/elm_config.c | 2 | ||||
-rw-r--r-- | src/lib/elm_genlist.c | 22 |
5 files changed, 132 insertions, 180 deletions
@@ -48,8 +48,20 @@ * Fix sizing calc error in list item homogenizing +2012-05-29 Mike Blumenkrantz + + * Collapsing tree items in genlist now animate properly + +2012-05-30 Mike Blumenkrantz + + * Fix even/odd signals for genlist items + 2012-05-31 WooHyun Jung * child_can_focus should be EINA_FALSE only when all children in the object tree are not focusable. Before this fix, it was EINA_FALSE when all sub objects were not focusable. (i.e. didn't check whole object tree) + +2012-06-01 Mike Blumenkrantz + + * Re-setting the current mirrored mode state no longer causes a full recalc diff --git a/Makefile.am b/Makefile.am index 46d2871a1..927cd39a5 100644 --- a/Makefile.am +++ b/Makefile.am @@ -13,8 +13,9 @@ ABOUT-NLS \ Makefile.in \ aclocal.m4 \ config.guess \ -elementary_config.h.in \ +elementary_config.h.in* \ config.sub \ +config.rpath \ configure \ depcomp \ install-sh \ diff --git a/data/themes/widgets/genlist.edc b/data/themes/widgets/genlist.edc index a831d9f32..89b4490d2 100644 --- a/data/themes/widgets/genlist.edc +++ b/data/themes/widgets/genlist.edc @@ -9610,6 +9610,104 @@ group { name: "elm/genlist/tree/tree_effect/default"; data.item: "texts" "elm.text"; data.item: "contents" "elm.swallow.icon elm.swallow.end"; data.item: "treesize" "20"; + broadcast_signal: 1; + parts { + alias: "elm.swallow.pad" "group:elm.swallow.pad"; + alias: "elm.swallow.icon" "group:elm.swallow.icon"; + alias: "elm.swallow.end" "group:elm.swallow.end"; + alias: "elm.text" "group:elm.text"; + part { name: "point"; + type: RECT; + scale: 1; + description { + state: "default" 0.0; + color: 0 0 0 0; + rel1 { relative: 0.0 0.0; } + rel2 { relative: 1.0 0.0; } + } + } + part { + name: "event"; + type: RECT; + repeat_events: 1; + description { + state: "default" 0.0; + color: 0 0 0 0; + } + } + part { name: "group"; + type: GROUP; + source: "elm/genlist/tree/effect_parts/default"; + repeat_events: 1; + description { + min: 16 28; + state: "default" 0.0; + } + GENLIST_PART_MAP_START(-90.0, 0, 0) + GENLIST_PART_MAP_FINISH(0, 0, 0) + } + } + programs { + program { + name: "rotaion_transition"; + signal: "flip_item"; + action: STATE_SET "map_transition" 0.0; + after: "rotation"; + target: "group"; + } + program { + name: "rotation"; + action: STATE_SET "map_rotate" 0.0; + transition: LINEAR 0.2; + after: "rotation_end"; + target: "group"; + } + program { + name: "rotation_end"; + action: STATE_SET "default" 0.0; + target: "group"; + } + program { + name: "rotation_transition2"; + signal: "elm,state,contract_flip"; + action: STATE_SET "map_rotate" 0.0; + after: "rotation2"; + target: "group"; + } + program { + name: "rotation2"; + action: STATE_SET "map_transition" 0.0; + transition: LINEAR 0.5; + after: "rotation3"; + target: "group"; + } + program { + name: "rotation3"; + action: STATE_SET "hide" 0.0; + target: "group"; + } + program { + name: "show"; + signal: "elm,state,show"; + action: STATE_SET "default" 0.0; + target: "group"; + } + program { + name: "hide"; + signal: "elm,state,hide"; + action: STATE_SET "hide" 0.0; + target: "group"; + } + program { + name: "expand"; + signal: "mouse,up,1"; + source: "group:arrow"; + action: SIGNAL_EMIT "elm,action,expand,toggle" "elm"; + } + } +} + +group { name: "elm/genlist/tree/effect_parts/default"; images { image: "bt_sm_base1.png" COMP; image: "bt_sm_shine.png" COMP; @@ -9622,25 +9720,6 @@ group { name: "elm/genlist/tree/tree_effect/default"; image: "icon_arrow_down.png" COMP; } parts { - part { name: "point"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - color: 0 0 0 0; - rel1 { relative: 0.0 0.0; } - rel2 { relative: 1.0 0.0; } - } - } - part { - name: "event"; - type: RECT; - repeat_events: 1; - description { - state: "default" 0.0; - color: 0 0 0 0; - } - } part { name: "reorder_bg"; mouse_events: 0; description { state: "default" 0.0; @@ -9693,8 +9772,6 @@ group { name: "elm/genlist/tree/tree_effect/default"; inherit: "default" 0.0; visible: 0; } - GENLIST_PART_MAP_START(-90.0, 0.0, 0.0) - GENLIST_PART_MAP_FINISH(0.0, 0.0, 0.0) } part { name: "base"; @@ -9712,8 +9789,6 @@ group { name: "elm/genlist/tree/tree_effect/default"; inherit: "default" 0.0; image.normal: "ilist_2.png"; } - GENLIST_PART_MAP_START(-90.0, 0.0, 0.0) - GENLIST_PART_MAP_FINISH(0.0, 0.0, 0.0) } part { name: "bg"; clip_to: "disclip"; @@ -9748,8 +9823,6 @@ group { name: "elm/genlist/tree/tree_effect/default"; offset: 1 1; } } - GENLIST_PART_MAP_START(-90.0, 0.0, 0.0) - GENLIST_PART_MAP_FINISH(0.0, 0.0, 0.0) } part { name: "elm.swallow.pad"; type: SWALLOW; @@ -9765,8 +9838,6 @@ group { name: "elm/genlist/tree/tree_effect/default"; offset: 4 -5; } } - GENLIST_PART_MAP_START(-90.0, 0.0, 0.0) - GENLIST_PART_MAP_FINISH(0.0, 0.0, 0.0) } part { name: "arrow"; clip_to: "disclip"; @@ -9799,8 +9870,6 @@ group { name: "elm/genlist/tree/tree_effect/default"; inherit: "default" 0.0; image.normal: "icon_arrow_down.png"; } - GENLIST_PART_MAP_START(-90.0, 0.0, 0.0) - GENLIST_PART_MAP_FINISH(0.0, 0.0, 0.0) } part { name: "elm.swallow.icon"; clip_to: "disclip"; @@ -9819,8 +9888,6 @@ group { name: "elm/genlist/tree/tree_effect/default"; offset: 4 -5; } } - GENLIST_PART_MAP_START(-90.0, 0.0, 0.0) - GENLIST_PART_MAP_FINISH(0.0, 0.0, 0.0) } part { name: "elm.swallow.end"; clip_to: "disclip"; @@ -9839,8 +9906,6 @@ group { name: "elm/genlist/tree/tree_effect/default"; offset: -5 -5; } } - GENLIST_PART_MAP_START(-90.0, 0.0, 0.0) - GENLIST_PART_MAP_FINISH(0.0, 0.0, 0.0) } part { name: "elm.text"; clip_to: "disclip"; @@ -9875,8 +9940,6 @@ group { name: "elm/genlist/tree/tree_effect/default"; color: 224 224 224 255; color3: 0 0 0 64; } - GENLIST_PART_MAP_START(-90.0, 0.0, 0.0) - GENLIST_PART_MAP_FINISH(0.0, 0.0, 0.0) } part { name: "fg1"; clip_to: "disclip"; @@ -9897,8 +9960,6 @@ group { name: "elm/genlist/tree/tree_effect/default"; visible: 1; color: 255 255 255 255; } - GENLIST_PART_MAP_START(-90.0, 0.0, 0.0) - GENLIST_PART_MAP_FINISH(0.0, 0.0, 0.0) } part { name: "fg2"; clip_to: "disclip"; @@ -9918,8 +9979,6 @@ group { name: "elm/genlist/tree/tree_effect/default"; visible: 1; color: 255 255 255 255; } - GENLIST_PART_MAP_START(-90.0, 0.0, 0.0) - GENLIST_PART_MAP_FINISH(0.0, 0.0, 0.0) } part { name: "disclip"; type: RECT; @@ -10007,12 +10066,6 @@ group { name: "elm/genlist/tree/tree_effect/default"; transition: DECELERATE 0.5; } program { - name: "expand"; - signal: "mouse,up,1"; - source: "arrow"; - action: SIGNAL_EMIT "elm,action,expand,toggle" "elm"; - } - program { name: "go_expanded"; signal: "elm,state,expanded"; source: "elm"; @@ -10058,135 +10111,5 @@ group { name: "elm/genlist/tree/tree_effect/default"; } } } - program { - name: "rotaion_transition"; - signal: "flip_item"; - action: STATE_SET "map_transition" 0.0; - after: "rotation"; - target: "reorder_bg"; - target: "base_sh"; - target: "base"; - target: "bg"; - target: "arrow"; - target: "elm.swallow.pad"; - target: "elm.swallow.icon"; - target: "elm.swallow.end"; - target: "elm.text"; - target: "fg1"; - target: "fg2"; - } - program { - name: "rotation"; - action: STATE_SET "map_rotate" 0.0; - transition: LINEAR 0.2; - after: "rotation_end"; - target: "reorder_bg"; - target: "base_sh"; - target: "base"; - target: "bg"; - target: "arrow"; - target: "elm.swallow.pad"; - target: "elm.swallow.icon"; - target: "elm.swallow.end"; - target: "elm.text"; - target: "fg1"; - target: "fg2"; - } - program { - name: "rotation_end"; - action: STATE_SET "default" 0.0; - target: "reorder_bg"; - target: "base_sh"; - target: "base"; - target: "bg"; - target: "arrow"; - target: "elm.swallow.pad"; - target: "elm.swallow.icon"; - target: "elm.swallow.end"; - target: "elm.text"; - target: "fg1"; - target: "fg2"; - } - program { - name: "rotation_transition2"; - signal: "elm,state,contract_flip"; - action: STATE_SET "map_rotate" 0.0; - after: "rotation2"; - target: "reorder_bg"; - target: "base_sh"; - target: "base"; - target: "bg"; - target: "arrow"; - target: "elm.swallow.pad"; - target: "elm.swallow.icon"; - target: "elm.swallow.end"; - target: "elm.text"; - target: "fg1"; - target: "fg2"; - } - program { - name: "rotation2"; - action: STATE_SET "map_transition" 0.0; - transition: LINEAR 0.5; - after: "rotation3"; - target: "reorder_bg"; - target: "base_sh"; - target: "base"; - target: "bg"; - target: "arrow"; - target: "elm.swallow.pad"; - target: "elm.swallow.icon"; - target: "elm.swallow.end"; - target: "elm.text"; - target: "fg1"; - target: "fg2"; - } - program { - name: "rotation3"; - action: STATE_SET "hide" 0.0; - target: "reorder_bg"; - target: "base_sh"; - target: "base"; - target: "bg"; - target: "arrow"; - target: "elm.swallow.pad"; - target: "elm.swallow.icon"; - target: "elm.swallow.end"; - target: "elm.text"; - target: "fg1"; - target: "fg2"; - } - program { - name: "show"; - signal: "elm,state,show"; - action: STATE_SET "default" 0.0; - target: "reorder_bg"; - target: "base_sh"; - target: "base"; - target: "bg"; - target: "arrow"; - target: "elm.swallow.pad"; - target: "elm.swallow.icon"; - target: "elm.swallow.end"; - target: "elm.text"; - target: "fg1"; - target: "fg2"; - } - program { - name: "hide"; - signal: "elm,state,hide"; - action: STATE_SET "hide" 0.0; - target: "reorder_bg"; - target: "base_sh"; - target: "base"; - target: "bg"; - target: "arrow"; - target: "elm.swallow.pad"; - target: "elm.swallow.icon"; - target: "elm.swallow.end"; - target: "elm.text"; - target: "fg1"; - target: "fg2"; - } } } diff --git a/src/lib/elm_config.c b/src/lib/elm_config.c index 0c953bec4..57ab456c7 100644 --- a/src/lib/elm_config.c +++ b/src/lib/elm_config.c @@ -1537,6 +1537,8 @@ elm_config_mirrored_get(void) EAPI void elm_config_mirrored_set(Eina_Bool mirrored) { + mirrored = !!mirrored; + if (_elm_config->is_mirrored == mirrored) return; _elm_config->is_mirrored = mirrored; _elm_rescale(); } diff --git a/src/lib/elm_genlist.c b/src/lib/elm_genlist.c index ca3ef5c02..18670e0a5 100644 --- a/src/lib/elm_genlist.c +++ b/src/lib/elm_genlist.c @@ -2045,6 +2045,20 @@ _item_state_realize(Elm_Gen_Item *it, } static void +_item_order_update(const Eina_Inlist *l, int start) +{ + Elm_Gen_Item *it, *it2; + + for (it = ELM_GEN_ITEM_FROM_INLIST(l); l; l = l->next, it = ELM_GEN_ITEM_FROM_INLIST(l)) + { + it->item->order_num_in = start++; + _elm_genlist_item_odd_even_update(it); + it2 = ELM_GEN_ITEM_FROM_INLIST(l->next); + if (it2 && (it->item->order_num_in != it2->item->order_num_in)) return; + } +} + +static void _item_realize(Elm_Gen_Item *it, int in, Eina_Bool calc) @@ -2060,8 +2074,7 @@ _item_realize(Elm_Gen_Item *it, { if (it->item->order_num_in != in) { - it->item->order_num_in = in; - _elm_genlist_item_odd_even_update(it); + _item_order_update(EINA_INLIST_GET(it), in); _elm_genlist_item_state_update(it, NULL); _elm_genlist_item_index_update(it); } @@ -2114,7 +2127,7 @@ _item_realize(Elm_Gen_Item *it, elm_widget_mirrored_get(WIDGET(it))); } - _elm_genlist_item_odd_even_update(it); + _item_order_update(EINA_INLIST_GET(it), in); treesize = edje_object_data_get(VIEW(it), "treesize"); if (treesize) tsize = atoi(treesize); @@ -5391,6 +5404,7 @@ elm_genlist_block_count_set(Evas_Object *obj, ELM_CHECK_WIDTYPE(obj, widtype); Widget_Data *wd = elm_widget_data_get(obj); if (!wd) return; + if (count < 1) return; wd->max_items_per_block = count; wd->item_cache_max = wd->max_items_per_block * 2; _item_cache_clean(wd); @@ -6140,7 +6154,7 @@ _tree_effect_animator_cb(void *data) } else if (wd->move_effect_mode == ELM_GENLIST_TREE_EFFECT_CONTRACT) { - if (expanded_next_it->item->scrl_y >= expanded_next_it->item->old_scrl_y) //did not calculate next item position + if (expanded_next_it->item->scrl_y > expanded_next_it->item->old_scrl_y) //did not calculate next item position expanded_next_it->item->old_scrl_y = cvy + cvh; if (expanded_next_it->item->old_scrl_y > (cvy + cvh)) |