From d4b5ec42015cf88aae07cb01bc38e32aab171894 Mon Sep 17 00:00:00 2001
From: ababi <albert.babi@savoirfairelinux.com>
Date: Fri, 11 Dec 2020 18:44:06 +0100
Subject: [PATCH] conference: add host indicator

Change-Id: Ib21272302d37a7d508eb59a706bb73a8251a0e3a
---
 images/icons/star_outline-24px.svg            |  1 +
 resources.qrc                                 |  1 +
 .../components/ParticipantOverlay.qml         | 24 +++++++++++++++++--
 3 files changed, 24 insertions(+), 2 deletions(-)
 create mode 100644 images/icons/star_outline-24px.svg

diff --git a/images/icons/star_outline-24px.svg b/images/icons/star_outline-24px.svg
new file mode 100644
index 000000000..1887ae813
--- /dev/null
+++ b/images/icons/star_outline-24px.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M22 9.24l-7.19-.62L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21 12 17.27 18.18 21l-1.63-7.03L22 9.24zM12 15.4l-3.76 2.27 1-4.28-3.32-2.88 4.38-.38L12 6.1l1.71 4.04 4.38.38-3.32 2.88 1 4.28L12 15.4z"/></svg>
\ No newline at end of file
diff --git a/resources.qrc b/resources.qrc
index 6d7dbdab1..5e7aab59a 100644
--- a/resources.qrc
+++ b/resources.qrc
@@ -136,5 +136,6 @@
         <file>images/logo-jami-standard-coul.svg</file>
         <file>images/logo-jami-standard-coul-white.svg</file>
         <file>images/icons/moderator.svg</file>
+        <file>images/icons/star_outline-24px.svg</file>
     </qresource>
 </RCC>
diff --git a/src/mainview/components/ParticipantOverlay.qml b/src/mainview/components/ParticipantOverlay.qml
index a28f630d1..7a090acac 100644
--- a/src/mainview/components/ParticipantOverlay.qml
+++ b/src/mainview/components/ParticipantOverlay.qml
@@ -42,6 +42,7 @@ Rectangle {
 
     // TODO: properties should be
     property string uri: overlayMenu.uri
+    property bool participantIsHost: false
     property bool participantIsModerator: false
     property bool participantIsMuted: false
 
@@ -61,7 +62,7 @@ Rectangle {
 
         var isHost = CallAdapter.isCurrentHost()
         var isModerator = CallAdapter.isCurrentModerator()
-        var participantIsHost = CallAdapter.participantIsHost(overlayMenu.uri)
+        participantIsHost = CallAdapter.participantIsHost(overlayMenu.uri)
         participantIsModerator = CallAdapter.isModerator(overlayMenu.uri)
         overlayMenu.showSetModerator = isHost && !isLocal && !participantIsModerator
         overlayMenu.showUnsetModerator = isHost && !isLocal && participantIsModerator
@@ -82,7 +83,7 @@ Rectangle {
         id: participantIndicators
         width: indicatorsRowLayout.width
         height: shapeHeight
-        visible: participantIsModerator || participantIsMuted
+        visible: participantIsHost || participantIsModerator || participantIsMuted
         color: "transparent"
 
         Shape {
@@ -101,6 +102,25 @@ Rectangle {
             height: parent.height
             anchors.verticalCenter: parent.verticalCenter
 
+            ResponsiveImage {
+                id: isHostIndicator
+
+                visible: participantIsHost
+
+                Layout.alignment: Qt.AlignVCenter
+                Layout.leftMargin: 6
+                containerHeight: 12
+                containerWidth: 12
+
+                source: "qrc:/images/icons/star_outline-24px.svg"
+                layer {
+                    enabled: true
+                    effect: ColorOverlay { color: JamiTheme.whiteColor }
+                    mipmap: false
+                    smooth: true
+                }
+            }
+
             ResponsiveImage {
                 id: isModeratorIndicator
 
-- 
GitLab