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 gui_event migration.
* Bug fixes to EWL layout

===================================================================
RCS file: /cvs/e/e17/proto/entropy/src/entropy_core.c,v
retrieving revision 1.66
retrieving revision 1.67
diff -u -3 -r1.66 -r1.67
--- entropy_core.c      31 Mar 2006 13:45:59 -0000      1.66
+++ entropy_core.c      1 Apr 2006 02:36:36 -0000       1.67
@@ -258,6 +258,9 @@
        /*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_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);
 
        
 
@@ -943,7 +946,7 @@
                                        if (iter->active) {
                                                
(*iter->plugin->gui_event_callback_p)
                                                (data->notify, 
-                                                iter, 
+                                                instance, 
                                                 data->notify->data,   /*An 
entropy_generic_file*/
                                                 iter);
                                        }
@@ -1049,28 +1052,6 @@
                entropy_notify_event_destroy(ev);
 
        
-       } else if (!strcmp(event->event_type,ENTROPY_GUI_EVENT_ACTION_FILE)) {
-               entropy_notify_event* ev = entropy_notify_event_new();
-               ev->event_type = ENTROPY_NOTIFY_FILE_ACTION; 
-               ev->key = event->key;
-               ev->processed = 1;
-
-               
-               //printf ("Requested an action execute\n");
-
-               /*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);
-
        } 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; 
@@ -1091,58 +1072,6 @@
                }
                entropy_notify_event_destroy(ev);
                
-       } else if (!strcmp(event->event_type,ENTROPY_GUI_EVENT_FILE_STAT)) {
-               entropy_notify_event *ev = entropy_notify_event_new();
-               entropy_file_request* request = 
entropy_malloc(sizeof(entropy_file_request));
-
-               /*Set up the request..*/
-               request->file = event->data;
-               request->core = instance->core;
-               request->requester = instance->layout_parent;
-               /*--------------------------------------------*/
-
-               ev->event_type = ENTROPY_NOTIFY_FILE_STAT_EXECUTED;
-               ev->processed = 1;
-
-               entropy_plugin_filesystem_filestat_get(request);
-               
-               ecore_list_goto_first(el);
-               while ( (iter = ecore_list_next(el)) ) {
-                       if (iter->active) (*iter->plugin->gui_event_callback_p)
-                               (ev, 
-                                iter, 
-                                NULL,   /*An entropy_file_stat*/
-                                iter);
-
-               }
-
-               entropy_free(request);
-               entropy_notify_event_destroy(ev);
-
-       } else if 
(!strcmp(event->event_type,ENTROPY_GUI_EVENT_FILE_STAT_AVAILABLE)) {
-               entropy_notify_event* ev = entropy_notify_event_new();
-               ev->event_type = ENTROPY_NOTIFY_FILE_STAT_AVAILABLE; 
-               ev->return_struct = event->data;
-               if (event->data) ev->data = 
((entropy_file_stat*)event->data)->file;
-               ev->processed = 1;
-
-               
-               //printf ("Stat available for consumption - %p\n", event->data);
-
-               /*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_file_stat*/
-                                iter);
-               }
-               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();
@@ -1369,7 +1298,7 @@
        if (listener) {
                listener->count--;
 
-               //printf("- Ref count for '%s/%s' -> %d..\n", 
listener->file->path, listener->file->filename, listener->count);
+               //printf("- Ref count for (%p) '%s/%s' -> %d..\n", 
listener->file, listener->file->path, listener->file->filename, 
listener->count);
                if (listener->count <= 0) {
 
                        ecore_hash_remove(core_core->uri_reference_list, 
listener->file->uri);
===================================================================
RCS file: /cvs/e/e17/proto/entropy/src/entropy_gui_event_handlers.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- entropy_gui_event_handlers.c        31 Mar 2006 13:45:59 -0000      1.2
+++ entropy_gui_event_handlers.c        1 Apr 2006 02:36:36 -0000       1.3
@@ -71,3 +71,111 @@
        return data;
 }
 /*---------------------------*/
+
+
+/*File stat (outbound) */
+Entropy_Gui_Event_Handler* entropy_event_handler_file_stat_handler()
+{
+       return entropy_gui_event_handler_new(
+                       entropy_event_handler_file_stat_instance_data,
+                       entropy_event_handler_file_stat_cleanup);
+       
+}
+
+Entropy_Gui_Event_Handler_Instance_Data* 
entropy_event_handler_file_stat_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();
+       entropy_file_request* request = 
entropy_malloc(sizeof(entropy_file_request));
+       
+       /*Set up the request..*/
+       request->file = event->data;
+       request->core = entropy_core_get_core();
+       request->requester = requestor->layout_parent;
+       /*--------------------------------------------*/
+
+       ev->event_type = ENTROPY_NOTIFY_FILE_STAT_EXECUTED;
+       ev->processed = 1;
+
+       /*Actually request the stat*/
+       entropy_plugin_filesystem_filestat_get(request);
+
+       data->notify = ev;
+       data->misc_data1 = request;
+
+       return data;
+}
+
+void 
entropy_event_handler_file_stat_cleanup(Entropy_Gui_Event_Handler_Instance_Data*
 data)
+{
+       if (data->notify)
+               entropy_notify_event_destroy(data->notify);
+
+       /*Free the file request*/
+       entropy_free(data->misc_data1);
+                       
+       entropy_free(data);
+
+}
+/*-------------------------------------*/
+
+
+/*File stat (inbound) */
+Entropy_Gui_Event_Handler* entropy_event_handler_file_stat_available_handler()
+{
+       return entropy_gui_event_handler_new(
+                       entropy_event_handler_file_stat_available_instance_data,
+                       entropy_event_handler_instance_data_generic_cleanup);
+       
+}
+
+Entropy_Gui_Event_Handler_Instance_Data* 
entropy_event_handler_file_stat_available_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_STAT_AVAILABLE; 
+       ev->processed = 1;
+
+       ev->return_struct = event->data;
+       if (event->data) ev->data = ((entropy_file_stat*)event->data)->file;
+
+       data->notify = ev;
+
+       return data;
+}
+/*-----------------------------------*/
+
+/*Action file*/
+Entropy_Gui_Event_Handler* entropy_event_handler_file_action_handler()
+{
+       return entropy_gui_event_handler_new(
+                       entropy_event_handler_file_action_instance_data,
+                       entropy_event_handler_instance_data_generic_cleanup);
+       
+}
+
+Entropy_Gui_Event_Handler_Instance_Data* 
entropy_event_handler_file_action_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_ACTION; 
+       ev->key = event->key;
+       ev->processed = 1;
+       ev->data = event->data; /*An entropy generic file*/
+
+       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

Reply via email to