diff --git a/src/bin/e_configure.c b/src/bin/e_configure.c index 3a5310190..c7267f279 100644 --- a/src/bin/e_configure.c +++ b/src/bin/e_configure.c @@ -12,7 +12,8 @@ static void _e_configure_free(E_Configure *app); static void _e_configure_cb_del_req(E_Win *win); static void _e_configure_cb_resize(E_Win *win); static void _e_configure_cb_standard(void *data); - +static void _e_configure_cb_close(void *data, void *data2); + E_Configure * e_configure_show(E_Container *con) { @@ -70,12 +71,15 @@ e_configure_show(E_Container *con) /* FIXME: we should have a way for modules to hook in here and add their * own entries */ + eco->close = e_widget_button_add(eco->evas, _("Close"), NULL, _e_configure_cb_close, eco, NULL); + edje_object_part_swallow(eco->edje, "button", eco->close); edje_object_size_min_calc(eco->edje, &ew, &eh); e_win_resize(eco->win, ew, eh); e_win_size_min_set(eco->win, ew, eh); - + evas_object_show(eco->ilist); + evas_object_show(eco->close); evas_object_show(eco->edje); e_win_show(eco->win); @@ -144,3 +148,12 @@ _e_configure_cb_standard(void *data) ecocb = data; ecocb->func(ecocb->eco->con); } + +static void +_e_configure_cb_close(void *data, void *data2) +{ + E_Configure *eco; + + eco = data; + if (eco) e_object_del(E_OBJECT(eco)); +} diff --git a/src/bin/e_configure.h b/src/bin/e_configure.h index 3355ebe4e..466b0c829 100644 --- a/src/bin/e_configure.h +++ b/src/bin/e_configure.h @@ -17,6 +17,7 @@ struct _E_Configure Evas *evas; Evas_Object *edje; Evas_Object *ilist; + Evas_Object *close; Evas_List *cblist; };