gengrid, genlist: Fallback into default item style if the required item

style does not exist.
This commit is contained in:
Daniel Juyung Seo 2014-01-08 19:07:07 +09:00
parent daea846b18
commit a7a8b257c2
2 changed files with 33 additions and 9 deletions

View File

@ -757,8 +757,15 @@ _item_realize(Elm_Gen_Item *it)
elm_widget_sub_object_add(WIDGET(it), VIEW(it));
snprintf(style, sizeof(style), "item/%s",
it->itc->item_style ? it->itc->item_style : "default");
elm_widget_theme_object_set(WIDGET(it), VIEW(it), "gengrid", style,
elm_widget_style_get(WIDGET(it)));
if (!elm_widget_theme_object_set(WIDGET(it), VIEW(it), "gengrid", style,
elm_widget_style_get(WIDGET(it))))
{
ERR("%s is not a valid gengrid item style. "
"Automatically falls back into default style.",
it->itc->item_style);
elm_widget_theme_object_set
(WIDGET(it), VIEW(it), "gengrid", "item/default", "default");
}
evas_object_stack_below(VIEW(it), sd->stack);
if (edje_object_part_exists(VIEW(it), "elm.swallow.pad"))

View File

@ -1555,9 +1555,17 @@ _item_realize(Elm_Gen_Item *it,
sd->mode == ELM_LIST_COMPRESS ? "_compress" :
"", it->itc->item_style ? : "default");
elm_widget_theme_object_set
(WIDGET(it), VIEW(it), "genlist", buf,
elm_widget_style_get(WIDGET(it)));
if (!elm_widget_theme_object_set(WIDGET(it), VIEW(it),
"genlist", buf,
elm_widget_style_get(WIDGET(it))))
{
ERR("%s is not a valid genlist item style. "
"Automatically falls back into default style.",
it->itc->item_style);
elm_widget_theme_object_set
(WIDGET(it), VIEW(it), "genlist", "item/default", "default");
}
stacking_even = edje_object_data_get(VIEW(it), "stacking_even");
if (!stacking_even) stacking_even = "above";
@ -4789,11 +4797,20 @@ _decorate_item_realize(Elm_Gen_Item *it)
strncat(buf, "/", sizeof(buf) - strlen(buf) - 1);
strncat(buf, it->itc->decorate_item_style, sizeof(buf) - strlen(buf) - 1);
elm_widget_theme_object_set
(WIDGET(it), it->item->deco_it_view, "genlist", buf,
elm_widget_style_get(WIDGET(it)));
if (!elm_widget_theme_object_set
(WIDGET(it), it->item->deco_it_view, "genlist", buf,
elm_widget_style_get(WIDGET(it))))
{
ERR("%s is not a valid genlist item style. "
"Automatically falls back into default style.",
it->itc->decorate_item_style);
elm_widget_theme_object_set
(WIDGET(it), it->item->deco_it_view,
"genlist", "item/default", "default");
}
edje_object_mirrored_set
(it->item->deco_it_view, elm_widget_mirrored_get(WIDGET(it)));
(it->item->deco_it_view, elm_widget_mirrored_get(WIDGET(it)));
/* signal callback add */
evas_object_event_callback_add