@fix broken slider popup hide logic
setting a flag here made it impossible to have any kind of transition animation on the indicator and was a poor workaround for fixing a theme issue
This commit is contained in:
parent
d07c5c7927
commit
7fb6ea14c5
|
@ -317,14 +317,10 @@ _popup_hide(void *data,
|
|||
ELM_SLIDER_DATA_GET(data, sd);
|
||||
if (sd->popup)
|
||||
{
|
||||
if (!sd->popup_hiding)
|
||||
if (!(elm_widget_focus_get(data) && sd->always_popup_show))
|
||||
{
|
||||
if (!(elm_widget_focus_get(data) && sd->always_popup_show))
|
||||
{
|
||||
edje_object_signal_emit(sd->popup, "popup,hide", "elm"); // XXX: for compat
|
||||
edje_object_signal_emit(sd->popup, "elm,popup,hide", "elm");
|
||||
sd->popup_hiding = EINA_TRUE;
|
||||
}
|
||||
edje_object_signal_emit(sd->popup, "popup,hide", "elm"); // XXX: for compat
|
||||
edje_object_signal_emit(sd->popup, "elm,popup,hide", "elm");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -338,14 +334,8 @@ _popup_hide_done(void *data,
|
|||
ELM_SLIDER_DATA_GET(data, sd);
|
||||
if (sd->popup)
|
||||
{
|
||||
if (sd->popup_hiding)
|
||||
{
|
||||
if (!(elm_widget_focus_get(data) && sd->always_popup_show))
|
||||
{
|
||||
evas_object_hide(sd->popup);
|
||||
sd->popup_hiding = EINA_FALSE;
|
||||
}
|
||||
}
|
||||
if (!(elm_widget_focus_get(data) && sd->always_popup_show))
|
||||
evas_object_hide(sd->popup);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -41,7 +41,6 @@ struct _Elm_Slider_Smart_Data
|
|||
Eina_Bool indicator_show : 1;
|
||||
Eina_Bool spacer_down : 1;
|
||||
Eina_Bool frozen : 1;
|
||||
Eina_Bool popup_hiding : 1;
|
||||
Eina_Bool units_show : 1;
|
||||
Eina_Bool always_popup_show : 1; /*this flag is to set the visiblity of slider indicator
|
||||
* if this flag is set then the indicator always show
|
||||
|
|
Loading…
Reference in New Issue