{
struct widget_info *info;
int x, y, w, h;
+ Evas_Object *preview;
if (!image) {
ErrPrint("Invalid parameters");/* LCOV_EXCL_LINE */
DbgPrint("widget geometry:%d %d %d %d", x, y, w, h);
elm_object_part_content_set(info->layout, "tbm,widget", image);
- if (!info->disable_preview)
+ if (!info->disable_preview) {
elm_object_signal_emit(info->layout, "disable", "preview");
+ preview = elm_object_part_content_unset(info->layout, "preview");
+ if (preview)
+ evas_object_del(preview);
+ }
if (!info->disable_loading)
elm_object_signal_emit(info->layout, "disable", "loading,text");
*/
}
+static void __create_preview_image(Evas_Object *layout, char *widget_id)
+{
+ LOGI("create preview image");
+ Evas_Object *preview = NULL;
+ int x, y, w, h;
+ char *preview_path = NULL;
+ widget_size_type_e size_type;
+
+ if (layout == NULL) {
+ LOGE("layout is NULL");
+ return;
+ }
+
+ preview = elm_object_part_content_get(layout, "preview");
+ if (!preview)
+ evas_object_del(preview);
+
+ evas_object_geometry_get(layout, &x, &y, &w, &h);
+ widget_service_get_size_type(w, h, &size_type);
+ preview_path = widget_service_get_preview_image_path(widget_id, size_type);
+ if (preview_path == NULL) {
+ LOGE("can not get preview path");
+ return;
+ }
+
+ preview = elm_image_add(layout);
+ if (preview == NULL) {
+ LOGE("can not get preview image");
+ free(preview_path);
+ return;
+ }
+
+ elm_image_file_set(preview, preview_path, NULL);
+ elm_object_part_content_set(layout, "preview", preview);
+ free(preview_path);
+}
+
static void __screen_connector_toolkit_evas_removed_cb(const char *appid, const char *instance_id, int pid,
Evas_Object *image, void *data)
{
DbgPrint("widget removed: %s", appid);
elm_object_part_content_set(info->layout, "tbm,widget", NULL);
- if (info->disable_preview)
+ if (info->disable_preview) {
+ __create_preview_image(info->layout, info->widget_id);
elm_object_signal_emit(info->layout, "enable", "preview");
+ }
if (info->disable_loading)
elm_object_signal_emit(info->layout, "enable", "loading,text");
static void __resize_cb(void *data, Evas *e, Evas_Object *layout, void *event_info)
{
- Evas_Object *preview = NULL;
struct widget_info *info = data;
- char *preview_path = NULL;
int x, y, w, h;
- widget_size_type_e size_type;
screen_connector_toolkit_evas_ops ops;
struct pending_item *item;
* @note
* Create a new instance in this case.
*/
-
- if (!info->disable_preview) {
- widget_service_get_size_type(w, h, &size_type);
- preview_path = widget_service_get_preview_image_path(info->widget_id, size_type);
- if (preview_path) {
- preview = elm_image_add(layout);
- if (preview) {
- elm_image_file_set(preview, preview_path, NULL);
- elm_object_part_content_set(layout, "preview", preview);
- }
-
- free(preview_path);
- }
- }
+ if (!info->disable_preview)
+ __create_preview_image(layout, info->widget_id);
if (!info->disable_loading)
elm_object_part_text_set(layout, "text", T_("IDS_ST_POP_LOADING_ING"));
if (info->pid < 0) {
info->restart = true;
DbgPrint("restart! %s", info->widget_id);
- if (!info->disable_preview)
+ if (!info->disable_preview) {
+ __create_preview_image(info->layout, info->widget_id);
elm_object_signal_emit(info->layout, "enable", "preview");
+ }
if (!info->disable_loading) {
elm_object_part_text_set(info->layout, "text", T_("IDS_ST_POP_LOADING_ING"));
evas_object_geometry_get(info->layout, NULL, NULL, &w, &h);
- if (!info->disable_preview)
+ if (!info->disable_preview) {
+ __create_preview_image(info->layout, info->widget_id);
elm_object_signal_emit(info->layout, "enable", "preview");
+ }
if (!info->disable_loading) {
elm_object_part_text_set(info->layout, "text", T_("IDS_ST_POP_LOADING_ING"));