discomfitor pushed a commit to branch master.
commit e51fa700987ca5a39133f33173f5e9438c17f34d
Author: Mike Blumenkrantz <[email protected]>
Date: Mon Jun 17 09:13:47 2013 +0100
add teamwork handler for border focus out to hide popup when not using
pointer focus
---
src/modules/teamwork/e_mod_tw.c | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/src/modules/teamwork/e_mod_tw.c b/src/modules/teamwork/e_mod_tw.c
index 71cb3b1..6b94948 100644
--- a/src/modules/teamwork/e_mod_tw.c
+++ b/src/modules/teamwork/e_mod_tw.c
@@ -805,6 +805,22 @@ tw_show_local_file(const char *uri)
e_object_data_set(E_OBJECT(tw_mod->pop), eina_stringshare_add(uri));
}
+static Eina_Bool
+focus_out(void *data EINA_UNUSED, int type EINA_UNUSED,
E_Event_Border_Focus_Out *ev EINA_UNUSED)
+{
+ if (!tw_mod->pop) return ECORE_CALLBACK_RENEW;
+ if (e_config->focus_policy == E_FOCUS_CLICK) return ECORE_CALLBACK_RENEW;
+ if (tw_config->mouse_out_delay)
+ {
+ if (tw_hide_timer) ecore_timer_reset(tw_hide_timer);
+ else tw_hide_timer = ecore_timer_add(tw_config->mouse_out_delay,
tw_hide, NULL);
+ }
+ else
+ tw_hide(NULL);
+ tw_mod->force = 0;
+ return ECORE_CALLBACK_RENEW;
+}
+
EINTERN Eina_Bool
tw_hide(void *d EINA_UNUSED)
{
@@ -843,6 +859,7 @@ e_tw_init(void)
E_LIST_HANDLER_APPEND(handlers, ECORE_CON_EVENT_URL_COMPLETE,
download_media_complete, tw_mod);
E_LIST_HANDLER_APPEND(handlers, ECORE_CON_EVENT_URL_PROGRESS,
download_media_status, tw_mod);
E_LIST_HANDLER_APPEND(handlers, ECORE_CON_EVENT_URL_DATA,
download_media_data, tw_mod);
+ E_LIST_HANDLER_APPEND(handlers, E_EVENT_BORDER_FOCUS_OUT, focus_out,
tw_mod);
tw_mod->media =
eina_hash_string_superfast_new((Eina_Free_Cb)download_media_free);
return 1;
--
------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:
Build for Windows Store.
http://p.sf.net/sfu/windows-dev2dev