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