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 plugin_helper.c Log Message: * Add 'hover plugin' - try it in icon mode, hover for ~2 secs over a video or image * Misc bugfixes =================================================================== RCS file: /cvs/e/e17/proto/entropy/src/entropy_core.c,v retrieving revision 1.96 retrieving revision 1.97 diff -u -3 -r1.96 -r1.97 --- entropy_core.c 27 Jul 2007 14:09:42 -0000 1.96 +++ entropy_core.c 4 Aug 2007 13:46:25 -0000 1.97 @@ -292,7 +292,8 @@ entropy_core_gui_event_handler_add(ENTROPY_GUI_EVENT_COPY_REQUEST, entropy_event_handler_copy_request_handler); entropy_core_gui_event_handler_add(ENTROPY_GUI_EVENT_CUT_REQUEST, entropy_event_handler_cut_request_handler); entropy_core_gui_event_handler_add(ENTROPY_GUI_EVENT_PASTE_REQUEST, entropy_event_handler_paste_request_handler); - + entropy_core_gui_event_handler_add(ENTROPY_GUI_EVENT_HOVER, entropy_event_handler_hover_request_handler); + entropy_core_gui_event_handler_add(ENTROPY_GUI_EVENT_DEHOVER, entropy_event_handler_dehover_request_handler); //printf("\n\nDetails of thumbnailers:\n"); @@ -639,6 +640,10 @@ return "entropy_gui_event_cut_request"; } else if (!strcmp(event, ENTROPY_GUI_EVENT_PASTE_REQUEST)) { return "entropy_gui_event_paste_request"; + } else if (!strcmp(event, ENTROPY_GUI_EVENT_HOVER)) { + return "entropy_gui_event_hover"; + } else if (!strcmp(event, ENTROPY_GUI_EVENT_DEHOVER)) { + return "entropy_gui_event_dehover"; } else return ""; } =================================================================== RCS file: /cvs/e/e17/proto/entropy/src/entropy_gui_event_handlers.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -3 -r1.15 -r1.16 --- entropy_gui_event_handlers.c 7 Sep 2006 13:40:14 -0000 1.15 +++ entropy_gui_event_handlers.c 4 Aug 2007 13:46:25 -0000 1.16 @@ -608,3 +608,65 @@ return data; } + +/*Hover Request */ +Entropy_Gui_Event_Handler* entropy_event_handler_hover_request_handler() +{ + return entropy_gui_event_handler_new( + entropy_event_handler_hover_request_instance_data, + entropy_event_handler_instance_data_generic_cleanup); + +} + +Entropy_Gui_Event_Handler_Instance_Data* +entropy_event_handler_hover_request_instance_data(entropy_gui_event* event, + entropy_gui_component_instance* requestor) +{ + Entropy_Gui_Event_Handler_Instance_Data* data = NULL; + entropy_notify_event* ev = NULL; + + data = entropy_malloc(sizeof(Entropy_Gui_Event_Handler_Instance_Data)); + + ev = entropy_notify_event_new(); + ev->event_type = ENTROPY_NOTIFY_HOVER; + ev->return_struct = event->data; /*An entropy generic file*/ + ev->key = event->key; + ev->hints = event->hints; + ev->processed = 1; + + data->notify = ev; + + + return data; +} + +/*Hover Request */ +Entropy_Gui_Event_Handler* entropy_event_handler_dehover_request_handler() +{ + return entropy_gui_event_handler_new( + entropy_event_handler_dehover_request_instance_data, + entropy_event_handler_instance_data_generic_cleanup); + +} + +Entropy_Gui_Event_Handler_Instance_Data* +entropy_event_handler_dehover_request_instance_data(entropy_gui_event* event, + entropy_gui_component_instance* requestor) +{ + Entropy_Gui_Event_Handler_Instance_Data* data = NULL; + entropy_notify_event* ev = NULL; + + data = entropy_malloc(sizeof(Entropy_Gui_Event_Handler_Instance_Data)); + + ev = entropy_notify_event_new(); + ev->event_type = ENTROPY_NOTIFY_DEHOVER; + ev->return_struct = event->data; /*An entropy generic file*/ + ev->key = event->key; + ev->hints = event->hints; + ev->processed = 1; + + data->notify = ev; + + + return data; +} =================================================================== RCS file: /cvs/e/e17/proto/entropy/src/notification_engine.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -3 -r1.13 -r1.14 --- notification_engine.c 25 Jul 2007 17:01:03 -0000 1.13 +++ notification_engine.c 4 Aug 2007 13:46:25 -0000 1.14 @@ -217,6 +217,20 @@ } break; + case ENTROPY_NOTIFY_HOVER: { + entropy_generic_file* file = eevent->data; + entropy_core_file_cache_remove_reference ( + file->md5); + }; + break; + case ENTROPY_NOTIFY_DEHOVER: { + entropy_generic_file* file = eevent->data; + entropy_core_file_cache_remove_reference ( + file->md5); + }; + break; + + } } =================================================================== RCS file: /cvs/e/e17/proto/entropy/src/plugin_helper.c,v retrieving revision 1.32 retrieving revision 1.33 diff -u -3 -r1.32 -r1.33 --- plugin_helper.c 25 Jul 2007 17:01:03 -0000 1.32 +++ plugin_helper.c 4 Aug 2007 13:46:25 -0000 1.33 @@ -432,6 +432,39 @@ entropy_core_layout_notify_event (instance, gui_event, ENTROPY_EVENT_LOCAL); } +void entropy_event_hover_request(entropy_gui_component_instance* instance, entropy_generic_file* file, int x, int y) +{ + entropy_gui_event *gui_event; + + + gui_event = entropy_malloc (sizeof (entropy_gui_event)); + gui_event->event_type = + entropy_core_gui_event_get (ENTROPY_GUI_EVENT_HOVER); + gui_event->data = file; + entropy_core_file_cache_add_reference (file->md5); + + /*FIXME: BAD reuse of fields - should gui/notify events have a hash of key/values?*/ + gui_event->key = x; + gui_event->hints = y; + entropy_core_layout_notify_event (instance, gui_event, ENTROPY_EVENT_LOCAL); +} + +void entropy_event_dehover_request(entropy_gui_component_instance* instance, entropy_generic_file* file) +{ + entropy_gui_event *gui_event; + + + gui_event = entropy_malloc (sizeof (entropy_gui_event)); + gui_event->event_type = + entropy_core_gui_event_get (ENTROPY_GUI_EVENT_DEHOVER); + gui_event->data = file; + entropy_core_file_cache_add_reference (file->md5); + + printf("Sending dehover..\n"); + entropy_core_layout_notify_event (instance, gui_event, ENTROPY_EVENT_LOCAL); +} + + entropy_generic_file* entropy_layout_current_folder_get(entropy_gui_component_instance_layout* layout) { return layout->current_folder; ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs