From eb4700b90e74b63aec5aa7c41c62294e7ae12037 Mon Sep 17 00:00:00 2001
From: Yang Wang <yang.wang@savoirfairelinux.com>
Date: Fri, 2 Aug 2019 18:48:14 -0400
Subject: [PATCH] videooverlay: fix reverse state of no_mic and no_video
 buttons

Change-Id: I716be72415324018ffbbc7255a60290ecdeeef59
Gitlab: #482
---
 images/icons/ic_mic_white_24dp.png  | Bin 0 -> 394 bytes
 ressources.qrc                      | 167 ++++++++++++++--------------
 ring-client-windows.vcxproj         |   3 +
 ring-client-windows.vcxproj.filters |   5 +
 videooverlay.cpp                    |  32 ++----
 videooverlay.h                      |   4 +-
 videooverlay.ui                     |  10 +-
 7 files changed, 114 insertions(+), 107 deletions(-)
 create mode 100644 images/icons/ic_mic_white_24dp.png

diff --git a/images/icons/ic_mic_white_24dp.png b/images/icons/ic_mic_white_24dp.png
new file mode 100644
index 0000000000000000000000000000000000000000..5917157b17791c2fb94a6eed899b0ecd202d50d8
GIT binary patch
literal 394
zcmeAS@N?(olHy`uVBq!ia0y~yU@!n-4i*LmhQHi~JPZtsfu1goAr*{ouNgB>4P<C|
zI61fa{NFh_x8JVaSs##nw(?}&$#0Y1&a2tI?S1XC{^xV~oPyt8IH$DzfNu8|?xU#-
zv=_x18i@3Z^>vp!bqDCAd8DOjh^ea<TZwd+PpXvea^*6W{}K1<!1f^aeb;Ipc&}uh
zpKbSH<(0<%tI{9D*7WT2e^mM8?<yH_d-H?Gcus$vc;dJ3gR~RVm=p5bc+<V^d}nvw
zro%kH<Y)E$OPnA3vLtV=-``xS7~S@hZ<^aYo+8gJ-v7;OZ!;!4e|y8W{%eQTHk}gg
zJH2+>Bpzy8NERisJeY7zk@xQ%<{s{y8(BAaPoL1VP>*?AOHAf#rUx526*+_Vu*6(2
zd*YX$&N#>L?t>Gv4=%H2ey}G_(f-zL#arCsF&~_^%)Qm_G~?CWkbASFxR$p|e*4vv
z;lK8}x=8;zHHI0<Yr+=(U~rm}wm>o?ORGt~Mk+i1W%zAj1_lNOPgg&ebxsLQ0MtsZ
ANB{r;

literal 0
HcmV?d00001

diff --git a/ressources.qrc b/ressources.qrc
index 2797897..fe80f96 100644
--- a/ressources.qrc
+++ b/ressources.qrc
@@ -1,85 +1,86 @@
 <RCC>
-  <qresource prefix="/">
-    <file>images/icons/outline-info-24px.svg</file>
-    <file>images/icons/baseline-camera_alt-24px.svg</file>
-    <file>images/icons/baseline-refresh-24px.svg</file>
-    <file>images/jami_rolling_spinner.gif</file>
-    <file>images/icons/baseline-close-24px.svg</file>
-    <file>images/icons/baseline-done-24px.svg</file>
-    <file>images/icons/baseline-error_outline-24px.svg</file>
-    <file>stylesheet.css</file>
-    <file>images/ajax-loader.gif</file>
-    <file>images/default_avatar_overlay.svg</file>
-    <file>images/FontAwesome.otf</file>
-    <file>images/logo-jami-standard-coul.png</file>
-    <file>images/qrcode.png</file>
-    <file>images/jami.ico</file>
-    <file>images/jami.png</file>
-    <file>images/waiting.gif</file>
-    <file>images/icons/ic_add_black_18dp_2x.png</file>
-    <file>images/icons/ic_arrow_back_24px.svg</file>
-    <file>images/icons/ic_arrow_back_white_24dp.png</file>
-    <file>images/icons/ic_arrow_drop_down_black_9dp_2x.png</file>
-    <file>images/icons/ic_arrow_drop_down_black_18dp_2x.png</file>
-    <file>images/icons/ic_arrow_drop_up_black_9dp_2x.png</file>
-    <file>images/icons/ic_arrow_drop_up_black_18dp_2x.png</file>
-    <file>images/icons/ic_arrow_forward_white_48dp_2x.png</file>
-    <file>images/icons/ic_arrow_tab_next_black_9dp_2x.png</file>
-    <file>images/icons/ic_arrow_tab_previous_black_9dp_2x.png</file>
-    <file>images/icons/ic_block_24px.svg</file>
-    <file>images/icons/ic_call_transfer_white_24px.png</file>
-    <file>images/icons/ic_chat_black_24dp_2x.png</file>
-    <file>images/icons/ic_chat_white_24dp.png</file>
-    <file>images/icons/ic_check_white_18dp_2x.png</file>
-    <file>images/icons/ic_clear_24px.svg</file>
-    <file>images/icons/ic_close_white_24dp.png</file>
-    <file>images/icons/ic_content_copy_white_24dp.png</file>
-    <file>images/icons/ic_delete_black_18dp_2x.png</file>
-    <file>images/icons/ic_done_white_24dp.png</file>
-    <file>images/icons/ic_folder_black_18dp_2x.png</file>
-    <file>images/icons/ic_group_add_white_24dp.png</file>
-    <file>images/icons/ic_high_quality_white_24dp.png</file>
-    <file>images/icons/ic_mic_off_white_24dp.png</file>
-    <file>images/icons/ic_pause_white_24dp.png</file>
-    <file>images/icons/ic_pause_white_100px.png</file>
-    <file>images/icons/ic_person_add_black_24dp_2x.png</file>
-    <file>images/icons/ic_person_add_white_24dp.png</file>
-    <file>images/icons/ic_phone_24px.svg</file>
-    <file>images/icons/ic_photo_camera_white_24dp_2x.png</file>
-    <file>images/icons/ic_search_black_18dp_2x.png</file>
-    <file>images/icons/ic_send_24px.svg</file>
-    <file>images/icons/ic_send_white_24dp.png</file>
-    <file>images/icons/ic_settings_white_48dp_2x.png</file>
-    <file>images/icons/ic_share_black_48dp_2x.png</file>
-    <file>images/icons/ic_video_call_24px.svg</file>
-    <file>images/icons/ic_videocam_off_white_24dp.png</file>
-    <file>images/icons/ic_videocam_white.png</file>
-    <file>images/icons/ic_voicemail_white_24dp_2x.png</file>
-    <file>images/icons/round-add-24px.svg</file>
-    <file>images/icons/round-arrow_drop_down-24px.svg</file>
-    <file>images/icons/round-arrow_drop_up-24px.svg</file>
-    <file>images/icons/round-arrow_right-24px.svg</file>
-    <file>images/icons/round-close-24px.svg</file>
-    <file>images/icons/round-edit-24px.svg</file>
-    <file>images/icons/round-folder-24px.svg</file>
-    <file>images/icons/round-remove_circle-24px.svg</file>
-    <file>images/icons/round-settings-24px.svg</file>
-    <file>images/icons/round-undo-24px.svg</file>
-    <file>web/chatview.css</file>
-    <file>web/chatview.html</file>
-    <file>web/chatview.js</file>
-    <file>web/linkify.js</file>
-    <file>web/linkify-html.js</file>
-    <file>web/linkify-string.js</file>
-    <file>web/qwebchannel.js</file>
-    <file>images/icons/round-check_circle-24px.svg</file>
-    <file>images/icons/round-error-24px.svg</file>
-    <file>images/icons/round-save_alt-24px.svg</file>
-    <file>images/jami_eclipse_spinner.gif</file>
-    <file>images/icons/ic_hide_password.png</file>
-    <file>images/icons/ic_show_password.png</file>
-    <file>images/icons/baseline-desktop_windows-24px.svg</file>
-    <file>images/icons/baseline-people-24px.svg</file>
-    <file>images/icons/round-add_a_photo-24px.svg</file>
-  </qresource>
+    <qresource prefix="/">
+        <file>images/icons/outline-info-24px.svg</file>
+        <file>images/icons/baseline-camera_alt-24px.svg</file>
+        <file>images/icons/baseline-refresh-24px.svg</file>
+        <file>images/jami_rolling_spinner.gif</file>
+        <file>images/icons/baseline-close-24px.svg</file>
+        <file>images/icons/baseline-done-24px.svg</file>
+        <file>images/icons/baseline-error_outline-24px.svg</file>
+        <file>stylesheet.css</file>
+        <file>images/ajax-loader.gif</file>
+        <file>images/default_avatar_overlay.svg</file>
+        <file>images/FontAwesome.otf</file>
+        <file>images/logo-jami-standard-coul.png</file>
+        <file>images/qrcode.png</file>
+        <file>images/jami.ico</file>
+        <file>images/jami.png</file>
+        <file>images/waiting.gif</file>
+        <file>images/icons/ic_add_black_18dp_2x.png</file>
+        <file>images/icons/ic_arrow_back_24px.svg</file>
+        <file>images/icons/ic_arrow_back_white_24dp.png</file>
+        <file>images/icons/ic_arrow_drop_down_black_9dp_2x.png</file>
+        <file>images/icons/ic_arrow_drop_down_black_18dp_2x.png</file>
+        <file>images/icons/ic_arrow_drop_up_black_9dp_2x.png</file>
+        <file>images/icons/ic_arrow_drop_up_black_18dp_2x.png</file>
+        <file>images/icons/ic_arrow_forward_white_48dp_2x.png</file>
+        <file>images/icons/ic_arrow_tab_next_black_9dp_2x.png</file>
+        <file>images/icons/ic_arrow_tab_previous_black_9dp_2x.png</file>
+        <file>images/icons/ic_block_24px.svg</file>
+        <file>images/icons/ic_call_transfer_white_24px.png</file>
+        <file>images/icons/ic_chat_black_24dp_2x.png</file>
+        <file>images/icons/ic_chat_white_24dp.png</file>
+        <file>images/icons/ic_check_white_18dp_2x.png</file>
+        <file>images/icons/ic_clear_24px.svg</file>
+        <file>images/icons/ic_close_white_24dp.png</file>
+        <file>images/icons/ic_content_copy_white_24dp.png</file>
+        <file>images/icons/ic_delete_black_18dp_2x.png</file>
+        <file>images/icons/ic_done_white_24dp.png</file>
+        <file>images/icons/ic_folder_black_18dp_2x.png</file>
+        <file>images/icons/ic_group_add_white_24dp.png</file>
+        <file>images/icons/ic_high_quality_white_24dp.png</file>
+        <file>images/icons/ic_mic_off_white_24dp.png</file>
+        <file>images/icons/ic_pause_white_24dp.png</file>
+        <file>images/icons/ic_pause_white_100px.png</file>
+        <file>images/icons/ic_person_add_black_24dp_2x.png</file>
+        <file>images/icons/ic_person_add_white_24dp.png</file>
+        <file>images/icons/ic_phone_24px.svg</file>
+        <file>images/icons/ic_photo_camera_white_24dp_2x.png</file>
+        <file>images/icons/ic_search_black_18dp_2x.png</file>
+        <file>images/icons/ic_send_24px.svg</file>
+        <file>images/icons/ic_send_white_24dp.png</file>
+        <file>images/icons/ic_settings_white_48dp_2x.png</file>
+        <file>images/icons/ic_share_black_48dp_2x.png</file>
+        <file>images/icons/ic_video_call_24px.svg</file>
+        <file>images/icons/ic_videocam_off_white_24dp.png</file>
+        <file>images/icons/ic_videocam_white.png</file>
+        <file>images/icons/ic_voicemail_white_24dp_2x.png</file>
+        <file>images/icons/round-add-24px.svg</file>
+        <file>images/icons/round-arrow_drop_down-24px.svg</file>
+        <file>images/icons/round-arrow_drop_up-24px.svg</file>
+        <file>images/icons/round-arrow_right-24px.svg</file>
+        <file>images/icons/round-close-24px.svg</file>
+        <file>images/icons/round-edit-24px.svg</file>
+        <file>images/icons/round-folder-24px.svg</file>
+        <file>images/icons/round-remove_circle-24px.svg</file>
+        <file>images/icons/round-settings-24px.svg</file>
+        <file>images/icons/round-undo-24px.svg</file>
+        <file>web/chatview.css</file>
+        <file>web/chatview.html</file>
+        <file>web/chatview.js</file>
+        <file>web/linkify.js</file>
+        <file>web/linkify-html.js</file>
+        <file>web/linkify-string.js</file>
+        <file>web/qwebchannel.js</file>
+        <file>images/icons/round-check_circle-24px.svg</file>
+        <file>images/icons/round-error-24px.svg</file>
+        <file>images/icons/round-save_alt-24px.svg</file>
+        <file>images/jami_eclipse_spinner.gif</file>
+        <file>images/icons/ic_hide_password.png</file>
+        <file>images/icons/ic_show_password.png</file>
+        <file>images/icons/baseline-desktop_windows-24px.svg</file>
+        <file>images/icons/baseline-people-24px.svg</file>
+        <file>images/icons/round-add_a_photo-24px.svg</file>
+        <file>images/icons/ic_mic_white_24dp.png</file>
+    </qresource>
 </RCC>
diff --git a/ring-client-windows.vcxproj b/ring-client-windows.vcxproj
index 6722e76..21fbdf4 100644
--- a/ring-client-windows.vcxproj
+++ b/ring-client-windows.vcxproj
@@ -688,6 +688,9 @@
   <ItemGroup>
     <ResourceCompile Include="ico.rc" />
   </ItemGroup>
+  <ItemGroup>
+    <Image Include="images\icons\ic_mic_white_24dp.png" />
+  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')">
     <Import Project="$(QtMsBuild)\qt.targets" />
diff --git a/ring-client-windows.vcxproj.filters b/ring-client-windows.vcxproj.filters
index a3e8091..f46f7a8 100644
--- a/ring-client-windows.vcxproj.filters
+++ b/ring-client-windows.vcxproj.filters
@@ -787,4 +787,9 @@
       <Filter>Header Files</Filter>
     </ClInclude>
   </ItemGroup>
+  <ItemGroup>
+    <Image Include="images\icons\ic_mic_white_24dp.png">
+      <Filter>Resource Files</Filter>
+    </Image>
+  </ItemGroup>
 </Project>
\ No newline at end of file
diff --git a/videooverlay.cpp b/videooverlay.cpp
index 06a1378..656522a 100644
--- a/videooverlay.cpp
+++ b/videooverlay.cpp
@@ -36,12 +36,10 @@ VideoOverlay::VideoOverlay(QWidget* parent) :
 
     ui->chatButton->setCheckable(true);
 
-    setAttribute(Qt::WA_NoSystemBackground);
-
-    ui->noMicButton->setCheckable(true);
-
     ui->onHoldLabel->setVisible(false);
 
+    setAttribute(Qt::WA_NoSystemBackground);
+
     ui->recButton->setVisible(false);
 }
 
@@ -146,30 +144,24 @@ VideoOverlay::on_holdButton_clicked()
 }
 
 void
-VideoOverlay::on_noMicButton_clicked()
+VideoOverlay::on_noMicButton_toggled(bool checked)
 {
-    auto selectedConvUid = LRCInstance::getSelectedConvUid();
-    auto conversation = Utils::getConversationFromUid(selectedConvUid,
-        *LRCInstance::getCurrentConversationModel());
-    auto& callId = conversation->callId;
+    bool btn_status = false;
     auto callModel = LRCInstance::getCurrentCallModel();
-    if (callModel->hasCall(callId)) {
-        ui->noMicButton->setChecked(callModel->getCall(callId).audioMuted);
-        callModel->toggleMedia(callId, lrc::api::NewCallModel::Media::AUDIO);
+    if (callModel->hasCall(callId_)) {
+        callModel->toggleMedia(callId_, lrc::api::NewCallModel::Media::AUDIO);
+        btn_status = callModel->getCall(callId_).audioMuted;
     }
 }
 
 void
-VideoOverlay::on_noVideoButton_clicked()
+VideoOverlay::on_noVideoButton_toggled(bool checked)
 {
-    auto selectedConvUid = LRCInstance::getSelectedConvUid();
-    auto conversation = Utils::getConversationFromUid(selectedConvUid,
-        *LRCInstance::getCurrentConversationModel());
-    auto& callId = conversation->callId;
+    bool btn_status = false;
     auto callModel = LRCInstance::getCurrentCallModel();
-    if (callModel->hasCall(callId)) {
-        ui->noVideoButton->setChecked(callModel->getCall(callId).videoMuted);
-        callModel->toggleMedia(callId, lrc::api::NewCallModel::Media::VIDEO);
+    if (callModel->hasCall(callId_)) {
+        callModel->toggleMedia(callId_, lrc::api::NewCallModel::Media::VIDEO);
+        btn_status = callModel->getCall(callId_).videoMuted;
     }
 }
 
diff --git a/videooverlay.h b/videooverlay.h
index 2bed530..c59475d 100644
--- a/videooverlay.h
+++ b/videooverlay.h
@@ -50,8 +50,8 @@ private slots:
     void on_hangupButton_clicked();
     void on_chatButton_toggled(bool checked);
     void on_holdButton_clicked();
-    void on_noMicButton_clicked();
-    void on_noVideoButton_clicked();
+    void on_noMicButton_toggled(bool checked);
+    void on_noVideoButton_toggled(bool checked);
     void on_recButton_clicked();
 
 private:
diff --git a/videooverlay.ui b/videooverlay.ui
index 567de50..984bbad 100644
--- a/videooverlay.ui
+++ b/videooverlay.ui
@@ -166,7 +166,10 @@
         </property>
         <property name="icon">
          <iconset resource="ressources.qrc">
-          <normaloff>:/images/icons/ic_mic_off_white_24dp.png</normaloff>:/images/icons/ic_mic_off_white_24dp.png</iconset>
+          <normaloff>:/images/icons/ic_mic_white_24dp.png</normaloff>
+          <normalon>:/images/icons/ic_mic_off_white_24dp.png</normalon>
+          <disabledoff>:/images/icons/ic_mic_off_white_24dp.png</disabledoff>
+          <disabledon>:/images/icons/ic_mic_off_white_24dp.png</disabledon>:/images/icons/ic_mic_white_24dp.png</iconset>
         </property>
         <property name="iconSize">
          <size>
@@ -207,7 +210,10 @@
         </property>
         <property name="icon">
          <iconset resource="ressources.qrc">
-          <normaloff>:/images/icons/ic_videocam_off_white_24dp.png</normaloff>:/images/icons/ic_videocam_off_white_24dp.png</iconset>
+          <normaloff>:/images/icons/ic_videocam_white.png</normaloff>
+          <normalon>:/images/icons/ic_videocam_off_white_24dp.png</normalon>
+          <disabledoff>:/images/icons/ic_videocam_off_white_24dp.png</disabledoff>
+          <disabledon>:/images/icons/ic_videocam_off_white_24dp.png</disabledon>:/images/icons/ic_videocam_white.png</iconset>
         </property>
         <property name="iconSize">
          <size>
-- 
GitLab