add time config event rects to gadget popups list

attempt to preserve event propagation for sites in different environments
This commit is contained in:
Mike Blumenkrantz 2017-09-01 13:40:12 -04:00
parent 57593564c3
commit d46de408c7
3 changed files with 11 additions and 3 deletions

View File

@ -310,6 +310,7 @@ clock_del(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *e
{
advanced |= !!inst->cfg->advanced;
seconds |= !!inst->cfg->show_seconds;
if (inst->cfg->inst == inst) inst->cfg->inst = NULL;
}
free(inst);
if ((!advanced) && (!seconds)) return;
@ -366,6 +367,7 @@ static Evas_Object *
_clock_gadget_configure(Evas_Object *g)
{
Instance *inst = evas_object_data_get(g, "clock");
inst->cfg->inst = inst;
return config_clock(inst->cfg, e_comp_object_util_zone_get(g));
}

View File

@ -34,6 +34,7 @@ struct _Config
struct _Config_Item
{
int id;
Instance *inst;
struct {
int start, len; // 0->6 0 == sun, 6 == sat, number of days
} weekend;

View File

@ -147,7 +147,9 @@ _config_color_setup(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
elm_ctxpopup_hover_parent_set(ctx, e_comp->elm);
evas_object_layer_set(ctx, E_LAYER_MENU);
elm_object_style_set(ctx, "noblock");
e_comp_object_util_del_list_append(ctx, _config_autoclose_rect_add(ctx));
rect = _config_autoclose_rect_add(ctx);
evas_object_smart_callback_call(ci->inst->o_clock, "gadget_popup", rect);
e_comp_object_util_del_list_append(ctx, rect);
evas_object_smart_callback_add(ctx, "dismissed", _clock_color_dismissed, NULL);
elm_object_content_set(ctx, bx);
evas_pointer_canvas_xy_get(e_comp->evas, &x, &y);
@ -317,7 +319,8 @@ _config_weekend_end_populate(void *data, Evas_Object *obj, void *event_info EINA
static void
_config_timezone_setup(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
{
Evas_Object *hover, *gl;
Evas_Object *hover, *gl, *r;
Config_Item *ci = data;
hover = elm_hover_add(e_comp->elm);
evas_object_layer_set(hover, E_LAYER_MENU);
@ -335,7 +338,9 @@ _config_timezone_setup(void *data, Evas_Object *obj, void *event_info EINA_UNUSE
elm_object_part_content_set(hover, "middle", gl);
time_zoneinfo_scan(gl);
e_comp_object_util_del_list_append(gl, hover);
e_comp_object_util_del_list_append(gl, _config_autoclose_rect_add(gl));
r = _config_autoclose_rect_add(gl);
evas_object_smart_callback_call(ci->inst->o_clock, "gadget_popup", r);
e_comp_object_util_del_list_append(gl, r);
evas_object_show(hover);
}