media: raise media control above selection event obj

Fixes T1454
This commit is contained in:
Wonguk Jeong 2014-08-18 17:56:58 +02:00
parent 4fe0c07254
commit 23ee76e572
3 changed files with 16 additions and 0 deletions

View File

@ -1347,3 +1347,11 @@ media_src_type_get(const char *src)
else if (_is_fmt(src, extn_mov)) type = TYPE_MOV;
return type;
}
Evas_Object *
media_control_get(Evas_Object *obj)
{
Media *sd = evas_object_smart_data_get(obj);
if (!sd) return NULL;
return sd->o_ctrl;
}

View File

@ -31,5 +31,6 @@ void media_volume_set(Evas_Object *obj, double vol);
void media_stop(Evas_Object *obj);
const char *media_get(const Evas_Object *obj);
int media_src_type_get(const char *src);
Evas_Object *media_control_get(Evas_Object *obj);
#endif

View File

@ -1268,6 +1268,7 @@ _block_media_activate(Evas_Object *obj, Termblock *blk)
Termio *sd = evas_object_smart_data_get(obj);
int type = 0;
int media = MEDIA_STRETCH;
Evas_Object *mctrl;
EINA_SAFETY_ON_NULL_RETURN(sd);
if (blk->scale_stretch) media = MEDIA_STRETCH;
@ -1283,6 +1284,12 @@ _block_media_activate(Evas_Object *obj, Termblock *blk)
(blk->obj, EVAS_CALLBACK_DEL, _smart_media_del, blk);
blk->type = type;
evas_object_smart_member_add(blk->obj, obj);
mctrl = media_control_get(blk->obj);
if (mctrl)
{
evas_object_smart_member_add(mctrl, obj);
evas_object_stack_above(mctrl, sd->event);
}
evas_object_stack_above(blk->obj, sd->grid.obj);
evas_object_show(blk->obj);
evas_object_data_set(blk->obj, "blk", blk);