Enlightenment CVS committal

Author  : lordchaos
Project : e17
Module  : proto

Dir     : e17/proto/entropy/src/plugins


Modified Files:
        etk_list_viewer.c filesystem.c 


Log Message:
* By special request from CodeWarrior, remote-evfs-dir lists (smb,sftp,etc), 
will now request a file stat (properties), if they haven't already got one

===================================================================
RCS file: 
/cvsroot/enlightenment/e17/proto/entropy/src/plugins/etk_list_viewer.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -3 -r1.18 -r1.19
--- etk_list_viewer.c   26 Feb 2006 04:00:14 -0000      1.18
+++ etk_list_viewer.c   26 Feb 2006 04:43:03 -0000      1.19
@@ -218,7 +218,8 @@
 {
   Etk_Tree_Row* new_row;
   entropy_etk_file_list_viewer* viewer;
-  gui_file *e_file;
+  gui_file *e_file = NULL;
+  entropy_gui_event *gui_event;
   Etk_Tree_Col* col1;
   Etk_Tree_Col* col2;
   Etk_Tree_Col* col3;
@@ -244,6 +245,7 @@
                  col2,   file->filename, 
                  col4, file->mime_type,
                  NULL);
+
   } else {
         // time_t stime = file->properties.st_mtime
          
@@ -264,12 +266,22 @@
   e_file->icon=new_row;
 
   ecore_hash_set(viewer->gui_hash, file, e_file);
-
   ecore_hash_set(row_hash, new_row, e_file);
 
   /*Save this file in this list of files we're responsible for */
   ecore_list_append (viewer->files, new_row);
 
+
+  if (!file->retrieved_stat) {
+         /*And request the properties...*/
+         gui_event = entropy_malloc (sizeof (entropy_gui_event));
+         gui_event->event_type =
+         entropy_core_gui_event_get (ENTROPY_GUI_EVENT_FILE_STAT);
+         gui_event->data = file;
+          entropy_core_layout_notify_event (instance, gui_event,
+                                     ENTROPY_EVENT_LOCAL);
+  }
+
   etk_tree_thaw(ETK_TREE(viewer->tree));
 }
 
@@ -330,6 +342,35 @@
              }
              break;
 
+     case ENTROPY_NOTIFY_FILE_STAT_AVAILABLE:{
+
+       entropy_file_stat *file_stat = (entropy_file_stat *) el;        
+       gui_file* obj = ecore_hash_get (viewer->gui_hash, file_stat->file);
+       char buffer[50];
+
+       Etk_Tree_Col* col1;
+       Etk_Tree_Col* col2;
+       Etk_Tree_Col* col3;
+       Etk_Tree_Col* col4;
+       Etk_Tree_Col* col5;
+       
+       col1 = etk_tree_nth_col_get(ETK_TREE(viewer->tree), 0);
+       col2 = etk_tree_nth_col_get(ETK_TREE(viewer->tree), 1);
+       col3 = etk_tree_nth_col_get(ETK_TREE(viewer->tree), 2);
+       col4 = etk_tree_nth_col_get(ETK_TREE(viewer->tree), 3);
+       col5 = etk_tree_nth_col_get(ETK_TREE(viewer->tree), 4);
+
+       snprintf(buffer,50, "%d Kb", file_stat->stat_obj->st_size / 1024);
+
+       etk_tree_freeze(ETK_TREE(viewer->tree));
+       etk_tree_row_fields_set((Etk_Tree_Row*)obj->icon, 
+                               col3, buffer,
+                               col5, ctime(&file_stat->stat_obj->st_mtime),
+                               NULL);
+       etk_tree_thaw(ETK_TREE(viewer->tree));
+     }
+     break;                                     
+
      case ENTROPY_NOTIFY_FILE_CREATE:{
       //printf ("Received file create event at icon viewer for file %s \n", 
((entropy_generic_file*)ret)->filename);
       list_viewer_add_row (comp, (entropy_generic_file *) el);                 
              
@@ -440,7 +481,7 @@
   etk_widget_dnd_source_set(viewer->tree, ETK_TRUE);
   etk_widget_dnd_drag_widget_set(viewer->tree, etk_button_new_with_label("Drag 
Widget"));
   //etk_widget_dnd_drag_data_set(viewer->tree, dnd_types, dnd_types_num, "This 
is the drag data!", strlen("This is the drag data!") + 1);
-  etk_signal_connect("drag_begin", viewer->tree , 
ETK_CALLBACK(_entropy_etk_list_viewer_drag_begin_cb), instance);
+  etk_signal_connect("drag_begin", ETK_OBJECT(viewer->tree) , 
ETK_CALLBACK(_entropy_etk_list_viewer_drag_begin_cb), instance);
   etk_tree_multiple_select_set(ETK_TREE(viewer->tree), ETK_TRUE); 
   etk_tree_build(ETK_TREE(viewer->tree));
 
===================================================================
RCS file: /cvsroot/enlightenment/e17/proto/entropy/src/plugins/filesystem.c,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -3 -r1.44 -r1.45
--- filesystem.c        22 Feb 2006 13:09:48 -0000      1.44
+++ filesystem.c        26 Feb 2006 04:43:03 -0000      1.45
@@ -167,9 +167,6 @@
       file_stat->stat_obj->st_atime = data->stat.stat_obj.ist_atime;
       file_stat->stat_obj->st_mtime = data->stat.stat_obj.ist_mtime;
       file_stat->stat_obj->st_ctime = data->stat.stat_obj.ist_ctime;
-      printf ("Size of evfs_event: %d\n", sizeof (evfs_stat));
-
-
 
       /*Retrieve the file. This is bad - the file might not exist anymore! */
       file_stat->file = entropy_core_file_cache_retrieve (md5)->file;




-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to