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

Reply via email to