diff options
Diffstat (limited to 'src/modules/mixer/e_mod_main.c')
-rw-r--r-- | src/modules/mixer/e_mod_main.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/modules/mixer/e_mod_main.c b/src/modules/mixer/e_mod_main.c index 0ee12dc643..8941cdb571 100644 --- a/src/modules/mixer/e_mod_main.c +++ b/src/modules/mixer/e_mod_main.c @@ -479,6 +479,16 @@ _slider_changed_cb(void *data EINA_UNUSED, Evas_Object *obj, } static void +_slider_drag_stop_cb(void *data EINA_UNUSED, Evas_Object *obj, + void *event EINA_UNUSED) +{ + EINA_SAFETY_ON_NULL_RETURN(mixer_context->sink_default); + Emix_Sink *s = (Emix_Sink *)mixer_context->sink_default; + int val = s->volume.volumes[0]; + elm_slider_value_set(obj, val); +} + +static void _sink_selected_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Emix_Sink *s = data; @@ -542,6 +552,7 @@ _popup_new(Instance *inst) evas_object_show(slider); elm_slider_min_max_set(slider, 0.0, emix_max_volume_get()); evas_object_smart_callback_add(slider, "changed", _slider_changed_cb, NULL); + evas_object_smart_callback_add(slider, "slider,drag,stop", _slider_drag_stop_cb, NULL); elm_slider_value_set(slider, volume); elm_box_pack_end(bx, slider); evas_object_show(slider); |