forked from enlightenment/efl
multibuttonentry: Fix expand state changed callback called many times.
Summary: The expand state changed callback has been called when layout property changed and other reason. Even expand state is not changed. So we need to check the current view state to call expand changed callback. (We can't prevent calling the _shrink_mode_set() function. It needs to call the re-arrange internal items.) Test Plan: elemenatay_test - multibuttonentry. Check the shrink, expand state. Reviewers: jpeg, cedric, woohyun Reviewed By: jpeg Subscribers: cedric, jpeg Differential Revision: https://phab.enlightenment.org/D4970
This commit is contained in:
parent
08f04b1496
commit
3805544a32
|
@ -270,9 +270,12 @@ _shrink_mode_set(Evas_Object *obj,
|
|||
}
|
||||
}
|
||||
|
||||
sd->view_state = MULTIBUTTONENTRY_VIEW_SHRINK;
|
||||
efl_event_callback_legacy_call
|
||||
(obj, ELM_MULTIBUTTONENTRY_EVENT_EXPAND_STATE_CHANGED, (void *)1);
|
||||
if (sd->view_state != MULTIBUTTONENTRY_VIEW_SHRINK)
|
||||
{
|
||||
sd->view_state = MULTIBUTTONENTRY_VIEW_SHRINK;
|
||||
efl_event_callback_legacy_call
|
||||
(obj, ELM_MULTIBUTTONENTRY_EVENT_EXPAND_STATE_CHANGED, (void *)1);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -300,9 +303,12 @@ _shrink_mode_set(Evas_Object *obj,
|
|||
item->visible = EINA_TRUE;
|
||||
}
|
||||
|
||||
sd->view_state = MULTIBUTTONENTRY_VIEW_NONE;
|
||||
efl_event_callback_legacy_call
|
||||
(obj, ELM_MULTIBUTTONENTRY_EVENT_EXPAND_STATE_CHANGED, (void *)(uintptr_t)sd->shrink);
|
||||
if (sd->view_state == MULTIBUTTONENTRY_VIEW_SHRINK)
|
||||
{
|
||||
sd->view_state = MULTIBUTTONENTRY_VIEW_NONE;
|
||||
efl_event_callback_legacy_call
|
||||
(obj, ELM_MULTIBUTTONENTRY_EVENT_EXPAND_STATE_CHANGED, (void *)(uintptr_t)sd->shrink);
|
||||
}
|
||||
}
|
||||
|
||||
if (sd->view_state == MULTIBUTTONENTRY_VIEW_SHRINK)
|
||||
|
|
Loading…
Reference in New Issue