Enlightenment CVS committal

Author  : lordchaos
Project : e17
Module  : proto

Dir     : e17/proto/entropy/src/plugins


Modified Files:
        etk_list_viewer.c etk_structure_viewer.c 


Log Message:
* New function to get the cached file reference to the parent folder of a file
* Only display the file in the list view on a 'file monitor create' event, if 
we are currently displaying its parent folder
* Return value fix in plugin_helper

===================================================================
RCS file: 
/cvsroot/enlightenment/e17/proto/entropy/src/plugins/etk_list_viewer.c,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -3 -r1.35 -r1.36
--- etk_list_viewer.c   4 Mar 2006 01:40:02 -0000       1.35
+++ etk_list_viewer.c   4 Mar 2006 06:09:12 -0000       1.36
@@ -32,6 +32,8 @@
   Etk_Widget *last_selected_label;
 
   Etk_Widget* popup;
+
+  entropy_generic_file* current_folder;
 };
 
 typedef struct event_file_core event_file_core;
@@ -531,6 +533,11 @@
          case ENTROPY_NOTIFY_FILELIST_REQUEST:{
              entropy_generic_file *file;
 
+             entropy_generic_file *event_file =
+               ((entropy_file_request *) eevent->data)->file;
+
+             viewer->current_folder = event_file;
+
              gui_object_destroy_and_free(comp, viewer->gui_hash);
 
 
@@ -629,8 +636,13 @@
     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);                 
              
+      entropy_generic_file* file = el;
+      
+      /*Check that this file is the current dir we are displaying*/
+      entropy_generic_file* parent_folder = 
entropy_core_parent_folder_file_get(file);
+      if (parent_folder && parent_folder == viewer->current_folder) {
+             list_viewer_add_row (comp, file);                               
+      }
      }
      break;      
 
===================================================================
RCS file: 
/cvsroot/enlightenment/e17/proto/entropy/src/plugins/etk_structure_viewer.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -3 -r1.16 -r1.17
--- etk_structure_viewer.c      4 Mar 2006 05:49:03 -0000       1.16
+++ etk_structure_viewer.c      4 Mar 2006 06:09:12 -0000       1.17
@@ -229,33 +229,22 @@
          case ENTROPY_NOTIFY_FILE_CREATE:{
                                                 
                entropy_generic_file* file = el;
-               char* md5;
-               char* tmp;
-               char* pos;
+               entropy_generic_file* parent_file = NULL;
                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);
-               
+               parent_file = entropy_core_parent_folder_file_get(file);
+
                /*If we have a parent file..*/
-               if (listen && (listen->file->filetype == FILE_FOLDER || 
+               if (parent_file && (file->filetype == FILE_FOLDER || 
                        (entropy_core_descent_for_mime_get (comp->core,
-                                                listen->file->mime_type)))) {
+                                                file->mime_type)))) {
                        
-                       row = ecore_hash_get (viewer->row_folder_hash, 
listen->file);
+                       row = ecore_hash_get (viewer->row_folder_hash, 
parent_file);
                        if (row) {
                              entropy_core_file_cache_add_reference (file->md5);
                              structure_viewer_add_row (comp, file, row);
                        }
                }
-
-               free(tmp);
          }
          break;
                                                     




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