Enlightenment CVS committal Author : chaos Project : e17 Module : proto
Dir : e17/proto/entropy/src Modified Files: entropy_core.c entropy_gui_event_handlers.c Log Message: * More event migration =================================================================== RCS file: /cvs/e/e17/proto/entropy/src/entropy_core.c,v retrieving revision 1.69 retrieving revision 1.70 diff -u -3 -r1.69 -r1.70 --- entropy_core.c 1 Apr 2006 08:25:11 -0000 1.69 +++ entropy_core.c 1 Apr 2006 10:05:07 -0000 1.70 @@ -265,6 +265,8 @@ 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); + entropy_core_gui_event_handler_add(ENTROPY_GUI_EVENT_FILE_CHANGE, entropy_event_handler_file_change_handler); + entropy_core_gui_event_handler_add(ENTROPY_GUI_EVENT_FILE_METADATA, entropy_event_handler_metadata_request_handler); //printf("\n\nDetails of thumbnailers:\n"); @@ -946,7 +948,7 @@ if (data->notify) { ecore_list_goto_first(el); while ( (iter = ecore_list_next(el)) ) { - if (iter->active) { + if (iter->active && data->notify->return_struct) { (*iter->plugin->gui_event_callback_p) (data->notify, instance, @@ -969,46 +971,7 @@ } - 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; - - //printf("Sending a file change 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; - ev->key = event->key; - 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, - instance, /*We use instance here, because the action runner needs to know the caller*/ - event->data, /*An entropy_generic_file*/ - instance); - } - entropy_notify_event_destroy(ev); - - /*A metadata object has been made available*/ - } else if (!strcmp(event->event_type,ENTROPY_GUI_EVENT_FILE_METADATA_AVAILABLE)) { + if (!strcmp(event->event_type,ENTROPY_GUI_EVENT_FILE_METADATA_AVAILABLE)) { entropy_notify_event* ev = entropy_notify_event_new(); ev->event_type = ENTROPY_NOTIFY_FILE_METADATA_AVAILABLE; ev->return_struct = event->data; =================================================================== RCS file: /cvs/e/e17/proto/entropy/src/entropy_gui_event_handlers.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- entropy_gui_event_handlers.c 1 Apr 2006 08:25:11 -0000 1.6 +++ entropy_gui_event_handlers.c 1 Apr 2006 10:05:07 -0000 1.7 @@ -72,6 +72,31 @@ } /*---------------------------*/ +/*File change*/ +Entropy_Gui_Event_Handler* entropy_event_handler_file_change_handler() +{ + return entropy_gui_event_handler_new( + entropy_event_handler_file_change_instance_data, + entropy_event_handler_instance_data_generic_cleanup); +} + +Entropy_Gui_Event_Handler_Instance_Data* entropy_event_handler_file_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(); + ev->event_type = ENTROPY_NOTIFY_FILE_CHANGE; + ev->processed = 1; + ev->return_struct = event->data; + + data->notify = ev; + + return data; +} + +/*-------------------------------------*/ + /*File remove directory*/ Entropy_Gui_Event_Handler* entropy_event_handler_file_remove_directory_handler() @@ -325,8 +350,36 @@ entropy_notify_event_destroy(data->notify); entropy_free(data->misc_data1); + entropy_free(data->misc_data2); entropy_free(data); +} +/*------------------------------*/ + + +/*Metadata (outbound)*/ +Entropy_Gui_Event_Handler* entropy_event_handler_metadata_request_handler() +{ + return entropy_gui_event_handler_new( + entropy_event_handler_metadata_request_instance_data, + entropy_event_handler_instance_data_generic_cleanup); + +} + +Entropy_Gui_Event_Handler_Instance_Data* entropy_event_handler_metadata_request_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_METADATA_REQUEST; + ev->key = event->key; + ev->processed = 1; + ev->return_struct = event->data; + + data->notify = ev; + + return data; } ------------------------------------------------------- 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