|
From: Enlightenment C. <no...@cv...> - 2006-11-03 16:50:46
|
Enlightenment CVS committal
Author : devilhorns
Project : e17
Module : apps/e
Dir : e17/apps/e/src/bin
Modified Files:
e_int_config_mime.c e_int_config_mime_edit.c
Log Message:
Use pre-defined fileman.edc icons, if possible, in the list and icon
selector. Provide a fallback for both.
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_int_config_mime.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- e_int_config_mime.c 3 Nov 2006 11:56:41 -0000 1.4
+++ e_int_config_mime.c 3 Nov 2006 16:50:31 -0000 1.5
@@ -128,15 +128,36 @@
{
Evas_List *l;
Evas_Coord w, h;
+ char buf[4096];
e_widget_ilist_clear(cfdata->gui.list);
for (l = cfdata->mimes; l; l = l->next)
{
E_Config_Mime_Icon *mi;
+ Evas_Object *icon;
+ const char *tmp;
mi = l->data;
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_min_size_get(cfdata->gui.list, &w, &h);
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_int_config_mime_edit.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- e_int_config_mime_edit.c 3 Nov 2006 04:56:54 -0000 1.2
+++ e_int_config_mime_edit.c 3 Nov 2006 16:50:31 -0000 1.3
@@ -216,7 +216,8 @@
E_Config_Dialog_Data *cfdata;
Evas_Object *icon = NULL;
const char *tmp;
-
+ char buf[4096];
+
cfdata = data;
if (!cfdata) return icon;
@@ -226,8 +227,10 @@
switch (cfdata->type)
{
case THUMB:
+ snprintf(buf, sizeof(buf), "e/icons/fileman/mime/%s", cfdata->mime);
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;
case EDJ:
icon = edje_object_add(evas_object_evas_get(cfdata->gui.icon));
|