Commit 3aec3dc4 authored by Ronan Abhamon's avatar Ronan Abhamon

feat(ui/views/App/Calls/Incall): supports vu meter

parent 09a0c5df
......@@ -6,9 +6,9 @@
<defs></defs>
<g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="camera_off">
<path d="M20,40.3145406 C31.045695,40.3145406 40,31.3602356 40,20.3145406 C40,9.26884559 31.045695,0.314540582 20,0.314540582 C8.954305,0.314540582 0,9.26884559 0,20.3145406 C0,31.3602356 8.954305,40.3145406 20,40.3145406 Z" fill="#D0D8DE"></path>
<path d="M20,40.3145406 C31.045695,40.3145406 40,31.3602356 40,20.3145406 C40,9.26884559 31.045695,0.314540582 20,0.314540582 C8.954305,0.314540582 0,9.26884559 0,20.3145406 C0,31.3602356 8.954305,40.3145406 20,40.3145406 Z" fill="#96A6B1"></path>
<path d="M9,30.2917175 L28.1397841,11.3145406 L9,30.2917175 Z" stroke="#FFFFFF" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
<polygon stroke="#FFFFFF" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" points="24.8941594 26.3145406 24.8941594 21.6287855 30.7045152 25.9910443 30.7045152 14.6377075 24.8941594 19.0006251 24.8941594 14.3145406 9 14.3145406 9 26.167946 9.17456154 26.3145406"></polygon>
</g>
</g>
</svg>
\ No newline at end of file
</svg>
......@@ -6,7 +6,7 @@
<defs></defs>
<g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="camera_on">
<path d="M20,40 C31.045695,40 40,31.045695 40,20 C40,8.954305 31.045695,0 20,0 C8.954305,0 0,8.954305 0,20 C0,31.045695 8.954305,40 20,40 Z" fill="#D0D8DE"></path>
<path d="M20,40 C31.045695,40 40,31.045695 40,20 C40,8.954305 31.045695,0 20,0 C8.954305,0 0,8.954305 0,20 C0,31.045695 8.954305,40 20,40 Z" fill="#96A6B1"></path>
<polygon stroke="#FFFFFF" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" points="24.8941594 26 24.8941594 21.3142449 30.7045152 25.6765037 30.7045152 14.3231669 24.8941594 18.6860845 24.8941594 14 9 14 9 25.8534054 9.17456154 26"></polygon>
</g>
</g>
......
<?xml version="1.0" encoding="UTF-8"?>
<svg width="40px" height="40px" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 41 (35326) - http://www.bohemiancoding.com/sketch -->
<title>chat_on</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="chat_on">
<path d="M20,40 C31.045695,40 40,31.045695 40,20 C40,8.954305 31.045695,0 20,0 C8.954305,0 0,8.954305 0,20 C0,31.045695 8.954305,40 20,40 Z" fill="#4B5964"></path>
<g id="chat_icon" transform="translate(11.000000, 11.000000)" stroke-width="1.5" stroke="#FFFFFF" stroke-linecap="round" stroke-linejoin="round">
<path d="M6.45514411,16.6653354 C6.45490676,16.6653354 3.61717822,19.6701782 0,18.8619676 C0,18.8619676 3.54193902,17.8269451 2.73827987,14.6957526 L2.71240897,14.5508779 C1.03459842,13.0064191 0,10.8924366 0,8.55995464 C0,3.83252839 4.25137115,0 9.49414345,0 C14.7371531,0 18.9880496,3.83252839 18.9880496,8.55995464 C18.9880496,13.2873809 14.7371531,17.1196718 9.49414345,17.1196718 C8.43082597,17.1196718 7.40904432,16.9626847 6.45466941,16.6719854 L6.45514411,16.6653354 L6.45514411,16.6653354 Z M5.07378077,7.04494575 L13.889822,7.04494575 L5.07378077,7.04494575 Z M5.07378077,10.0749635 L13.889822,10.0749635 L5.07378077,10.0749635 Z"></path>
</g>
</g>
</g>
</svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<svg width="40px" height="40px" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 41 (35326) - http://www.bohemiancoding.com/sketch -->
<title>chat_off</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="chat_off">
<path d="M20,40 C31.045695,40 40,31.045695 40,20 C40,8.954305 31.045695,0 20,0 C8.954305,0 0,8.954305 0,20 C0,31.045695 8.954305,40 20,40 Z" fill="#96A6B1"></path>
<g id="chat_icon" transform="translate(11.000000, 11.000000)" stroke-width="1.5" stroke="#FFFFFF" stroke-linecap="round" stroke-linejoin="round">
<path d="M6.45514411,16.6653354 C6.45490676,16.6653354 3.61717822,19.6701782 0,18.8619676 C0,18.8619676 3.54193902,17.8269451 2.73827987,14.6957526 L2.71240897,14.5508779 C1.03459842,13.0064191 0,10.8924366 0,8.55995464 C0,3.83252839 4.25137115,0 9.49414345,0 C14.7371531,0 18.9880496,3.83252839 18.9880496,8.55995464 C18.9880496,13.2873809 14.7371531,17.1196718 9.49414345,17.1196718 C8.43082597,17.1196718 7.40904432,16.9626847 6.45466941,16.6719854 L6.45514411,16.6653354 L6.45514411,16.6653354 Z M5.07378077,7.04494575 L13.889822,7.04494575 L5.07378077,7.04494575 Z M5.07378077,10.0749635 L13.889822,10.0749635 L5.07378077,10.0749635 Z"></path>
</g>
</g>
</g>
</svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<svg width="40px" height="40px" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 41 (35326) - http://www.bohemiancoding.com/sketch -->
<title>chat_on_off_clic</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="chat_on_off_clic">
<path d="M20,40 C31.045695,40 40,31.045695 40,20 C40,8.954305 31.045695,0 20,0 C8.954305,0 0,8.954305 0,20 C0,31.045695 8.954305,40 20,40 Z" id="chat_clic" fill="#FF5E00"></path>
<g id="chat_icon" transform="translate(11.000000, 11.000000)" stroke-width="1.5" stroke="#FFFFFF" stroke-linecap="round" stroke-linejoin="round">
<path d="M6.45514411,16.6653354 C6.45490676,16.6653354 3.61717822,19.6701782 0,18.8619676 C0,18.8619676 3.54193902,17.8269451 2.73827987,14.6957526 L2.71240897,14.5508779 C1.03459842,13.0064191 0,10.8924366 0,8.55995464 C0,3.83252839 4.25137115,0 9.49414345,0 C14.7371531,0 18.9880496,3.83252839 18.9880496,8.55995464 C18.9880496,13.2873809 14.7371531,17.1196718 9.49414345,17.1196718 C8.43082597,17.1196718 7.40904432,16.9626847 6.45466941,16.6719854 L6.45514411,16.6653354 L6.45514411,16.6653354 Z M5.07378077,7.04494575 L13.889822,7.04494575 L5.07378077,7.04494575 Z M5.07378077,10.0749635 L13.889822,10.0749635 L5.07378077,10.0749635 Z"></path>
</g>
</g>
</g>
</svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<svg width="40px" height="40px" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 41 (35326) - http://www.bohemiancoding.com/sketch -->
<title>chat_off</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="chat_off">
<path d="M20,40 C31.045695,40 40,31.045695 40,20 C40,8.954305 31.045695,0 20,0 C8.954305,0 0,8.954305 0,20 C0,31.045695 8.954305,40 20,40 Z" fill="#96A6B1"></path>
<g id="chat_icon" transform="translate(11.000000, 11.000000)" stroke-width="1.5" stroke="#FFFFFF" stroke-linecap="round" stroke-linejoin="round">
<path d="M6.45514411,16.6653354 C6.45490676,16.6653354 3.61717822,19.6701782 0,18.8619676 C0,18.8619676 3.54193902,17.8269451 2.73827987,14.6957526 L2.71240897,14.5508779 C1.03459842,13.0064191 0,10.8924366 0,8.55995464 C0,3.83252839 4.25137115,0 9.49414345,0 C14.7371531,0 18.9880496,3.83252839 18.9880496,8.55995464 C18.9880496,13.2873809 14.7371531,17.1196718 9.49414345,17.1196718 C8.43082597,17.1196718 7.40904432,16.9626847 6.45466941,16.6719854 L6.45514411,16.6653354 L6.45514411,16.6653354 Z M5.07378077,7.04494575 L13.889822,7.04494575 L5.07378077,7.04494575 Z M5.07378077,10.0749635 L13.889822,10.0749635 L5.07378077,10.0749635 Z"></path>
</g>
</g>
</g>
</svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<svg width="40px" height="40px" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 41 (35326) - http://www.bohemiancoding.com/sketch -->
<title>chat_on</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="chat_on">
<path d="M20,40 C31.045695,40 40,31.045695 40,20 C40,8.954305 31.045695,0 20,0 C8.954305,0 0,8.954305 0,20 C0,31.045695 8.954305,40 20,40 Z" fill="#4B5964"></path>
<g id="chat_icon" transform="translate(11.000000, 11.000000)" stroke-width="1.5" stroke="#FFFFFF" stroke-linecap="round" stroke-linejoin="round">
<path d="M6.45514411,16.6653354 C6.45490676,16.6653354 3.61717822,19.6701782 0,18.8619676 C0,18.8619676 3.54193902,17.8269451 2.73827987,14.6957526 L2.71240897,14.5508779 C1.03459842,13.0064191 0,10.8924366 0,8.55995464 C0,3.83252839 4.25137115,0 9.49414345,0 C14.7371531,0 18.9880496,3.83252839 18.9880496,8.55995464 C18.9880496,13.2873809 14.7371531,17.1196718 9.49414345,17.1196718 C8.43082597,17.1196718 7.40904432,16.9626847 6.45466941,16.6719854 L6.45514411,16.6653354 L6.45514411,16.6653354 Z M5.07378077,7.04494575 L13.889822,7.04494575 L5.07378077,7.04494575 Z M5.07378077,10.0749635 L13.889822,10.0749635 L5.07378077,10.0749635 Z"></path>
</g>
</g>
</g>
</svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<svg width="40px" height="40px" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 41 (35326) - http://www.bohemiancoding.com/sketch -->
<title>chat_on_off_clic</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="chat_on_off_clic">
<path d="M20,40 C31.045695,40 40,31.045695 40,20 C40,8.954305 31.045695,0 20,0 C8.954305,0 0,8.954305 0,20 C0,31.045695 8.954305,40 20,40 Z" id="chat_clic" fill="#FF5E00"></path>
<g id="chat_icon" transform="translate(11.000000, 11.000000)" stroke-width="1.5" stroke="#FFFFFF" stroke-linecap="round" stroke-linejoin="round">
<path d="M6.45514411,16.6653354 C6.45490676,16.6653354 3.61717822,19.6701782 0,18.8619676 C0,18.8619676 3.54193902,17.8269451 2.73827987,14.6957526 L2.71240897,14.5508779 C1.03459842,13.0064191 0,10.8924366 0,8.55995464 C0,3.83252839 4.25137115,0 9.49414345,0 C14.7371531,0 18.9880496,3.83252839 18.9880496,8.55995464 C18.9880496,13.2873809 14.7371531,17.1196718 9.49414345,17.1196718 C8.43082597,17.1196718 7.40904432,16.9626847 6.45466941,16.6719854 L6.45514411,16.6653354 L6.45514411,16.6653354 Z M5.07378077,7.04494575 L13.889822,7.04494575 L5.07378077,7.04494575 Z M5.07378077,10.0749635 L13.889822,10.0749635 L5.07378077,10.0749635 Z"></path>
</g>
</g>
</g>
</svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<svg width="40px" height="40px" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 41 (35326) - http://www.bohemiancoding.com/sketch -->
<title>speaker_on</title>
<title>speaker_off</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="speaker_on">
<path d="M20,40 C31.045695,40 40,31.045695 40,20 C40,8.954305 31.045695,0 20,0 C8.954305,0 0,8.954305 0,20 C0,31.045695 8.954305,40 20,40 Z" fill="#4B5964"></path>
<g id="speaker_off">
<path d="M20,40 C31.045695,40 40,31.045695 40,20 C40,8.954305 31.045695,0 20,0 C8.954305,0 0,8.954305 0,20 C0,31.045695 8.954305,40 20,40 Z" fill="#96A6B1"></path>
<path d="M10.1559954,23.7737278 L15.8840871,23.7737278 L22.3361811,29 L22.3361811,11 L15.8840871,16.2259714 L10,16.2259714 L10,23.7737278 L10.1559954,23.7737278 L10.1559954,23.7737278 Z M25.5099238,21.7675107 C26.548364,20.7459012 26.548364,19.0898471 25.5099238,18.0688393 M27.9740401,23.254199 C29.8472089,21.4119328 29.8475148,18.4241163 27.9740401,16.5818501" stroke="#FFFFFF" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
<path d="M10,29.8313182 L29.1397841,10.8541412 L10,29.8313182 Z" stroke="#FFFFFF" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
</g>
</g>
</svg>
\ No newline at end of file
</svg>
......@@ -6,9 +6,9 @@
<defs></defs>
<g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="speaker_off">
<path d="M20,40 C31.045695,40 40,31.045695 40,20 C40,8.954305 31.045695,0 20,0 C8.954305,0 0,8.954305 0,20 C0,31.045695 8.954305,40 20,40 Z" fill="#D0D8DE"></path>
<path d="M20,40 C31.045695,40 40,31.045695 40,20 C40,8.954305 31.045695,0 20,0 C8.954305,0 0,8.954305 0,20 C0,31.045695 8.954305,40 20,40 Z" fill="#4B5964"></path>
<path d="M10.1559954,23.7737278 L15.8840871,23.7737278 L22.3361811,29 L22.3361811,11 L15.8840871,16.2259714 L10,16.2259714 L10,23.7737278 L10.1559954,23.7737278 L10.1559954,23.7737278 Z M25.5099238,21.7675107 C26.548364,20.7459012 26.548364,19.0898471 25.5099238,18.0688393 M27.9740401,23.254199 C29.8472089,21.4119328 29.8475148,18.4241163 27.9740401,16.5818501" stroke="#FFFFFF" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
<path d="M10,29.8313182 L29.1397841,10.8541412 L10,29.8313182 Z" stroke="#FFFFFF" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
</g>
</g>
</svg>
\ No newline at end of file
</svg>
<?xml version="1.0" encoding="UTF-8"?>
<svg width="40px" height="40px" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 41 (35326) - http://www.bohemiancoding.com/sketch -->
<title>speaker_on_clic</title>
<title>speaker_off_clic</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="speaker_on_clic">
<g id="speaker_off_clic">
<path d="M20,40 C31.045695,40 40,31.045695 40,20 C40,8.954305 31.045695,0 20,0 C8.954305,0 0,8.954305 0,20 C0,31.045695 8.954305,40 20,40 Z" fill="#FF5E00"></path>
<path d="M10.1559954,23.7737278 L15.8840871,23.7737278 L22.3361811,29 L22.3361811,11 L15.8840871,16.2259714 L10,16.2259714 L10,23.7737278 L10.1559954,23.7737278 L10.1559954,23.7737278 Z M25.5099238,21.7675107 C26.548364,20.7459012 26.548364,19.0898471 25.5099238,18.0688393 M27.9740401,23.254199 C29.8472089,21.4119328 29.8475148,18.4241163 27.9740401,16.5818501" stroke="#FFFFFF" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
<path d="M10,29.8313182 L29.1397841,10.8541412 L10,29.8313182 Z" stroke="#FFFFFF" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
</g>
</g>
</svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<svg width="40px" height="40px" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 41 (35326) - http://www.bohemiancoding.com/sketch -->
<title>speaker_off</title>
<title>speaker_on</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="speaker_off">
<path d="M20,40 C31.045695,40 40,31.045695 40,20 C40,8.954305 31.045695,0 20,0 C8.954305,0 0,8.954305 0,20 C0,31.045695 8.954305,40 20,40 Z" fill="#D0D8DE"></path>
<g id="speaker_on">
<path d="M20,40 C31.045695,40 40,31.045695 40,20 C40,8.954305 31.045695,0 20,0 C8.954305,0 0,8.954305 0,20 C0,31.045695 8.954305,40 20,40 Z" fill="#96A6B1"></path>
<path d="M10.1559954,23.7737278 L15.8840871,23.7737278 L22.3361811,29 L22.3361811,11 L15.8840871,16.2259714 L10,16.2259714 L10,23.7737278 L10.1559954,23.7737278 L10.1559954,23.7737278 Z M25.5099238,21.7675107 C26.548364,20.7459012 26.548364,19.0898471 25.5099238,18.0688393 M27.9740401,23.254199 C29.8472089,21.4119328 29.8475148,18.4241163 27.9740401,16.5818501" stroke="#FFFFFF" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
<path d="M10,29.8313182 L29.1397841,10.8541412 L10,29.8313182 Z" stroke="#FFFFFF" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
</g>
</g>
</svg>
\ No newline at end of file
</svg>
<?xml version="1.0" encoding="UTF-8"?>
<svg width="40px" height="40px" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 41 (35326) - http://www.bohemiancoding.com/sketch -->
<title>speaker_off_clic</title>
<title>speaker_on_clic</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="speaker_off_clic">
<g id="speaker_on_clic">
<path d="M20,40 C31.045695,40 40,31.045695 40,20 C40,8.954305 31.045695,0 20,0 C8.954305,0 0,8.954305 0,20 C0,31.045695 8.954305,40 20,40 Z" fill="#FF5E00"></path>
<path d="M10.1559954,23.7737278 L15.8840871,23.7737278 L22.3361811,29 L22.3361811,11 L15.8840871,16.2259714 L10,16.2259714 L10,23.7737278 L10.1559954,23.7737278 L10.1559954,23.7737278 Z M25.5099238,21.7675107 C26.548364,20.7459012 26.548364,19.0898471 25.5099238,18.0688393 M27.9740401,23.254199 C29.8472089,21.4119328 29.8475148,18.4241163 27.9740401,16.5818501" stroke="#FFFFFF" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
<path d="M10,29.8313182 L29.1397841,10.8541412 L10,29.8313182 Z" stroke="#FFFFFF" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
</g>
</g>
</svg>
\ No newline at end of file
......@@ -43,12 +43,6 @@
<file>assets/images/chat_error.svg</file>
<file>assets/images/chat_hovered.svg</file>
<file>assets/images/chat_normal.svg</file>
<file>assets/images/chat_off_hovered.svg</file>
<file>assets/images/chat_off_normal.svg</file>
<file>assets/images/chat_off_pressed.svg</file>
<file>assets/images/chat_on_hovered.svg</file>
<file>assets/images/chat_on_normal.svg</file>
<file>assets/images/chat_on_pressed.svg</file>
<file>assets/images/chat_pressed.svg</file>
<file>assets/images/chat_send.svg</file>
<file>assets/images/chevron_green.svg</file>
......@@ -212,6 +206,7 @@
<file>ui/modules/Common/Helpers/InvertedMouseArea.qml</file>
<file>ui/modules/Common/Image/Icon.qml</file>
<file>ui/modules/Common/Image/RoundedImage.qml</file>
<file>ui/modules/Common/Indicators/VuMeter.qml</file>
<file>ui/modules/Common/Menus/ActionMenuEntry.qml</file>
<file>ui/modules/Common/Menus/ActionMenu.qml</file>
<file>ui/modules/Common/Menus/Menu.qml</file>
......@@ -252,6 +247,7 @@
<file>ui/modules/Common/Styles/Form/Tab/TabButtonStyle.qml</file>
<file>ui/modules/Common/Styles/Form/Tab/TabContainerStyle.qml</file>
<file>ui/modules/Common/Styles/Form/TransparentTextInputStyle.qml</file>
<file>ui/modules/Common/Styles/Indicators/VuMeterStyle.qml</file>
<file>ui/modules/Common/Styles/Menus/ActionMenuStyle.qml</file>
<file>ui/modules/Common/Styles/Menus/MenuStyle.qml</file>
<file>ui/modules/Common/Styles/Misc/CollapseStyle.qml</file>
......
......@@ -255,6 +255,8 @@ CallModel::CallStatus CallModel::getStatus () const {
return m_linphone_call->getDir() == linphone::CallDirIncoming ? CallStatusIncoming : CallStatusOutgoing;
}
// -----------------------------------------------------------------------------
int CallModel::getDuration () const {
return m_linphone_call->getDuration();
}
......@@ -263,6 +265,30 @@ float CallModel::getQuality () const {
return m_linphone_call->getCurrentQuality();
}
// -----------------------------------------------------------------------------
#define VU_MIN (-20.f)
#define VU_MAX (4.f)
inline float computeVu (float volume) {
if (volume < VU_MIN)
return 0.f;
if (volume > VU_MAX)
return 1.f;
return (volume - VU_MIN) / (VU_MAX - VU_MIN);
}
float CallModel::getMicroVu () const {
return computeVu(m_linphone_call->getRecordVolume());
}
float CallModel::getSpeakerVu () const {
return computeVu(m_linphone_call->getPlayVolume());
}
// -----------------------------------------------------------------------------
bool CallModel::getMicroMuted () const {
return !CoreManager::getInstance()->getCore()->micEnabled();
}
......@@ -276,6 +302,8 @@ void CallModel::setMicroMuted (bool status) {
}
}
// -----------------------------------------------------------------------------
bool CallModel::getPausedByUser () const {
return m_paused_by_user;
}
......@@ -301,6 +329,8 @@ void CallModel::setPausedByUser (bool status) {
m_linphone_call->resume();
}
// -----------------------------------------------------------------------------
bool CallModel::getVideoEnabled () const {
shared_ptr<linphone::CallParams> params = m_linphone_call->getCurrentParams();
return params && params->videoEnabled() && getStatus() == CallStatusConnected;
......@@ -324,6 +354,8 @@ void CallModel::setVideoEnabled (bool status) {
m_linphone_call->update(params);
}
// -----------------------------------------------------------------------------
bool CallModel::getUpdating () const {
switch (m_linphone_call->getState()) {
case linphone::CallStateConnected:
......
......@@ -35,8 +35,12 @@ class CallModel : public QObject {
Q_PROPERTY(CallStatus status READ getStatus NOTIFY statusChanged);
Q_PROPERTY(bool isOutgoing READ isOutgoing CONSTANT);
Q_PROPERTY(int duration READ getDuration CONSTANT); // Constant but called with a timer in qml.
Q_PROPERTY(float quality READ getQuality CONSTANT); // Same idea.
Q_PROPERTY(int duration READ getDuration CONSTANT); // Constants but called with a timer in qml.
Q_PROPERTY(float quality READ getQuality CONSTANT);
Q_PROPERTY(float microVu READ getMicroVu CONSTANT);
Q_PROPERTY(float speakerVu READ getSpeakerVu CONSTANT);
Q_PROPERTY(bool microMuted READ getMicroMuted WRITE setMicroMuted NOTIFY microMutedChanged);
Q_PROPERTY(bool pausedByUser READ getPausedByUser WRITE setPausedByUser NOTIFY statusChanged);
......@@ -97,6 +101,8 @@ private:
int getDuration () const;
float getQuality () const;
float getMicroVu () const;
float getSpeakerVu () const;
bool getMicroMuted () const;
void setMicroMuted (bool status);
......
import QtQuick 2.7
import QtQuick.Controls 2.0
import Common.Styles 1.0
// =============================================================================
Column {
id: vuMeter
property bool enabled: true
property double value: 0
height: VuMeterStyle.height
width: VuMeterStyle.width
// ---------------------------------------------------------------------------
ProgressBar {
id: high
height: parent.height * 0.25
width: parent.width
from: 0.75
to: 1.0
value: parent.value
background: Rectangle {
color: vuMeter.enabled
? VuMeterStyle.high.background.color.enabled
: VuMeterStyle.high.background.color.disabled
}
contentItem: Item {
Rectangle {
anchors.bottom: parent.bottom
color: VuMeterStyle.high.contentItem.color
height: high.visualPosition * parent.height
width: parent.width
visible: vuMeter.enabled
}
}
}
ProgressBar {
id: low
height: parent.height * 0.75
width: parent.width
from: 0
to: 0.75
value: parent.value
background: Rectangle {
color: vuMeter.enabled
? VuMeterStyle.low.background.color.enabled
: VuMeterStyle.low.background.color.disabled
}
contentItem: Item {
Rectangle {
anchors.bottom: parent.bottom
color: VuMeterStyle.low.contentItem.color
height: low.visualPosition * parent.height
width: parent.width
visible: vuMeter.enabled
}
}
}
}
pragma Singleton
import QtQuick 2.7
import Common 1.0
// =============================================================================
QtObject {
property int height: 40
property int width: 5
property QtObject high: QtObject {
property QtObject background: QtObject {
property QtObject color: QtObject {
property color disabled: Colors.y
property color enabled: Colors.x
}
}
property QtObject contentItem: QtObject {
property color color: Colors.s
}
}
property QtObject low: QtObject {
property QtObject background: QtObject {
property QtObject color: QtObject {
property color disabled: Colors.y
property color enabled: Colors.x
}
}
property QtObject contentItem: QtObject {
property color color: Colors.j
}
}
}
......@@ -38,6 +38,8 @@ singleton FormVGroupStyle 1.0 Form/Placements/FormVGroupStyle.qml
singleton TabButtonStyle 1.0 Form/Tab/TabButtonStyle.qml
singleton TabContainerStyle 1.0 Form/Tab/TabContainerStyle.qml
singleton VuMeterStyle 1.0 Indicators/VuMeterStyle.qml
singleton ActionMenuStyle 1.0 Menus/ActionMenuStyle.qml
singleton MenuStyle 1.0 Menus/MenuStyle.qml
......
......@@ -33,6 +33,7 @@ ListView {
// ---------------------------------------------------------------------------
// TODO: Find a solution at this bug => https://bugreports.qt.io/browse/QTBUG-31573
SequentialAnimation {
id: scrollAnimation
......
......@@ -56,6 +56,8 @@ InvertedMouseArea 1.0 Helpers/InvertedMouseArea.qml
Icon 1.0 Image/Icon.qml
RoundedImage 1.0 Image/RoundedImage.qml
VuMeter 1.0 Indicators/VuMeter.qml
ActionMenu 1.0 Menus/ActionMenu.qml
ActionMenuEntry 1.0 Menus/ActionMenuEntry.qml
Menu 1.0 Menus/Menu.qml
......
......@@ -28,19 +28,6 @@ function clearTimeout (timer) {
// -----------------------------------------------------------------------------
// Connect a signal to a function only for one call.
function connectOnce (signal, cb) {
var func = function () {
signal.disconnect(func)
cb.apply(this, arguments)
}
signal.connect(func)
return func
}
// -----------------------------------------------------------------------------
function encodeTextToQmlRichFormat (text, options) {
var images = ''
......
......@@ -286,24 +286,68 @@ Rectangle {
verticalCenter: parent.verticalCenter
}
rowSpacing: ActionBarStyle.spacing
columns: incall.width < CallStyle.actionArea.lowWidth ? 2 : 4
rowSpacing: ActionBarStyle.spacing
ActionSwitch {
enabled: !call.microMuted
icon: 'micro'
iconSize: CallStyle.actionArea.iconSize
Row {
spacing: CallStyle.actionArea.vu.spacing
VuMeter {
Timer {
interval: 50
repeat: true
running: micro.enabled
onTriggered: parent.value = call.microVu
}
onClicked: call.microMuted = enabled
enabled: micro.enabled
}
ActionSwitch {
id: micro
enabled: !call.microMuted
icon: 'micro'
iconSize: CallStyle.actionArea.iconSize
onClicked: call.microMuted = enabled
}
}
Row {
spacing: CallStyle.actionArea.vu.spacing
VuMeter {
Timer {
interval: 50
repeat: true
running: speaker.enabled
onTriggered: parent.value = call.speakerVu
}
enabled: speaker.enabled
}
ActionSwitch {
id: speaker
enabled: true
icon: 'speaker'
iconSize: CallStyle.actionArea.iconSize
onClicked: console.log('TODO')
}
}
ActionSwitch {
enabled: !call.videoEnabled
enabled: call.videoEnabled
icon: 'camera'
iconSize: CallStyle.actionArea.iconSize
updating: call.updating
onClicked: call.videoEnabled = enabled
onClicked: call.videoEnabled = !enabled
}
ActionButton {
......@@ -360,12 +404,11 @@ Rectangle {
onClicked: call.terminate()
}
ActionSwitch {
enabled: window.chatIsOpened
ActionButton {
icon: 'chat'
onClicked: {
if (enabled) {
if (window.chatIsOpened) {
window.closeChat()
} else {
window.openChat()
......
......@@ -211,12 +211,56 @@ Window {
rowSpacing: ActionBarStyle.spacing
ActionSwitch {
enabled: !call.microMuted
icon: 'micro'
iconSize: CallStyle.actionArea.iconSize
Row {
spacing: CallStyle.actionArea.vu.spacing
VuMeter {
Timer {
interval: 50
repeat: true
running: micro.enabled
onTriggered: parent.value = call.microVu
}
enabled: micro.enabled
}
ActionSwitch {
id: micro
enabled: !call.microMuted
icon: 'micro'
iconSize: CallStyle.actionArea.iconSize
onClicked: call.microMuted = enabled
onClicked: call.microMuted = enabled
}
}
Row {
spacing: CallStyle.actionArea.vu.spacing
VuMeter {
Timer {
interval: 50
repeat: true
running: speaker.enabled
onTriggered: parent.value = call.speakerVu
}
enabled: speaker.enabled
}
ActionSwitch {
id: speaker
enabled: true
icon: 'speaker'
iconSize: CallStyle.actionArea.iconSize
onClicked: console.log('TODO')
}
}
ActionSwitch {
......
......@@ -12,13 +12,17 @@ QtObject {
property int height: 100
property int iconSize: 40
property int leftButtonsGroupMargin: 50
property int lowWidth: 515
property int lowWidth: 650
property int rightButtonsGroupMargin: 50
property QtObject userVideo: QtObject {
property int height: 90
property int width: 130
}
property QtObject vu: QtObject {
property int spacing: 5
}
}
property QtObject container: QtObject {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment