Enlightenment CVS committal Author : jeffdameth Project : e17 Module : apps/e
Dir : e17/apps/e/src/modules/pager Modified Files: e_mod_main.c Log Message: add mouse wheel control to pager popup =================================================================== RCS file: /cvs/e/e17/apps/e/src/modules/pager/e_mod_main.c,v retrieving revision 1.225 retrieving revision 1.226 diff -u -3 -r1.225 -r1.226 --- e_mod_main.c 7 Jan 2008 02:31:52 -0000 1.225 +++ e_mod_main.c 8 Jan 2008 00:30:21 -0000 1.226 @@ -170,6 +170,7 @@ static int _pager_popup_cb_mouse_down(void *data, int type, void *event); static int _pager_popup_cb_mouse_up(void *data, int type, void *event); static int _pager_popup_cb_mouse_move(void *data, int type, void *event); +static int _pager_popup_cb_mouse_wheel(void *data, int type, void *event); static void _pager_popup_desk_switch(int x, int y); static void _pager_popup_modifiers_set(int mod); static int _pager_popup_cb_key_down(void *data, int type, void *event); @@ -2270,7 +2271,6 @@ return 0; } - /************************************************************************/ /* popup-on-keyaction functions */ static int @@ -2309,10 +2309,9 @@ handlers = evas_list_append (handlers, ecore_event_handler_add (ECORE_X_EVENT_MOUSE_BUTTON_UP, _pager_popup_cb_mouse_up, NULL)); - /* TODO */ - /* handlers = evas_list_append - (handlers, ecore_event_handler_add - (ECORE_X_EVENT_MOUSE_WHEEL, _e_winlist_cb_mouse_wheel, NULL));*/ + handlers = evas_list_append + (handlers, ecore_event_handler_add + (ECORE_X_EVENT_MOUSE_WHEEL, _pager_popup_cb_mouse_wheel, NULL)); handlers = evas_list_append (handlers, ecore_event_handler_add (ECORE_X_EVENT_MOUSE_MOVE, _pager_popup_cb_mouse_move, NULL)); @@ -2482,6 +2481,34 @@ } static int +_pager_popup_cb_mouse_wheel(void *data, int type, void *event) +{ + Ecore_X_Event_Mouse_Wheel *ev = event; + Pager_Popup *pp = act_popup; + int max_x, max_y; + + e_zone_desk_count_get(pp->pager->zone, &max_x, &max_y); + + max_y -= 1; + max_x -= 1; + + if (current_desk->x + ev->z > max_x) + { + _pager_popup_desk_switch(1, 1); + } + else if (current_desk->x + ev->z < 0) + { + _pager_popup_desk_switch(-1, -1); + } + else + { + _pager_popup_desk_switch(ev->z, 0); + } + + return 1; +} + +static int _pager_popup_cb_key_down(void *data, int type, void *event) { Ecore_X_Event_Key_Down *ev; @@ -2663,8 +2690,7 @@ (E_EVENT_BORDER_ICON_CHANGE, _pager_cb_event_border_icon_change, NULL)); pager_config->handlers = evas_list_append (pager_config->handlers, ecore_event_handler_add - (E_EVENT_BORDER_URGENT_CHANGE, - _pager_cb_event_border_urgent_change, NULL)); + (E_EVENT_BORDER_URGENT_CHANGE, _pager_cb_event_border_urgent_change, NULL)); pager_config->handlers = evas_list_append (pager_config->handlers, ecore_event_handler_add (E_EVENT_BORDER_PROPERTY, _pager_cb_event_border_property, NULL)); @@ -2732,10 +2758,10 @@ e_action_del("pager_show"); e_action_del("pager_switch"); - e_action_predef_name_del(_("Pager"), N_("Popup Desk Right")); - e_action_predef_name_del(_("Pager"), N_("Popup Desk Left")); - e_action_predef_name_del(_("Pager"), N_("Popup Desk Up")); - e_action_predef_name_del(_("Pager"), N_("Popup Desk Down")); + e_action_predef_name_del(N_("Pager"), N_("Popup Desk Right")); + e_action_predef_name_del(N_("Pager"), N_("Popup Desk Left")); + e_action_predef_name_del(N_("Pager"), N_("Popup Desk Up")); + e_action_predef_name_del(N_("Pager"), N_("Popup Desk Down")); E_FREE(pager_config); E_CONFIG_DD_FREE(conf_edd); ------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs