From bcf3f0e1e83ed78f4542ac8a1d851c6efa445102 Mon Sep 17 00:00:00 2001 From: Viktor Kojouharov Date: Thu, 23 Oct 2008 07:15:44 +0000 Subject: [PATCH] hide the full_bg window, else all X dnd breaks SVN revision: 37015 --- data/themes/default.edc | 7 +++++++ src/modules/gadman/e_mod_gadman.c | 21 ++++++++++++--------- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/data/themes/default.edc b/data/themes/default.edc index b7827137e..5ac9ae4fd 100644 --- a/data/themes/default.edc +++ b/data/themes/default.edc @@ -19884,6 +19884,7 @@ group { name: "e/toolbar/default/base"; action: STATE_SET "default" 0.0; transition: LINEAR 0.4; target: "bg"; + after: "hide_stop"; } program { name: "hide_now"; signal: "e,state,visibility,hide,now"; @@ -19891,6 +19892,7 @@ group { name: "e/toolbar/default/base"; action: STATE_SET "default" 0.0; transition: LINEAR 0.0; target: "bg"; + after: "hide_stop"; } program { name: "show_custom"; signal: "e,state,visibility,show,custom"; @@ -19912,6 +19914,7 @@ group { name: "e/toolbar/default/base"; action: STATE_SET "default" 0.0; transition: LINEAR 0.4; target: "custom_bg"; + after: "hide_stop"; } program { name: "hide_custom_now"; signal: "e,state,visibility,hide,custom,now"; @@ -19919,7 +19922,11 @@ group { name: "e/toolbar/default/base"; action: STATE_SET "default" 0.0; transition: LINEAR 0.0; target: "custom_bg"; + after: "hide_stop"; } + program { name: "hide_stop"; + action: SIGNAL_EMIT "e,action,hide,stop" ""; + } } } diff --git a/src/modules/gadman/e_mod_gadman.c b/src/modules/gadman/e_mod_gadman.c index e7f313c8c..78bbc75cd 100644 --- a/src/modules/gadman/e_mod_gadman.c +++ b/src/modules/gadman/e_mod_gadman.c @@ -10,8 +10,6 @@ static void _save_widget_position(E_Gadcon_Client *gcc); static void _apply_widget_position(E_Gadcon_Client *gcc); static char *_get_bind_text(const char* action); -//static void _hide_finished(void *data, Evas_Object *o, const char *em, const char *src); - static Evas_Object* _create_mover(E_Gadcon *gc); static Evas_Object* _get_mover(E_Gadcon_Client *gcc); static E_Gadcon* _gadman_gadcon_new(const char* name, int ontop); @@ -26,6 +24,8 @@ static void on_move(void *data, Evas_Object *o, const char *em, const char *src) static void on_frame_click(void *data, Evas *e, Evas_Object *obj, void *event_info); static void on_bg_click(void *data, Evas_Object *o, const char *em, const char *src); +static void on_hide_stop(void *data __UNUSED__, Evas_Object *o __UNUSED__, + const char *em __UNUSED__, const char *src __UNUSED__); static void on_menu_style_plain(void *data, E_Menu *m, E_Menu_Item *mi); static void on_menu_style_inset(void *data, E_Menu *m, E_Menu_Item *mi); @@ -454,6 +454,9 @@ _gadman_gadcon_new(const char* name, int ontop) "e/gadman/full_bg"); edje_object_signal_callback_add(Man->full_bg, "mouse,down,*", "grabber", on_bg_click, NULL); + edje_object_signal_callback_add(Man->full_bg, "e,action,hide,stop", + "", on_hide_stop, NULL); + evas_object_move(Man->full_bg, 0, 0); evas_object_resize(Man->full_bg, Man->width, Man->height); evas_object_show(Man->full_bg); @@ -731,13 +734,6 @@ _get_bind_text(const char* action) return "(You must define a binding)"; } -//~ static void -//~ _hide_finished(void *data, Evas_Object *o, const char *em, const char *src) -//~ { - //~ printf("MACOOMEEEE\n"); - //~ ecore_evas_hide(Man->top_ee); -//~ } - /* Callbacks */ static void on_shape_change(void *data, E_Container_Shape *es, E_Container_Shape_Change ch) @@ -1109,3 +1105,10 @@ on_bg_click(void *data, Evas_Object *o, const char *em, const char *src) { gadman_gadgets_hide(); } + +static void +on_hide_stop(void *data __UNUSED__, Evas_Object *o __UNUSED__, + const char *em __UNUSED__, const char *src __UNUSED__) +{ + ecore_evas_hide(Man->top_ee); +}