char *mod_date;
char *mime;
char *owner;
+ char *link;
+ char *plink;
int owner_read;
int owner_write;
int others_read;
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;
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);
}
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))
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;
}