.cleanup = setting_storage_main_cleanup,
};
+static Evas_Object *__setting_storage_main_image_add(Evas *evas, char *icon_path, int width, int height)
+{
+ Evas_Object *image = NULL;
+ image = evas_object_image_add(evas);
+ evas_object_size_hint_weight_set(image, 0.0, EVAS_HINT_EXPAND);
+ evas_object_image_load_size_set(image, width, height);
+ evas_object_image_file_set(image, icon_path, NULL);
+ evas_object_image_fill_set(image, 0, 0, width, height);
+ evas_object_size_hint_min_set(image, width, height);
+ evas_object_show(image);
+
+ return image;
+}
+
static char *__gl_text_get(void *data, Evas_Object *obj, const char *part)
{
retv_if(!data, NULL);
int width = SETTING_STORAGE_ICON_WIDTH;
int height = SETTING_STORAGE_ICON_HEIGHT;
+
+ app_device_orientation_e m = elm_win_rotation_get(ad->win_get);
+ if(APP_DEVICE_ORIENTATION_90 == m || APP_DEVICE_ORIENTATION_270 == m) {
+ width = SETTING_STORAGE_ICON_LANDSCAPE_WIDTH;
+ } else {
+ width = SETTING_STORAGE_ICON_WIDTH;
+ }
float temp_size = 0.0;
if (!safeStrCmp(part, "elm.icon")){
Evas_Object *status_box = NULL;
status_box = elm_box_add(obj);
retvm_if(status_box == NULL, NULL, "Cannot get box");
+ item_data->eo_check = status_box;
elm_box_horizontal_set(status_box, 1);
evas_object_size_hint_align_set(status_box, 0.0, EVAS_HINT_FILL);
evas_object_show(status_box);
apps_size = (unsigned int)temp_size;
}
if (apps_size > 0) {
- Evas_Object *apps = NULL;
- apps = evas_object_image_add(evas);
- evas_object_size_hint_weight_set(apps, 0.0, EVAS_HINT_EXPAND);
- evas_object_image_load_size_set(apps, apps_size, height);
- evas_object_image_file_set(apps, SETTING_STORAGE_APPS_ICON_PATH, NULL);
- evas_object_image_fill_set(apps, 0, 0, apps_size, height);
- evas_object_size_hint_min_set(apps, apps_size, height);
- evas_object_show(apps);
+ Evas_Object *apps = __setting_storage_main_image_add(evas, SETTING_STORAGE_APPS_ICON_PATH, apps_size, height);
elm_box_pack_end(status_box, apps);
}
pics_videos_size = (unsigned int)temp_size;
}
if (pics_videos_size > 0) {
- Evas_Object *pics = NULL;
- pics = evas_object_image_add(evas);
- evas_object_size_hint_weight_set(pics, 0.0, EVAS_HINT_EXPAND);
- evas_object_image_load_size_set(pics, pics_videos_size, height);
- evas_object_image_file_set(pics, SETTING_STORAGE_PICS_ICON_PATH, NULL);
- evas_object_image_fill_set(pics, 0, 0, pics_videos_size, height);
- evas_object_size_hint_min_set(pics, pics_videos_size, height);
- evas_object_show(pics);
+ Evas_Object *pics = __setting_storage_main_image_add(evas, SETTING_STORAGE_PICS_ICON_PATH, pics_videos_size, height);
elm_box_pack_end(status_box, pics);
}
downloads_size = (unsigned int)temp_size;
}
if (downloads_size > 0) {
- Evas_Object *downs = NULL;
- downs = evas_object_image_add(evas);
- evas_object_size_hint_weight_set(downs, 0.0, EVAS_HINT_EXPAND);
- evas_object_image_load_size_set(downs, downloads_size, height);
- evas_object_image_file_set(downs, SETTING_STORAGE_DOWNS_ICON_PATH, NULL);
- evas_object_image_fill_set(downs, 0, 0, downloads_size, height);
- evas_object_size_hint_min_set(downs, downloads_size, height);
- evas_object_show(downs);
+ Evas_Object *downs = __setting_storage_main_image_add(evas, SETTING_STORAGE_DOWNS_ICON_PATH, downloads_size, height);
elm_box_pack_end(status_box, downs);
}
audio_size = (unsigned int)temp_size;
}
if (audio_size > 0) {
- Evas_Object *audio = NULL;
- audio = evas_object_image_add(evas);
- evas_object_size_hint_weight_set(audio, 0.0, EVAS_HINT_EXPAND);
- evas_object_image_load_size_set(audio, audio_size, height);
- evas_object_image_file_set(audio, SETTING_STORAGE_AUDIO_ICON_PATH, NULL);
- evas_object_image_fill_set(audio, 0, 0, audio_size, height);
- evas_object_size_hint_min_set(audio, audio_size, height);
- evas_object_show(audio);
+ Evas_Object *audio = __setting_storage_main_image_add(evas, SETTING_STORAGE_AUDIO_ICON_PATH, audio_size, height);
elm_box_pack_end(status_box, audio);
}
others_size = (unsigned int)temp_size;
}
if (others_size > 0) {
- Evas_Object *misc = NULL;
- misc = evas_object_image_add(evas);
- evas_object_size_hint_weight_set(misc, 0.0, EVAS_HINT_EXPAND);
- evas_object_image_load_size_set(misc, others_size, height);
- evas_object_image_file_set(misc, SETTING_STORAGE_MISCES_ICON_PATH, NULL);
- evas_object_image_fill_set(misc, 0, 0, others_size, height);
- evas_object_size_hint_min_set(misc, others_size, height);
- evas_object_show(misc);
+ Evas_Object *misc = __setting_storage_main_image_add(evas, SETTING_STORAGE_MISCES_ICON_PATH, others_size, height);
elm_box_pack_end(status_box, misc);
}
avail_size = (unsigned int)temp_size;
}
if (avail_size > 0) {
- Evas_Object *avail = NULL;
- avail = evas_object_image_add(evas);
- evas_object_size_hint_weight_set(avail, 0.0, EVAS_HINT_EXPAND);
- evas_object_image_load_size_set(avail, avail_size, height);
- evas_object_image_file_set(avail, SETTING_STORAGE_AVAIL_ICON_PATH, NULL);
- evas_object_image_fill_set(avail, 0, 0, avail_size, height);
- evas_object_size_hint_min_set(avail, avail_size, height);
- evas_object_show(avail);
+ Evas_Object *avail = __setting_storage_main_image_add(evas, SETTING_STORAGE_AVAIL_ICON_PATH, avail_size, height);
elm_box_pack_end(status_box, avail);
}
ad->internal_status = internal_status;
}
+static bool __setting_storage_main_media_item_cb(media_info_h media, void *data)
+{
+ //SETTING_TRACE_BEGIN;
+ setting_retvm_if(media == NULL, true, "media is NULL");
+ setting_retvm_if(data == NULL, true, "Data parameter is NULL");
+ double *total_size = (double *) data;
+
+ media_content_type_e media_type = 0;
+ unsigned long long size = 0;
+
+ media_info_get_media_type(media, &media_type);
+ //SETTING_TRACE("media_type : [%d]", media_type);
+
+ media_info_get_size(media, &size);
+ //SETTING_TRACE("size : [%lld]", size);
+ *total_size += size;
+
+ return true;
+}
+
static double __setting_storage_main_pictures_videos_status_get()
{
SETTING_TRACE_BEGIN;
double total_size = 0.0;
- double tmp_size = 0.0;
- int ret = SETTING_RETURN_SUCCESS;
- tmp_size = __setting_storage_main_folder_size_get(SETTING_STORAGE_PICTURES_PATH);
- setting_retvm_if(ret == SETTING_RETURN_FAIL, total_size, "get pictures status failed");
- total_size += tmp_size;
+ int ret = MEDIA_CONTENT_ERROR_NONE;
+ filter_h filter = NULL;
+
+ /*Set Filter*/
+ char *condition = "(MEDIA_TYPE=0 OR MEDIA_TYPE=1)"; /*0-image, 1-video, 2-sound, 3-music, 4-other*/
+
+ ret = media_filter_create(&filter);
+ if(ret != MEDIA_CONTENT_ERROR_NONE) {
+ SETTING_TRACE_ERROR("Fail to create filter");
+ return total_size;
+ }
+
+ ret = media_filter_set_condition(filter, condition, MEDIA_CONTENT_COLLATE_DEFAULT);
+ if(ret != MEDIA_CONTENT_ERROR_NONE) {
+ media_filter_destroy(filter);
+ SETTING_TRACE_ERROR("Fail to set condition");
+ return total_size;
+ }
- tmp_size = 0.0;
- tmp_size = __setting_storage_main_folder_size_get(SETTING_STORAGE_VIDEOS_PATH);
- setting_retvm_if(ret == SETTING_RETURN_FAIL, total_size, "get video status failed");
- total_size += tmp_size;
+ ret = media_info_foreach_media_from_db(filter, __setting_storage_main_media_item_cb, &total_size);
+ if(ret != MEDIA_CONTENT_ERROR_NONE) {
+ media_filter_destroy(filter);
+ SETTING_TRACE_ERROR("Fail to get media");
+ return total_size;
+ }
- tmp_size = 0.0;
- tmp_size = __setting_storage_main_folder_size_get(SETTING_STORAGE_CAMERA_PATH);
- setting_retvm_if(ret == SETTING_RETURN_FAIL, total_size, "get camera status failed");
- total_size += tmp_size;
+ ret = media_filter_destroy(filter);
+ if (ret != MEDIA_CONTENT_ERROR_NONE) {
+ SETTING_TRACE_ERROR("destroy filter failed\n\n");
+ return total_size;
+ }
return total_size;
}
return total_size;
}
-static bool __setting_storage_main_media_item_cb(media_info_h media, void *data)
-{
- //SETTING_TRACE_BEGIN;
- setting_retvm_if(media == NULL, true, "media is NULL");
- setting_retvm_if(data == NULL, true, "Data parameter is NULL");
- double *total_size = (double *) data;
-
- media_content_type_e media_type = 0;
- unsigned long long size = 0;
-
- media_info_get_media_type(media, &media_type);
- //SETTING_TRACE("media_type : [%d]", media_type);
-
- if(media_type == MEDIA_CONTENT_TYPE_MUSIC) {
- media_info_get_size(media, &size);
- //SETTING_TRACE("size : [%lld]", size);
- *total_size += size;
- } else {
- SETTING_TRACE("Other Content");
- }
-
- return true;
-}
-
static double __setting_storage_main_audio_status_get()
{
SETTING_TRACE_BEGIN;
return total_size;
}
- ret = media_filter_set_order(filter, MEDIA_CONTENT_ORDER_ASC, MEDIA_TITLE, MEDIA_CONTENT_COLLATE_NOCASE);
+ ret = media_info_foreach_media_from_db(filter, __setting_storage_main_media_item_cb, &total_size);
if(ret != MEDIA_CONTENT_ERROR_NONE) {
media_filter_destroy(filter);
- SETTING_TRACE("Fail to set order");
+ SETTING_TRACE("Fail to get media");
return total_size;
}
- ret = media_info_foreach_media_from_db(filter, __setting_storage_main_media_item_cb, &total_size);
- if(ret != MEDIA_CONTENT_ERROR_NONE) {
- media_filter_destroy(filter);
- SETTING_TRACE("Fail to get media");
+ ret = media_filter_destroy(filter);
+ if (ret != MEDIA_CONTENT_ERROR_NONE) {
+ SETTING_TRACE_ERROR("destroy filter failed\n\n");
return total_size;
}
if (back_btn != NULL) {
elm_object_style_set(back_btn, NAVI_BACK_BUTTON_STYLE); /* take into effect */
}
+
+ setting_view_update(&setting_view_storage_main, ad);
}
static void __setting_storage_main_launch_ug_layout_cb(ui_gadget_h ug, enum ug_mode mode, void *priv)
SETTING_TRACE_BEGIN;
/* error check */
retv_if(cb == NULL, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
-
SettingStorageUG *ad = (SettingStorageUG *) cb;
+ int ret = 0;
+
+ __setting_storage_main_internal_storage_status_get(ad);
+
+ /* update internal total size */
+ char total_desc[SETTING_STORAGE_MAX_STR_LEN + 1] = {0,};
+ ret = __setting_storage_status_size_transition(ad->internal_status.dTotal, total_desc);
+ setting_retvm_if(ret == SETTING_RETURN_FAIL, SETTING_RETURN_FAIL, "failed to transform")
+
+ G_FREE(ad->internal->keyStr);
+ ad->internal->keyStr = (char *)g_strdup(total_desc);
+ elm_object_item_data_set(ad->internal->item, ad->internal);
+ elm_genlist_item_update(ad->internal->item);
+
+ /* update internal available size */
+ char avail_desc[SETTING_STORAGE_MAX_STR_LEN + 1] = {0,};
+ ret = __setting_storage_status_size_transition(ad->internal_status.dAvail, avail_desc);
+ setting_retvm_if(ret == SETTING_RETURN_FAIL, SETTING_RETURN_FAIL, "failed to transform")
+
+ G_FREE(ad->avail->sub_desc);
+ ad->avail->sub_desc = (char *)g_strdup(avail_desc);
+ elm_object_item_data_set(ad->avail->item, ad->avail);
+ elm_genlist_item_update(ad->avail->item);
+
/* wake up thread */
pthread_mutex_lock(&ad->update_mutex);
ad->type = SETTING_STORAGE_REUPDATE;