diff --git a/src/bin/ephoto_main.c b/src/bin/ephoto_main.c index e072dd5..cc948c3 100644 --- a/src/bin/ephoto_main.c +++ b/src/bin/ephoto_main.c @@ -5,13 +5,12 @@ Ephoto *em; /*Inline Callbacks*/ static void _ephoto_delete_main_window(void *data, Evas_Object *obj, void *event_info); -static void _ephoto_free_hash(void *data); /*Create the main ephoto window*/ void ephoto_create_main_window(void) { em = calloc(1, sizeof(Ephoto)); - em->thumbs_images = eina_hash_string_superfast_new(_ephoto_free_hash); + em->thumbs_images = eina_hash_string_superfast_new((Eina_Free_Cb)eina_stringshare_del); /*Setup the main window*/ em->win = elm_win_add(NULL, "ephoto", ELM_WIN_BASIC); @@ -56,12 +55,3 @@ static void _ephoto_delete_main_window(void *data, Evas_Object *obj, void *event elm_exit(); } -/*Free the eina hash*/ -static void _ephoto_free_hash(void *data) -{ - char *item; - - item = data; - free(item); -} - diff --git a/src/bin/ephoto_thumb_browser.c b/src/bin/ephoto_thumb_browser.c index dc31624..0eac24e 100644 --- a/src/bin/ephoto_thumb_browser.c +++ b/src/bin/ephoto_thumb_browser.c @@ -214,7 +214,22 @@ ephoto_populate_thumbnails(void) static void _ephoto_slider_changed(void *data, Evas_Object *obj, void *event) { + int w, h, val; + val = elm_slider_value_get(em->thumb_slider); + elm_gengrid_item_size_get(em->thumb_browser, &w, &h); + if (val < cur_val) + { + w -= cur_val-val; + h -= cur_val-val; + } + else if (val > cur_val) + { + w += val-cur_val; + h += val-cur_val; + } + elm_gengrid_item_size_set(em->thumb_browser, w, h); + cur_val = val; } /*Callback when the client is connected*/ @@ -242,7 +257,7 @@ _ephoto_thumbnail_generated(void *data, Ethumb_Client *client, int id, { if (success) { - eina_hash_add(em->thumbs_images, strdup(file), strdup(thumb_path)); + eina_hash_add(em->thumbs_images, file, eina_stringshare_ref(thumb_path)); elm_gengrid_item_append(em->thumb_browser, &eg, file, NULL, NULL); } }