ctxpopup should not blindly show arrows when they are not wanted by the theme

@fix
This commit is contained in:
zmike 2014-04-28 11:00:54 -04:00
parent e585ffb4d7
commit 5757574678
1 changed files with 22 additions and 12 deletions

View File

@ -392,10 +392,13 @@ _arrow_update(Evas_Object *obj,
{
case ELM_CTXPOPUP_DIRECTION_RIGHT:
edje_object_signal_emit(sd->arrow, "elm,state,left", "elm");
edje_object_part_swallow
(wd->resize_obj,
if (!edje_object_part_swallow(wd->resize_obj,
(elm_widget_mirrored_get(obj) ? "elm.swallow.arrow_right" :
"elm.swallow.arrow_left"), sd->arrow);
"elm.swallow.arrow_left"), sd->arrow))
{
evas_object_hide(sd->arrow);
break;
}
if (base_size.h > 0)
{
@ -415,10 +418,13 @@ _arrow_update(Evas_Object *obj,
case ELM_CTXPOPUP_DIRECTION_LEFT:
edje_object_signal_emit(sd->arrow, "elm,state,right", "elm");
edje_object_part_swallow
(wd->resize_obj,
if (!edje_object_part_swallow(wd->resize_obj,
(elm_widget_mirrored_get(obj) ? "elm.swallow.arrow_left" :
"elm.swallow.arrow_right"), sd->arrow);
"elm.swallow.arrow_right"), sd->arrow))
{
evas_object_hide(sd->arrow);
break;
}
if (base_size.h > 0)
{
@ -438,9 +444,11 @@ _arrow_update(Evas_Object *obj,
case ELM_CTXPOPUP_DIRECTION_DOWN:
edje_object_signal_emit(sd->arrow, "elm,state,top", "elm");
edje_object_part_swallow
(wd->resize_obj, "elm.swallow.arrow_up",
sd->arrow);
if (!edje_object_part_swallow(wd->resize_obj, "elm.swallow.arrow_up", sd->arrow))
{
evas_object_hide(sd->arrow);
break;
}
if (base_size.w > 0)
{
@ -459,9 +467,11 @@ _arrow_update(Evas_Object *obj,
case ELM_CTXPOPUP_DIRECTION_UP:
edje_object_signal_emit(sd->arrow, "elm,state,bottom", "elm");
edje_object_part_swallow
(wd->resize_obj, "elm.swallow.arrow_down",
sd->arrow);
if (!edje_object_part_swallow(wd->resize_obj, "elm.swallow.arrow_down", sd->arrow))
{
evas_object_hide(sd->arrow);
break;
}
if (base_size.w > 0)
{