Save image from X icon works.

TODO
- Fix alpha on saved image
- If the eap isn't saved, remove the bd->app pointer
- Delete the saved image when done


SVN revision: 24044
This commit is contained in:
sebastid 2006-07-19 13:24:50 +00:00 committed by sebastid
parent 6291d46977
commit 0ec2af42bd
1 changed files with 84 additions and 74 deletions

View File

@ -1,3 +1,6 @@
/*
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
*/
#include "e.h"
typedef struct _E_App_Edit E_App_Edit;
@ -139,7 +142,12 @@ _e_eap_edit_free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *data)
E_FREE(data->iclass);
E_FREE(data->image);
e_object_unref(E_OBJECT(data->editor->eap));
E_FREE(data->editor);
if (data->editor)
{
if (data->editor->img) evas_object_del(data->editor->img);
if (data->editor->img_widget) evas_object_del(data->editor->img_widget);
free(data->editor);
}
free(data);
}
@ -240,7 +248,14 @@ _e_eap_edit_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dial
o = e_widget_frametable_add(evas, _("Icon"), 0);
if ((!editor->img) || (editor->img_set != 1))
if ((editor->img_set) && (data->image))
{
if (editor->img) evas_object_del(editor->img);
editor->img = e_icon_add(evas);
e_icon_file_set(editor->img, data->image);
e_icon_fill_inside_set(editor->img, 1);
}
else if (!editor->img)
{
editor->img = e_icon_add(evas);
if (eap->path)
@ -249,13 +264,8 @@ _e_eap_edit_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dial
e_icon_fill_inside_set(editor->img, 1);
}
}
else if (editor->img_set)
{
editor->img = e_icon_add(evas);
e_icon_file_set(editor->img, data->image);
e_icon_fill_inside_set(editor->img, 1);
}
if (editor->img_widget) evas_object_del(editor->img_widget);
editor->img_widget = e_widget_iconsel_add(evas, editor->img, 48, 48,
&(data->image));
e_widget_iconsel_select_callback_add(editor->img_widget, _e_eap_edit_select_cb, editor);