Enlightenment CVS committal Author : raster Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_fm_prop.c Log Message: display symlink info and be able to modify it =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_fm_prop.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -3 -r1.15 -r1.16 --- e_fm_prop.c 3 May 2007 17:58:35 -0000 1.15 +++ e_fm_prop.c 4 May 2007 04:55:11 -0000 1.16 @@ -71,6 +71,8 @@ char *mod_date; char *mime; char *owner; + char *link; + char *plink; int owner_read; int owner_write; int others_read; @@ -124,6 +126,8 @@ if (cfdata->fi->mime) cfdata->mime = strdup(cfdata->fi->mime); pw = getpwuid(cfdata->fi->statinfo.st_uid); if (pw) cfdata->owner = strdup(pw->pw_name); + if (cfdata->fi->link) cfdata->link = strdup(cfdata->fi->link); + if (cfdata->fi->link) cfdata->plink = strdup(cfdata->fi->link); if (cfdata->fi->statinfo.st_mode & S_IRUSR) cfdata->owner_read = 1; if (cfdata->fi->statinfo.st_mode & S_IWUSR) cfdata->owner_write = 1; if (cfdata->fi->statinfo.st_mode & S_IROTH) cfdata->others_read = 1; @@ -154,6 +158,8 @@ E_FREE(cfdata->mod_date); E_FREE(cfdata->mime); E_FREE(cfdata->owner); + E_FREE(cfdata->link); + E_FREE(cfdata->plink); E_FREE(cfdata->icon); free(cfdata); } @@ -198,6 +204,17 @@ cfdata->fi->statinfo.st_mode = pmode; } } + if ((cfdata->link) && ((cfdata->fi->real_link) || (cfdata->fi->broken_link))) + { + if ((cfdata->link[0]) && (strcmp(cfdata->plink, cfdata->link))) + { + ecore_file_unlink(buf); + ecore_file_symlink(cfdata->link, buf); + free(cfdata->plink); + cfdata->plink = strdup(cfdata->link); + } + } + if ((cfdata->picon_type != cfdata->icon_type) || (cfdata->picon_mime != cfdata->icon_mime) || (cfdata->picon_changed)) @@ -416,11 +433,23 @@ if ((cfdata->fi->icon) || ((itype) && (!strcmp(itype, "DESKTOP")))) cfdata->icon_mime = 0; cfdata->picon_mime = cfdata->icon_mime; - ob = e_widget_check_add(evas, _("Use this icon for all files of this type"), &(cfdata->icon_mime)); - e_widget_frametable_object_append(ot, ob, 0, 3, 2, 1, 1, 1, 1, 1); - - e_widget_table_object_append(o, ot, 0, 1, 2, 1, 1, 1, 1, 1); + if (cfdata->mime) + { + ob = e_widget_check_add(evas, _("Use this icon for all files of this type"), &(cfdata->icon_mime)); + e_widget_frametable_object_append(ot, ob, 0, 3, 2, 1, 1, 1, 1, 1); + } + e_widget_table_object_append(o, ot, 0, 1, 1, 1, 1, 1, 1, 1); + + if ((cfdata->link) && ((cfdata->fi->real_link) || (cfdata->fi->broken_link))) + { + ot = e_widget_frametable_add(evas, _("Link Information"), 0); + + ob = e_widget_entry_add(evas, &(cfdata->link)); + e_widget_frametable_object_append(ot, ob, 0, 0, 1, 1, 1, 0, 1, 0); + + e_widget_table_object_append(o, ot, 1, 1, 1, 1, 1, 1, 1, 1); + } return o; } ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs