summaryrefslogtreecommitdiff
path: root/src/modules/mixer/emixer.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/mixer/emixer.c')
-rw-r--r--src/modules/mixer/emixer.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/modules/mixer/emixer.c b/src/modules/mixer/emixer.c
index 1bcd96c1f3..5cde881274 100644
--- a/src/modules/mixer/emixer.c
+++ b/src/modules/mixer/emixer.c
@@ -49,6 +49,17 @@ _cb_sink_volume_change(void *data,
}
static void
+_cb_sink_volume_drag_stop(void *data,
+ Evas_Object *obj,
+ void *event EINA_UNUSED)
+{
+ Evas_Object *bxv = data;
+ Emix_Sink *sink = evas_object_data_get(bxv, "sink");
+ int vol = sink->volume.volumes[0];
+ elm_slider_value_set(obj, vol);
+}
+
+static void
_cb_sink_mute_change(void *data,
Evas_Object *obj,
void *event_info EINA_UNUSED)
@@ -123,6 +134,8 @@ _emix_sink_add(Emix_Sink *sink)
elm_box_pack_end(bx, sl);
evas_object_show(sl);
evas_object_smart_callback_add(sl, "changed", _cb_sink_volume_change, bxv);
+ evas_object_smart_callback_add(sl, "slider,drag,stop",
+ _cb_sink_volume_drag_stop, bxv);
ck = elm_check_add(win);
evas_object_data_set(bxv, "mute", ck);