Enlightenment CVS committal Author : onefang Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_eap_editor.c Log Message: *Make sure there is only one icon dialog. *Clean up the icon dialog on exit. This commit sponsored by devilhorns, the spicy, crunchy snack. =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_eap_editor.c,v retrieving revision 1.64 retrieving revision 1.65 diff -u -3 -r1.64 -r1.65 --- e_eap_editor.c 26 Sep 2006 18:35:37 -0000 1.64 +++ e_eap_editor.c 27 Sep 2006 16:20:44 -0000 1.65 @@ -42,7 +42,6 @@ static Evas_Object *_e_eap_edit_advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *data); static void _e_eap_editor_cb_icon_select(void *data1, void *data2); static void _e_eap_edit_select_cb(void *data, Evas_Object *obj); -static void _e_eap_edit_cb_icon_select_del(void *obj); static void _e_eap_edit_cb_icon_select_ok(void *data, E_Dialog *dia); static void _e_eap_edit_cb_icon_select_cancel(void *data, E_Dialog *dia); static void _cb_files_icon_theme_changed(void *data, Evas_Object *obj, void *event_info); @@ -98,6 +97,8 @@ if (!editor) return; E_OBJECT_CHECK(editor); E_OBJECT_TYPE_CHECK(editor, E_EAP_EDIT_TYPE); + if (editor->img) evas_object_del(editor->img); + if (editor->fsel_dia) e_object_del(E_OBJECT(editor->fsel_dia)); if (editor->cfd) { E_Object *obj; @@ -117,10 +118,6 @@ e_object_unref(E_OBJECT(editor->eap)); editor->eap = NULL; } -// if (editor->img) evas_object_del(editor->img); -// if (editor->img_widget) evas_object_del(editor->img_widget); -// if (editor->fsel) evas_object_del(editor->fsel); -// if (editor->fsel_dia) e_object_del(E_OBJECT(editor->fsel_dia)); e_object_del(E_OBJECT(editor)); } @@ -452,7 +449,6 @@ static void _e_eap_editor_cb_icon_select(void *data1, void *data2) { - /* FIXME: Only one icon selection dialog! */ E_Config_Dialog_Data *cfdata; E_Dialog *dia; Evas_Object *o; @@ -462,11 +458,13 @@ editor = data2; cfdata = data1; + + if (editor->fsel_dia) return; + dia = e_dialog_new(cfdata->editor->cfd->con, "E", "_eap_icon_select_dialog"); if (!dia) return; e_dialog_title_set(dia, _("Select an Icon")); dia->data = cfdata; - e_object_del_attach_func_set(E_OBJECT(dia), _e_eap_edit_cb_icon_select_del); if (cfdata->icon_path) { @@ -509,17 +507,6 @@ } static void -_e_eap_edit_cb_icon_select_del(void *obj) -{ - E_Dialog *dia; - E_Config_Dialog_Data *cfdata; - - dia = obj; - cfdata = dia->data; - e_widget_focused_object_clear(cfdata->editor->img_widget); -} - -static void _e_eap_edit_cb_icon_select_ok(void *data, E_Dialog *dia) { E_Config_Dialog_Data *cfdata; @@ -551,9 +538,8 @@ E_Config_Dialog_Data *cfdata; cfdata = data; - e_widget_focused_object_clear(cfdata->editor->img_widget); - e_object_del_attach_func_set(E_OBJECT(dia), NULL); e_object_del(E_OBJECT(dia)); + cfdata->editor->fsel_dia = NULL; } static void ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs