raster pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=039f96df916b5dc1d2750db65f2daf63375b7584

commit 039f96df916b5dc1d2750db65f2daf63375b7584
Author: Simon Tischer <[email protected]>
Date:   Mon Apr 6 14:27:44 2020 +0100

    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 {

-- 


Reply via email to