forked from enlightenment/enlightenment
mixer - emixer - add padding around the list items to space things out
a bit more. use frames with pad_medium style
This commit is contained in:
parent
701ac8583c
commit
61edb7bd8c
|
@ -45,8 +45,8 @@ _cb_sink_port_change(void *data,
|
||||||
void *event_info EINA_UNUSED)
|
void *event_info EINA_UNUSED)
|
||||||
{
|
{
|
||||||
Emix_Port *port = data;
|
Emix_Port *port = data;
|
||||||
Evas_Object *bxv = evas_object_data_get(obj, "parent");
|
Evas_Object *fr = evas_object_data_get(obj, "parent");
|
||||||
Emix_Sink *sink = evas_object_data_get(bxv, "sink");
|
Emix_Sink *sink = evas_object_data_get(fr, "sink");
|
||||||
elm_object_text_set(obj, port->description);
|
elm_object_text_set(obj, port->description);
|
||||||
emix_sink_port_set(sink, port);
|
emix_sink_port_set(sink, port);
|
||||||
}
|
}
|
||||||
|
@ -56,8 +56,8 @@ _cb_sink_volume_change(void *data,
|
||||||
Evas_Object *obj,
|
Evas_Object *obj,
|
||||||
void *event_info EINA_UNUSED)
|
void *event_info EINA_UNUSED)
|
||||||
{
|
{
|
||||||
Evas_Object *bxv = data;
|
Evas_Object *fr = data;
|
||||||
Emix_Sink *sink = evas_object_data_get(bxv, "sink");
|
Emix_Sink *sink = evas_object_data_get(fr, "sink");
|
||||||
double vol = elm_slider_value_get(obj);
|
double vol = elm_slider_value_get(obj);
|
||||||
VOLSET(vol, sink->volume, sink, emix_sink_volume_set);
|
VOLSET(vol, sink->volume, sink, emix_sink_volume_set);
|
||||||
elm_slider_value_set(obj, vol);
|
elm_slider_value_set(obj, vol);
|
||||||
|
@ -68,8 +68,8 @@ _cb_sink_volume_channel_change(void *data,
|
||||||
Evas_Object *obj,
|
Evas_Object *obj,
|
||||||
void *event_info EINA_UNUSED)
|
void *event_info EINA_UNUSED)
|
||||||
{
|
{
|
||||||
Evas_Object *bxv = data;
|
Evas_Object *fr = data;
|
||||||
Emix_Sink *sink = evas_object_data_get(bxv, "sink");
|
Emix_Sink *sink = evas_object_data_get(fr, "sink");
|
||||||
double vol = elm_slider_value_get(obj);
|
double vol = elm_slider_value_get(obj);
|
||||||
sink->volume.volumes[(uintptr_t)evas_object_data_get(obj, "channel")] = vol;
|
sink->volume.volumes[(uintptr_t)evas_object_data_get(obj, "channel")] = vol;
|
||||||
elm_slider_value_set(obj, vol);
|
elm_slider_value_set(obj, vol);
|
||||||
|
@ -82,16 +82,16 @@ _cb_sink_mute_change(void *data,
|
||||||
Evas_Object *obj,
|
Evas_Object *obj,
|
||||||
void *event_info EINA_UNUSED)
|
void *event_info EINA_UNUSED)
|
||||||
{
|
{
|
||||||
Evas_Object *bxv = data;
|
Evas_Object *fr = data;
|
||||||
Emix_Sink *sink = evas_object_data_get(bxv, "sink");
|
Emix_Sink *sink = evas_object_data_get(fr, "sink");
|
||||||
Evas_Object *lock = evas_object_data_get(bxv, "lock");
|
Evas_Object *lock = evas_object_data_get(fr, "lock");
|
||||||
Eina_Bool mute = elm_check_state_get(obj);
|
Eina_Bool mute = elm_check_state_get(obj);
|
||||||
Eina_List *l;
|
Eina_List *l;
|
||||||
Evas_Object *o;
|
Evas_Object *o;
|
||||||
|
|
||||||
if (lock && !elm_check_state_get(lock))
|
if (lock && !elm_check_state_get(lock))
|
||||||
{
|
{
|
||||||
EINA_LIST_FOREACH(evas_object_data_get(bxv, "volumes"), l, o)
|
EINA_LIST_FOREACH(evas_object_data_get(fr, "volumes"), l, o)
|
||||||
{
|
{
|
||||||
elm_object_disabled_set(o, mute);
|
elm_object_disabled_set(o, mute);
|
||||||
o = evas_object_data_get(o, "lb");
|
o = evas_object_data_get(o, "lb");
|
||||||
|
@ -100,7 +100,7 @@ _cb_sink_mute_change(void *data,
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
o = evas_object_data_get(bxv, "volume");
|
o = evas_object_data_get(fr, "volume");
|
||||||
elm_object_disabled_set(o, mute);
|
elm_object_disabled_set(o, mute);
|
||||||
}
|
}
|
||||||
emix_sink_mute_set(sink, mute);
|
emix_sink_mute_set(sink, mute);
|
||||||
|
@ -111,24 +111,24 @@ _cb_sink_lock_change(void *data,
|
||||||
Evas_Object *obj,
|
Evas_Object *obj,
|
||||||
void *event_info EINA_UNUSED)
|
void *event_info EINA_UNUSED)
|
||||||
{
|
{
|
||||||
Evas_Object *bxv = data;
|
Evas_Object *fr = data;
|
||||||
Emix_Sink *sink = evas_object_data_get(bxv, "sink");
|
Emix_Sink *sink = evas_object_data_get(fr, "sink");
|
||||||
Evas_Object *bx = evas_object_data_get(bxv, "volume_bx");
|
Evas_Object *bx = evas_object_data_get(fr, "volume_bx");
|
||||||
Eina_Bool lock = elm_check_state_get(obj);
|
Eina_Bool lock = elm_check_state_get(obj);
|
||||||
if (lock)
|
if (lock)
|
||||||
VOLSET(sink->volume.volumes[0], sink->volume,
|
VOLSET(sink->volume.volumes[0], sink->volume,
|
||||||
sink, emix_sink_volume_set);
|
sink, emix_sink_volume_set);
|
||||||
_emix_sink_volume_fill(sink, bxv, bx, lock);
|
_emix_sink_volume_fill(sink, fr, bx, lock);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_emix_sink_volume_fill(Emix_Sink *sink, Evas_Object *bxv, Evas_Object *bx, Eina_Bool locked)
|
_emix_sink_volume_fill(Emix_Sink *sink, Evas_Object *fr, Evas_Object *bx, Eina_Bool locked)
|
||||||
{
|
{
|
||||||
Evas_Object *bxhv, *sl, *ck, *lb;
|
Evas_Object *bxhv, *sl, *ck, *lb;
|
||||||
Eina_List *sls = NULL;
|
Eina_List *sls = NULL;
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
|
|
||||||
eina_list_free(evas_object_data_get(bxv, "volumes"));
|
eina_list_free(evas_object_data_get(fr, "volumes"));
|
||||||
elm_box_clear(bx);
|
elm_box_clear(bx);
|
||||||
|
|
||||||
bxhv = elm_box_add(bx);
|
bxhv = elm_box_add(bx);
|
||||||
|
@ -140,7 +140,7 @@ _emix_sink_volume_fill(Emix_Sink *sink, Evas_Object *bxv, Evas_Object *bx, Eina_
|
||||||
if (locked)
|
if (locked)
|
||||||
{
|
{
|
||||||
sl = elm_slider_add(bx);
|
sl = elm_slider_add(bx);
|
||||||
evas_object_data_set(bxv, "volume", sl);
|
evas_object_data_set(fr, "volume", sl);
|
||||||
elm_slider_min_max_set(sl, 0.0, emix_max_volume_get());
|
elm_slider_min_max_set(sl, 0.0, emix_max_volume_get());
|
||||||
elm_slider_span_size_set(sl, emix_max_volume_get() * elm_config_scale_get());
|
elm_slider_span_size_set(sl, emix_max_volume_get() * elm_config_scale_get());
|
||||||
elm_slider_unit_format_set(sl, "%1.0f");
|
elm_slider_unit_format_set(sl, "%1.0f");
|
||||||
|
@ -150,7 +150,7 @@ _emix_sink_volume_fill(Emix_Sink *sink, Evas_Object *bxv, Evas_Object *bx, Eina_
|
||||||
elm_slider_value_set(sl, sink->volume.volumes[0]);
|
elm_slider_value_set(sl, sink->volume.volumes[0]);
|
||||||
elm_box_pack_end(bxhv, sl);
|
elm_box_pack_end(bxhv, sl);
|
||||||
evas_object_show(sl);
|
evas_object_show(sl);
|
||||||
evas_object_smart_callback_add(sl, "changed", _cb_sink_volume_change, bxv);
|
evas_object_smart_callback_add(sl, "changed", _cb_sink_volume_change, fr);
|
||||||
elm_object_disabled_set(sl, sink->mute);
|
elm_object_disabled_set(sl, sink->mute);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -184,34 +184,34 @@ _emix_sink_volume_fill(Emix_Sink *sink, Evas_Object *bxv, Evas_Object *bx, Eina_
|
||||||
elm_slider_value_set(sl, sink->volume.volumes[i]);
|
elm_slider_value_set(sl, sink->volume.volumes[i]);
|
||||||
elm_box_pack_end(bxhv, sl);
|
elm_box_pack_end(bxhv, sl);
|
||||||
evas_object_show(sl);
|
evas_object_show(sl);
|
||||||
evas_object_smart_callback_add(sl, "changed", _cb_sink_volume_channel_change, bxv);
|
evas_object_smart_callback_add(sl, "changed", _cb_sink_volume_channel_change, fr);
|
||||||
elm_object_disabled_set(sl, sink->mute);
|
elm_object_disabled_set(sl, sink->mute);
|
||||||
sls = eina_list_append(sls, sl);
|
sls = eina_list_append(sls, sl);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
evas_object_data_set(bxv, "volumes", sls);
|
evas_object_data_set(fr, "volumes", sls);
|
||||||
|
|
||||||
bxhv = elm_box_add(bx);
|
bxhv = elm_box_add(bx);
|
||||||
elm_box_pack_end(bx, bxhv);
|
elm_box_pack_end(bx, bxhv);
|
||||||
evas_object_show(bxhv);
|
evas_object_show(bxhv);
|
||||||
|
|
||||||
ck = elm_check_add(bx);
|
ck = elm_check_add(bx);
|
||||||
evas_object_data_set(bxv, "mute", ck);
|
evas_object_data_set(fr, "mute", ck);
|
||||||
elm_object_text_set(ck, "Mute");
|
elm_object_text_set(ck, "Mute");
|
||||||
elm_check_state_set(ck, sink->mute);
|
elm_check_state_set(ck, sink->mute);
|
||||||
elm_box_pack_end(bxhv, ck);
|
elm_box_pack_end(bxhv, ck);
|
||||||
evas_object_show(ck);
|
evas_object_show(ck);
|
||||||
evas_object_smart_callback_add(ck, "changed", _cb_sink_mute_change, bxv);
|
evas_object_smart_callback_add(ck, "changed", _cb_sink_mute_change, fr);
|
||||||
|
|
||||||
if (sink->volume.channel_count > 1)
|
if (sink->volume.channel_count > 1)
|
||||||
{
|
{
|
||||||
ck = elm_check_add(bx);
|
ck = elm_check_add(bx);
|
||||||
elm_object_text_set(ck, "Lock");
|
elm_object_text_set(ck, "Lock");
|
||||||
evas_object_data_set(bxv, "lock", ck);
|
evas_object_data_set(fr, "lock", ck);
|
||||||
elm_check_state_set(ck, locked);
|
elm_check_state_set(ck, locked);
|
||||||
elm_box_pack_end(bxhv, ck);
|
elm_box_pack_end(bxhv, ck);
|
||||||
evas_object_show(ck);
|
evas_object_show(ck);
|
||||||
evas_object_smart_callback_add(ck, "changed", _cb_sink_lock_change, bxv);
|
evas_object_smart_callback_add(ck, "changed", _cb_sink_lock_change, fr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -220,15 +220,20 @@ _emix_sink_volume_fill(Emix_Sink *sink, Evas_Object *bxv, Evas_Object *bx, Eina_
|
||||||
static void
|
static void
|
||||||
_emix_sink_add(Emix_Sink *sink)
|
_emix_sink_add(Emix_Sink *sink)
|
||||||
{
|
{
|
||||||
Evas_Object *bxv, *bx, *lb, *hv, *sep;
|
Evas_Object *bxv, *bx, *lb, *hv, *sep, *fr;
|
||||||
const Eina_List *l;
|
const Eina_List *l;
|
||||||
Emix_Port *port;
|
Emix_Port *port;
|
||||||
Eina_Bool locked = EINA_TRUE;
|
Eina_Bool locked = EINA_TRUE;
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
|
|
||||||
|
fr = elm_frame_add(win);
|
||||||
|
evas_object_size_hint_weight_set(fr, EVAS_HINT_EXPAND, 0.0);
|
||||||
|
evas_object_size_hint_align_set(fr, EVAS_HINT_FILL, 0.0);
|
||||||
|
elm_object_style_set(fr, "pad_medium");
|
||||||
|
sink_list = eina_list_append(sink_list, fr);
|
||||||
|
evas_object_data_set(fr, "sink", sink);
|
||||||
|
|
||||||
bxv = elm_box_add(win);
|
bxv = elm_box_add(win);
|
||||||
sink_list = eina_list_append(sink_list, bxv);
|
|
||||||
evas_object_data_set(bxv, "sink", sink);
|
|
||||||
evas_object_size_hint_weight_set(bxv, EVAS_HINT_EXPAND, 0.0);
|
evas_object_size_hint_weight_set(bxv, EVAS_HINT_EXPAND, 0.0);
|
||||||
evas_object_size_hint_align_set(bxv, EVAS_HINT_FILL, 0.0);
|
evas_object_size_hint_align_set(bxv, EVAS_HINT_FILL, 0.0);
|
||||||
|
|
||||||
|
@ -247,8 +252,8 @@ _emix_sink_add(Emix_Sink *sink)
|
||||||
evas_object_show(lb);
|
evas_object_show(lb);
|
||||||
|
|
||||||
hv = elm_hoversel_add(win);
|
hv = elm_hoversel_add(win);
|
||||||
evas_object_data_set(hv, "parent", bxv);
|
evas_object_data_set(hv, "parent", fr);
|
||||||
evas_object_data_set(bxv, "port", hv);
|
evas_object_data_set(fr, "port", hv);
|
||||||
elm_hoversel_hover_parent_set(hv, win);
|
elm_hoversel_hover_parent_set(hv, win);
|
||||||
EINA_LIST_FOREACH(sink->ports, l, port)
|
EINA_LIST_FOREACH(sink->ports, l, port)
|
||||||
{
|
{
|
||||||
|
@ -274,7 +279,7 @@ _emix_sink_add(Emix_Sink *sink)
|
||||||
}
|
}
|
||||||
|
|
||||||
bx = elm_box_add(bxv);
|
bx = elm_box_add(bxv);
|
||||||
evas_object_data_set(bxv, "volume_bx", bx);
|
evas_object_data_set(fr, "volume_bx", bx);
|
||||||
elm_box_horizontal_set(bx, EINA_TRUE);
|
elm_box_horizontal_set(bx, EINA_TRUE);
|
||||||
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, 0.0);
|
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, 0.0);
|
||||||
evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, 0.5);
|
evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, 0.5);
|
||||||
|
@ -282,30 +287,35 @@ _emix_sink_add(Emix_Sink *sink)
|
||||||
evas_object_show(bx);
|
evas_object_show(bx);
|
||||||
|
|
||||||
|
|
||||||
_emix_sink_volume_fill(sink, bxv, bx, locked);
|
_emix_sink_volume_fill(sink, fr, bx, locked);
|
||||||
|
|
||||||
|
elm_object_content_set(fr, bxv);
|
||||||
|
evas_object_show(bxv);
|
||||||
|
|
||||||
|
elm_box_pack_end(sink_box, fr);
|
||||||
|
evas_object_show(fr);
|
||||||
|
|
||||||
sep = elm_separator_add(win);
|
sep = elm_separator_add(win);
|
||||||
|
evas_object_data_set(fr, "extra", sep);
|
||||||
elm_separator_horizontal_set(sep, EINA_TRUE);
|
elm_separator_horizontal_set(sep, EINA_TRUE);
|
||||||
evas_object_size_hint_weight_set(sep, EVAS_HINT_EXPAND, 0.0);
|
evas_object_size_hint_weight_set(sep, EVAS_HINT_EXPAND, 0.0);
|
||||||
evas_object_size_hint_align_set(sep, EVAS_HINT_FILL, 0.0);
|
evas_object_size_hint_align_set(sep, EVAS_HINT_FILL, 0.0);
|
||||||
elm_box_pack_end(bxv, sep);
|
elm_box_pack_end(sink_box, sep);
|
||||||
evas_object_show(sep);
|
evas_object_show(sep);
|
||||||
|
|
||||||
elm_box_pack_end(sink_box, bxv);
|
|
||||||
evas_object_show(bxv);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_emix_sink_del(Emix_Sink *sink)
|
_emix_sink_del(Emix_Sink *sink)
|
||||||
{
|
{
|
||||||
Eina_List *l;
|
Eina_List *l;
|
||||||
Evas_Object *bxv;
|
Evas_Object *fr;
|
||||||
EINA_LIST_FOREACH(sink_list, l, bxv)
|
EINA_LIST_FOREACH(sink_list, l, fr)
|
||||||
{
|
{
|
||||||
if (evas_object_data_get(bxv, "sink") == sink)
|
if (evas_object_data_get(fr, "sink") == sink)
|
||||||
{
|
{
|
||||||
sink_list = eina_list_remove_list(sink_list, l);
|
sink_list = eina_list_remove_list(sink_list, l);
|
||||||
evas_object_del(bxv);
|
evas_object_del(evas_object_data_get(fr, "extra"));
|
||||||
|
evas_object_del(fr);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -316,15 +326,15 @@ _emix_sink_change(Emix_Sink *sink)
|
||||||
{
|
{
|
||||||
const Eina_List *l;
|
const Eina_List *l;
|
||||||
Eina_List *ll;
|
Eina_List *ll;
|
||||||
Evas_Object *bxv, *hv, *ck, *sl, *lb;
|
Evas_Object *fr, *hv, *ck, *sl, *lb;
|
||||||
Emix_Port *port;
|
Emix_Port *port;
|
||||||
|
|
||||||
EINA_LIST_FOREACH(sink_list, l, bxv)
|
EINA_LIST_FOREACH(sink_list, l, fr)
|
||||||
{
|
{
|
||||||
if (evas_object_data_get(bxv, "sink") == sink) break;
|
if (evas_object_data_get(fr, "sink") == sink) break;
|
||||||
}
|
}
|
||||||
if (!l) return;
|
if (!l) return;
|
||||||
hv = evas_object_data_get(bxv, "port");
|
hv = evas_object_data_get(fr, "port");
|
||||||
elm_hoversel_clear(hv);
|
elm_hoversel_clear(hv);
|
||||||
EINA_LIST_FOREACH(sink->ports, l, port)
|
EINA_LIST_FOREACH(sink->ports, l, port)
|
||||||
{
|
{
|
||||||
|
@ -333,13 +343,13 @@ _emix_sink_change(Emix_Sink *sink)
|
||||||
_cb_sink_port_change, port);
|
_cb_sink_port_change, port);
|
||||||
if (port->active) elm_object_text_set(hv, port->description);
|
if (port->active) elm_object_text_set(hv, port->description);
|
||||||
}
|
}
|
||||||
ck = evas_object_data_get(bxv, "lock");
|
ck = evas_object_data_get(fr, "lock");
|
||||||
|
|
||||||
if (ck && !elm_check_state_get(ck))
|
if (ck && !elm_check_state_get(ck))
|
||||||
{
|
{
|
||||||
ck = evas_object_data_get(bxv, "mute");
|
ck = evas_object_data_get(fr, "mute");
|
||||||
elm_check_state_set(ck, sink->mute);
|
elm_check_state_set(ck, sink->mute);
|
||||||
EINA_LIST_FOREACH(evas_object_data_get(bxv, "volumes"), ll, sl)
|
EINA_LIST_FOREACH(evas_object_data_get(fr, "volumes"), ll, sl)
|
||||||
{
|
{
|
||||||
elm_slider_value_set(sl,
|
elm_slider_value_set(sl,
|
||||||
sink->volume.volumes[(uintptr_t)evas_object_data_get(sl, "channel")]);
|
sink->volume.volumes[(uintptr_t)evas_object_data_get(sl, "channel")]);
|
||||||
|
@ -350,10 +360,10 @@ _emix_sink_change(Emix_Sink *sink)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ck = evas_object_data_get(bxv, "mute");
|
ck = evas_object_data_get(fr, "mute");
|
||||||
elm_check_state_set(ck, sink->mute);
|
elm_check_state_set(ck, sink->mute);
|
||||||
|
|
||||||
sl = evas_object_data_get(bxv, "volume");
|
sl = evas_object_data_get(fr, "volume");
|
||||||
elm_slider_value_set(sl, sink->volume.volumes[0]);
|
elm_slider_value_set(sl, sink->volume.volumes[0]);
|
||||||
elm_object_disabled_set(sl, sink->mute);
|
elm_object_disabled_set(sl, sink->mute);
|
||||||
}
|
}
|
||||||
|
@ -361,7 +371,7 @@ _emix_sink_change(Emix_Sink *sink)
|
||||||
}
|
}
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
static void _emix_sink_input_volume_fill(Emix_Sink_Input *input, Evas_Object *bxv, Evas_Object *bx, Eina_Bool locked);
|
static void _emix_sink_input_volume_fill(Emix_Sink_Input *input, Evas_Object *fr, Evas_Object *bx, Eina_Bool locked);
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_cb_sink_input_port_change(void *data,
|
_cb_sink_input_port_change(void *data,
|
||||||
|
@ -369,8 +379,8 @@ _cb_sink_input_port_change(void *data,
|
||||||
void *event_info EINA_UNUSED)
|
void *event_info EINA_UNUSED)
|
||||||
{
|
{
|
||||||
Emix_Sink *sink = data;
|
Emix_Sink *sink = data;
|
||||||
Evas_Object *bxv = evas_object_data_get(obj, "parent");
|
Evas_Object *fr = evas_object_data_get(obj, "parent");
|
||||||
Emix_Sink_Input *input = evas_object_data_get(bxv, "input");
|
Emix_Sink_Input *input = evas_object_data_get(fr, "input");
|
||||||
elm_object_text_set(obj, sink->name);
|
elm_object_text_set(obj, sink->name);
|
||||||
emix_sink_input_sink_change(input, sink);
|
emix_sink_input_sink_change(input, sink);
|
||||||
}
|
}
|
||||||
|
@ -380,8 +390,8 @@ _cb_sink_input_volume_change(void *data,
|
||||||
Evas_Object *obj,
|
Evas_Object *obj,
|
||||||
void *event_info EINA_UNUSED)
|
void *event_info EINA_UNUSED)
|
||||||
{
|
{
|
||||||
Evas_Object *bxv = data;
|
Evas_Object *fr = data;
|
||||||
Emix_Sink_Input *input = evas_object_data_get(bxv, "input");
|
Emix_Sink_Input *input = evas_object_data_get(fr, "input");
|
||||||
double vol = elm_slider_value_get(obj);
|
double vol = elm_slider_value_get(obj);
|
||||||
VOLSET(vol, input->volume, input, emix_sink_input_volume_set);
|
VOLSET(vol, input->volume, input, emix_sink_input_volume_set);
|
||||||
elm_slider_value_set(obj, vol);
|
elm_slider_value_set(obj, vol);
|
||||||
|
@ -392,8 +402,8 @@ _cb_sink_input_volume_channel_change(void *data,
|
||||||
Evas_Object *obj,
|
Evas_Object *obj,
|
||||||
void *event_info EINA_UNUSED)
|
void *event_info EINA_UNUSED)
|
||||||
{
|
{
|
||||||
Evas_Object *bxv = data;
|
Evas_Object *fr = data;
|
||||||
Emix_Sink_Input *input = evas_object_data_get(bxv, "input");
|
Emix_Sink_Input *input = evas_object_data_get(fr, "input");
|
||||||
double vol = elm_slider_value_get(obj);
|
double vol = elm_slider_value_get(obj);
|
||||||
input->volume.volumes[(uintptr_t)evas_object_data_get(obj, "channel")] = vol;
|
input->volume.volumes[(uintptr_t)evas_object_data_get(obj, "channel")] = vol;
|
||||||
elm_slider_value_set(obj, vol);
|
elm_slider_value_set(obj, vol);
|
||||||
|
@ -405,8 +415,8 @@ _cb_sink_input_volume_drag_stop(void *data,
|
||||||
Evas_Object *obj,
|
Evas_Object *obj,
|
||||||
void *event EINA_UNUSED)
|
void *event EINA_UNUSED)
|
||||||
{
|
{
|
||||||
Evas_Object *bxv = data;
|
Evas_Object *fr = data;
|
||||||
Emix_Sink_Input *input = evas_object_data_get(bxv, "input");
|
Emix_Sink_Input *input = evas_object_data_get(fr, "input");
|
||||||
int vol = input->volume.volumes[0];
|
int vol = input->volume.volumes[0];
|
||||||
elm_slider_value_set(obj, vol);
|
elm_slider_value_set(obj, vol);
|
||||||
}
|
}
|
||||||
|
@ -416,8 +426,8 @@ _cb_sink_input_volume_channel_drag_stop(void *data,
|
||||||
Evas_Object *obj,
|
Evas_Object *obj,
|
||||||
void *event EINA_UNUSED)
|
void *event EINA_UNUSED)
|
||||||
{
|
{
|
||||||
Evas_Object *bxv = data;
|
Evas_Object *fr = data;
|
||||||
Emix_Sink_Input *input = evas_object_data_get(bxv, "input");
|
Emix_Sink_Input *input = evas_object_data_get(fr, "input");
|
||||||
int vol = input->volume.volumes[(uintptr_t)evas_object_data_get(obj, "channel")];
|
int vol = input->volume.volumes[(uintptr_t)evas_object_data_get(obj, "channel")];
|
||||||
elm_slider_value_set(obj, vol);
|
elm_slider_value_set(obj, vol);
|
||||||
}
|
}
|
||||||
|
@ -427,17 +437,17 @@ _cb_sink_input_mute_change(void *data,
|
||||||
Evas_Object *obj,
|
Evas_Object *obj,
|
||||||
void *event_info EINA_UNUSED)
|
void *event_info EINA_UNUSED)
|
||||||
{
|
{
|
||||||
Evas_Object *bxv = data;
|
Evas_Object *fr = data;
|
||||||
Emix_Sink_Input *input = evas_object_data_get(bxv, "input");
|
Emix_Sink_Input *input = evas_object_data_get(fr, "input");
|
||||||
Evas_Object *sl;
|
Evas_Object *sl;
|
||||||
Evas_Object *lock = evas_object_data_get(bxv, "lock");
|
Evas_Object *lock = evas_object_data_get(fr, "lock");
|
||||||
Eina_Bool mute = elm_check_state_get(obj);
|
Eina_Bool mute = elm_check_state_get(obj);
|
||||||
Evas_Object *lb;
|
Evas_Object *lb;
|
||||||
Eina_List *l;
|
Eina_List *l;
|
||||||
|
|
||||||
if (lock && !elm_check_state_get(lock))
|
if (lock && !elm_check_state_get(lock))
|
||||||
{
|
{
|
||||||
EINA_LIST_FOREACH(evas_object_data_get(bxv, "volumes"), l, sl)
|
EINA_LIST_FOREACH(evas_object_data_get(fr, "volumes"), l, sl)
|
||||||
{
|
{
|
||||||
elm_object_disabled_set(sl, mute);
|
elm_object_disabled_set(sl, mute);
|
||||||
lb = evas_object_data_get(sl, "lb");
|
lb = evas_object_data_get(sl, "lb");
|
||||||
|
@ -446,7 +456,7 @@ _cb_sink_input_mute_change(void *data,
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sl = evas_object_data_get(bxv, "volume");
|
sl = evas_object_data_get(fr, "volume");
|
||||||
elm_object_disabled_set(sl, mute);
|
elm_object_disabled_set(sl, mute);
|
||||||
}
|
}
|
||||||
emix_sink_input_mute_set(input, mute);
|
emix_sink_input_mute_set(input, mute);
|
||||||
|
@ -457,24 +467,24 @@ _cb_sink_input_lock_change(void *data,
|
||||||
Evas_Object *obj,
|
Evas_Object *obj,
|
||||||
void *event_info EINA_UNUSED)
|
void *event_info EINA_UNUSED)
|
||||||
{
|
{
|
||||||
Evas_Object *bxv = data;
|
Evas_Object *fr = data;
|
||||||
Emix_Sink_Input *input = evas_object_data_get(bxv, "input");
|
Emix_Sink_Input *input = evas_object_data_get(fr, "input");
|
||||||
Evas_Object *bx = evas_object_data_get(bxv, "volume_bx");
|
Evas_Object *bx = evas_object_data_get(fr, "volume_bx");
|
||||||
Eina_Bool lock = elm_check_state_get(obj);
|
Eina_Bool lock = elm_check_state_get(obj);
|
||||||
if (lock)
|
if (lock)
|
||||||
VOLSET(input->volume.volumes[0], input->volume,
|
VOLSET(input->volume.volumes[0], input->volume,
|
||||||
input, emix_sink_input_volume_set);
|
input, emix_sink_input_volume_set);
|
||||||
_emix_sink_input_volume_fill(input, bxv, bx, lock);
|
_emix_sink_input_volume_fill(input, fr, bx, lock);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_emix_sink_input_volume_fill(Emix_Sink_Input *input, Evas_Object *bxv, Evas_Object *bx, Eina_Bool locked)
|
_emix_sink_input_volume_fill(Emix_Sink_Input *input, Evas_Object *fr, Evas_Object *bx, Eina_Bool locked)
|
||||||
{
|
{
|
||||||
Evas_Object *bxhv, *lb, *sl = NULL, *ck;
|
Evas_Object *bxhv, *lb, *sl = NULL, *ck;
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
Eina_List *sls = NULL, *l;
|
Eina_List *sls = NULL, *l;
|
||||||
|
|
||||||
eina_list_free(evas_object_data_get(bxv, "volumes"));
|
eina_list_free(evas_object_data_get(fr, "volumes"));
|
||||||
elm_box_clear(bx);
|
elm_box_clear(bx);
|
||||||
|
|
||||||
bxhv = elm_box_add(bx);
|
bxhv = elm_box_add(bx);
|
||||||
|
@ -486,7 +496,7 @@ _emix_sink_input_volume_fill(Emix_Sink_Input *input, Evas_Object *bxv, Evas_Obje
|
||||||
if (locked)
|
if (locked)
|
||||||
{
|
{
|
||||||
sl = elm_slider_add(bx);
|
sl = elm_slider_add(bx);
|
||||||
evas_object_data_set(bxv, "volume", sl);
|
evas_object_data_set(fr, "volume", sl);
|
||||||
elm_slider_min_max_set(sl, 0.0, emix_max_volume_get());
|
elm_slider_min_max_set(sl, 0.0, emix_max_volume_get());
|
||||||
elm_slider_span_size_set(sl, (emix_max_volume_get()) * elm_config_scale_get());
|
elm_slider_span_size_set(sl, (emix_max_volume_get()) * elm_config_scale_get());
|
||||||
elm_slider_unit_format_set(sl, "%1.0f");
|
elm_slider_unit_format_set(sl, "%1.0f");
|
||||||
|
@ -497,9 +507,9 @@ _emix_sink_input_volume_fill(Emix_Sink_Input *input, Evas_Object *bxv, Evas_Obje
|
||||||
elm_box_pack_end(bxhv, sl);
|
elm_box_pack_end(bxhv, sl);
|
||||||
evas_object_show(sl);
|
evas_object_show(sl);
|
||||||
evas_object_smart_callback_add(sl, "changed",
|
evas_object_smart_callback_add(sl, "changed",
|
||||||
_cb_sink_input_volume_change, bxv);
|
_cb_sink_input_volume_change, fr);
|
||||||
evas_object_smart_callback_add(sl, "slider,drag,stop",
|
evas_object_smart_callback_add(sl, "slider,drag,stop",
|
||||||
_cb_sink_input_volume_drag_stop, bxv);
|
_cb_sink_input_volume_drag_stop, fr);
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -534,22 +544,22 @@ _emix_sink_input_volume_fill(Emix_Sink_Input *input, Evas_Object *bxv, Evas_Obje
|
||||||
elm_box_pack_end(bxhv, sl);
|
elm_box_pack_end(bxhv, sl);
|
||||||
evas_object_show(sl);
|
evas_object_show(sl);
|
||||||
evas_object_smart_callback_add(sl, "changed",
|
evas_object_smart_callback_add(sl, "changed",
|
||||||
_cb_sink_input_volume_channel_change, bxv);
|
_cb_sink_input_volume_channel_change, fr);
|
||||||
evas_object_smart_callback_add(sl, "slider,drag,stop",
|
evas_object_smart_callback_add(sl, "slider,drag,stop",
|
||||||
_cb_sink_input_volume_channel_drag_stop, bxv);
|
_cb_sink_input_volume_channel_drag_stop, fr);
|
||||||
elm_object_disabled_set(sl, input->mute);
|
elm_object_disabled_set(sl, input->mute);
|
||||||
sls = eina_list_append(sls, sl);
|
sls = eina_list_append(sls, sl);
|
||||||
}
|
}
|
||||||
sl = NULL;
|
sl = NULL;
|
||||||
}
|
}
|
||||||
evas_object_data_set(bxv, "volumes", sls);
|
evas_object_data_set(fr, "volumes", sls);
|
||||||
|
|
||||||
bxhv = elm_box_add(bx);
|
bxhv = elm_box_add(bx);
|
||||||
elm_box_pack_end(bx, bxhv);
|
elm_box_pack_end(bx, bxhv);
|
||||||
evas_object_show(bxhv);
|
evas_object_show(bxhv);
|
||||||
|
|
||||||
ck = elm_check_add(bx);
|
ck = elm_check_add(bx);
|
||||||
evas_object_data_set(bxv, "mute", ck);
|
evas_object_data_set(fr, "mute", ck);
|
||||||
elm_object_text_set(ck, "Mute");
|
elm_object_text_set(ck, "Mute");
|
||||||
elm_check_state_set(ck, input->mute);
|
elm_check_state_set(ck, input->mute);
|
||||||
if (sl) elm_object_disabled_set(sl, input->mute);
|
if (sl) elm_object_disabled_set(sl, input->mute);
|
||||||
|
@ -563,18 +573,18 @@ _emix_sink_input_volume_fill(Emix_Sink_Input *input, Evas_Object *bxv, Evas_Obje
|
||||||
elm_box_pack_end(bxhv, ck);
|
elm_box_pack_end(bxhv, ck);
|
||||||
evas_object_show(ck);
|
evas_object_show(ck);
|
||||||
evas_object_smart_callback_add(ck, "changed",
|
evas_object_smart_callback_add(ck, "changed",
|
||||||
_cb_sink_input_mute_change, bxv);
|
_cb_sink_input_mute_change, fr);
|
||||||
|
|
||||||
if (input->volume.channel_count > 1)
|
if (input->volume.channel_count > 1)
|
||||||
{
|
{
|
||||||
ck = elm_check_add(bx);
|
ck = elm_check_add(bx);
|
||||||
evas_object_data_set(bxv, "lock", ck);
|
evas_object_data_set(fr, "lock", ck);
|
||||||
elm_object_text_set(ck, "Lock");
|
elm_object_text_set(ck, "Lock");
|
||||||
elm_check_state_set(ck, locked);
|
elm_check_state_set(ck, locked);
|
||||||
elm_box_pack_end(bxhv, ck);
|
elm_box_pack_end(bxhv, ck);
|
||||||
evas_object_show(ck);
|
evas_object_show(ck);
|
||||||
evas_object_smart_callback_add(ck, "changed",
|
evas_object_smart_callback_add(ck, "changed",
|
||||||
_cb_sink_input_lock_change, bxv);
|
_cb_sink_input_lock_change, fr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -582,15 +592,20 @@ _emix_sink_input_volume_fill(Emix_Sink_Input *input, Evas_Object *bxv, Evas_Obje
|
||||||
static void
|
static void
|
||||||
_emix_sink_input_add(Emix_Sink_Input *input)
|
_emix_sink_input_add(Emix_Sink_Input *input)
|
||||||
{
|
{
|
||||||
Evas_Object *bxv, *bx, *lb, *hv, *sep, *ic;
|
Evas_Object *bxv, *bx, *lb, *hv, *sep, *ic, *fr;
|
||||||
const Eina_List *l;
|
const Eina_List *l;
|
||||||
Emix_Sink *sink;
|
Emix_Sink *sink;
|
||||||
Eina_Bool locked = EINA_TRUE;
|
Eina_Bool locked = EINA_TRUE;
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
|
|
||||||
|
fr = elm_frame_add(win);
|
||||||
|
evas_object_size_hint_weight_set(fr, EVAS_HINT_EXPAND, 0.0);
|
||||||
|
evas_object_size_hint_align_set(fr, EVAS_HINT_FILL, 0.0);
|
||||||
|
elm_object_style_set(fr, "pad_medium");
|
||||||
|
sink_input_list = eina_list_append(sink_input_list, fr);
|
||||||
|
evas_object_data_set(fr, "input", input);
|
||||||
|
|
||||||
bxv = elm_box_add(win);
|
bxv = elm_box_add(win);
|
||||||
sink_input_list = eina_list_append(sink_input_list, bxv);
|
|
||||||
evas_object_data_set(bxv, "input", input);
|
|
||||||
evas_object_size_hint_weight_set(bxv, EVAS_HINT_EXPAND, 0.0);
|
evas_object_size_hint_weight_set(bxv, EVAS_HINT_EXPAND, 0.0);
|
||||||
evas_object_size_hint_align_set(bxv, EVAS_HINT_FILL, 0.0);
|
evas_object_size_hint_align_set(bxv, EVAS_HINT_FILL, 0.0);
|
||||||
|
|
||||||
|
@ -617,8 +632,8 @@ _emix_sink_input_add(Emix_Sink_Input *input)
|
||||||
evas_object_show(lb);
|
evas_object_show(lb);
|
||||||
|
|
||||||
hv = elm_hoversel_add(win);
|
hv = elm_hoversel_add(win);
|
||||||
evas_object_data_set(hv, "parent", bxv);
|
evas_object_data_set(hv, "parent", fr);
|
||||||
evas_object_data_set(bxv, "port", hv);
|
evas_object_data_set(fr, "port", hv);
|
||||||
elm_hoversel_hover_parent_set(hv, win);
|
elm_hoversel_hover_parent_set(hv, win);
|
||||||
EINA_LIST_FOREACH(emix_sinks_get(), l, sink)
|
EINA_LIST_FOREACH(emix_sinks_get(), l, sink)
|
||||||
{
|
{
|
||||||
|
@ -633,7 +648,7 @@ _emix_sink_input_add(Emix_Sink_Input *input)
|
||||||
evas_object_show(hv);
|
evas_object_show(hv);
|
||||||
|
|
||||||
bx = elm_box_add(win);
|
bx = elm_box_add(win);
|
||||||
evas_object_data_set(bxv, "volume_bx", bx);
|
evas_object_data_set(fr, "volume_bx", bx);
|
||||||
elm_box_horizontal_set(bx, EINA_TRUE);
|
elm_box_horizontal_set(bx, EINA_TRUE);
|
||||||
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, 0.0);
|
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, 0.0);
|
||||||
evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, 0.5);
|
evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, 0.5);
|
||||||
|
@ -651,30 +666,35 @@ _emix_sink_input_add(Emix_Sink_Input *input)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
_emix_sink_input_volume_fill(input, bxv, bx, locked);
|
_emix_sink_input_volume_fill(input, fr, bx, locked);
|
||||||
|
|
||||||
|
elm_object_content_set(fr, bxv);
|
||||||
|
evas_object_show(bxv);
|
||||||
|
|
||||||
|
elm_box_pack_end(sink_input_box, fr);
|
||||||
|
evas_object_show(fr);
|
||||||
|
|
||||||
sep = elm_separator_add(win);
|
sep = elm_separator_add(win);
|
||||||
|
evas_object_data_set(fr, "extra", sep);
|
||||||
elm_separator_horizontal_set(sep, EINA_TRUE);
|
elm_separator_horizontal_set(sep, EINA_TRUE);
|
||||||
evas_object_size_hint_weight_set(sep, EVAS_HINT_EXPAND, 0.0);
|
evas_object_size_hint_weight_set(sep, EVAS_HINT_EXPAND, 0.0);
|
||||||
evas_object_size_hint_align_set(sep, EVAS_HINT_FILL, 0.0);
|
evas_object_size_hint_align_set(sep, EVAS_HINT_FILL, 0.0);
|
||||||
elm_box_pack_end(bxv, sep);
|
elm_box_pack_end(sink_input_box, sep);
|
||||||
evas_object_show(sep);
|
evas_object_show(sep);
|
||||||
|
|
||||||
elm_box_pack_end(sink_input_box, bxv);
|
|
||||||
evas_object_show(bxv);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_emix_sink_input_del(Emix_Sink_Input *input)
|
_emix_sink_input_del(Emix_Sink_Input *input)
|
||||||
{
|
{
|
||||||
Eina_List *l;
|
Eina_List *l;
|
||||||
Evas_Object *bxv;
|
Evas_Object *fr;
|
||||||
EINA_LIST_FOREACH(sink_input_list, l, bxv)
|
EINA_LIST_FOREACH(sink_input_list, l, fr)
|
||||||
{
|
{
|
||||||
if (evas_object_data_get(bxv, "input") == input)
|
if (evas_object_data_get(fr, "input") == input)
|
||||||
{
|
{
|
||||||
sink_input_list = eina_list_remove_list(sink_input_list, l);
|
sink_input_list = eina_list_remove_list(sink_input_list, l);
|
||||||
evas_object_del(bxv);
|
evas_object_del(evas_object_data_get(fr, "extra"));
|
||||||
|
evas_object_del(fr);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -685,15 +705,15 @@ _emix_sink_input_change(Emix_Sink_Input *input)
|
||||||
{
|
{
|
||||||
const Eina_List *l;
|
const Eina_List *l;
|
||||||
Eina_List *ll;
|
Eina_List *ll;
|
||||||
Evas_Object *bxv, *hv, *ck, *sl, *lb;
|
Evas_Object *fr, *hv, *ck, *sl, *lb;
|
||||||
Emix_Sink *sink;
|
Emix_Sink *sink;
|
||||||
|
|
||||||
EINA_LIST_FOREACH(sink_input_list, l, bxv)
|
EINA_LIST_FOREACH(sink_input_list, l, fr)
|
||||||
{
|
{
|
||||||
if (evas_object_data_get(bxv, "input") == input) break;
|
if (evas_object_data_get(fr, "input") == input) break;
|
||||||
}
|
}
|
||||||
if (!l) return;
|
if (!l) return;
|
||||||
hv = evas_object_data_get(bxv, "port");
|
hv = evas_object_data_get(fr, "port");
|
||||||
elm_hoversel_clear(hv);
|
elm_hoversel_clear(hv);
|
||||||
EINA_LIST_FOREACH(emix_sinks_get(), l, sink)
|
EINA_LIST_FOREACH(emix_sinks_get(), l, sink)
|
||||||
{
|
{
|
||||||
|
@ -703,13 +723,13 @@ _emix_sink_input_change(Emix_Sink_Input *input)
|
||||||
if (input->sink == sink) elm_object_text_set(hv, sink->name);
|
if (input->sink == sink) elm_object_text_set(hv, sink->name);
|
||||||
}
|
}
|
||||||
|
|
||||||
ck = evas_object_data_get(bxv, "lock");
|
ck = evas_object_data_get(fr, "lock");
|
||||||
|
|
||||||
if (ck && !elm_check_state_get(ck))
|
if (ck && !elm_check_state_get(ck))
|
||||||
{
|
{
|
||||||
ck = evas_object_data_get(bxv, "mute");
|
ck = evas_object_data_get(fr, "mute");
|
||||||
elm_check_state_set(ck, input->mute);
|
elm_check_state_set(ck, input->mute);
|
||||||
EINA_LIST_FOREACH(evas_object_data_get(bxv, "volumes"), ll, sl)
|
EINA_LIST_FOREACH(evas_object_data_get(fr, "volumes"), ll, sl)
|
||||||
{
|
{
|
||||||
elm_slider_value_set(sl,
|
elm_slider_value_set(sl,
|
||||||
input->volume.volumes[(uintptr_t)evas_object_data_get(sl, "channel")]);
|
input->volume.volumes[(uintptr_t)evas_object_data_get(sl, "channel")]);
|
||||||
|
@ -720,25 +740,25 @@ _emix_sink_input_change(Emix_Sink_Input *input)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ck = evas_object_data_get(bxv, "mute");
|
ck = evas_object_data_get(fr, "mute");
|
||||||
elm_check_state_set(ck, input->mute);
|
elm_check_state_set(ck, input->mute);
|
||||||
|
|
||||||
sl = evas_object_data_get(bxv, "volume");
|
sl = evas_object_data_get(fr, "volume");
|
||||||
elm_slider_value_set(sl, input->volume.volumes[0]);
|
elm_slider_value_set(sl, input->volume.volumes[0]);
|
||||||
elm_object_disabled_set(sl, input->mute);
|
elm_object_disabled_set(sl, input->mute);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
static void _emix_source_volume_fill(Emix_Source *source, Evas_Object *bxv, Evas_Object *bx, Eina_Bool locked);
|
static void _emix_source_volume_fill(Emix_Source *source, Evas_Object *fr, Evas_Object *bx, Eina_Bool locked);
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_cb_source_volume_change(void *data,
|
_cb_source_volume_change(void *data,
|
||||||
Evas_Object *obj,
|
Evas_Object *obj,
|
||||||
void *event_info EINA_UNUSED)
|
void *event_info EINA_UNUSED)
|
||||||
{
|
{
|
||||||
Evas_Object *bxv = data;
|
Evas_Object *fr = data;
|
||||||
Emix_Source *source = evas_object_data_get(bxv, "source");
|
Emix_Source *source = evas_object_data_get(fr, "source");
|
||||||
double vol = elm_slider_value_get(obj);
|
double vol = elm_slider_value_get(obj);
|
||||||
VOLSET(vol, source->volume, source, emix_source_volume_set);
|
VOLSET(vol, source->volume, source, emix_source_volume_set);
|
||||||
elm_slider_value_set(obj, vol);
|
elm_slider_value_set(obj, vol);
|
||||||
|
@ -749,8 +769,8 @@ _cb_source_volume_channel_change(void *data,
|
||||||
Evas_Object *obj,
|
Evas_Object *obj,
|
||||||
void *event_info EINA_UNUSED)
|
void *event_info EINA_UNUSED)
|
||||||
{
|
{
|
||||||
Evas_Object *bxv = data;
|
Evas_Object *fr = data;
|
||||||
Emix_Source *source = evas_object_data_get(bxv, "source");
|
Emix_Source *source = evas_object_data_get(fr, "source");
|
||||||
double vol = elm_slider_value_get(obj);
|
double vol = elm_slider_value_get(obj);
|
||||||
source->volume.volumes[(uintptr_t)evas_object_data_get(obj, "channel")] = vol;
|
source->volume.volumes[(uintptr_t)evas_object_data_get(obj, "channel")] = vol;
|
||||||
elm_slider_value_set(obj, vol);
|
elm_slider_value_set(obj, vol);
|
||||||
|
@ -763,8 +783,8 @@ _cb_source_volume_drag_stop(void *data,
|
||||||
Evas_Object *obj,
|
Evas_Object *obj,
|
||||||
void *event EINA_UNUSED)
|
void *event EINA_UNUSED)
|
||||||
{
|
{
|
||||||
Evas_Object *bxv = data;
|
Evas_Object *fr = data;
|
||||||
Emix_Source *source = evas_object_data_get(bxv, "source");
|
Emix_Source *source = evas_object_data_get(fr, "source");
|
||||||
int vol = source->volume.volumes[0];
|
int vol = source->volume.volumes[0];
|
||||||
elm_slider_value_set(obj, vol);
|
elm_slider_value_set(obj, vol);
|
||||||
}
|
}
|
||||||
|
@ -774,8 +794,8 @@ _cb_source_volume_channel_drag_stop(void *data,
|
||||||
Evas_Object *obj,
|
Evas_Object *obj,
|
||||||
void *event EINA_UNUSED)
|
void *event EINA_UNUSED)
|
||||||
{
|
{
|
||||||
Evas_Object *bxv = data;
|
Evas_Object *fr = data;
|
||||||
Emix_Source *source = evas_object_data_get(bxv, "source");
|
Emix_Source *source = evas_object_data_get(fr, "source");
|
||||||
int vol = source->volume.volumes[(uintptr_t)evas_object_data_get(obj, "channel")];
|
int vol = source->volume.volumes[(uintptr_t)evas_object_data_get(obj, "channel")];
|
||||||
elm_slider_value_set(obj, vol);
|
elm_slider_value_set(obj, vol);
|
||||||
}
|
}
|
||||||
|
@ -785,17 +805,17 @@ _cb_source_mute_change(void *data,
|
||||||
Evas_Object *obj,
|
Evas_Object *obj,
|
||||||
void *event_info EINA_UNUSED)
|
void *event_info EINA_UNUSED)
|
||||||
{
|
{
|
||||||
Evas_Object *bxv = data;
|
Evas_Object *fr = data;
|
||||||
Emix_Source *source = evas_object_data_get(bxv, "source");
|
Emix_Source *source = evas_object_data_get(fr, "source");
|
||||||
Evas_Object *sl;
|
Evas_Object *sl;
|
||||||
Evas_Object *lock = evas_object_data_get(bxv, "lock");
|
Evas_Object *lock = evas_object_data_get(fr, "lock");
|
||||||
Eina_Bool mute = elm_check_state_get(obj);
|
Eina_Bool mute = elm_check_state_get(obj);
|
||||||
Evas_Object *lb;
|
Evas_Object *lb;
|
||||||
Eina_List *l;
|
Eina_List *l;
|
||||||
|
|
||||||
if (lock && !elm_check_state_get(lock))
|
if (lock && !elm_check_state_get(lock))
|
||||||
{
|
{
|
||||||
EINA_LIST_FOREACH(evas_object_data_get(bxv, "volumes"), l, sl)
|
EINA_LIST_FOREACH(evas_object_data_get(fr, "volumes"), l, sl)
|
||||||
{
|
{
|
||||||
elm_object_disabled_set(sl, mute);
|
elm_object_disabled_set(sl, mute);
|
||||||
lb = evas_object_data_get(sl, "lb");
|
lb = evas_object_data_get(sl, "lb");
|
||||||
|
@ -804,7 +824,7 @@ _cb_source_mute_change(void *data,
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sl = evas_object_data_get(bxv, "volume");
|
sl = evas_object_data_get(fr, "volume");
|
||||||
elm_object_disabled_set(sl, mute);
|
elm_object_disabled_set(sl, mute);
|
||||||
}
|
}
|
||||||
emix_source_mute_set(source, mute);
|
emix_source_mute_set(source, mute);
|
||||||
|
@ -815,24 +835,24 @@ _cb_source_lock_change(void *data,
|
||||||
Evas_Object *obj,
|
Evas_Object *obj,
|
||||||
void *event_info EINA_UNUSED)
|
void *event_info EINA_UNUSED)
|
||||||
{
|
{
|
||||||
Evas_Object *bxv = data;
|
Evas_Object *fr = data;
|
||||||
Emix_Source *source = evas_object_data_get(bxv, "source");
|
Emix_Source *source = evas_object_data_get(fr, "source");
|
||||||
Evas_Object *bx = evas_object_data_get(bxv, "volume_bx");
|
Evas_Object *bx = evas_object_data_get(fr, "volume_bx");
|
||||||
Eina_Bool lock = elm_check_state_get(obj);
|
Eina_Bool lock = elm_check_state_get(obj);
|
||||||
if (lock)
|
if (lock)
|
||||||
VOLSET(source->volume.volumes[0], source->volume,
|
VOLSET(source->volume.volumes[0], source->volume,
|
||||||
source, emix_source_volume_set);
|
source, emix_source_volume_set);
|
||||||
_emix_source_volume_fill(source, bxv, bx, lock);
|
_emix_source_volume_fill(source, fr, bx, lock);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_emix_source_volume_fill(Emix_Source *source, Evas_Object *bxv, Evas_Object *bx, Eina_Bool locked)
|
_emix_source_volume_fill(Emix_Source *source, Evas_Object *fr, Evas_Object *bx, Eina_Bool locked)
|
||||||
{
|
{
|
||||||
Evas_Object *bxhv, *lb, *sl, *ck;
|
Evas_Object *bxhv, *lb, *sl, *ck;
|
||||||
Eina_List *sls = NULL;
|
Eina_List *sls = NULL;
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
|
|
||||||
eina_list_free(evas_object_data_get(bxv, "volumes"));
|
eina_list_free(evas_object_data_get(fr, "volumes"));
|
||||||
elm_box_clear(bx);
|
elm_box_clear(bx);
|
||||||
|
|
||||||
bxhv = elm_box_add(bx);
|
bxhv = elm_box_add(bx);
|
||||||
|
@ -844,7 +864,7 @@ _emix_source_volume_fill(Emix_Source *source, Evas_Object *bxv, Evas_Object *bx,
|
||||||
if (locked)
|
if (locked)
|
||||||
{
|
{
|
||||||
sl = elm_slider_add(bx);
|
sl = elm_slider_add(bx);
|
||||||
evas_object_data_set(bxv, "volume", sl);
|
evas_object_data_set(fr, "volume", sl);
|
||||||
elm_slider_min_max_set(sl, 0.0, emix_max_volume_get());
|
elm_slider_min_max_set(sl, 0.0, emix_max_volume_get());
|
||||||
elm_slider_span_size_set(sl, (emix_max_volume_get()) * elm_config_scale_get());
|
elm_slider_span_size_set(sl, (emix_max_volume_get()) * elm_config_scale_get());
|
||||||
elm_slider_unit_format_set(sl, "%1.0f");
|
elm_slider_unit_format_set(sl, "%1.0f");
|
||||||
|
@ -855,9 +875,9 @@ _emix_source_volume_fill(Emix_Source *source, Evas_Object *bxv, Evas_Object *bx,
|
||||||
elm_box_pack_end(bxhv, sl);
|
elm_box_pack_end(bxhv, sl);
|
||||||
evas_object_show(sl);
|
evas_object_show(sl);
|
||||||
evas_object_smart_callback_add(sl, "changed",
|
evas_object_smart_callback_add(sl, "changed",
|
||||||
_cb_source_volume_change, bxv);
|
_cb_source_volume_change, fr);
|
||||||
evas_object_smart_callback_add(sl, "slider,drag,stop",
|
evas_object_smart_callback_add(sl, "slider,drag,stop",
|
||||||
_cb_source_volume_drag_stop, bxv);
|
_cb_source_volume_drag_stop, fr);
|
||||||
elm_object_disabled_set(sl, source->mute);
|
elm_object_disabled_set(sl, source->mute);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -892,38 +912,38 @@ _emix_source_volume_fill(Emix_Source *source, Evas_Object *bxv, Evas_Object *bx,
|
||||||
elm_box_pack_end(bxhv, sl);
|
elm_box_pack_end(bxhv, sl);
|
||||||
evas_object_show(sl);
|
evas_object_show(sl);
|
||||||
evas_object_smart_callback_add(sl, "changed",
|
evas_object_smart_callback_add(sl, "changed",
|
||||||
_cb_source_volume_channel_change, bxv);
|
_cb_source_volume_channel_change, fr);
|
||||||
evas_object_smart_callback_add(sl, "slider,drag,stop",
|
evas_object_smart_callback_add(sl, "slider,drag,stop",
|
||||||
_cb_source_volume_channel_drag_stop, bxv);
|
_cb_source_volume_channel_drag_stop, fr);
|
||||||
elm_object_disabled_set(sl, source->mute);
|
elm_object_disabled_set(sl, source->mute);
|
||||||
sls = eina_list_append(sls, sl);
|
sls = eina_list_append(sls, sl);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
evas_object_data_set(bxv, "volumes", sls);
|
evas_object_data_set(fr, "volumes", sls);
|
||||||
|
|
||||||
bxhv = elm_box_add(bx);
|
bxhv = elm_box_add(bx);
|
||||||
elm_box_pack_end(bx, bxhv);
|
elm_box_pack_end(bx, bxhv);
|
||||||
evas_object_show(bxhv);
|
evas_object_show(bxhv);
|
||||||
|
|
||||||
ck = elm_check_add(bx);
|
ck = elm_check_add(bx);
|
||||||
evas_object_data_set(bxv, "mute", ck);
|
evas_object_data_set(fr, "mute", ck);
|
||||||
elm_object_text_set(ck, "Mute");
|
elm_object_text_set(ck, "Mute");
|
||||||
elm_check_state_set(ck, source->mute);
|
elm_check_state_set(ck, source->mute);
|
||||||
elm_box_pack_end(bxhv, ck);
|
elm_box_pack_end(bxhv, ck);
|
||||||
evas_object_show(ck);
|
evas_object_show(ck);
|
||||||
evas_object_smart_callback_add(ck, "changed",
|
evas_object_smart_callback_add(ck, "changed",
|
||||||
_cb_source_mute_change, bxv);
|
_cb_source_mute_change, fr);
|
||||||
|
|
||||||
if (source->volume.channel_count > 1)
|
if (source->volume.channel_count > 1)
|
||||||
{
|
{
|
||||||
ck = elm_check_add(bx);
|
ck = elm_check_add(bx);
|
||||||
evas_object_data_set(bxv, "lock", ck);
|
evas_object_data_set(fr, "lock", ck);
|
||||||
elm_object_text_set(ck, "Lock");
|
elm_object_text_set(ck, "Lock");
|
||||||
elm_check_state_set(ck, locked);
|
elm_check_state_set(ck, locked);
|
||||||
elm_box_pack_end(bxhv, ck);
|
elm_box_pack_end(bxhv, ck);
|
||||||
evas_object_show(ck);
|
evas_object_show(ck);
|
||||||
evas_object_smart_callback_add(ck, "changed",
|
evas_object_smart_callback_add(ck, "changed",
|
||||||
_cb_source_lock_change, bxv);
|
_cb_source_lock_change, fr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -931,13 +951,18 @@ _emix_source_volume_fill(Emix_Source *source, Evas_Object *bxv, Evas_Object *bx,
|
||||||
static void
|
static void
|
||||||
_emix_source_add(Emix_Source *source)
|
_emix_source_add(Emix_Source *source)
|
||||||
{
|
{
|
||||||
Evas_Object *bxv, *bx, *lb, *sep;
|
Evas_Object *bxv, *bx, *lb, *sep, *fr;
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
Eina_Bool locked = EINA_TRUE;
|
Eina_Bool locked = EINA_TRUE;
|
||||||
|
|
||||||
|
fr = elm_frame_add(win);
|
||||||
|
evas_object_size_hint_weight_set(fr, EVAS_HINT_EXPAND, 0.0);
|
||||||
|
evas_object_size_hint_align_set(fr, EVAS_HINT_FILL, 0.0);
|
||||||
|
elm_object_style_set(fr, "pad_medium");
|
||||||
|
source_list = eina_list_append(source_list, fr);
|
||||||
|
evas_object_data_set(fr, "source", source);
|
||||||
|
|
||||||
bxv = elm_box_add(win);
|
bxv = elm_box_add(win);
|
||||||
source_list = eina_list_append(source_list, bxv);
|
|
||||||
evas_object_data_set(bxv, "source", source);
|
|
||||||
evas_object_size_hint_weight_set(bxv, EVAS_HINT_EXPAND, 0.0);
|
evas_object_size_hint_weight_set(bxv, EVAS_HINT_EXPAND, 0.0);
|
||||||
evas_object_size_hint_align_set(bxv, EVAS_HINT_FILL, 0.0);
|
evas_object_size_hint_align_set(bxv, EVAS_HINT_FILL, 0.0);
|
||||||
|
|
||||||
|
@ -956,7 +981,7 @@ _emix_source_add(Emix_Source *source)
|
||||||
evas_object_show(lb);
|
evas_object_show(lb);
|
||||||
|
|
||||||
bx = elm_box_add(win);
|
bx = elm_box_add(win);
|
||||||
evas_object_data_set(bxv, "volume_bx", bx);
|
evas_object_data_set(fr, "volume_bx", bx);
|
||||||
elm_box_horizontal_set(bx, EINA_TRUE);
|
elm_box_horizontal_set(bx, EINA_TRUE);
|
||||||
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, 0.0);
|
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, 0.0);
|
||||||
evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, 0.5);
|
evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, 0.5);
|
||||||
|
@ -974,31 +999,36 @@ _emix_source_add(Emix_Source *source)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
_emix_source_volume_fill(source, bxv, bx, locked);
|
_emix_source_volume_fill(source, fr, bx, locked);
|
||||||
|
|
||||||
|
|
||||||
|
elm_object_content_set(fr, bxv);
|
||||||
|
evas_object_show(bxv);
|
||||||
|
|
||||||
|
elm_box_pack_end(source_box, fr);
|
||||||
|
evas_object_show(fr);
|
||||||
|
|
||||||
sep = elm_separator_add(win);
|
sep = elm_separator_add(win);
|
||||||
|
evas_object_data_set(fr, "extra", sep);
|
||||||
elm_separator_horizontal_set(sep, EINA_TRUE);
|
elm_separator_horizontal_set(sep, EINA_TRUE);
|
||||||
evas_object_size_hint_weight_set(sep, EVAS_HINT_EXPAND, 0.0);
|
evas_object_size_hint_weight_set(sep, EVAS_HINT_EXPAND, 0.0);
|
||||||
evas_object_size_hint_align_set(sep, EVAS_HINT_FILL, 0.0);
|
evas_object_size_hint_align_set(sep, EVAS_HINT_FILL, 0.0);
|
||||||
elm_box_pack_end(bxv, sep);
|
elm_box_pack_end(source_box, sep);
|
||||||
evas_object_show(sep);
|
evas_object_show(sep);
|
||||||
|
|
||||||
elm_box_pack_end(source_box, bxv);
|
|
||||||
evas_object_show(bxv);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_emix_source_del(Emix_Source *source)
|
_emix_source_del(Emix_Source *source)
|
||||||
{
|
{
|
||||||
Eina_List *l;
|
Eina_List *l;
|
||||||
Evas_Object *bxv;
|
Evas_Object *fr;
|
||||||
EINA_LIST_FOREACH(source_list, l, bxv)
|
EINA_LIST_FOREACH(source_list, l, fr)
|
||||||
{
|
{
|
||||||
if (evas_object_data_get(bxv, "source") == source)
|
if (evas_object_data_get(fr, "source") == source)
|
||||||
{
|
{
|
||||||
source_list = eina_list_remove_list(source_list, l);
|
source_list = eina_list_remove_list(source_list, l);
|
||||||
evas_object_del(bxv);
|
evas_object_del(evas_object_data_get(fr, "extra"));
|
||||||
|
evas_object_del(fr);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1009,21 +1039,21 @@ _emix_source_change(Emix_Source *source)
|
||||||
{
|
{
|
||||||
const Eina_List *l;
|
const Eina_List *l;
|
||||||
Eina_List *ll;
|
Eina_List *ll;
|
||||||
Evas_Object *bxv, *ck, *sl, *lb;
|
Evas_Object *fr, *ck, *sl, *lb;
|
||||||
|
|
||||||
EINA_LIST_FOREACH(source_list, l, bxv)
|
EINA_LIST_FOREACH(source_list, l, fr)
|
||||||
{
|
{
|
||||||
if (evas_object_data_get(bxv, "source") == source) break;
|
if (evas_object_data_get(fr, "source") == source) break;
|
||||||
}
|
}
|
||||||
if (!l) return;
|
if (!l) return;
|
||||||
|
|
||||||
ck = evas_object_data_get(bxv, "lock");
|
ck = evas_object_data_get(fr, "lock");
|
||||||
|
|
||||||
if (ck && !elm_check_state_get(ck))
|
if (ck && !elm_check_state_get(ck))
|
||||||
{
|
{
|
||||||
ck = evas_object_data_get(bxv, "mute");
|
ck = evas_object_data_get(fr, "mute");
|
||||||
elm_check_state_set(ck, source->mute);
|
elm_check_state_set(ck, source->mute);
|
||||||
EINA_LIST_FOREACH(evas_object_data_get(bxv, "volumes"), ll, sl)
|
EINA_LIST_FOREACH(evas_object_data_get(fr, "volumes"), ll, sl)
|
||||||
{
|
{
|
||||||
elm_slider_value_set(sl,
|
elm_slider_value_set(sl,
|
||||||
source->volume.volumes[(uintptr_t)evas_object_data_get(sl, "channel")]);
|
source->volume.volumes[(uintptr_t)evas_object_data_get(sl, "channel")]);
|
||||||
|
@ -1034,10 +1064,10 @@ _emix_source_change(Emix_Source *source)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ck = evas_object_data_get(bxv, "mute");
|
ck = evas_object_data_get(fr, "mute");
|
||||||
elm_check_state_set(ck, source->mute);
|
elm_check_state_set(ck, source->mute);
|
||||||
|
|
||||||
sl = evas_object_data_get(bxv, "volume");
|
sl = evas_object_data_get(fr, "volume");
|
||||||
elm_slider_value_set(sl, source->volume.volumes[0]);
|
elm_slider_value_set(sl, source->volume.volumes[0]);
|
||||||
elm_object_disabled_set(sl, source->mute);
|
elm_object_disabled_set(sl, source->mute);
|
||||||
}
|
}
|
||||||
|
@ -1050,8 +1080,8 @@ _cb_card_profile_change(void *data,
|
||||||
void *event_info EINA_UNUSED)
|
void *event_info EINA_UNUSED)
|
||||||
{
|
{
|
||||||
Emix_Profile *profile = data;
|
Emix_Profile *profile = data;
|
||||||
Evas_Object *bxv = evas_object_data_get(obj, "parent");
|
Evas_Object *fr = evas_object_data_get(obj, "parent");
|
||||||
Emix_Card *card = evas_object_data_get(bxv, "card");
|
Emix_Card *card = evas_object_data_get(fr, "card");
|
||||||
elm_object_text_set(obj, profile->description);
|
elm_object_text_set(obj, profile->description);
|
||||||
emix_card_profile_set(card, profile);
|
emix_card_profile_set(card, profile);
|
||||||
}
|
}
|
||||||
|
@ -1059,13 +1089,18 @@ _cb_card_profile_change(void *data,
|
||||||
static void
|
static void
|
||||||
_emix_card_add(Emix_Card *card)
|
_emix_card_add(Emix_Card *card)
|
||||||
{
|
{
|
||||||
Evas_Object *bxv, *bx, *lb, *hv, *sep;
|
Evas_Object *bxv, *bx, *lb, *hv, *sep, *fr;
|
||||||
Eina_List *l;
|
Eina_List *l;
|
||||||
Emix_Profile *profile;
|
Emix_Profile *profile;
|
||||||
|
|
||||||
|
fr = elm_frame_add(win);
|
||||||
|
evas_object_size_hint_weight_set(fr, EVAS_HINT_EXPAND, 0.0);
|
||||||
|
evas_object_size_hint_align_set(fr, EVAS_HINT_FILL, 0.0);
|
||||||
|
elm_object_style_set(fr, "pad_medium");
|
||||||
|
card_list = eina_list_append(card_list, fr);
|
||||||
|
evas_object_data_set(fr, "card", card);
|
||||||
|
|
||||||
bxv = elm_box_add(win);
|
bxv = elm_box_add(win);
|
||||||
card_list = eina_list_append(card_list, bxv);
|
|
||||||
evas_object_data_set(bxv, "card", card);
|
|
||||||
evas_object_size_hint_weight_set(bxv, EVAS_HINT_EXPAND, 0.0);
|
evas_object_size_hint_weight_set(bxv, EVAS_HINT_EXPAND, 0.0);
|
||||||
evas_object_size_hint_align_set(bxv, EVAS_HINT_FILL, 0.0);
|
evas_object_size_hint_align_set(bxv, EVAS_HINT_FILL, 0.0);
|
||||||
|
|
||||||
|
@ -1084,8 +1119,8 @@ _emix_card_add(Emix_Card *card)
|
||||||
evas_object_show(lb);
|
evas_object_show(lb);
|
||||||
|
|
||||||
hv = elm_hoversel_add(win);
|
hv = elm_hoversel_add(win);
|
||||||
evas_object_data_set(hv, "parent", bxv);
|
evas_object_data_set(hv, "parent", fr);
|
||||||
evas_object_data_set(bxv, "profile", hv);
|
evas_object_data_set(fr, "profile", hv);
|
||||||
elm_hoversel_hover_parent_set(hv, win);
|
elm_hoversel_hover_parent_set(hv, win);
|
||||||
EINA_LIST_FOREACH(card->profiles, l, profile)
|
EINA_LIST_FOREACH(card->profiles, l, profile)
|
||||||
{
|
{
|
||||||
|
@ -1100,30 +1135,34 @@ _emix_card_add(Emix_Card *card)
|
||||||
elm_box_pack_end(bx, hv);
|
elm_box_pack_end(bx, hv);
|
||||||
evas_object_show(hv);
|
evas_object_show(hv);
|
||||||
|
|
||||||
|
elm_object_content_set(fr, bxv);
|
||||||
|
evas_object_show(bxv);
|
||||||
|
|
||||||
|
elm_box_pack_end(card_box, fr);
|
||||||
|
evas_object_show(fr);
|
||||||
|
|
||||||
sep = elm_separator_add(win);
|
sep = elm_separator_add(win);
|
||||||
|
evas_object_data_set(fr, "extra", sep);
|
||||||
elm_separator_horizontal_set(sep, EINA_TRUE);
|
elm_separator_horizontal_set(sep, EINA_TRUE);
|
||||||
evas_object_size_hint_weight_set(sep, EVAS_HINT_EXPAND, 0.0);
|
evas_object_size_hint_weight_set(sep, EVAS_HINT_EXPAND, 0.0);
|
||||||
evas_object_size_hint_align_set(sep, EVAS_HINT_FILL, 0.0);
|
evas_object_size_hint_align_set(sep, EVAS_HINT_FILL, 0.0);
|
||||||
elm_box_pack_end(bxv, sep);
|
elm_box_pack_end(card_box, sep);
|
||||||
evas_object_show(sep);
|
evas_object_show(sep);
|
||||||
|
|
||||||
elm_box_pack_end(card_box, bxv);
|
|
||||||
evas_object_show(bxv);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_emix_card_change(Emix_Card *card)
|
_emix_card_change(Emix_Card *card)
|
||||||
{
|
{
|
||||||
const Eina_List *l;
|
const Eina_List *l;
|
||||||
Evas_Object *bxv, *hv;
|
Evas_Object *fr, *hv;
|
||||||
Emix_Profile *profile;
|
Emix_Profile *profile;
|
||||||
|
|
||||||
EINA_LIST_FOREACH(card_list, l, bxv)
|
EINA_LIST_FOREACH(card_list, l, fr)
|
||||||
{
|
{
|
||||||
if (evas_object_data_get(bxv, "card") == card) break;
|
if (evas_object_data_get(fr, "card") == card) break;
|
||||||
}
|
}
|
||||||
if (!l) return;
|
if (!l) return;
|
||||||
hv = evas_object_data_get(bxv, "profile");
|
hv = evas_object_data_get(fr, "profile");
|
||||||
elm_hoversel_clear(hv);
|
elm_hoversel_clear(hv);
|
||||||
EINA_LIST_FOREACH(card->profiles, l, profile)
|
EINA_LIST_FOREACH(card->profiles, l, profile)
|
||||||
{
|
{
|
||||||
|
@ -1140,13 +1179,14 @@ static void
|
||||||
_emix_card_del(Emix_Card *card)
|
_emix_card_del(Emix_Card *card)
|
||||||
{
|
{
|
||||||
Eina_List *l;
|
Eina_List *l;
|
||||||
Evas_Object *bxv;
|
Evas_Object *fr;
|
||||||
EINA_LIST_FOREACH(card_list, l, bxv)
|
EINA_LIST_FOREACH(card_list, l, fr)
|
||||||
{
|
{
|
||||||
if (evas_object_data_get(bxv, "card") == card)
|
if (evas_object_data_get(fr, "card") == card)
|
||||||
{
|
{
|
||||||
card_list = eina_list_remove_list(card_list, l);
|
card_list = eina_list_remove_list(card_list, l);
|
||||||
evas_object_del(bxv);
|
evas_object_del(evas_object_data_get(fr, "extra"));
|
||||||
|
evas_object_del(fr);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue