Merge branch 'terminology-1.5'

This commit is contained in:
Boris Faure 2019-09-29 13:56:16 +02:00
commit 9f156eb948
1 changed files with 26 additions and 20 deletions

View File

@ -86,6 +86,7 @@ _mouse_up_cb(void *data,
Evas_Event_Mouse_Up *ev = event;
Sel *sd = data;
Evas_Coord dx, dy;
Evas_Coord finger_size;
EINA_SAFETY_ON_NULL_RETURN(sd);
@ -96,8 +97,9 @@ _mouse_up_cb(void *data,
sd->down.down = EINA_FALSE;
dx = abs(ev->canvas.x - sd->down.x);
dy = abs(ev->canvas.y - sd->down.y);
if ((dx <= elm_config_finger_size_get()) &&
(dy <= elm_config_finger_size_get()))
finger_size = elm_config_finger_size_get();
if ((dx <= finger_size) &&
(dy <= finger_size))
{
Eina_List *l;
Entry *en;
@ -110,7 +112,7 @@ _mouse_up_cb(void *data,
evas_object_geometry_get(en->bg, &ox, &oy, &ow, &oh);
if (ELM_RECTS_INTERSECT(ox, oy, ow, oh, x, y, 1, 1))
{
sel_entry_selected_set(data, en->obj, EINA_FALSE);
sel_entry_selected_set(sd->self, en->obj, EINA_FALSE);
sd->select_me = EINA_TRUE;
sd->exit_me = EINA_FALSE;
if (sd->autozoom_timeout)
@ -792,33 +794,37 @@ sel_entry_selected_set(Evas_Object *obj, Evas_Object *entry, Eina_Bool keep_befo
config = sd->config;
if (!config) return;
/* Unselect previous selected item */
EINA_LIST_FOREACH(sd->items, l, en)
{
if ( (en->obj != entry) && (en->selected) )
{
if ((sd->w > 0) && (sd->h > 0))
edje_object_signal_emit(en->bg, "unselected", "terminology");
else
{
en->was_selected = EINA_TRUE;
sd->pending_sel = EINA_TRUE;
}
en->selected = EINA_FALSE;
sd->select_me = EINA_FALSE;
sd->exit_me = EINA_FALSE;
}
if (!keep_before) en->selected_before = EINA_FALSE;
}
/* Select new item */
EINA_LIST_FOREACH(sd->items, l, en)
{
if (en->obj == entry)
{
en->was_selected = EINA_FALSE;
en->selected = EINA_TRUE;
if ((sd->w > 0) && (sd->h > 0))
edje_object_signal_emit(en->bg, "selected", "terminology");
else
sd->pending_sel = EINA_TRUE;
evas_object_stack_below(en->bg, sd->o_event);
en->was_selected = EINA_FALSE;
en->selected = EINA_TRUE;
}
else
{
if (en->selected)
{
if ((sd->w > 0) && (sd->h > 0))
edje_object_signal_emit(en->bg, "unselected", "terminology");
else
{
en->was_selected = EINA_TRUE;
sd->pending_sel = EINA_TRUE;
}
en->selected = EINA_FALSE;
}
}
if (!keep_before) en->selected_before = EINA_FALSE;
}
sd->use_px = EINA_FALSE;
_transit(sd, config->tab_zoom);