diff --git a/legacy/elementary/src/bin/test.c b/legacy/elementary/src/bin/test.c index e6cb5f84e1..c751ce7cd9 100644 --- a/legacy/elementary/src/bin/test.c +++ b/legacy/elementary/src/bin/test.c @@ -2109,7 +2109,7 @@ my_bt_29(void *data, Evas_Object *obj, void *event_info) itc1.func.state_get = gl_state_get; itc1.func.del = gl_del; - for (i = 0; i < 10000; i++) + for (i = 0; i < 100000; i++) { gli = elm_genlist_item_append(gl, &itc1, (void *)i/* item data */, @@ -2176,6 +2176,7 @@ my_gl_disable(void *data, Evas_Object *obj, void *event_info) } elm_genlist_item_disabled_set(gli, 1); elm_genlist_item_selected_set(gli, 0); + elm_genlist_item_update(gli); } diff --git a/legacy/elementary/src/lib/Elementary.h.in b/legacy/elementary/src/lib/Elementary.h.in index 54cd6bfc62..9a92342676 100644 --- a/legacy/elementary/src/lib/Elementary.h.in +++ b/legacy/elementary/src/lib/Elementary.h.in @@ -514,25 +514,26 @@ extern "C" { } func; }; - EAPI Evas_Object *elm_genlist_add(Evas_Object *parent); + EAPI Evas_Object *elm_genlist_add(Evas_Object *parent); EAPI Elm_Genlist_Item *elm_genlist_item_append(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *parent, Elm_Genlist_Item_Flags flags, void (*func) (void *data, Evas_Object *obj, void *event_info), const void *func_data); EAPI Elm_Genlist_Item *elm_genlist_item_prepend(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *parent, Elm_Genlist_Item_Flags flags, void (*func) (void *data, Evas_Object *obj, void *event_info), const void *func_data); EAPI Elm_Genlist_Item *elm_genlist_item_insert_before(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *before, Elm_Genlist_Item_Flags flags, void (*func) (void *data, Evas_Object *obj, void *event_info), const void *func_data); EAPI Elm_Genlist_Item *elm_genlist_item_insert_after(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *after, Elm_Genlist_Item_Flags flags, void (*func) (void *data, Evas_Object *obj, void *event_info), const void *func_data); - EAPI void elm_genlist_clear(Evas_Object *obj); + EAPI void elm_genlist_clear(Evas_Object *obj); EAPI const Elm_Genlist_Item *elm_genlist_selected_item_get(Evas_Object *obj); - EAPI const Eina_List *elm_genlist_selected_items_get(Evas_Object *obj); + EAPI const Eina_List *elm_genlist_selected_items_get(Evas_Object *obj); EAPI const Elm_Genlist_Item *elm_genlist_first_item_get(Evas_Object *obj); EAPI const Elm_Genlist_Item *elm_genlist_last_item_get(Evas_Object *obj); EAPI const Elm_Genlist_Item *elm_genlist_item_next_get(Elm_Genlist_Item *item); EAPI const Elm_Genlist_Item *elm_genlist_item_prev_get(Elm_Genlist_Item *item); - EAPI void elm_genlist_item_selected_set(Elm_Genlist_Item *item, Evas_Bool selected); - EAPI Evas_Bool elm_genlist_item_selected_get(Elm_Genlist_Item *item); - EAPI void elm_genlist_item_disabled_set(Elm_Genlist_Item *item, Evas_Bool disabled); - EAPI Evas_Bool elm_genlist_item_disabled_get(Elm_Genlist_Item *item); - EAPI void elm_genlist_item_show(Elm_Genlist_Item *item); - EAPI void elm_genlist_item_del(Elm_Genlist_Item *item); - EAPI const void *elm_genlist_item_data_get(Elm_Genlist_Item *item); + EAPI void elm_genlist_item_selected_set(Elm_Genlist_Item *item, Evas_Bool selected); + EAPI Evas_Bool elm_genlist_item_selected_get(Elm_Genlist_Item *item); + EAPI void elm_genlist_item_disabled_set(Elm_Genlist_Item *item, Evas_Bool disabled); + EAPI Evas_Bool elm_genlist_item_disabled_get(Elm_Genlist_Item *item); + EAPI void elm_genlist_item_show(Elm_Genlist_Item *item); + EAPI void elm_genlist_item_del(Elm_Genlist_Item *item); + EAPI const void *elm_genlist_item_data_get(Elm_Genlist_Item *item); + EAPI void elm_genlist_item_update(Elm_Genlist_Item *item); /* smart callbacks called: * "clicked" - the user clicked the hoversel button and popped up the sel diff --git a/legacy/elementary/src/lib/elm_genlist.c b/legacy/elementary/src/lib/elm_genlist.c index 9b19271111..57f195b1b4 100644 --- a/legacy/elementary/src/lib/elm_genlist.c +++ b/legacy/elementary/src/lib/elm_genlist.c @@ -1222,5 +1222,10 @@ elm_genlist_item_data_get(Elm_Genlist_Item *item) EAPI void elm_genlist_item_update(Elm_Genlist_Item *item) { - // fixme - now do call all the class get funcs again - re realize if realized. + Item *it = (Item *)item; + if (!it->block) return; + it->mincalcd = 0; + it->block->changed = 1; + if (it->wd->calc_job) ecore_job_del(it->wd->calc_job); + it->wd->calc_job = ecore_job_add(_calc_job, it->wd); } diff --git a/legacy/elementary/src/lib/els_scroller.c b/legacy/elementary/src/lib/els_scroller.c index 14d573cb77..339a30ec26 100644 --- a/legacy/elementary/src/lib/els_scroller.c +++ b/legacy/elementary/src/lib/els_scroller.c @@ -915,9 +915,11 @@ _smart_scrollbar_size_adjust(Smart_Data *sd) edje_object_part_drag_page_set(sd->edje_obj, "elm.dragable.vbar", 0.0, -((double)sd->page.y * ((double)vh / (double)h)) / 100.0); sd->pan_func.get(sd->pan_obj, &px, &py); + if (vx != mx) x = px; + if (vy != my) y = py; sd->pan_func.set(sd->pan_obj, x, y); - if ((px != 0) || (py != 0)) - edje_object_signal_emit(sd->edje_obj, "elm,action,scroll", "elm"); +// if ((px != 0) || (py != 0)) +// edje_object_signal_emit(sd->edje_obj, "elm,action,scroll", "elm"); } else {