Use pre-defined fileman.edc icons, if possible, in the list and icon
selector. Provide a fallback for both. SVN revision: 26925
This commit is contained in:
parent
13ba37335f
commit
bb821894d5
|
@ -128,15 +128,36 @@ _fill_list(E_Config_Dialog_Data *cfdata)
|
||||||
{
|
{
|
||||||
Evas_List *l;
|
Evas_List *l;
|
||||||
Evas_Coord w, h;
|
Evas_Coord w, h;
|
||||||
|
char buf[4096];
|
||||||
|
|
||||||
e_widget_ilist_clear(cfdata->gui.list);
|
e_widget_ilist_clear(cfdata->gui.list);
|
||||||
for (l = cfdata->mimes; l; l = l->next)
|
for (l = cfdata->mimes; l; l = l->next)
|
||||||
{
|
{
|
||||||
E_Config_Mime_Icon *mi;
|
E_Config_Mime_Icon *mi;
|
||||||
|
Evas_Object *icon;
|
||||||
|
const char *tmp;
|
||||||
|
|
||||||
mi = l->data;
|
mi = l->data;
|
||||||
if (!mi) continue;
|
if (!mi) continue;
|
||||||
e_widget_ilist_append(cfdata->gui.list, NULL, mi->mime, _list_cb_sel, cfdata, NULL);
|
tmp = e_fm_mime_icon_get(mi->mime);
|
||||||
|
if (!tmp)
|
||||||
|
snprintf(buf, sizeof(buf), "e/icons/fileman/file");
|
||||||
|
else if (!strcmp(tmp, "THUMB"))
|
||||||
|
snprintf(buf, sizeof(buf), "e/icons/fileman/mime/%s", mi->mime);
|
||||||
|
else if (!strncmp(tmp, "e/icons/fileman/mime/", 21))
|
||||||
|
snprintf(buf, sizeof(buf), "%s", tmp);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
char *p;
|
||||||
|
|
||||||
|
p = strrchr(tmp, '.');
|
||||||
|
if ((p) && (!strcmp(p, ".edj")))
|
||||||
|
snprintf(buf, sizeof(buf), "%s", tmp);
|
||||||
|
}
|
||||||
|
icon = edje_object_add(evas_object_evas_get(cfdata->gui.list));
|
||||||
|
if (!e_theme_edje_object_set(icon, "base/theme/fileman", buf))
|
||||||
|
e_theme_edje_object_set(icon, "base/theme/fileman", "e/icons/fileman/file");
|
||||||
|
e_widget_ilist_append(cfdata->gui.list, icon, mi->mime, _list_cb_sel, cfdata, NULL);
|
||||||
}
|
}
|
||||||
e_widget_ilist_go(cfdata->gui.list);
|
e_widget_ilist_go(cfdata->gui.list);
|
||||||
e_widget_min_size_get(cfdata->gui.list, &w, &h);
|
e_widget_min_size_get(cfdata->gui.list, &w, &h);
|
||||||
|
|
|
@ -216,6 +216,7 @@ _get_icon(void *data)
|
||||||
E_Config_Dialog_Data *cfdata;
|
E_Config_Dialog_Data *cfdata;
|
||||||
Evas_Object *icon = NULL;
|
Evas_Object *icon = NULL;
|
||||||
const char *tmp;
|
const char *tmp;
|
||||||
|
char buf[4096];
|
||||||
|
|
||||||
cfdata = data;
|
cfdata = data;
|
||||||
if (!cfdata) return icon;
|
if (!cfdata) return icon;
|
||||||
|
@ -226,8 +227,10 @@ _get_icon(void *data)
|
||||||
switch (cfdata->type)
|
switch (cfdata->type)
|
||||||
{
|
{
|
||||||
case THUMB:
|
case THUMB:
|
||||||
|
snprintf(buf, sizeof(buf), "e/icons/fileman/mime/%s", cfdata->mime);
|
||||||
icon = edje_object_add(evas_object_evas_get(cfdata->gui.icon));
|
icon = edje_object_add(evas_object_evas_get(cfdata->gui.icon));
|
||||||
e_theme_edje_object_set(icon, "base/theme/fileman", "e/icons/fileman/file");
|
if (!e_theme_edje_object_set(icon, "base/theme/fileman", buf))
|
||||||
|
e_theme_edje_object_set(icon, "base/theme/fileman", "e/icons/fileman/file");
|
||||||
break;
|
break;
|
||||||
case EDJ:
|
case EDJ:
|
||||||
icon = edje_object_add(evas_object_evas_get(cfdata->gui.icon));
|
icon = edje_object_add(evas_object_evas_get(cfdata->gui.icon));
|
||||||
|
|
Loading…
Reference in New Issue