Enlightenment CVS committal

Author  : lordchaos
Project : e17
Module  : proto

Dir     : e17/proto/entropy/src/plugins


Modified Files:
        etk_structure_viewer.c filesystem.c 


Log Message:
* ETK structure viewer receives new folder notifications

===================================================================
RCS file: 
/cvsroot/enlightenment/e17/proto/entropy/src/plugins/etk_structure_viewer.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -3 -r1.15 -r1.16
--- etk_structure_viewer.c      2 Mar 2006 07:45:26 -0000       1.15
+++ etk_structure_viewer.c      4 Mar 2006 05:49:03 -0000       1.16
@@ -220,10 +220,45 @@
                              ecore_hash_set (viewer->loaded_dirs, row, 
(int*)1);
                          }
                          etk_tree_row_expand(row);
-               }
+                    }
 
              }
-       }
+         }
+         break;
+
+         case ENTROPY_NOTIFY_FILE_CREATE:{
+                                                
+               entropy_generic_file* file = el;
+               char* md5;
+               char* tmp;
+               char* pos;
+               Etk_Tree_Row* row = NULL;
+               entropy_file_listener* listen;
+
+               /*First get the md5sum of the file that will be this file's 
parent folder...*/
+               tmp = strdup(file->path);
+               pos = strrchr(tmp, '/');
+               *pos = '\0';
+               
+               md5 = md5_entropy_path_file(file->uri_base, tmp, pos+1);
+               listen = entropy_core_file_cache_retrieve(md5);
+               
+               /*If we have a parent file..*/
+               if (listen && (listen->file->filetype == FILE_FOLDER || 
+                       (entropy_core_descent_for_mime_get (comp->core,
+                                                listen->file->mime_type)))) {
+                       
+                       row = ecore_hash_get (viewer->row_folder_hash, 
listen->file);
+                       if (row) {
+                             entropy_core_file_cache_add_reference (file->md5);
+                             structure_viewer_add_row (comp, file, row);
+                       }
+               }
+
+               free(tmp);
+         }
+         break;
+                                                    
              
 
   }
@@ -275,6 +310,10 @@
                                         entropy_core_gui_event_get
                                         
(ENTROPY_GUI_EVENT_FILE_REMOVE_DIRECTORY));
 
+  entropy_core_component_event_register (instance,
+                                        entropy_core_gui_event_get
+                                        (ENTROPY_GUI_EVENT_FILE_CREATE));
+
   if (!etk_callback_setup) {
          printf("ETK stuff setup! *******\n");
          
===================================================================
RCS file: /cvsroot/enlightenment/e17/proto/entropy/src/plugins/filesystem.c,v
retrieving revision 1.49
retrieving revision 1.50
diff -u -3 -r1.49 -r1.50
--- filesystem.c        2 Mar 2006 06:10:55 -0000       1.49
+++ filesystem.c        4 Mar 2006 05:49:03 -0000       1.50
@@ -74,6 +74,11 @@
            strncpy (file->uri_base, data->file_monitor.plugin,
                     strlen (data->file_monitor.plugin));
            file->md5 = strdup (md5);
+           
+           if (data->file_monitor.filetype == EVFS_FILE_DIRECTORY) {
+                   strcpy(file->mime_type, "file/folder");
+                   file->filetype = FILE_FOLDER;
+           }
 
            /*Register a new listener for this file */
            listener = entropy_malloc (sizeof (entropy_file_listener));




-------------------------------------------------------
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