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

Reply via email to