summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>2012-06-01 10:14:54 +0000
committerDaniel Willmann <d.willmann@samsung.com>2013-02-15 14:26:40 +0000
commit17be32478bed9df9313ca8a072520b9807a0b382 (patch)
treee1c0bd63ad17158a9974e9d6ae728a04294c71e1
parent61c4d2deb20002c09c19556dee99eb4fc857daeb (diff)
downloadelementary-17be32478bed9df9313ca8a072520b9807a0b382.tar.gz
rollup backport of this week's bugfixes
SVN revision: 71618
-rw-r--r--ChangeLog12
-rw-r--r--Makefile.am3
-rw-r--r--data/themes/widgets/genlist.edc273
-rw-r--r--src/lib/elm_config.c2
-rw-r--r--src/lib/elm_genlist.c22
5 files changed, 132 insertions, 180 deletions
diff --git a/ChangeLog b/ChangeLog
index df8b07d3d..d43ae5fbd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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))