forked from enlightenment/enlightenment
we were getting duplicate events for popups. fixed now! :)
SVN revision: 21893
This commit is contained in:
parent
8fed1be8a6
commit
227d31fbf5
|
@ -40,6 +40,7 @@ group {
|
||||||
part {
|
part {
|
||||||
name: "base";
|
name: "base";
|
||||||
clip_to: "base_clip";
|
clip_to: "base_clip";
|
||||||
|
mouse_events: 0;
|
||||||
description {
|
description {
|
||||||
state: "default" 0.0;
|
state: "default" 0.0;
|
||||||
rel1 {
|
rel1 {
|
||||||
|
|
|
@ -699,7 +699,7 @@ _e_gadcon_cb_mouse_down(void *data, Evas *evas, Evas_Object *obj, void *event_in
|
||||||
ev = event_info;
|
ev = event_info;
|
||||||
if (ev->button == 3)
|
if (ev->button == 3)
|
||||||
{
|
{
|
||||||
printf("THREE!\n");
|
printf("THREE! %p\n", gcc);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -272,7 +272,7 @@ main(int argc, char **argv)
|
||||||
_e_main_shutdown_push(ecore_shutdown);
|
_e_main_shutdown_push(ecore_shutdown);
|
||||||
|
|
||||||
_e_cacheburst++;
|
_e_cacheburst++;
|
||||||
// eet_cacheburst(_e_cacheburst);
|
/* eet_cacheburst(_e_cacheburst); */
|
||||||
ecore_timer_add(5.0, _e_main_cb_eet_cacheburst_end, NULL);
|
ecore_timer_add(5.0, _e_main_cb_eet_cacheburst_end, NULL);
|
||||||
|
|
||||||
/* init the file system */
|
/* init the file system */
|
||||||
|
@ -327,7 +327,7 @@ main(int argc, char **argv)
|
||||||
}
|
}
|
||||||
_e_main_shutdown_push(e_xinerama_shutdown);
|
_e_main_shutdown_push(e_xinerama_shutdown);
|
||||||
|
|
||||||
// ecore_x_grab();
|
/* ecore_x_grab(); */
|
||||||
|
|
||||||
ecore_x_io_error_handler_set(_e_main_cb_x_fatal, NULL);
|
ecore_x_io_error_handler_set(_e_main_cb_x_fatal, NULL);
|
||||||
|
|
||||||
|
@ -635,7 +635,7 @@ main(int argc, char **argv)
|
||||||
e_error_message_show(_("Enlightenment cannot set up its desk locking system."));
|
e_error_message_show(_("Enlightenment cannot set up its desk locking system."));
|
||||||
_e_main_shutdown(-1);
|
_e_main_shutdown(-1);
|
||||||
}
|
}
|
||||||
//_e_main_shutdown_push(e_desklock_shutdown);
|
/* _e_main_shutdown_push(e_desklock_shutdown); */
|
||||||
|
|
||||||
if (ipc_failed)
|
if (ipc_failed)
|
||||||
e_error_dialog_show(_("Enlightenment IPC setup error!"),
|
e_error_dialog_show(_("Enlightenment IPC setup error!"),
|
||||||
|
@ -653,7 +653,7 @@ main(int argc, char **argv)
|
||||||
|
|
||||||
e_managers_keys_grab();
|
e_managers_keys_grab();
|
||||||
|
|
||||||
// ecore_x_ungrab();
|
/* ecore_x_ungrab(); */
|
||||||
|
|
||||||
e_init_title_set(_("Enlightenment"));
|
e_init_title_set(_("Enlightenment"));
|
||||||
e_init_version_set(VERSION);
|
e_init_version_set(VERSION);
|
||||||
|
@ -777,7 +777,7 @@ _e_main_shutdown(int errorcode)
|
||||||
static int
|
static int
|
||||||
_e_main_x_shutdown(void)
|
_e_main_x_shutdown(void)
|
||||||
{
|
{
|
||||||
// ecore_x_ungrab();
|
/* ecore_x_ungrab(); */
|
||||||
ecore_x_focus_reset();
|
ecore_x_focus_reset();
|
||||||
ecore_x_events_allow_all();
|
ecore_x_events_allow_all();
|
||||||
|
|
||||||
|
@ -1210,19 +1210,17 @@ _e_main_cb_idler_before(void *data __UNUSED__)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
_e_cacheburst--;
|
_e_cacheburst--;
|
||||||
// eet_cacheburst(_e_cacheburst);
|
/* eet_cacheburst(_e_cacheburst); */
|
||||||
edje_thaw();
|
edje_thaw();
|
||||||
// printf("IN to idle... %3.3f\n", ecore_time_get());
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
_e_main_cb_idler_after(void *data __UNUSED__)
|
_e_main_cb_idler_after(void *data __UNUSED__)
|
||||||
{
|
{
|
||||||
// printf("OUT of idle... %3.3f\n", ecore_time_get());
|
|
||||||
edje_freeze();
|
edje_freeze();
|
||||||
_e_cacheburst++;
|
_e_cacheburst++;
|
||||||
// eet_cacheburst(_e_cacheburst);
|
/* eet_cacheburst(_e_cacheburst); */
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1230,7 +1228,7 @@ static int
|
||||||
_e_main_cb_eet_cacheburst_end(void *data __UNUSED__)
|
_e_main_cb_eet_cacheburst_end(void *data __UNUSED__)
|
||||||
{
|
{
|
||||||
_e_cacheburst--;
|
_e_cacheburst--;
|
||||||
// eet_cacheburst(_e_cacheburst);
|
/* eet_cacheburst(_e_cacheburst); */
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -308,6 +308,7 @@ _e_popup_cb_mouse_down(void *data, int type, void *event)
|
||||||
if (ev->double_click) flags |= EVAS_BUTTON_DOUBLE_CLICK;
|
if (ev->double_click) flags |= EVAS_BUTTON_DOUBLE_CLICK;
|
||||||
if (ev->triple_click) flags |= EVAS_BUTTON_TRIPLE_CLICK;
|
if (ev->triple_click) flags |= EVAS_BUTTON_TRIPLE_CLICK;
|
||||||
evas_event_feed_mouse_down(pop->evas, ev->button, flags, ev->time, NULL);
|
evas_event_feed_mouse_down(pop->evas, ev->button, flags, ev->time, NULL);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -325,6 +326,7 @@ _e_popup_cb_mouse_up(void *data, int type, void *event)
|
||||||
evas_event_feed_mouse_up(pop->evas, ev->button, EVAS_BUTTON_NONE, ev->time, NULL);
|
evas_event_feed_mouse_up(pop->evas, ev->button, EVAS_BUTTON_NONE, ev->time, NULL);
|
||||||
e_bindings_mouse_up_event_handle(E_BINDING_CONTEXT_POPUP,
|
e_bindings_mouse_up_event_handle(E_BINDING_CONTEXT_POPUP,
|
||||||
E_OBJECT(pop), ev);
|
E_OBJECT(pop), ev);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -342,6 +344,7 @@ _e_popup_cb_mouse_wheel(void *data, int type, void *event)
|
||||||
e_bindings_wheel_event_handle(E_BINDING_CONTEXT_POPUP,
|
e_bindings_wheel_event_handle(E_BINDING_CONTEXT_POPUP,
|
||||||
E_OBJECT(pop), ev);
|
E_OBJECT(pop), ev);
|
||||||
evas_event_feed_mouse_wheel(pop->evas, ev->direction, ev->z, ev->time, NULL);
|
evas_event_feed_mouse_wheel(pop->evas, ev->direction, ev->z, ev->time, NULL);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -86,6 +86,10 @@ e_shelf_zone_new(E_Zone *zone, const char *name, const char *style, int popup, i
|
||||||
es->zone = zone;
|
es->zone = zone;
|
||||||
es->style = evas_stringshare_add(style);
|
es->style = evas_stringshare_add(style);
|
||||||
|
|
||||||
|
es->o_event = evas_object_rectangle_add(es->evas);
|
||||||
|
evas_object_color_set(es->o_event, 0, 0, 0, 0);
|
||||||
|
evas_object_resize(es->o_event, es->w, es->h);
|
||||||
|
|
||||||
es->o_base = edje_object_add(es->evas);
|
es->o_base = edje_object_add(es->evas);
|
||||||
es->name = evas_stringshare_add(name);
|
es->name = evas_stringshare_add(name);
|
||||||
snprintf(buf, sizeof(buf), "shelf/%s/base", es->style);
|
snprintf(buf, sizeof(buf), "shelf/%s/base", es->style);
|
||||||
|
@ -95,12 +99,15 @@ e_shelf_zone_new(E_Zone *zone, const char *name, const char *style, int popup, i
|
||||||
"shelf/default/base");
|
"shelf/default/base");
|
||||||
if (es->popup)
|
if (es->popup)
|
||||||
{
|
{
|
||||||
|
evas_object_show(es->o_event);
|
||||||
evas_object_show(es->o_base);
|
evas_object_show(es->o_base);
|
||||||
e_popup_edje_bg_object_set(es->popup, es->o_base);
|
e_popup_edje_bg_object_set(es->popup, es->o_base);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
evas_object_move(es->o_event, es->zone->x + es->x, es->zone->y + es->y);
|
||||||
evas_object_move(es->o_base, es->zone->x + es->x, es->zone->y + es->y);
|
evas_object_move(es->o_base, es->zone->x + es->x, es->zone->y + es->y);
|
||||||
|
evas_object_layer_set(es->o_event, layer);
|
||||||
evas_object_layer_set(es->o_base, layer);
|
evas_object_layer_set(es->o_base, layer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -139,8 +146,11 @@ e_shelf_show(E_Shelf *es)
|
||||||
if (es->popup)
|
if (es->popup)
|
||||||
e_popup_show(es->popup);
|
e_popup_show(es->popup);
|
||||||
else
|
else
|
||||||
|
{
|
||||||
|
evas_object_show(es->o_event);
|
||||||
evas_object_show(es->o_base);
|
evas_object_show(es->o_base);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
e_shelf_hide(E_Shelf *es)
|
e_shelf_hide(E_Shelf *es)
|
||||||
|
@ -150,8 +160,11 @@ e_shelf_hide(E_Shelf *es)
|
||||||
if (es->popup)
|
if (es->popup)
|
||||||
e_popup_hide(es->popup);
|
e_popup_hide(es->popup);
|
||||||
else
|
else
|
||||||
|
{
|
||||||
|
evas_object_hide(es->o_event);
|
||||||
evas_object_hide(es->o_base);
|
evas_object_hide(es->o_base);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
e_shelf_move(E_Shelf *es, int x, int y)
|
e_shelf_move(E_Shelf *es, int x, int y)
|
||||||
|
@ -163,8 +176,11 @@ e_shelf_move(E_Shelf *es, int x, int y)
|
||||||
if (es->popup)
|
if (es->popup)
|
||||||
e_popup_move(es->popup, es->x, es->y);
|
e_popup_move(es->popup, es->x, es->y);
|
||||||
else
|
else
|
||||||
|
{
|
||||||
|
evas_object_move(es->o_event, es->zone->x + es->x, es->zone->y + es->y);
|
||||||
evas_object_move(es->o_base, es->zone->x + es->x, es->zone->y + es->y);
|
evas_object_move(es->o_base, es->zone->x + es->x, es->zone->y + es->y);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
e_shelf_resize(E_Shelf *es, int w, int h)
|
e_shelf_resize(E_Shelf *es, int w, int h)
|
||||||
|
@ -174,11 +190,8 @@ e_shelf_resize(E_Shelf *es, int w, int h)
|
||||||
es->w = w;
|
es->w = w;
|
||||||
es->h = h;
|
es->h = h;
|
||||||
if (es->popup)
|
if (es->popup)
|
||||||
{
|
|
||||||
e_popup_resize(es->popup, es->w, es->h);
|
e_popup_resize(es->popup, es->w, es->h);
|
||||||
evas_object_resize(es->o_base, es->w, es->h);
|
evas_object_resize(es->o_event, es->w, es->h);
|
||||||
}
|
|
||||||
else
|
|
||||||
evas_object_resize(es->o_base, es->w, es->h);
|
evas_object_resize(es->o_base, es->w, es->h);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -192,15 +205,14 @@ e_shelf_move_resize(E_Shelf *es, int x, int y, int w, int h)
|
||||||
es->w = w;
|
es->w = w;
|
||||||
es->h = h;
|
es->h = h;
|
||||||
if (es->popup)
|
if (es->popup)
|
||||||
{
|
|
||||||
e_popup_move_resize(es->popup, es->x, es->y, es->w, es->h);
|
e_popup_move_resize(es->popup, es->x, es->y, es->w, es->h);
|
||||||
evas_object_resize(es->o_base, es->w, es->h);
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
evas_object_move(es->o_event, es->zone->x + es->x, es->zone->y + es->y);
|
||||||
evas_object_move(es->o_base, es->zone->x + es->x, es->zone->y + es->y);
|
evas_object_move(es->o_base, es->zone->x + es->x, es->zone->y + es->y);
|
||||||
evas_object_resize(es->o_base, es->w, es->h);
|
|
||||||
}
|
}
|
||||||
|
evas_object_resize(es->o_event, es->w, es->h);
|
||||||
|
evas_object_resize(es->o_base, es->w, es->h);
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
@ -212,8 +224,11 @@ e_shelf_layer_set(E_Shelf *es, int layer)
|
||||||
if (es->popup)
|
if (es->popup)
|
||||||
e_popup_layer_set(es->popup, es->layer);
|
e_popup_layer_set(es->popup, es->layer);
|
||||||
else
|
else
|
||||||
|
{
|
||||||
|
evas_object_layer_set(es->o_event, es->layer);
|
||||||
evas_object_layer_set(es->o_base, es->layer);
|
evas_object_layer_set(es->o_base, es->layer);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
e_shelf_save(E_Shelf *es)
|
e_shelf_save(E_Shelf *es)
|
||||||
|
@ -279,6 +294,7 @@ _e_shelf_free(E_Shelf *es)
|
||||||
e_object_del(E_OBJECT(es->gadcon));
|
e_object_del(E_OBJECT(es->gadcon));
|
||||||
evas_stringshare_del(es->name);
|
evas_stringshare_del(es->name);
|
||||||
evas_stringshare_del(es->style);
|
evas_stringshare_del(es->style);
|
||||||
|
evas_object_del(es->o_event);
|
||||||
evas_object_del(es->o_base);
|
evas_object_del(es->o_base);
|
||||||
if (es->popup) e_object_del(E_OBJECT(es->popup));
|
if (es->popup) e_object_del(E_OBJECT(es->popup));
|
||||||
free(es);
|
free(es);
|
||||||
|
|
|
@ -19,6 +19,7 @@ struct _E_Shelf
|
||||||
E_Popup *popup; /* NULL if its within an existing canvas */
|
E_Popup *popup; /* NULL if its within an existing canvas */
|
||||||
E_Zone *zone;
|
E_Zone *zone;
|
||||||
Evas_Object *o_base;
|
Evas_Object *o_base;
|
||||||
|
Evas_Object *o_event;
|
||||||
Ecore_Evas *ee;
|
Ecore_Evas *ee;
|
||||||
Evas *evas;
|
Evas *evas;
|
||||||
E_Gadcon *gadcon;
|
E_Gadcon *gadcon;
|
||||||
|
|
Loading…
Reference in New Issue