Enlightenment CVS committal Author : chaos Project : e17 Module : proto
Dir : e17/proto/entropy/src Modified Files: entropy_core.c entropy_gui_event_handlers.c notification_engine.c Log Message: * Move directory list event/handler to the new handler system =================================================================== RCS file: /cvs/e/e17/proto/entropy/src/entropy_core.c,v retrieving revision 1.68 retrieving revision 1.69 diff -u -3 -r1.68 -r1.69 --- entropy_core.c 1 Apr 2006 07:41:29 -0000 1.68 +++ entropy_core.c 1 Apr 2006 08:25:11 -0000 1.69 @@ -258,11 +258,13 @@ /*Register GUI event handlers*/ entropy_core_gui_event_handler_add(ENTROPY_GUI_EVENT_FILE_CREATE, entropy_event_handler_file_create_handler); entropy_core_gui_event_handler_add(ENTROPY_GUI_EVENT_FILE_REMOVE, entropy_event_handler_file_remove_handler); + entropy_core_gui_event_handler_add(ENTROPY_GUI_EVENT_FILE_REMOVE_DIRECTORY, entropy_event_handler_file_remove_directory_handler); entropy_core_gui_event_handler_add(ENTROPY_GUI_EVENT_FILE_STAT, entropy_event_handler_file_stat_handler); entropy_core_gui_event_handler_add(ENTROPY_GUI_EVENT_ACTION_FILE, entropy_event_handler_file_action_handler); entropy_core_gui_event_handler_add(ENTROPY_GUI_EVENT_FILE_STAT_AVAILABLE, entropy_event_handler_file_stat_available_handler); entropy_core_gui_event_handler_add(ENTROPY_GUI_EVENT_THUMBNAIL_AVAILABLE, entropy_event_handler_thumbnail_available_handler); - + entropy_core_gui_event_handler_add(ENTROPY_GUI_EVENT_FILE_PROGRESS, entropy_event_handler_progress_handler); + entropy_core_gui_event_handler_add(ENTROPY_GUI_EVENT_FOLDER_CHANGE_CONTENTS, entropy_event_handler_folder_change_handler); //printf("\n\nDetails of thumbnailers:\n"); @@ -967,57 +969,7 @@ } - if (!strcmp(event->event_type,ENTROPY_GUI_EVENT_FOLDER_CHANGE_CONTENTS)) { - - entropy_notify_event *ev = entropy_notify_event_new(); - Ecore_List* res; - entropy_file_request* request = entropy_malloc(sizeof(entropy_file_request)); - - - ev->event_type = ENTROPY_NOTIFY_FILELIST_REQUEST; - ev->processed = 1; - - /*Check if we need to put a slash between the path/file*/ - if (((entropy_file_request*)event->data)->drill_down) { - printf("Request for drill down\n"); - } - - request->file = ((entropy_file_request*)event->data)->file; - request->requester = instance->layout_parent; /*Requester is the layout parent - after all - one dir per layout at one time*/ - request->core = instance->core; - request->file_type = FILE_ALL; - request->drill_down = ((entropy_file_request*)event->data)->drill_down; - - ev->data = request; - - - /*HACK/FIXME - see what happens if we expire events - this should be on request*/ - printf("************* Calling interceptor..\n"); - entropy_notify_event_expire_requestor_layout(instance); - - - res = entropy_plugin_filesystem_filelist_get(request); - ev->return_struct = res; - - if (res) { - ecore_list_goto_first(el); - while ( (iter = ecore_list_next(el)) ) { - if (iter->active) (*iter->plugin->gui_event_callback_p) - (ev, - iter, - res, /*An ecore_list of files*/ - iter); - - } - } - - /*Nuke the file_request object that was passed to us*/ - free(event->data); - - entropy_notify_event_destroy(ev); - free(request); - - } else if (!strcmp(event->event_type,ENTROPY_GUI_EVENT_FILE_CHANGE)) { + if (!strcmp(event->event_type,ENTROPY_GUI_EVENT_FILE_CHANGE)) { entropy_notify_event* ev = entropy_notify_event_new(); ev->event_type = ENTROPY_NOTIFY_FILE_CHANGE; ev->processed = 1; @@ -1035,24 +987,6 @@ entropy_notify_event_destroy(ev); - } else if (!strcmp(event->event_type,ENTROPY_GUI_EVENT_FILE_REMOVE_DIRECTORY)) { - entropy_notify_event* ev = entropy_notify_event_new(); - ev->event_type = ENTROPY_NOTIFY_FILE_REMOVE_DIRECTORY; - ev->processed = 1; - - //printf("Sending a file create event...\n"); - - ecore_list_goto_first(el); - while ( (iter = ecore_list_next(el)) ) { - if (iter->active) (*iter->plugin->gui_event_callback_p) - (ev, - iter, - event->data, /*An entropy_generic_file*/ - iter); - } - entropy_notify_event_destroy(ev); - - } else if (!strcmp(event->event_type,ENTROPY_GUI_EVENT_FILE_METADATA)) { entropy_notify_event* ev = entropy_notify_event_new(); ev->event_type = ENTROPY_NOTIFY_FILE_METADATA_REQUEST; @@ -1073,27 +1007,6 @@ } entropy_notify_event_destroy(ev); - /*A thumbnail has been made available*/ - } else if (!strcmp(event->event_type,ENTROPY_GUI_EVENT_THUMBNAIL_AVAILABLE)) { - entropy_notify_event* ev = entropy_notify_event_new(); - ev->event_type = ENTROPY_NOTIFY_THUMBNAIL_REQUEST; - ev->return_struct = event->data; - ev->processed = 1; - - - /*Call the requestors*/ - ecore_list_goto_first(el); - while ( (iter = ecore_list_next(el)) ) { - //printf( "Calling callback at : %p\n", iter->plugin->gui_event_callback_p); - - if (iter->active) (*iter->plugin->gui_event_callback_p) - (ev, - iter, - event->data, /*An entropy_thumb*/ - iter); - } - entropy_notify_event_destroy(ev); - /*A metadata object has been made available*/ } else if (!strcmp(event->event_type,ENTROPY_GUI_EVENT_FILE_METADATA_AVAILABLE)) { entropy_notify_event* ev = entropy_notify_event_new(); @@ -1155,25 +1068,6 @@ } entropy_notify_event_destroy(ev); - } else if (!strcmp(event->event_type,ENTROPY_GUI_EVENT_FILE_PROGRESS)) { - entropy_notify_event* ev = entropy_notify_event_new(); - ev->event_type = ENTROPY_NOTIFY_FILE_PROGRESS; - ev->processed = 1; - - - - /*Call the requestors*/ - ecore_list_goto_first(el); - while ( (iter = ecore_list_next(el)) ) { - //printf( "Calling callback at : %p\n", iter->plugin->gui_event_callback_p); - - if (iter->active) (*iter->plugin->gui_event_callback_p) - (ev, - iter, - event->data, /*An evfs progress event*/ - iter); - } - entropy_notify_event_destroy(ev); } else if (!strcmp(event->event_type, ENTROPY_GUI_EVENT_USER_INTERACTION_YES_NO_ABORT)) { entropy_notify_event* ev = entropy_notify_event_new(); ev->event_type = ENTROPY_NOTIFY_USER_INTERACTION_YES_NO_ABORT; =================================================================== RCS file: /cvs/e/e17/proto/entropy/src/entropy_gui_event_handlers.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- entropy_gui_event_handlers.c 1 Apr 2006 07:41:29 -0000 1.5 +++ entropy_gui_event_handlers.c 1 Apr 2006 08:25:11 -0000 1.6 @@ -73,6 +73,32 @@ /*---------------------------*/ +/*File remove directory*/ +Entropy_Gui_Event_Handler* entropy_event_handler_file_remove_directory_handler() +{ + return entropy_gui_event_handler_new( + entropy_event_handler_file_remove_directory_instance_data, + entropy_event_handler_instance_data_generic_cleanup); + +} + +Entropy_Gui_Event_Handler_Instance_Data* entropy_event_handler_file_remove_directory_instance_data(entropy_gui_event* event, + entropy_gui_component_instance* requestor) +{ + + Entropy_Gui_Event_Handler_Instance_Data* data = entropy_malloc(sizeof(Entropy_Gui_Event_Handler_Instance_Data)); + entropy_notify_event* ev = entropy_notify_event_new(); + ev->event_type = ENTROPY_NOTIFY_FILE_REMOVE_DIRECTORY; + ev->processed = 1; + ev->return_struct = event->data; + + data->notify = ev; + + return data; +} +/*---------------------------*/ + + /*File stat (outbound) */ Entropy_Gui_Event_Handler* entropy_event_handler_file_stat_handler() { @@ -209,4 +235,98 @@ return data; } /*------------------------------------*/ + + +/*Progress*/ +Entropy_Gui_Event_Handler* entropy_event_handler_progress_handler() +{ + return entropy_gui_event_handler_new( + entropy_event_handler_progress_instance_data, + entropy_event_handler_instance_data_generic_cleanup); + +} + +Entropy_Gui_Event_Handler_Instance_Data* entropy_event_handler_progress_instance_data(entropy_gui_event* event, + entropy_gui_component_instance* requestor) +{ + Entropy_Gui_Event_Handler_Instance_Data* data = entropy_malloc(sizeof(Entropy_Gui_Event_Handler_Instance_Data)); + + entropy_notify_event* ev = entropy_notify_event_new(); + ev->event_type = ENTROPY_NOTIFY_FILE_PROGRESS; + ev->processed = 1; + + data->notify = ev; + ev->return_struct = event->data; + + return data; +} + +/*------------------------------------*/ + + + +/*Folder change*/ +Entropy_Gui_Event_Handler* entropy_event_handler_folder_change_handler() +{ + return entropy_gui_event_handler_new( + entropy_event_handler_folder_change_instance_data, + entropy_event_handler_folder_change_cleanup); + +} + + +Entropy_Gui_Event_Handler_Instance_Data* entropy_event_handler_folder_change_instance_data(entropy_gui_event* event, + entropy_gui_component_instance* requestor) +{ + Entropy_Gui_Event_Handler_Instance_Data* data = entropy_malloc(sizeof(Entropy_Gui_Event_Handler_Instance_Data)); + + entropy_notify_event *ev = entropy_notify_event_new(); + Ecore_List* res; + entropy_file_request* request = entropy_malloc(sizeof(entropy_file_request)); + + + ev->event_type = ENTROPY_NOTIFY_FILELIST_REQUEST; + ev->processed = 1; + + /*Check if we need to put a slash between the path/file*/ + if (((entropy_file_request*)event->data)->drill_down) { + printf("Request for drill down\n"); + } + + request->file = ((entropy_file_request*)event->data)->file; + request->requester = requestor->layout_parent; /*Requester is the layout parent - after all - one dir per layout at one time*/ + request->core = entropy_core_get_core(); + request->file_type = FILE_ALL; + request->drill_down = ((entropy_file_request*)event->data)->drill_down; + + ev->data = request; + + /*HACK/FIXME - see what happens if we expire events - this should be on request*/ + printf("************* Calling interceptor..\n"); + entropy_notify_event_expire_requestor_layout(requestor); + + res = entropy_plugin_filesystem_filelist_get(request); + ev->return_struct = res; + + data->notify = ev; + data->notify->return_struct = res; + + /*Nuke the file_request object that was passed to us*/ + data->misc_data1 = event->data; + data->misc_data2 = request; + + return data; + +} + +void entropy_event_handler_folder_change_cleanup(Entropy_Gui_Event_Handler_Instance_Data* data) +{ + if (data->notify) + entropy_notify_event_destroy(data->notify); + + entropy_free(data->misc_data1); + + entropy_free(data); + +} =================================================================== RCS file: /cvs/e/e17/proto/entropy/src/notification_engine.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- notification_engine.c 1 Apr 2006 04:35:36 -0000 1.10 +++ notification_engine.c 1 Apr 2006 08:25:11 -0000 1.11 @@ -250,7 +250,7 @@ break; default: - printf("Event type: %d\n", eevent->event_type); + //printf("Event type: %d\n", eevent->event_type); 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