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