From cddbf408fb2341403e23a3af634c7736291e3457 Mon Sep 17 00:00:00 2001 From: Christopher Michael Date: Wed, 28 Feb 2007 02:58:40 +0000 Subject: [PATCH] Allow setting a widget_button's icon to NULL so that a button icon can be unset. Some formatting on the theme dialog. SVN revision: 28500 --- src/bin/e_int_config_theme.c | 15 +++++++-------- src/bin/e_widget_button.c | 25 ++++++++++++++++++------- 2 files changed, 25 insertions(+), 15 deletions(-) diff --git a/src/bin/e_int_config_theme.c b/src/bin/e_int_config_theme.c index cbe614bba..7de265c4b 100644 --- a/src/bin/e_int_config_theme.c +++ b/src/bin/e_int_config_theme.c @@ -355,13 +355,11 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf rg = e_widget_radio_group_new(&(cfdata->fmdir)); o = e_widget_radio_add(evas, _("Personal"), 0, rg); cfdata->o_personal = o; - evas_object_smart_callback_add(o, "changed", - _cb_dir, cfdata); + evas_object_smart_callback_add(o, "changed", _cb_dir, cfdata); e_widget_table_object_append(il, o, 0, 0, 1, 1, 1, 1, 0, 0); o = e_widget_radio_add(evas, _("System"), 1, rg); cfdata->o_system = o; - evas_object_smart_callback_add(o, "changed", - _cb_dir, cfdata); + evas_object_smart_callback_add(o, "changed", _cb_dir, cfdata); e_widget_table_object_append(il, o, 1, 0, 1, 1, 1, 1, 0, 0); e_widget_table_object_append(ol, il, 0, 0, 1, 1, 0, 0, 0, 0); @@ -431,11 +429,12 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf o = e_widget_preview_add(evas, 320, (320 * z->h) / z->w); cfdata->o_preview = o; - if (cfdata->theme) - f = cfdata->theme; - e_widget_preview_edje_set(o, f, "e/desktop/background"); + if (cfdata->theme) + { + f = cfdata->theme; + e_widget_preview_edje_set(o, f, "e/desktop/background"); + } e_widget_list_object_append(of, o, 1, 1, 0.5); - e_widget_table_object_append(ot, of, 1, 0, 1, 1, 1, 1, 1, 1); e_dialog_resizable_set(cfd->dia, 1); diff --git a/src/bin/e_widget_button.c b/src/bin/e_widget_button.c index 3ccfc5463..f532304ab 100644 --- a/src/bin/e_widget_button.c +++ b/src/bin/e_widget_button.c @@ -86,13 +86,24 @@ e_widget_button_icon_set(Evas_Object *obj, Evas_Object *icon) E_Widget_Data *wd; wd = e_widget_data_get(obj); - wd->o_icon = icon; - edje_object_part_swallow(wd->o_button, "e.swallow.icon", icon); - edje_object_signal_emit(wd->o_button, "e,action,show,icon", "e"); - edje_object_message_signal_process(wd->o_button); - evas_object_pass_events_set(icon, 1); - evas_object_show(icon); - e_widget_sub_object_add(obj, icon); + if (!icon) + { + evas_object_hide(wd->o_icon); + edje_object_signal_emit(wd->o_button, "e,action,hide,icon", "e"); + edje_object_message_signal_process(wd->o_button); + edje_object_part_unswallow(wd->o_button, wd->o_icon); + evas_object_del(wd->o_icon); + } + else + { + wd->o_icon = icon; + edje_object_part_swallow(wd->o_button, "e.swallow.icon", icon); + edje_object_signal_emit(wd->o_button, "e,action,show,icon", "e"); + edje_object_message_signal_process(wd->o_button); + evas_object_pass_events_set(icon, 1); + evas_object_show(icon); + e_widget_sub_object_add(obj, icon); + } } static void