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

Reply via email to