dialog: allow setting of NULL icon

If NULL is passed as icon, icon should be disabled.

CID 1039951
This commit is contained in:
Sebastian Dransfeld 2014-03-24 13:13:53 +01:00
parent 168dc8ef38
commit 81c384de9f
1 changed files with 24 additions and 12 deletions

View File

@ -155,19 +155,31 @@ e_dialog_text_set(E_Dialog *dia, const char *text)
EAPI void EAPI void
e_dialog_icon_set(E_Dialog *dia, const char *icon, Evas_Coord size) e_dialog_icon_set(E_Dialog *dia, const char *icon, Evas_Coord size)
{ {
if (!icon) return; if (!icon)
{
dia->icon_object = e_icon_add(e_win_evas_get(dia->win)); if (dia->icon_object)
if (!e_util_icon_theme_set(dia->icon_object, icon)) {
e_icon_file_edje_set(dia->icon_object, icon, "icon"); edje_object_part_unswallow(dia->bg_object, dia->icon_object);
edje_extern_object_min_size_set(dia->icon_object, size * e_scale, size * e_scale); evas_object_del(dia->icon_object);
edje_object_part_swallow(dia->bg_object, "e.swallow.icon", dia->icon_object); dia->icon_object = NULL;
edje_object_signal_emit(dia->bg_object, "e,state,icon", "e"); }
evas_object_show(dia->icon_object); edje_object_signal_emit(dia->bg_object, "e,state,icon", "e");
if (icon) edje_object_signal_emit(dia->bg_object, "e,icon,disabled", "e");
edje_object_signal_emit(dia->bg_object, "e,icon,enabled", "e"); }
else else
edje_object_signal_emit(dia->bg_object, "e,icon,disabled", "e"); {
if (!dia->icon_object)
{
dia->icon_object = e_icon_add(e_win_evas_get(dia->win));
edje_object_part_swallow(dia->bg_object, "e.swallow.icon", dia->icon_object);
evas_object_show(dia->icon_object);
}
if (!e_util_icon_theme_set(dia->icon_object, icon))
e_icon_file_edje_set(dia->icon_object, icon, "icon");
edje_extern_object_min_size_set(dia->icon_object, size * e_scale, size * e_scale);
edje_object_signal_emit(dia->bg_object, "e,state,icon", "e");
edje_object_signal_emit(dia->bg_object, "e,icon,enabled", "e");
}
edje_object_message_signal_process(dia->bg_object); edje_object_message_signal_process(dia->bg_object);
} }