ahh never too late for an API/ABI break. e_icon_file_get now returns edje group, which fixes fileman border icons

ticket #rasternaggedme


SVN revision: 81387
This commit is contained in:
Mike Blumenkrantz 2012-12-19 17:00:10 +00:00
parent 23e2a04c29
commit 271f92f912
5 changed files with 28 additions and 19 deletions

View File

@ -7594,10 +7594,11 @@ static void
_e_fm2_cb_icon_thumb_gen(void *data, Evas_Object *obj, void *event_info __UNUSED__) _e_fm2_cb_icon_thumb_gen(void *data, Evas_Object *obj, void *event_info __UNUSED__)
{ {
E_Fm2_Icon *ic; E_Fm2_Icon *ic;
const char *file;
ic = data; ic = data;
if (e_icon_file_get(obj)) if (e_icon_file_get(obj, &file, NULL))
{ {
Evas_Coord w = 0, h = 0; Evas_Coord w = 0, h = 0;
int have_alpha; int have_alpha;

View File

@ -499,24 +499,30 @@ e_icon_object_set(Evas_Object *obj, Evas_Object *o)
_e_icon_smart_reconfigure(sd); _e_icon_smart_reconfigure(sd);
} }
EAPI const char * EAPI Eina_Bool
e_icon_file_get(const Evas_Object *obj) e_icon_file_get(const Evas_Object *obj, const char **file, const char **group)
{ {
E_Smart_Data *sd; E_Smart_Data *sd;
const char *file;
if (evas_object_smart_smart_get(obj) != _e_smart) SMARTERR(NULL); if (evas_object_smart_smart_get(obj) != _e_smart) SMARTERR(EINA_FALSE);
if (!(sd = evas_object_smart_data_get(obj))) return NULL; if ((!file) && (!group)) return EINA_FALSE;
if (file) *file = NULL;
if (group) *group = NULL;
if (!(sd = evas_object_smart_data_get(obj))) return EINA_FALSE;
#ifdef USE_ICON_CACHE #ifdef USE_ICON_CACHE
if (sd->file) return sd->file; if (sd->file)
{
if (file) *file = sd->file;
return EINA_TRUE;
}
#endif #endif
if (sd->edje) if (sd->edje)
{ {
edje_object_file_get(sd->obj, &file, NULL); edje_object_file_get(sd->obj, file, group);
return file; return file || group;
} }
evas_object_image_file_get(sd->obj, &file, NULL); evas_object_image_file_get(sd->obj, file, group);
return file; return file || group;
} }
EAPI void EAPI void

View File

@ -13,7 +13,7 @@ EAPI Eina_Bool e_icon_file_edje_set (Evas_Object *obj, const char *file, c
EAPI Eina_Bool e_icon_fdo_icon_set (Evas_Object *obj, const char *icon); EAPI Eina_Bool e_icon_fdo_icon_set (Evas_Object *obj, const char *icon);
EAPI void e_icon_edje_object_set(Evas_Object *obj, Evas_Object *edje); EAPI void e_icon_edje_object_set(Evas_Object *obj, Evas_Object *edje);
EAPI void e_icon_object_set (Evas_Object *obj, Evas_Object *o) EINA_DEPRECATED; EAPI void e_icon_object_set (Evas_Object *obj, Evas_Object *o) EINA_DEPRECATED;
EAPI const char *e_icon_file_get (const Evas_Object *obj); EAPI Eina_Bool e_icon_file_get(const Evas_Object *obj, const char **file, const char **group);
EAPI void e_icon_smooth_scale_set (Evas_Object *obj, Eina_Bool smooth); EAPI void e_icon_smooth_scale_set (Evas_Object *obj, Eina_Bool smooth);
EAPI Eina_Bool e_icon_smooth_scale_get (const Evas_Object *obj); EAPI Eina_Bool e_icon_smooth_scale_get (const Evas_Object *obj);
EAPI void e_icon_alpha_set (Evas_Object *obj, Eina_Bool smooth); EAPI void e_icon_alpha_set (Evas_Object *obj, Eina_Bool smooth);

View File

@ -2238,9 +2238,9 @@ _e_fwin_border_set(E_Fwin_Page *page, E_Fwin *fwin, E_Fm2_Icon_Info *ici)
} }
else else
{ {
file = e_icon_file_get(oic); e_icon_file_get(oic, &file, &group);
fwin->win->border->internal_icon = fwin->win->border->internal_icon = eina_stringshare_add(file);
eina_stringshare_add(file); fwin->win->border->internal_icon_key = eina_stringshare_add(group);
} }
evas_object_del(oic); evas_object_del(oic);
if (fwin->win->border->placed) return; if (fwin->win->border->placed) return;

View File

@ -390,7 +390,7 @@ _cb_up(void *data, void *data2 __UNUSED__)
void *nddata; void *nddata;
Evas_Object *ic; Evas_Object *ic;
Eina_List *l; Eina_List *l;
const char *lbl; const char *lbl, *file;
int n; int n;
if (!(cfdata = data)) return; if (!(cfdata = data)) return;
@ -409,7 +409,8 @@ _cb_up(void *data, void *data2 __UNUSED__)
e_widget_ilist_freeze(cfdata->used_list); e_widget_ilist_freeze(cfdata->used_list);
ic = e_icon_add(cfdata->evas); ic = e_icon_add(cfdata->evas);
e_icon_file_set(ic, e_icon_file_get(e_widget_ilist_nth_icon_get(cfdata->used_list, n))); e_icon_file_get(e_widget_ilist_nth_icon_get(cfdata->used_list, n), &file, NULL);
e_icon_file_set(ic, file);
lbl = e_widget_ilist_nth_label_get(cfdata->used_list, n); lbl = e_widget_ilist_nth_label_get(cfdata->used_list, n);
e_widget_ilist_prepend_relative_full(cfdata->used_list, ic, NULL, lbl, _cb_used_select, cfdata, NULL, (n - 1)); e_widget_ilist_prepend_relative_full(cfdata->used_list, ic, NULL, lbl, _cb_used_select, cfdata, NULL, (n - 1));
e_widget_ilist_remove_num(cfdata->used_list, n); e_widget_ilist_remove_num(cfdata->used_list, n);
@ -429,7 +430,7 @@ _cb_dn(void *data, void *data2 __UNUSED__)
void *nddata; void *nddata;
Evas_Object *ic; Evas_Object *ic;
Eina_List *l; Eina_List *l;
const char *lbl; const char *lbl, *file;
int n; int n;
if (!(cfdata = data)) return; if (!(cfdata = data)) return;
@ -448,7 +449,8 @@ _cb_dn(void *data, void *data2 __UNUSED__)
e_widget_ilist_freeze(cfdata->used_list); e_widget_ilist_freeze(cfdata->used_list);
ic = e_icon_add(cfdata->evas); ic = e_icon_add(cfdata->evas);
e_icon_file_set(ic, e_icon_file_get(e_widget_ilist_nth_icon_get(cfdata->used_list, n))); e_icon_file_get(e_widget_ilist_nth_icon_get(cfdata->used_list, n), &file, NULL);
e_icon_file_set(ic, file);
lbl = e_widget_ilist_nth_label_get(cfdata->used_list, n); lbl = e_widget_ilist_nth_label_get(cfdata->used_list, n);
e_widget_ilist_append_relative_full(cfdata->used_list, ic, NULL, lbl, _cb_used_select, cfdata, NULL, n); e_widget_ilist_append_relative_full(cfdata->used_list, ic, NULL, lbl, _cb_used_select, cfdata, NULL, n);
e_widget_ilist_remove_num(cfdata->used_list, n); e_widget_ilist_remove_num(cfdata->used_list, n);