Save image from ARGB coming along. Not done yet.
SVN revision: 24043
This commit is contained in:
parent
214d11f633
commit
6291d46977
|
@ -30,6 +30,8 @@ struct _E_Config_Dialog_Data
|
|||
int wait_exit;
|
||||
/*- common -*/
|
||||
char *image;
|
||||
int width;
|
||||
int height;
|
||||
E_App_Edit *editor;
|
||||
};
|
||||
|
||||
|
@ -103,6 +105,11 @@ _e_eap_edit_fill_data(E_Config_Dialog_Data *cfdata)
|
|||
IFDUP(cfdata->editor->eap->icon_class, cfdata->iclass);
|
||||
cfdata->startup_notify = cfdata->editor->eap->startup_notify;
|
||||
cfdata->wait_exit = cfdata->editor->eap->wait_exit;
|
||||
/*- COMMON -*/
|
||||
IFDUP(cfdata->editor->eap->image, cfdata->image);
|
||||
cfdata->height = cfdata->editor->eap->height;
|
||||
cfdata->width = cfdata->editor->eap->width;
|
||||
if (cfdata->image) cfdata->editor->img_set = 1;
|
||||
}
|
||||
|
||||
static void *
|
||||
|
@ -157,8 +164,10 @@ _e_eap_edit_basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *data)
|
|||
eap->wait_exit = data->wait_exit;
|
||||
|
||||
/* FIXME: hardcoded until the eap editor provides fields to change it */
|
||||
eap->width = 128;
|
||||
eap->height = 128;
|
||||
if (data->width) eap->width = data->width;
|
||||
else eap->width = 128;
|
||||
if (data->height) eap->height = data->height;
|
||||
else eap->height = 128;
|
||||
|
||||
if ((eap->name) && (eap->exe))
|
||||
e_app_fields_save(eap);
|
||||
|
@ -205,9 +214,11 @@ _e_eap_edit_advanced_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *data
|
|||
if (data->iclass) eap->icon_class = evas_stringshare_add(data->iclass);
|
||||
|
||||
/* FIXME: hardcoded until the eap editor provides fields to change it */
|
||||
eap->width = 128;
|
||||
eap->height = 128;
|
||||
|
||||
if (data->width) eap->width = data->width;
|
||||
else eap->width = 128;
|
||||
if (data->height) eap->height = data->height;
|
||||
else eap->height = 128;
|
||||
|
||||
if ((eap->name) && (eap->exe))
|
||||
e_app_fields_save(eap);
|
||||
return 1;
|
||||
|
|
|
@ -556,6 +556,26 @@ _e_border_menu_cb_icon_edit(void *data, E_Menu *m, E_Menu_Item *mi)
|
|||
if (bname) a->exe = evas_stringshare_add(bname);
|
||||
if (bd->client.netwm.startup_id > 0)
|
||||
a->startup_notify = 1;
|
||||
if (bd->client.netwm.icons)
|
||||
{
|
||||
/* FIXME: Find the icon with the best size */
|
||||
const char *tmp;
|
||||
|
||||
tmp = getenv("TMPDIR");
|
||||
if (!tmp) tmp = getenv("TMP");
|
||||
if (!tmp) tmp = "/tmp";
|
||||
snprintf(path, sizeof(path), "%s/%s-%.6f.jpg", tmp, bname, ecore_time_get());
|
||||
if (e_util_icon_save(&(bd->client.netwm.icons[0]), path))
|
||||
{
|
||||
a->image = evas_stringshare_add(path);
|
||||
a->width = bd->client.netwm.icons[0].width;
|
||||
a->height = bd->client.netwm.icons[0].height;
|
||||
}
|
||||
else
|
||||
{
|
||||
fprintf(stderr, "Could not save file from ARGB: %s\n", path);
|
||||
}
|
||||
}
|
||||
bd->app = a;
|
||||
e_object_ref(E_OBJECT(bd->app));
|
||||
}
|
||||
|
|
|
@ -564,7 +564,7 @@ e_util_filename_escape(const char *filename)
|
|||
}
|
||||
|
||||
EAPI int
|
||||
e_util_save_icon(Ecore_X_Icon *icon, const char *filename)
|
||||
e_util_icon_save(Ecore_X_Icon *icon, const char *filename)
|
||||
{
|
||||
Ecore_Evas *ee;
|
||||
Evas *evas;
|
||||
|
@ -587,6 +587,7 @@ e_util_save_icon(Ecore_X_Icon *icon, const char *filename)
|
|||
evas_object_resize(im, icon->width, icon->height);
|
||||
evas_object_image_size_set(im, icon->width, icon->height);
|
||||
evas_object_image_data_copy_set(im, icon->data);
|
||||
evas_object_image_alpha_set(im, 1);
|
||||
evas_object_show(im);
|
||||
ret = evas_object_image_save(im, filename, NULL, NULL);
|
||||
evas_object_del(im);
|
||||
|
|
|
@ -40,7 +40,7 @@ EAPI E_Border *e_util_desk_border_below(E_Border *bd);
|
|||
EAPI int e_util_edje_collection_exists(const char *file, const char *coll);
|
||||
EAPI void e_util_dialog_internal(const char *title, const char *txt);
|
||||
EAPI const char *e_util_filename_escape(const char *filename);
|
||||
EAPI int e_util_save_icon(Ecore_X_Icon *icon, const char *filename);
|
||||
EAPI int e_util_icon_save(Ecore_X_Icon *icon, const char *filename);
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue