Enlightenment CVS committal Author : urandom Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_actions.c e_desk.c e_desk.h Log Message: make deskshow as a function. add an event for it =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_actions.c,v retrieving revision 1.74 retrieving revision 1.75 diff -u -3 -r1.74 -r1.75 --- e_actions.c 21 Jul 2006 00:46:40 -0000 1.74 +++ e_actions.c 22 Jul 2006 22:25:04 -0000 1.75 @@ -1430,38 +1430,13 @@ /***************************************************************************/ ACT_FN_GO(desk_deskshow_toggle) { - E_Border *bd; - E_Border_List *bl; E_Zone *zone; - E_Desk *desk; zone = _e_actions_zone_get(obj); if (!zone) zone = e_util_zone_current_get(e_manager_current_get()); if (zone) { - desk = e_desk_current_get(zone); - bl = e_container_border_list_first(zone->container); - while ((bd = e_container_border_list_next(bl))) - { - if (bd->desk == desk) - { - if (desk->deskshow_toggle) - { - if (bd->deskshow) e_border_uniconify(bd); - bd->deskshow = 0; - } - else - { - if (bd->iconic) continue; - if (bd->client.netwm.state.skip_taskbar) continue; - if (bd->user_skip_winlist) continue; - e_border_iconify(bd); - bd->deskshow = 1; - } - } - } - desk->deskshow_toggle = desk->deskshow_toggle ? 0 : 1; - e_container_border_list_free(bl); + e_desk_deskshow(zone); } } /***************************************************************************/ =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_desk.c,v retrieving revision 1.60 retrieving revision 1.61 diff -u -3 -r1.60 -r1.61 --- e_desk.c 7 Jun 2006 23:30:12 -0000 1.60 +++ e_desk.c 22 Jul 2006 22:25:04 -0000 1.61 @@ -10,15 +10,18 @@ static void _e_desk_free(E_Desk *desk); static void _e_border_event_desk_show_free(void *data, void *ev); +static void _e_border_event_desk_deskshow_free(void *data, void *ev); static void _e_border_event_desk_name_change_free(void *data, void *ev); EAPI int E_EVENT_DESK_SHOW = 0; +EAPI int E_EVENT_DESK_DESKSHOW = 0; EAPI int E_EVENT_DESK_NAME_CHANGE = 0; EAPI int e_desk_init(void) { E_EVENT_DESK_SHOW = ecore_event_type_new(); + E_EVENT_DESK_DESKSHOW = ecore_event_type_new(); E_EVENT_DESK_NAME_CHANGE = ecore_event_type_new(); return 1; } @@ -254,6 +257,47 @@ } EAPI void +e_desk_deskshow(E_Zone *zone) +{ + E_Border *bd; + E_Border_List *bl; + E_Desk *desk; + E_Event_Desk_Show *ev; + + E_OBJECT_CHECK(zone); + E_OBJECT_TYPE_CHECK(zone, E_ZONE_TYPE); + + desk = e_desk_current_get(zone); + bl = e_container_border_list_first(zone->container); + while ((bd = e_container_border_list_next(bl))) + { + if (bd->desk == desk) + { + if (desk->deskshow_toggle) + { + if (bd->deskshow) e_border_uniconify(bd); + bd->deskshow = 0; + } + else + { + if (bd->iconic) continue; + if (bd->client.netwm.state.skip_taskbar) continue; + if (bd->user_skip_winlist) continue; + e_border_iconify(bd); + bd->deskshow = 1; + } + } + } + desk->deskshow_toggle = desk->deskshow_toggle ? 0 : 1; + e_container_border_list_free(bl); + ev = E_NEW(E_Event_Desk_Show, 1); + ev->desk = desk; + e_object_ref(E_OBJECT(desk)); + ecore_event_add(E_EVENT_DESK_DESKSHOW, ev, + _e_border_event_desk_deskshow_free, NULL); +} + +EAPI void e_desk_last_focused_focus(E_Desk *desk) { Evas_List *l; @@ -408,6 +452,16 @@ static void _e_border_event_desk_show_free(void *data, void *event) +{ + E_Event_Desk_Show *ev; + + ev = event; + e_object_unref(E_OBJECT(ev->desk)); + free(ev); +} + +static void +_e_border_event_desk_deskshow_free(void *data, void *event) { E_Event_Desk_Show *ev; =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_desk.h,v retrieving revision 1.23 retrieving revision 1.24 diff -u -3 -r1.23 -r1.24 --- e_desk.h 21 Jul 2006 00:46:40 -0000 1.23 +++ e_desk.h 22 Jul 2006 22:25:04 -0000 1.24 @@ -5,6 +5,7 @@ typedef struct _E_Desk E_Desk; typedef struct _E_Event_Desk_Show E_Event_Desk_Show; +typedef struct _E_Event_Desk_DeskShow E_Event_Desk_DeskShow; typedef struct _E_Event_Desk_Name_Change E_Event_Desk_Name_Change; #else @@ -44,6 +45,7 @@ EAPI void e_desk_name_del(int container, int zone, int desk_x, int desk_y); EAPI void e_desk_name_update(void); EAPI void e_desk_show(E_Desk *desk); +EAPI void e_desk_deskshow(E_Zone *zone); EAPI void e_desk_last_focused_focus(E_Desk *desk); EAPI E_Desk *e_desk_current_get(E_Zone *zone); EAPI E_Desk *e_desk_at_xy_get(E_Zone *zone, int x, int y); @@ -57,6 +59,7 @@ EAPI void e_desk_col_remove(E_Zone *zone); extern EAPI int E_EVENT_DESK_SHOW; +extern EAPI int E_EVENT_DESK_DESKSHOW; extern EAPI int E_EVENT_DESK_NAME_CHANGE; #endif ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs