forked from enlightenment/efl
elementary/label - removed workaround. now it's working slide reset every go is called.
SVN revision: 82259
This commit is contained in:
parent
f33321a0ca
commit
2e70ef8124
|
@ -69,7 +69,9 @@ _label_slide_change(Evas_Object *obj)
|
||||||
ELM_LABEL_DATA_GET(obj, sd);
|
ELM_LABEL_DATA_GET(obj, sd);
|
||||||
Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
|
Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
|
||||||
|
|
||||||
// doesn't support multiline slide effect
|
edje_object_signal_emit(wd->resize_obj, "elm,state,slide,stop", "elm");
|
||||||
|
|
||||||
|
//doesn't support multiline slide effect
|
||||||
if (sd->linewrap)
|
if (sd->linewrap)
|
||||||
{
|
{
|
||||||
sd->slide_mode = ELM_LABEL_SLIDE_MODE_NONE;
|
sd->slide_mode = ELM_LABEL_SLIDE_MODE_NONE;
|
||||||
|
@ -77,21 +79,21 @@ _label_slide_change(Evas_Object *obj)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//stop if the text is none.
|
||||||
plaintxt = _elm_util_mkup_to_text
|
plaintxt = _elm_util_mkup_to_text
|
||||||
(edje_object_part_text_get
|
(edje_object_part_text_get(wd->resize_obj, "elm.text"));
|
||||||
(wd->resize_obj, "elm.text"));
|
if (plaintxt)
|
||||||
if (plaintxt != NULL)
|
|
||||||
{
|
{
|
||||||
plainlen = strlen(plaintxt);
|
plainlen = strlen(plaintxt);
|
||||||
free(plaintxt);
|
free(plaintxt);
|
||||||
}
|
}
|
||||||
// too short to slide label
|
|
||||||
if (plainlen < 1)
|
if (plainlen < 1)
|
||||||
{
|
{
|
||||||
sd->slide_mode = ELM_LABEL_SLIDE_MODE_NONE;
|
sd->slide_mode = ELM_LABEL_SLIDE_MODE_NONE;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//has slide effect.
|
||||||
if (sd->slide_mode != ELM_LABEL_SLIDE_MODE_NONE)
|
if (sd->slide_mode != ELM_LABEL_SLIDE_MODE_NONE)
|
||||||
{
|
{
|
||||||
//slide only if the slide area is smaller than text width size.
|
//slide only if the slide area is smaller than text width size.
|
||||||
|
@ -127,13 +129,11 @@ _label_slide_change(Evas_Object *obj)
|
||||||
|
|
||||||
edje_object_message_send
|
edje_object_message_send
|
||||||
(wd->resize_obj, EDJE_MESSAGE_FLOAT_SET, 0, msg);
|
(wd->resize_obj, EDJE_MESSAGE_FLOAT_SET, 0, msg);
|
||||||
edje_object_signal_emit
|
edje_object_signal_emit(wd->resize_obj, "elm,state,slide,start", "elm");
|
||||||
(wd->resize_obj, "elm,state,slide,start", "elm");
|
|
||||||
}
|
}
|
||||||
|
//no slide effect.
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
edje_object_signal_emit
|
|
||||||
(wd->resize_obj, "elm,state,slide,stop", "elm");
|
|
||||||
if (sd->slide_ellipsis)
|
if (sd->slide_ellipsis)
|
||||||
{
|
{
|
||||||
sd->slide_ellipsis = EINA_FALSE;
|
sd->slide_ellipsis = EINA_FALSE;
|
||||||
|
@ -667,12 +667,6 @@ elm_label_slide_go(Evas_Object *obj)
|
||||||
static void
|
static void
|
||||||
_slide_go(Eo *obj, void *_pd __UNUSED__, va_list *list __UNUSED__)
|
_slide_go(Eo *obj, void *_pd __UNUSED__, va_list *list __UNUSED__)
|
||||||
{
|
{
|
||||||
Elm_Label_Smart_Data *sd = _pd;
|
|
||||||
//FIXME: work around code. somthing need to be reset effect here.
|
|
||||||
Elm_Label_Slide_Mode mode = sd->slide_mode;
|
|
||||||
sd->slide_mode = ELM_LABEL_SLIDE_MODE_NONE;
|
|
||||||
_label_slide_change(obj);
|
|
||||||
sd->slide_mode = mode;
|
|
||||||
_label_slide_change(obj);
|
_label_slide_change(obj);
|
||||||
elm_layout_sizing_eval(obj);
|
elm_layout_sizing_eval(obj);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue