static void _vp_subtitle_page_back_key_cb(void *data, Evas_Object *obj, void *event_info);
+static void _vp_subtitle_done_button_disable_state_update(Evas_Object *layout, Eina_Bool disable) {
+ if(layout == NULL) {
+ VideoLogError("Layout is invalid, can't change done button state");
+ return;
+ }
+ if(disable) {
+ elm_object_signal_emit(layout, "done_button,state,disable", "vp");
+ } else {
+ elm_object_signal_emit(layout, "done_button,state,enable", "vp");
+ }
+}
+
/* callback functions */
/**
*
(void *) pSubtitle->pUserData);
}
}
+ Evas_Object *layout = elm_object_part_content_get(pSubtitle->pPageLayout, "title_content");
+ _vp_subtitle_done_button_disable_state_update(layout, EINA_FALSE);
}
/**
elm_object_signal_callback_add(layout, "cancel_button,clicked", "vp", _vp_subtitle_cancel_button_cb, (void*)pSubtitle);
elm_object_signal_callback_add(layout, "done_button,clicked", "vp", _vp_subtitle_done_button_cb, (void*)pSubtitle );
+ _vp_subtitle_done_button_disable_state_update(layout, EINA_TRUE);
evas_object_show(layout);
if (pSubtitle->pCloseCb) {
pSubtitle->pCloseCb((int)VP_SUBTITLE_MODE_ALIGNMENT, TRUE, (void *) pSubtitle->pUserData);
}
+ Evas_Object *layout = elm_object_part_content_get(pSubtitle->pPageLayout, "title_content");
+ _vp_subtitle_done_button_disable_state_update(layout, EINA_FALSE);
}
static void _vp_subtitle_font_size_selected(void *data, Evas_Object * obj, const char *emission, const char *source)
if (pSubtitle->pCloseCb) {
pSubtitle->pCloseCb((int) VP_SUBTITLE_MODE_SIZE, TRUE, (void *) pSubtitle->pUserData);
}
+ Evas_Object *layout = elm_object_part_content_get(pSubtitle->pPageLayout, "title_content");
+ _vp_subtitle_done_button_disable_state_update(layout, EINA_FALSE);
}
static void _vp_subtite_update_subtitle_settings_layout(Evas_Object *layout, SubtitlePopup *pSubtitle)
elm_object_part_content_set(layout, "on_off_button", pSubtitle->pActivationCheck);
_vp_subtite_update_subtitle_settings_layout(layout, pSubtitle);
+ if(bShow) {
+ elm_object_signal_emit(layout, "subtitle,on", "vp");
+ } else {
+ elm_object_signal_emit(layout, "subtitle,off", "vp");
+ }
elm_object_signal_callback_add(layout, "alignment,clicked", "vp", _vp_subtitle_alignement_selected, (void*)pSubtitle);
elm_object_signal_callback_add(layout, "font_size,clicked", "vp", _vp_subtitle_font_size_selected, (void*)pSubtitle);
group { "elm/gengrid/item/videolist/default";
inherit: "elm/gengrid/item/videolist_event/default";
- data.item: "contents" "elm.icon elm.progress elm.check";
+ data.item: "contents" "elm.icon elm.progress elm.check elm.storage.icon";
data.item: "texts" "elm.text elm.sub.text";
parts {
}
color: 0 0 0 0;
}
+ desc { "white_bg";
+ inherit: "default";
+ color: 255 255 255 255;
+ }
}
swallow { "elm.icon"; mouse; scale;
desc { "default";
color_class: "gengrid_item/default/icon_disabled";
}
}
+ swallow { "elm.storage.icon"; nomouse; scale;
+ desc { "default";
+ rel1.to: "elm.icon";
+ rel1.relative: 0.0 0.0;
+ rel2.to: "elm.icon";
+ rel2.relative: 0.0 0.0;
+ min: 40 40;
+ max: 40 40;
+ align: 0.0 0.0;
+ hid;
+ }
+ desc { "show";
+ inherit: "default";
+ vis;
+ }
+ }
swallow { "elm.check"; nomouse; scale;
desc { "default";
min: 38 38;
action: STATE_SET "default";
target: "elm.check";
}
+ program { "show_storage_icon";
+ signal: "elm,state,elm.storage.icon,visible";
+ source: "elm";
+ action: STATE_SET "show";
+ target: "elm.storage.icon";
+ }
+ program { "hide_storage_icon";
+ signal: "elm,state,elm.storage.icon,hidden";
+ source: "elm";
+ action: STATE_SET "default";
+ target: "elm.storage.icon";
+ }
+ program { "icon_white_bg_set";
+ signal: "icon,white_bg";
+ source: "vp";
+ action: STATE_SET "white_bg";
+ target: "icon_area";
+ }
+ program { "icon_default_bg_set";
+ signal: "icon,default_bg";
+ source: "vp";
+ action: STATE_SET "default";
+ target: "icon_area";
+ }
GENGRID_PROGRAM_DEFAULT(
+ target: "icon_area";
target: "elm.icon";
target: "effect_cover";
target: "elm.text";
target: "event";
target: "elm.check";
target: "elm.progress";
+ target: "elm.storage.icon";
)
}
}
ret = storage_foreach_device_supported(_storage_device_supported_cb, &storage_rec);
if (ret != STORAGE_ERROR_NONE || storage_rec.storage_id == -1) {
- VideoLogError("Get storage id failed!");
+ VideoLogError("failed to status of storage");
+ MP_FREE_STRING(folder_path);
return storage_local;
}
+ MP_FREE_STRING(folder_path);
+
ret = storage_get_type(storage_rec.storage_id, &storage_type);
if (ret != STORAGE_ERROR_NONE) {
VideoLogError("Get storage type failed!");
return storage_local;
}
+static bool mp_util_svc_storage_callback(int storage_id, storage_type_e type,
+ storage_state_e state, const char *path, void *user_data) {
+
+ storage_rec_s *storage_rec = (storage_rec_s*)user_data;
+
+ if (!(storage_rec && storage_rec->file_url && path)) {
+ return true;
+ }
+
+ if (strncmp(path, storage_rec->file_url, strlen(path)) == 0) {
+ storage_rec->storage_id = storage_id;
+ return false;
+ }
+ return true;
+}
+
/**
* Get folder storage of the video
return storage_local;
}
- if (nVideoItemIndex < 0
- || nVideoItemIndex >=
- mp_util_svc_get_video_list_size_for_checking_index()) {
+ if (nVideoItemIndex < 0 || nVideoItemIndex >= mp_util_svc_get_video_list_size_for_checking_index()) {
VideoLogError("Error number of list item.");
return storage_local;
}
+ char *file_path = mp_util_svc_get_video_url(nVideoItemIndex);
+
+
+ storage_rec_s storage_rec;
+ storage_rec.storage_id = -1;
+ storage_rec.file_url = file_path;
+ storage_type_e storage_type = 0;
+ int ret = storage_foreach_device_supported(mp_util_svc_storage_callback, &storage_rec);
+ if(ret != STORAGE_ERROR_NONE) {
+ VideoLogError("Failed to get storage status, [Error Code: %d]", ret);
+ MP_FREE_STRING(file_path);
+ return storage_local;
+ }
+
+ MP_FREE_STRING(file_path);
+
+ ret = storage_get_type(storage_rec.storage_id, &storage_type);
+ if (ret != STORAGE_ERROR_NONE) {
+ VideoLogError("Failed to get storage type [Error Code: %d]", ret);
+ return storage_local;
+ }
+
+ if (storage_type == STORAGE_TYPE_INTERNAL) {
+ storage_local = MP_MEDIA_TYPE_STORAGE_INTERNAL;
+ } else if (storage_type == STORAGE_TYPE_EXTERNAL) {
+ storage_local = MP_MEDIA_TYPE_STORAGE_EXTERNAL;
+ }
return storage_local;
}
free(path);
elm_image_aspect_fixed_set(img, EINA_TRUE);
elm_image_file_set(img, edj_path, NULL);
+ elm_object_item_signal_emit(item_data->item, "icon,white_bg", "vp");
} else {
elm_image_fill_outside_set(img, EINA_TRUE);
elm_image_file_set(img, pThumbIconUri, NULL);
item_data->checkbox = checkbox;
return checkbox;
}
+ else if(!strcmp(pPart, "elm.storage.icon") && (mp_util_svc_get_folder_storage(nFolderItemIndex) == MP_MEDIA_TYPE_STORAGE_EXTERNAL))
+ {
+ char edj_path[1024] = {0, };
+ char *path = app_get_resource_path();
+ snprintf(edj_path, 1024, "%s%s/%s", path, "images", "icon_external_drive.png");
+ free(path);
+
+ Evas_Object *img = elm_image_add(pObject);
+ elm_image_file_set(img, edj_path, NULL);
+ evas_object_size_hint_weight_set(img, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(img, EVAS_HINT_FILL, EVAS_HINT_FILL);
+
+ return img;
+ }
return NULL;
}
item_data->checkbox = checkbox;
return checkbox;
}
+ else if(!strcmp(pPart, "elm.storage.icon") && (mp_util_svc_get_video_storage(nVideoItemIndex) == MP_MEDIA_TYPE_STORAGE_EXTERNAL)) {
+ char *path = app_get_resource_path();
+ snprintf(edj_path, 1024, "%s%s/%s", path, "images", "icon_external_drive.png");
+
+ Evas_Object *img = elm_image_add(pObject);
+ elm_image_file_set(img, edj_path, NULL);
+ evas_object_size_hint_weight_set(img, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(img, EVAS_HINT_FILL, EVAS_HINT_FILL);
+
+ return img;
+ }
return NULL;
}
#endif
item_data->checkbox = checkbox;
return checkbox;
}
+ else if(!strcmp(pPart, "elm.storage.icon") && (mp_util_svc_get_video_storage(nVideoItemIndex) == MP_MEDIA_TYPE_STORAGE_EXTERNAL)) {
+ char *path = app_get_resource_path();
+ snprintf(edj_path, 1024, "%s%s/%s", path, "images", "icon_external_drive.png");
+ free(path);
+
+ Evas_Object *img = elm_image_add(pObject);
+ elm_image_file_set(img, edj_path, NULL);
+ evas_object_size_hint_weight_set(img, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(img, EVAS_HINT_FILL, EVAS_HINT_FILL);
+
+ return img;
+ }
return NULL;
}
#endif
free(path);
elm_image_aspect_fixed_set(img, EINA_TRUE);
elm_image_file_set(img, edj_path, NULL);
+ elm_object_item_signal_emit(item_data->item, "icon,white_bg", "vp");
} else {
elm_image_fill_outside_set(img, EINA_TRUE);
elm_image_file_set(img, pThumbIconUri, NULL);
return img;
}
+ else if(!strcmp(pPart, "elm.storage.icon") && (mp_util_svc_get_folder_storage(nFolderItemIndex) == MP_MEDIA_TYPE_STORAGE_EXTERNAL))
+ {
+ char edj_path[1024] = {0, };
+ char *path = app_get_resource_path();
+ snprintf(edj_path, 1024, "%s%s/%s", path, "images", "icon_external_drive.png");
+ free(path);
+
+ Evas_Object *img = elm_image_add(pObject);
+ elm_image_file_set(img, edj_path, NULL);
+ evas_object_size_hint_weight_set(img, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(img, EVAS_HINT_FILL, EVAS_HINT_FILL);
+
+ return img;
+ }
return NULL;
}
}
else if(!strcmp(pPart, "elm.progress"))
{
+ char *path = app_get_resource_path();
+ snprintf(edj_path, 1024, "%s%s/%s", path, "edje", VIDEO_CUSTOM_THEME);
+ free(path);
+
Evas_Object *progessbar = elm_layout_add(pObject);
elm_layout_file_set(progessbar, edj_path, "videolist/progressbar");
evas_object_size_hint_weight_set(progessbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
__mp_folder_item_view_set_playback_progress(nVideoItemIndex, item_data);
return progessbar;
}
+ else if(!strcmp(pPart, "elm.storage.icon") && (mp_util_svc_get_video_storage(nVideoItemIndex) == MP_MEDIA_TYPE_STORAGE_EXTERNAL)) {
+ char *path = app_get_resource_path();
+ snprintf(edj_path, 1024, "%s%s/%s", path, "images", "icon_external_drive.png");
+ free(path);
+
+ Evas_Object *img = elm_image_add(pObject);
+ elm_image_file_set(img, edj_path, NULL);
+ evas_object_size_hint_weight_set(img, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(img, EVAS_HINT_FILL, EVAS_HINT_FILL);
+
+ return img;
+ }
return NULL;
}
VideoLogInfo("Show rename popup");
g_pRenameLayout = mp_rename_ctrl_show(g_pSelectHandle->pNaviFrameHandle, NULL,
- (void *)__mp_select_view_result_view_update_cb,
+ __mp_select_view_result_view_update_cb,
nSelectedIndex);
}
}
item_data->icon = img;
return img;
}
+ else if(!strcmp(pPart, "elm.storage.icon") && (mp_util_svc_get_video_storage(nVideoItemIndex) == MP_MEDIA_TYPE_STORAGE_EXTERNAL)) {
+ char edj_path[1024] = {0,};
+ char *path = app_get_resource_path();
+ snprintf(edj_path, 1024, "%s%s/%s", path, "images", "icon_external_drive.png");
+ free(path);
+
+ Evas_Object *img = elm_image_add(pObject);
+ elm_image_file_set(img, edj_path, NULL);
+ evas_object_size_hint_weight_set(img, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(img, EVAS_HINT_FILL, EVAS_HINT_FILL);
+
+ return img;
+ }
return NULL;
}
return progessbar;
}
+ else if(!strcmp(pPart, "elm.storage.icon") && (mp_util_svc_get_video_storage(nVideoItemIndex) == MP_MEDIA_TYPE_STORAGE_EXTERNAL))
+ {
+ char *path = app_get_resource_path();
+ snprintf(edj_path, 1024, "%s%s/%s", path, "images", "icon_external_drive.png");
+ free(path);
+
+ Evas_Object *img = elm_image_add(pObject);
+ elm_image_file_set(img, edj_path, NULL);
+ evas_object_size_hint_weight_set(img, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(img, EVAS_HINT_FILL, EVAS_HINT_FILL);
+
+ return img;
+ }
return NULL;
}