From aaaa3d78717b9066c672c48d63d63940d8fd886e Mon Sep 17 00:00:00 2001 From: Jisung Ahn Date: Mon, 14 Jan 2013 15:18:03 +0900 Subject: [PATCH] add reload function Change-Id: Ic227de6e3c3c37d5b325297fa405e1af3f2e6640 --- main/src/include/ivug-slider-item.h | 2 ++ main/src/include/ivug-slider.h | 3 +++ main/src/slider/ivug-slider-item.cpp | 14 ++++++++++++++ main/src/slider/ivug-slider.cpp | 15 +++++++++++++++ main/src/view/ivug-main-view-menu.cpp | 8 ++++++-- 5 files changed, 40 insertions(+), 2 deletions(-) diff --git a/main/src/include/ivug-slider-item.h b/main/src/include/ivug-slider-item.h index df83f6a..2bd7089 100755 --- a/main/src/include/ivug-slider-item.h +++ b/main/src/include/ivug-slider-item.h @@ -174,6 +174,8 @@ ivug_slider_item_image_get(Slide_Item* si); void ivug_slider_item_image_size_get(Slide_Item* si, int *w, int *h); +void ivug_slider_item_reload(Slide_Item* si); + #ifdef __cplusplus } diff --git a/main/src/include/ivug-slider.h b/main/src/include/ivug-slider.h index 6c5af19..35afeda 100755 --- a/main/src/include/ivug-slider.h +++ b/main/src/include/ivug-slider.h @@ -145,6 +145,9 @@ ivug_slider_zoom_out(Evas_Object *obj); void ivug_slider_zoom_reset(Evas_Object *obj); +bool +ivug_slider_reload(Evas_Object* obj); + #ifdef __cplusplus } #endif diff --git a/main/src/slider/ivug-slider-item.cpp b/main/src/slider/ivug-slider-item.cpp index cb89f93..d860b1d 100755 --- a/main/src/slider/ivug-slider-item.cpp +++ b/main/src/slider/ivug-slider-item.cpp @@ -1206,4 +1206,18 @@ void ivug_slider_item_image_size_get(Slide_Item* si, int *w, int *h) } } +void ivug_slider_item_reload(Slide_Item* si) +{ + evas_object_del(si->photocam); + + si->photocam = ivug_image_create(si->layout); + evas_object_name_set(si->photocam, "photocam"); + evas_object_smart_callback_add(si->photocam, "loaded", _photocam_loaded_cb, si); + + elm_object_part_content_set(si->layout, "slider.contents", si->photocam); + + si->state = SLIDE_STATE_READY; + + ivug_slider_item_load(si); +} diff --git a/main/src/slider/ivug-slider.cpp b/main/src/slider/ivug-slider.cpp index 3a6f842..2735a1f 100755 --- a/main/src/slider/ivug-slider.cpp +++ b/main/src/slider/ivug-slider.cpp @@ -1355,3 +1355,18 @@ ivug_slider_zoom_reset(Evas_Object *obj) ivug_slider_item_zoom_reset(si, EINA_FALSE, 0, 0); } +bool ivug_slider_reload(Evas_Object* obj) +{ + IV_ASSERT(obj != NULL); + struct Smart_Data *sd = (struct Smart_Data *) evas_object_smart_data_get(obj); + + ivug_retv_if(!sd, EINA_FALSE); //check smart data. + + MSG_SLIDER_HIGH("Slider Reload. 0x%08x", obj); + + ivug_slider_item_reload(sd->slide[CENTER_SLIDE]); + + return true; +} + + diff --git a/main/src/view/ivug-main-view-menu.cpp b/main/src/view/ivug-main-view-menu.cpp index 0357253..e1d4c1e 100755 --- a/main/src/view/ivug-main-view-menu.cpp +++ b/main/src/view/ivug-main-view-menu.cpp @@ -1694,7 +1694,9 @@ _on_rotate_left_selected(void *data, Evas_Object *obj) return; } - ivug_slider_load(pMainView->slider); // Refresh image + ivug_db_refresh(mData->mediaID); + + ivug_slider_reload(pMainView->slider); // Refresh image // Remove old thumbnail. not working @@ -1766,7 +1768,9 @@ _on_rotate_right_selected(void *data, Evas_Object *obj) return; } - ivug_slider_load(pMainView->slider); // Refresh image + ivug_db_refresh(mData->mediaID); + + ivug_slider_reload(pMainView->slider); // Refresh image // Remove old thumbnail. not working -- 2.7.4