From 039f96df916b5dc1d2750db65f2daf63375b7584 Mon Sep 17 00:00:00 2001 From: Simon Tischer Date: Mon, 6 Apr 2020 14:27:44 +0100 Subject: [PATCH] emixer - add icon for playback device Summary: add playback icons emixer - add playback icons Reviewers: devilhorns, raster Subscribers: raster, bu5hm4n, cedric, zmike Tags: #enlightenment-git Differential Revision: https://phab.enlightenment.org/D11640 --- src/modules/mixer/emixer.c | 12 ++++++++++-- src/modules/mixer/lib/backends/pulseaudio/pulse.c | 5 ++--- src/modules/mixer/lib/emix.h | 1 + 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/modules/mixer/emixer.c b/src/modules/mixer/emixer.c index 576a87786..e1a89987c 100644 --- a/src/modules/mixer/emixer.c +++ b/src/modules/mixer/emixer.c @@ -569,7 +569,7 @@ _emix_sink_input_volume_fill(Emix_Sink_Input *input, Evas_Object *bxv, Evas_Obje static void _emix_sink_input_add(Emix_Sink_Input *input) { - Evas_Object *bxv, *bx, *lb, *hv, *sep; + Evas_Object *bxv, *bx, *lb, *hv, *sep, *ic; const Eina_List *l; Emix_Sink *sink; Eina_Bool locked = EINA_TRUE; @@ -584,10 +584,18 @@ _emix_sink_input_add(Emix_Sink_Input *input) bx = elm_box_add(win); elm_box_horizontal_set(bx, EINA_TRUE); 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.0); elm_box_pack_end(bxv, bx); evas_object_show(bx); + ic = elm_icon_add(win); + elm_icon_standard_set(ic, input->icon); + evas_object_size_hint_weight_set(ic, 0.0, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(ic, 0.0, EVAS_HINT_FILL); + evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); + elm_box_pack_end(bx, ic); + evas_object_show(ic); + lb = elm_label_add(win); elm_object_text_set(lb, input->name); evas_object_size_hint_weight_set(lb, EVAS_HINT_EXPAND, 0.0); diff --git a/src/modules/mixer/lib/backends/pulseaudio/pulse.c b/src/modules/mixer/lib/backends/pulseaudio/pulse.c index 2e10c4e70..fc5b17346 100644 --- a/src/modules/mixer/lib/backends/pulseaudio/pulse.c +++ b/src/modules/mixer/lib/backends/pulseaudio/pulse.c @@ -40,7 +40,6 @@ typedef struct _Sink typedef struct _Sink_Input { Emix_Sink_Input base; - const char *icon; int idx; } Sink_Input; @@ -129,7 +128,7 @@ _sink_input_del(Sink_Input *input) eina_stringshare_del(input->base.volume.channel_names[i]); free(input->base.volume.channel_names); eina_stringshare_del(input->base.name); - eina_stringshare_del(input->icon); + eina_stringshare_del(input->base.icon); free(input); } @@ -411,7 +410,7 @@ _sink_input_cb(pa_context *c EINA_UNUSED, const pa_sink_input_info *info, if (s->idx == (int)info->sink) input->base.sink = (Emix_Sink *)s; } - input->icon = eina_stringshare_add(_icon_from_properties(info->proplist)); + input->base.icon = eina_stringshare_add(_icon_from_properties(info->proplist)); ctx->inputs = eina_list_append(ctx->inputs, input); if ((t = pa_proplist_gets(info->proplist, PA_PROP_APPLICATION_PROCESS_ID))) diff --git a/src/modules/mixer/lib/emix.h b/src/modules/mixer/lib/emix.h index 6725a96c7..6b1e67094 100644 --- a/src/modules/mixer/lib/emix.h +++ b/src/modules/mixer/lib/emix.h @@ -71,6 +71,7 @@ typedef struct _Emix_Sink_Input { Eina_Bool mute; Emix_Sink *sink; pid_t pid; + const char *icon; } Emix_Sink_Input; typedef struct _Emix_Source {