From 011172fbebb5d548813c78a09a05e007364ba71f Mon Sep 17 00:00:00 2001 From: Christopher Michael Date: Wed, 29 Dec 2010 22:07:11 +0000 Subject: [PATCH] Patch from Peter van de Werken to fix uniconify of quickpanel windows. SVN revision: 55776 --- src/modules/illume2/e_mod_quickpanel.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/modules/illume2/e_mod_quickpanel.c b/src/modules/illume2/e_mod_quickpanel.c index 5b56e3232..f1a717699 100644 --- a/src/modules/illume2/e_mod_quickpanel.c +++ b/src/modules/illume2/e_mod_quickpanel.c @@ -7,6 +7,7 @@ static Eina_Bool _e_mod_quickpanel_cb_mouse_up(void *data, int type __UNUSED__, static Eina_Bool _e_mod_quickpanel_cb_border_add(void *data __UNUSED__, int type __UNUSED__, void *event); static Eina_Bool _e_mod_quickpanel_cb_border_remove(void *data __UNUSED__, int type __UNUSED__, void *event); static Eina_Bool _e_mod_quickpanel_cb_border_resize(void *data __UNUSED__, int type __UNUSED__, void *event); +static Eina_Bool _e_mod_quickpanel_cb_border_uniconify(void *data __UNUSED__, int type __UNUSED__, void *event); static void _e_mod_quickpanel_cb_post_fetch(void *data __UNUSED__, void *data2); static void _e_mod_quickpanel_cb_free(E_Illume_Quickpanel *qp); static Eina_Bool _e_mod_quickpanel_cb_delay_hide(void *data); @@ -42,12 +43,16 @@ e_mod_quickpanel_init(void) ecore_event_handler_add(E_EVENT_BORDER_REMOVE, _e_mod_quickpanel_cb_border_remove, NULL)); - _qp_hdls = eina_list_append(_qp_hdls, ecore_event_handler_add(E_EVENT_BORDER_RESIZE, _e_mod_quickpanel_cb_border_resize, NULL)); + _qp_hdls = + eina_list_append(_qp_hdls, + ecore_event_handler_add(E_EVENT_BORDER_UNICONIFY, + _e_mod_quickpanel_cb_border_uniconify, + NULL)); /* add hook for new borders so we can test for qp borders */ _qp_hook = e_border_hook_add(E_BORDER_HOOK_EVAL_PRE_POST_FETCH, @@ -340,6 +345,21 @@ _e_mod_quickpanel_cb_border_resize(void *data __UNUSED__, int type __UNUSED__, v return ECORE_CALLBACK_PASS_ON; } +static Eina_Bool +_e_mod_quickpanel_cb_border_uniconify(void *data __UNUSED__, int type __UNUSED__, void *event) +{ + E_Event_Border_Uniconify *ev; + E_Illume_Quickpanel *qp; + + ev = event; + if (!ev->border->client.illume.quickpanel.quickpanel) + return ECORE_CALLBACK_PASS_ON; + if (!(qp = e_illume_quickpanel_by_zone_get(ev->border->zone))) + return ECORE_CALLBACK_PASS_ON; + e_mod_quickpanel_show(qp); + return ECORE_CALLBACK_PASS_ON; +} + static void _e_mod_quickpanel_cb_post_fetch(void *data __UNUSED__, void *data2) {