mirror of
https://gitlab.linphone.org/BC/public/linphone-desktop.git
synced 2026-01-17 11:28:07 +00:00
Options to set default video conference layout and camera mode.
Make OccupyAllSpace as default for Camera mode. Remove closing preview feature.
This commit is contained in:
parent
bdcef22069
commit
b555c27f43
22 changed files with 884 additions and 180 deletions
|
|
@ -3030,6 +3030,46 @@ Klik her: <a href="%1">%1</a>
|
|||
<source>videoSettingsInCallWarning</source>
|
||||
<translation>Videoopkald i gang: Nogle indstillinger er ikke tilgængelige.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoDisplayTitle</source>
|
||||
<extracomment>'Video display' : Title for display parameters</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoModeLabel</source>
|
||||
<extracomment>'Camera mode' : Label to choose a camera mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoHybrid</source>
|
||||
<extracomment>'Hybrid' : Hybrid mode for camera.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoOccupyAllSpace</source>
|
||||
<extracomment>'Occupy all space' : Camera mode for a centered cropping view.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoBlackBars</source>
|
||||
<extracomment>'Black bars' : Camera mode for a fit view with black bars to keep ratio.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoLayout</source>
|
||||
<extracomment>'Default video layout' : Label to choose the default layout in video conference.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoActiveSpeakerLayout</source>
|
||||
<extracomment>'Active speaker' : Active speaker layout for video conference.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoMosaicLayout</source>
|
||||
<extracomment>'Mosaic' : Mosaic layout invideo conference.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsVideoPreview</name>
|
||||
|
|
|
|||
|
|
@ -3030,6 +3030,46 @@ Klicken Sie hier: <a href="%1">%1</a>
|
|||
<source>videoSettingsInCallWarning</source>
|
||||
<translation>Videoanruf wird ausgeführt: Einige Einstellungen sind nicht verfügbar.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoDisplayTitle</source>
|
||||
<extracomment>'Video display' : Title for display parameters</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoModeLabel</source>
|
||||
<extracomment>'Camera mode' : Label to choose a camera mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoHybrid</source>
|
||||
<extracomment>'Hybrid' : Hybrid mode for camera.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoOccupyAllSpace</source>
|
||||
<extracomment>'Occupy all space' : Camera mode for a centered cropping view.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoBlackBars</source>
|
||||
<extracomment>'Black bars' : Camera mode for a fit view with black bars to keep ratio.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoLayout</source>
|
||||
<extracomment>'Default video layout' : Label to choose the default layout in video conference.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoActiveSpeakerLayout</source>
|
||||
<extracomment>'Active speaker' : Active speaker layout for video conference.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoMosaicLayout</source>
|
||||
<extracomment>'Mosaic' : Mosaic layout invideo conference.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsVideoPreview</name>
|
||||
|
|
|
|||
|
|
@ -3053,6 +3053,46 @@ Click here: <a href="%1">%1</a>
|
|||
<source>videoSettingsInCallWarning</source>
|
||||
<translation>Video call in progress: some settings are not available.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoDisplayTitle</source>
|
||||
<extracomment>'Video display' : Title for display parameters</extracomment>
|
||||
<translation>Video display</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoModeLabel</source>
|
||||
<extracomment>'Camera mode' : Label to choose a camera mode.</extracomment>
|
||||
<translation>Camera mode</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoHybrid</source>
|
||||
<extracomment>'Hybrid' : Hybrid mode for camera.</extracomment>
|
||||
<translation>Hybrid</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoOccupyAllSpace</source>
|
||||
<extracomment>'Occupy all space' : Camera mode for a centered cropping view.</extracomment>
|
||||
<translation>Occupy all space</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoBlackBars</source>
|
||||
<extracomment>'Black bars' : Camera mode for a fit view with black bars to keep ratio.</extracomment>
|
||||
<translation>Black bars</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoLayout</source>
|
||||
<extracomment>'Default video layout' : Label to choose the default layout in video conference.</extracomment>
|
||||
<translation>Default video layout</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoActiveSpeakerLayout</source>
|
||||
<extracomment>'Active speaker' : Active speaker layout for video conference.</extracomment>
|
||||
<translation>Active speaker</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoMosaicLayout</source>
|
||||
<extracomment>'Mosaic' : Mosaic layout invideo conference.</extracomment>
|
||||
<translation>Mosaic</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsVideoPreview</name>
|
||||
|
|
|
|||
|
|
@ -3030,6 +3030,46 @@ Haga clic aquí: <a href="%1">%1 </a>
|
|||
<source>videoSettingsInCallWarning</source>
|
||||
<translation>Videollamada en curso: algunos ajustes no están disponibles.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoDisplayTitle</source>
|
||||
<extracomment>'Video display' : Title for display parameters</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoModeLabel</source>
|
||||
<extracomment>'Camera mode' : Label to choose a camera mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoHybrid</source>
|
||||
<extracomment>'Hybrid' : Hybrid mode for camera.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoOccupyAllSpace</source>
|
||||
<extracomment>'Occupy all space' : Camera mode for a centered cropping view.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoBlackBars</source>
|
||||
<extracomment>'Black bars' : Camera mode for a fit view with black bars to keep ratio.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoLayout</source>
|
||||
<extracomment>'Default video layout' : Label to choose the default layout in video conference.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoActiveSpeakerLayout</source>
|
||||
<extracomment>'Active speaker' : Active speaker layout for video conference.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoMosaicLayout</source>
|
||||
<extracomment>'Mosaic' : Mosaic layout invideo conference.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsVideoPreview</name>
|
||||
|
|
|
|||
|
|
@ -3030,6 +3030,46 @@ Cliquez ici : <a href="%1">%1</a>
|
|||
<source>videoSettingsInCallWarning</source>
|
||||
<translation>Appel vidéo en cours : certains paramètres ne sont pas disponibles.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoDisplayTitle</source>
|
||||
<extracomment>'Video display' : Title for display parameters</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoModeLabel</source>
|
||||
<extracomment>'Camera mode' : Label to choose a camera mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoHybrid</source>
|
||||
<extracomment>'Hybrid' : Hybrid mode for camera.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoOccupyAllSpace</source>
|
||||
<extracomment>'Occupy all space' : Camera mode for a centered cropping view.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoBlackBars</source>
|
||||
<extracomment>'Black bars' : Camera mode for a fit view with black bars to keep ratio.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoLayout</source>
|
||||
<extracomment>'Default video layout' : Label to choose the default layout in video conference.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoActiveSpeakerLayout</source>
|
||||
<extracomment>'Active speaker' : Active speaker layout for video conference.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoMosaicLayout</source>
|
||||
<extracomment>'Mosaic' : Mosaic layout invideo conference.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsVideoPreview</name>
|
||||
|
|
|
|||
|
|
@ -3017,6 +3017,46 @@ Kattintson ide: <a href="%1">%1</a>
|
|||
<source>videoSettingsInCallWarning</source>
|
||||
<translation>Videohívás folyamatban: egyes beállítások nem állnak rendelkezésre.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoDisplayTitle</source>
|
||||
<extracomment>'Video display' : Title for display parameters</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoModeLabel</source>
|
||||
<extracomment>'Camera mode' : Label to choose a camera mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoHybrid</source>
|
||||
<extracomment>'Hybrid' : Hybrid mode for camera.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoOccupyAllSpace</source>
|
||||
<extracomment>'Occupy all space' : Camera mode for a centered cropping view.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoBlackBars</source>
|
||||
<extracomment>'Black bars' : Camera mode for a fit view with black bars to keep ratio.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoLayout</source>
|
||||
<extracomment>'Default video layout' : Label to choose the default layout in video conference.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoActiveSpeakerLayout</source>
|
||||
<extracomment>'Active speaker' : Active speaker layout for video conference.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoMosaicLayout</source>
|
||||
<extracomment>'Mosaic' : Mosaic layout invideo conference.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsVideoPreview</name>
|
||||
|
|
|
|||
|
|
@ -3030,6 +3030,46 @@ Clicca: <a href="%1">%1</a>
|
|||
<source>videoSettingsInCallWarning</source>
|
||||
<translation>Videochiamata in corso: alcune impostazioni non sono disponibili.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoDisplayTitle</source>
|
||||
<extracomment>'Video display' : Title for display parameters</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoModeLabel</source>
|
||||
<extracomment>'Camera mode' : Label to choose a camera mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoHybrid</source>
|
||||
<extracomment>'Hybrid' : Hybrid mode for camera.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoOccupyAllSpace</source>
|
||||
<extracomment>'Occupy all space' : Camera mode for a centered cropping view.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoBlackBars</source>
|
||||
<extracomment>'Black bars' : Camera mode for a fit view with black bars to keep ratio.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoLayout</source>
|
||||
<extracomment>'Default video layout' : Label to choose the default layout in video conference.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoActiveSpeakerLayout</source>
|
||||
<extracomment>'Active speaker' : Active speaker layout for video conference.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoMosaicLayout</source>
|
||||
<extracomment>'Mosaic' : Mosaic layout invideo conference.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsVideoPreview</name>
|
||||
|
|
|
|||
|
|
@ -3017,6 +3017,46 @@
|
|||
<source>videoSettingsInCallWarning</source>
|
||||
<translation>ビデオ通話中:一部の設定が使用できません。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoDisplayTitle</source>
|
||||
<extracomment>'Video display' : Title for display parameters</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoModeLabel</source>
|
||||
<extracomment>'Camera mode' : Label to choose a camera mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoHybrid</source>
|
||||
<extracomment>'Hybrid' : Hybrid mode for camera.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoOccupyAllSpace</source>
|
||||
<extracomment>'Occupy all space' : Camera mode for a centered cropping view.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoBlackBars</source>
|
||||
<extracomment>'Black bars' : Camera mode for a fit view with black bars to keep ratio.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoLayout</source>
|
||||
<extracomment>'Default video layout' : Label to choose the default layout in video conference.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoActiveSpeakerLayout</source>
|
||||
<extracomment>'Active speaker' : Active speaker layout for video conference.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoMosaicLayout</source>
|
||||
<extracomment>'Mosaic' : Mosaic layout invideo conference.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsVideoPreview</name>
|
||||
|
|
|
|||
|
|
@ -3043,6 +3043,46 @@ Spustelėkite čia: <a href="%1">%1</a>
|
|||
<source>videoSettingsInCallWarning</source>
|
||||
<translation>Vyksta vaizdo skambutis: kai kurie nustatymai negalimi.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoDisplayTitle</source>
|
||||
<extracomment>'Video display' : Title for display parameters</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoModeLabel</source>
|
||||
<extracomment>'Camera mode' : Label to choose a camera mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoHybrid</source>
|
||||
<extracomment>'Hybrid' : Hybrid mode for camera.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoOccupyAllSpace</source>
|
||||
<extracomment>'Occupy all space' : Camera mode for a centered cropping view.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoBlackBars</source>
|
||||
<extracomment>'Black bars' : Camera mode for a fit view with black bars to keep ratio.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoLayout</source>
|
||||
<extracomment>'Default video layout' : Label to choose the default layout in video conference.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoActiveSpeakerLayout</source>
|
||||
<extracomment>'Active speaker' : Active speaker layout for video conference.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoMosaicLayout</source>
|
||||
<extracomment>'Mosaic' : Mosaic layout invideo conference.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsVideoPreview</name>
|
||||
|
|
|
|||
|
|
@ -3030,6 +3030,46 @@ Clique aqui: <a href="%1">%1 </a>
|
|||
<source>videoSettingsInCallWarning</source>
|
||||
<translation>Chamada de vídeo em andamento: algumas configurações não estão disponíveis.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoDisplayTitle</source>
|
||||
<extracomment>'Video display' : Title for display parameters</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoModeLabel</source>
|
||||
<extracomment>'Camera mode' : Label to choose a camera mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoHybrid</source>
|
||||
<extracomment>'Hybrid' : Hybrid mode for camera.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoOccupyAllSpace</source>
|
||||
<extracomment>'Occupy all space' : Camera mode for a centered cropping view.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoBlackBars</source>
|
||||
<extracomment>'Black bars' : Camera mode for a fit view with black bars to keep ratio.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoLayout</source>
|
||||
<extracomment>'Default video layout' : Label to choose the default layout in video conference.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoActiveSpeakerLayout</source>
|
||||
<extracomment>'Active speaker' : Active speaker layout for video conference.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoMosaicLayout</source>
|
||||
<extracomment>'Mosaic' : Mosaic layout invideo conference.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsVideoPreview</name>
|
||||
|
|
|
|||
|
|
@ -3043,6 +3043,46 @@
|
|||
<source>videoSettingsInCallWarning</source>
|
||||
<translation>Видеозвонок выполняется: некоторые настройки недоступны.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoDisplayTitle</source>
|
||||
<extracomment>'Video display' : Title for display parameters</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoModeLabel</source>
|
||||
<extracomment>'Camera mode' : Label to choose a camera mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoHybrid</source>
|
||||
<extracomment>'Hybrid' : Hybrid mode for camera.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoOccupyAllSpace</source>
|
||||
<extracomment>'Occupy all space' : Camera mode for a centered cropping view.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoBlackBars</source>
|
||||
<extracomment>'Black bars' : Camera mode for a fit view with black bars to keep ratio.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoLayout</source>
|
||||
<extracomment>'Default video layout' : Label to choose the default layout in video conference.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoActiveSpeakerLayout</source>
|
||||
<extracomment>'Active speaker' : Active speaker layout for video conference.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoMosaicLayout</source>
|
||||
<extracomment>'Mosaic' : Mosaic layout invideo conference.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsVideoPreview</name>
|
||||
|
|
|
|||
|
|
@ -3030,6 +3030,46 @@ Klicka här: <a href="%1">%1</a>
|
|||
<source>videoSettingsInCallWarning</source>
|
||||
<translation>Videosamtal pågår: vissa inställningar är inte tillgängliga.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoDisplayTitle</source>
|
||||
<extracomment>'Video display' : Title for display parameters</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoModeLabel</source>
|
||||
<extracomment>'Camera mode' : Label to choose a camera mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoHybrid</source>
|
||||
<extracomment>'Hybrid' : Hybrid mode for camera.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoOccupyAllSpace</source>
|
||||
<extracomment>'Occupy all space' : Camera mode for a centered cropping view.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoBlackBars</source>
|
||||
<extracomment>'Black bars' : Camera mode for a fit view with black bars to keep ratio.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoLayout</source>
|
||||
<extracomment>'Default video layout' : Label to choose the default layout in video conference.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoActiveSpeakerLayout</source>
|
||||
<extracomment>'Active speaker' : Active speaker layout for video conference.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoMosaicLayout</source>
|
||||
<extracomment>'Mosaic' : Mosaic layout invideo conference.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsVideoPreview</name>
|
||||
|
|
|
|||
|
|
@ -3017,6 +3017,46 @@ Buraya tıklayın: <a href="%1">%1</a>
|
|||
<source>videoSettingsInCallWarning</source>
|
||||
<translation>Görüntülü arama devam ediyor: bazı ayarlar mevcut değil.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoDisplayTitle</source>
|
||||
<extracomment>'Video display' : Title for display parameters</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoModeLabel</source>
|
||||
<extracomment>'Camera mode' : Label to choose a camera mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoHybrid</source>
|
||||
<extracomment>'Hybrid' : Hybrid mode for camera.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoOccupyAllSpace</source>
|
||||
<extracomment>'Occupy all space' : Camera mode for a centered cropping view.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoBlackBars</source>
|
||||
<extracomment>'Black bars' : Camera mode for a fit view with black bars to keep ratio.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoLayout</source>
|
||||
<extracomment>'Default video layout' : Label to choose the default layout in video conference.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoActiveSpeakerLayout</source>
|
||||
<extracomment>'Active speaker' : Active speaker layout for video conference.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoMosaicLayout</source>
|
||||
<extracomment>'Mosaic' : Mosaic layout invideo conference.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsVideoPreview</name>
|
||||
|
|
|
|||
|
|
@ -3043,6 +3043,46 @@
|
|||
<source>videoSettingsInCallWarning</source>
|
||||
<translation>Відеодзвінок в процесі: деякі настройки недоступні.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoDisplayTitle</source>
|
||||
<extracomment>'Video display' : Title for display parameters</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoModeLabel</source>
|
||||
<extracomment>'Camera mode' : Label to choose a camera mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoHybrid</source>
|
||||
<extracomment>'Hybrid' : Hybrid mode for camera.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoOccupyAllSpace</source>
|
||||
<extracomment>'Occupy all space' : Camera mode for a centered cropping view.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoBlackBars</source>
|
||||
<extracomment>'Black bars' : Camera mode for a fit view with black bars to keep ratio.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoLayout</source>
|
||||
<extracomment>'Default video layout' : Label to choose the default layout in video conference.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoActiveSpeakerLayout</source>
|
||||
<extracomment>'Active speaker' : Active speaker layout for video conference.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoMosaicLayout</source>
|
||||
<extracomment>'Mosaic' : Mosaic layout invideo conference.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsVideoPreview</name>
|
||||
|
|
|
|||
|
|
@ -3017,6 +3017,46 @@
|
|||
<source>videoSettingsInCallWarning</source>
|
||||
<translation>视频呼叫正在进行中:某些设置不可用。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoDisplayTitle</source>
|
||||
<extracomment>'Video display' : Title for display parameters</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoModeLabel</source>
|
||||
<extracomment>'Camera mode' : Label to choose a camera mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoHybrid</source>
|
||||
<extracomment>'Hybrid' : Hybrid mode for camera.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoOccupyAllSpace</source>
|
||||
<extracomment>'Occupy all space' : Camera mode for a centered cropping view.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoBlackBars</source>
|
||||
<extracomment>'Black bars' : Camera mode for a fit view with black bars to keep ratio.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoLayout</source>
|
||||
<extracomment>'Default video layout' : Label to choose the default layout in video conference.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoActiveSpeakerLayout</source>
|
||||
<extracomment>'Active speaker' : Active speaker layout for video conference.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>videoMosaicLayout</source>
|
||||
<extracomment>'Mosaic' : Mosaic layout invideo conference.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsVideoPreview</name>
|
||||
|
|
|
|||
|
|
@ -585,10 +585,42 @@ void SettingsModel::setShowVideoCodecs (bool status) {
|
|||
|
||||
// =============================================================================
|
||||
void SettingsModel::updateCameraMode(){
|
||||
auto mode = mConfig->getString("video", "main_display_mode", "BlackBars");
|
||||
auto mode = mConfig->getString("video", "main_display_mode", "OccupyAllSpace");
|
||||
mConfig->setString("video", "main_display_mode", mode);
|
||||
mConfig->setString("video", "other_display_mode", mode);
|
||||
}
|
||||
|
||||
SettingsModel::CameraMode SettingsModel::getCameraMode() const{
|
||||
auto mode = mConfig->getString("video", "main_display_mode", "OccupyAllSpace");
|
||||
if( mode == "Hybrid")
|
||||
return CameraMode::CameraMode_Hybrid;
|
||||
else if( mode == "BlackBars")
|
||||
return CameraMode::CameraMode_BlackBars;
|
||||
else
|
||||
return CameraMode::CameraMode_OccupyAllSpace;
|
||||
}
|
||||
|
||||
void SettingsModel::setCameraMode(CameraMode mode){
|
||||
std::string modeToSet;
|
||||
switch(mode){
|
||||
case CameraMode::CameraMode_Hybrid : modeToSet = "Hybrid";break;
|
||||
case CameraMode::CameraMode_BlackBars: modeToSet = "BlackBars";break;
|
||||
default: modeToSet = "OccupyAllSpace";
|
||||
}
|
||||
mConfig->setString("video", "main_display_mode", modeToSet);
|
||||
mConfig->setString("video", "other_display_mode", modeToSet);
|
||||
emit cameraModeChanged();
|
||||
}
|
||||
|
||||
LinphoneEnums::ConferenceLayout SettingsModel::getVideoConferenceLayout() const{
|
||||
return (LinphoneEnums::ConferenceLayout) mConfig->getInt(UiSection, "video_conference_layout", (int)LinphoneEnums::ConferenceLayoutActiveSpeaker);
|
||||
}
|
||||
|
||||
void SettingsModel::setVideoConferenceLayout(LinphoneEnums::ConferenceLayout layout){
|
||||
mConfig->setInt(UiSection, "video_conference_layout", (int)layout);
|
||||
emit videoConferenceLayoutChanged();
|
||||
}
|
||||
|
||||
// =============================================================================
|
||||
// Chat & calls.
|
||||
// =============================================================================
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@
|
|||
|
||||
#include "components/core/CoreHandlers.hpp"
|
||||
#include "components/contacts/ContactsImporterModel.hpp"
|
||||
#include "utils/LinphoneEnums.hpp"
|
||||
|
||||
// =============================================================================
|
||||
class TunnelModel;
|
||||
|
|
@ -95,6 +96,10 @@ class SettingsModel : public QObject {
|
|||
|
||||
Q_PROPERTY(bool showVideoCodecs READ getShowVideoCodecs WRITE setShowVideoCodecs NOTIFY showVideoCodecsChanged)
|
||||
|
||||
Q_PROPERTY(CameraMode cameraMode READ getCameraMode WRITE setCameraMode NOTIFY cameraModeChanged)
|
||||
Q_PROPERTY(LinphoneEnums::ConferenceLayout videoConferenceLayout READ getVideoConferenceLayout WRITE setVideoConferenceLayout NOTIFY videoConferenceLayoutChanged)
|
||||
|
||||
|
||||
// Chat & calls. -------------------------------------------------------------
|
||||
|
||||
Q_PROPERTY(bool autoAnswerStatus READ getAutoAnswerStatus WRITE setAutoAnswerStatus NOTIFY autoAnswerStatusChanged)
|
||||
|
|
@ -228,6 +233,13 @@ public:
|
|||
};
|
||||
Q_ENUM(VersionCheckType);
|
||||
|
||||
enum CameraMode{
|
||||
CameraMode_Hybrid = 0,
|
||||
CameraMode_OccupyAllSpace = 1,
|
||||
CameraMode_BlackBars = 2
|
||||
};
|
||||
Q_ENUM(CameraMode);
|
||||
|
||||
|
||||
SettingsModel (QObject *parent = Q_NULLPTR);
|
||||
virtual ~SettingsModel ();
|
||||
|
|
@ -346,6 +358,12 @@ public:
|
|||
void setShowVideoCodecs (bool status);
|
||||
|
||||
void updateCameraMode();
|
||||
CameraMode getCameraMode() const;
|
||||
void setCameraMode(CameraMode mode);
|
||||
|
||||
LinphoneEnums::ConferenceLayout getVideoConferenceLayout() const;
|
||||
void setVideoConferenceLayout(LinphoneEnums::ConferenceLayout layout);
|
||||
|
||||
|
||||
// Chat & calls. -------------------------------------------------------------
|
||||
|
||||
|
|
@ -639,6 +657,9 @@ signals:
|
|||
|
||||
void showVideoCodecsChanged (bool status);
|
||||
|
||||
void cameraModeChanged();
|
||||
void videoConferenceLayoutChanged();
|
||||
|
||||
// Chat & calls. -------------------------------------------------------------
|
||||
|
||||
void autoAnswerStatusChanged (bool status);
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ Item{
|
|||
property alias isPreview: camera.isPreview
|
||||
property alias isFullscreen: camera.isFullscreen
|
||||
property alias isCameraFromDevice: camera.isCameraFromDevice
|
||||
property bool showCloseButton: true
|
||||
property bool showCloseButton: false
|
||||
property bool showActiveSpeakerOverlay: true
|
||||
property color color : camera.isReady ? CameraViewStyle.cameraBackgroundColor : CameraViewStyle.outBackgroundColor
|
||||
signal closeRequested()
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ Mosaic {
|
|||
isCameraFromDevice: true
|
||||
isPaused: grid.callModel.pausedByUser || avatarCell.currentDevice && avatarCell.currentDevice.isPaused
|
||||
onCloseRequested: participantDevices.showMe = false
|
||||
showCloseButton: participantDevices.count > 1
|
||||
//showCloseButton: participantDevices.count > 1
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -208,11 +208,11 @@ Rectangle {
|
|||
|
||||
ActionButton{
|
||||
id: modeChoice
|
||||
property int selectedMode: 0
|
||||
property int selectedMode: SettingsModel.videoConferenceLayout
|
||||
isCustom: true
|
||||
backgroundRadius: width/2
|
||||
colorSet: selectedMode == 0 ? WaitingRoomStyle.buttons.gridLayout :
|
||||
selectedMode == 1 ? WaitingRoomStyle.buttons.activeSpeakerLayout : WaitingRoomStyle.buttons.audioOnly
|
||||
colorSet: selectedMode == LinphoneEnums.ConferenceLayoutGrid ? WaitingRoomStyle.buttons.gridLayout :
|
||||
selectedMode == LinphoneEnums.ConferenceLayoutActiveSpeaker ? WaitingRoomStyle.buttons.activeSpeakerLayout : WaitingRoomStyle.buttons.audioOnly
|
||||
onClicked: selectedMode = (selectedMode + 1) % 3
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -180,8 +180,7 @@ Item{
|
|||
width: parent.width
|
||||
height: parent.height
|
||||
conferenceInfoModel: $modelData
|
||||
gotoButtonMode: mainItem.filterType == ConferenceInfoProxyModel.Scheduled ? 1
|
||||
: mainItem.filterType == ConferenceInfoProxyModel.Ended ? -1
|
||||
gotoButtonMode: mainItem.filterType == ConferenceInfoProxyModel.Scheduled || mainItem.filterType == ConferenceInfoProxyModel.Ended? 1
|
||||
: 0
|
||||
onExpandToggle: calendarGrid.expanded = !calendarGrid.expanded
|
||||
isExpanded: calendarGrid.expanded
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ import QtQuick.Layouts 1.3
|
|||
|
||||
import Common 1.0
|
||||
import Linphone 1.0
|
||||
import LinphoneEnums 1.0
|
||||
import Utils 1.0
|
||||
|
||||
import App.Styles 1.0
|
||||
|
|
@ -12,176 +13,227 @@ import 'SettingsVideo.js' as Logic
|
|||
// =============================================================================
|
||||
|
||||
TabContainer {
|
||||
Column {
|
||||
spacing: SettingsWindowStyle.forms.spacing
|
||||
width: parent.width
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Video parameters.
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
Form {
|
||||
title: qsTr('videoCaptureTitle')
|
||||
width: parent.width
|
||||
|
||||
//Warning if in call
|
||||
FormLine {
|
||||
visible: SettingsModel.isInCall
|
||||
FormGroup {
|
||||
RowLayout {
|
||||
spacing: SettingsWindowStyle.video.warningMessage.iconSize
|
||||
Icon {
|
||||
icon: 'warning'
|
||||
iconSize: SettingsWindowStyle.video.warningMessage.iconSize
|
||||
anchors {
|
||||
rightMargin: SettingsWindowStyle.video.warningMessage.iconSize
|
||||
leftMargin: SettingsWindowStyle.video.warningMessage.iconSize
|
||||
}
|
||||
}
|
||||
Text {
|
||||
text: qsTr('videoSettingsInCallWarning')
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
FormLine {
|
||||
FormGroup {
|
||||
label: qsTr('videoInputDeviceLabel')
|
||||
|
||||
ComboBox {
|
||||
currentIndex: Number(Utils.findIndex(model, function (device) {
|
||||
return device === SettingsModel.videoDevice
|
||||
})) // Number cast => Index is null if app does not support video.
|
||||
model: SettingsModel.videoDevices
|
||||
|
||||
onActivated: SettingsModel.videoDevice = model[index]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
FormLine {
|
||||
FormGroup {
|
||||
label: qsTr('videoPresetLabel')
|
||||
|
||||
ComboBox {
|
||||
currentIndex: {
|
||||
var preset = SettingsModel.videoPreset
|
||||
|
||||
return Number(Utils.findIndex(model, function (value) {
|
||||
return preset === value.value
|
||||
}))
|
||||
}
|
||||
|
||||
model: [{
|
||||
key: qsTr('presetDefault'),
|
||||
value: 'default'
|
||||
}, {
|
||||
key: qsTr('presetHighFps'),
|
||||
value: 'high-fps'
|
||||
}, {
|
||||
key: qsTr('presetCustom'),
|
||||
value: 'custom'
|
||||
}]
|
||||
|
||||
textRole: 'key'
|
||||
|
||||
onActivated: SettingsModel.videoPreset = model[index].value
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
FormLine {
|
||||
FormGroup {
|
||||
label: qsTr('videoSizeLabel')
|
||||
|
||||
ComboBox {
|
||||
currentIndex: Number(Utils.findIndex(model, function (definition) {
|
||||
return definition.value.name === SettingsModel.videoDefinition.name
|
||||
})) // Number cast => Index is null if app does not support video.
|
||||
model: SettingsModel.supportedVideoDefinitions.map(function (definition) {
|
||||
return {
|
||||
key: definition.name + ' (' + definition.width + 'x' + definition.height + ')',
|
||||
value: definition
|
||||
}
|
||||
})
|
||||
|
||||
textRole: 'key'
|
||||
|
||||
onActivated: SettingsModel.videoDefinition = model[index].value
|
||||
}
|
||||
}
|
||||
|
||||
FormGroup {
|
||||
label: qsTr('videoFramerateLabel')
|
||||
visible: SettingsModel.videoPreset === 'custom'
|
||||
|
||||
NumericField {
|
||||
maxValue: 60
|
||||
minValue: 1
|
||||
text: SettingsModel.videoFramerate
|
||||
|
||||
onEditingFinished: SettingsModel.videoFramerate = text
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
FormEmptyLine {}
|
||||
}
|
||||
|
||||
TextButtonB {
|
||||
id: showCameraPreview
|
||||
|
||||
anchors.right: parent.right
|
||||
enabled: CallsListModel.rowCount() === 0
|
||||
|
||||
text: qsTr('showCameraPreview')
|
||||
|
||||
onClicked: Logic.showVideoPreview()
|
||||
|
||||
Connections {
|
||||
target: CallsListModel
|
||||
|
||||
onRowsInserted: Logic.updateVideoPreview()
|
||||
onRowsRemoved: Logic.updateVideoPreview()
|
||||
}
|
||||
|
||||
Connections {
|
||||
target: window
|
||||
|
||||
onClosing: Logic.hideVideoPreview()
|
||||
}
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Video Codecs.
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
Form {
|
||||
title: qsTr('videoCodecsTitle')
|
||||
visible: SettingsModel.showVideoCodecs || SettingsModel.developerSettingsEnabled
|
||||
width: parent.width
|
||||
|
||||
FormLine {
|
||||
visible: SettingsModel.developerSettingsEnabled
|
||||
|
||||
FormGroup {
|
||||
label: qsTr('showVideoCodecsLabel')
|
||||
|
||||
Switch {
|
||||
checked: SettingsModel.showVideoCodecs
|
||||
|
||||
onClicked: SettingsModel.showVideoCodecs = !checked
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
CodecsViewer {
|
||||
model: VideoCodecsModel
|
||||
width: parent.width
|
||||
|
||||
onDownloadRequested: Logic.handleCodecDownloadRequested(codecInfo)
|
||||
}
|
||||
}
|
||||
}
|
||||
Column {
|
||||
spacing: SettingsWindowStyle.forms.spacing
|
||||
width: parent.width
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Video parameters.
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
Form {
|
||||
title: qsTr('videoCaptureTitle')
|
||||
width: parent.width
|
||||
|
||||
//Warning if in call
|
||||
FormLine {
|
||||
visible: SettingsModel.isInCall
|
||||
FormGroup {
|
||||
RowLayout {
|
||||
spacing: SettingsWindowStyle.video.warningMessage.iconSize
|
||||
Icon {
|
||||
icon: 'warning'
|
||||
iconSize: SettingsWindowStyle.video.warningMessage.iconSize
|
||||
anchors {
|
||||
rightMargin: SettingsWindowStyle.video.warningMessage.iconSize
|
||||
leftMargin: SettingsWindowStyle.video.warningMessage.iconSize
|
||||
}
|
||||
}
|
||||
Text {
|
||||
text: qsTr('videoSettingsInCallWarning')
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
FormLine {
|
||||
FormGroup {
|
||||
label: qsTr('videoInputDeviceLabel')
|
||||
|
||||
ComboBox {
|
||||
currentIndex: Number(Utils.findIndex(model, function (device) {
|
||||
return device === SettingsModel.videoDevice
|
||||
})) // Number cast => Index is null if app does not support video.
|
||||
model: SettingsModel.videoDevices
|
||||
|
||||
onActivated: SettingsModel.videoDevice = model[index]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
FormLine {
|
||||
FormGroup {
|
||||
label: qsTr('videoPresetLabel')
|
||||
|
||||
ComboBox {
|
||||
currentIndex: {
|
||||
var preset = SettingsModel.videoPreset
|
||||
|
||||
return Number(Utils.findIndex(model, function (value) {
|
||||
return preset === value.value
|
||||
}))
|
||||
}
|
||||
|
||||
model: [{
|
||||
key: qsTr('presetDefault'),
|
||||
value: 'default'
|
||||
}, {
|
||||
key: qsTr('presetHighFps'),
|
||||
value: 'high-fps'
|
||||
}, {
|
||||
key: qsTr('presetCustom'),
|
||||
value: 'custom'
|
||||
}]
|
||||
|
||||
textRole: 'key'
|
||||
|
||||
onActivated: SettingsModel.videoPreset = model[index].value
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
FormLine {
|
||||
FormGroup {
|
||||
label: qsTr('videoSizeLabel')
|
||||
|
||||
ComboBox {
|
||||
currentIndex: Number(Utils.findIndex(model, function (definition) {
|
||||
return definition.value.name === SettingsModel.videoDefinition.name
|
||||
})) // Number cast => Index is null if app does not support video.
|
||||
model: SettingsModel.supportedVideoDefinitions.map(function (definition) {
|
||||
return {
|
||||
key: definition.name + ' (' + definition.width + 'x' + definition.height + ')',
|
||||
value: definition
|
||||
}
|
||||
})
|
||||
|
||||
textRole: 'key'
|
||||
|
||||
onActivated: SettingsModel.videoDefinition = model[index].value
|
||||
}
|
||||
}
|
||||
|
||||
FormGroup {
|
||||
label: qsTr('videoFramerateLabel')
|
||||
visible: SettingsModel.videoPreset === 'custom'
|
||||
|
||||
NumericField {
|
||||
maxValue: 60
|
||||
minValue: 1
|
||||
text: SettingsModel.videoFramerate
|
||||
|
||||
onEditingFinished: SettingsModel.videoFramerate = text
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
FormEmptyLine {}
|
||||
}
|
||||
|
||||
TextButtonB {
|
||||
id: showCameraPreview
|
||||
|
||||
anchors.right: parent.right
|
||||
enabled: CallsListModel.rowCount() === 0
|
||||
|
||||
text: qsTr('showCameraPreview')
|
||||
|
||||
onClicked: Logic.showVideoPreview()
|
||||
|
||||
Connections {
|
||||
target: CallsListModel
|
||||
|
||||
onRowsInserted: Logic.updateVideoPreview()
|
||||
onRowsRemoved: Logic.updateVideoPreview()
|
||||
}
|
||||
|
||||
Connections {
|
||||
target: window
|
||||
|
||||
onClosing: Logic.hideVideoPreview()
|
||||
}
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Video Codecs.
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
Form {
|
||||
title: qsTr('videoCodecsTitle')
|
||||
visible: SettingsModel.showVideoCodecs || SettingsModel.developerSettingsEnabled
|
||||
width: parent.width
|
||||
|
||||
FormLine {
|
||||
visible: SettingsModel.developerSettingsEnabled
|
||||
|
||||
FormGroup {
|
||||
label: qsTr('showVideoCodecsLabel')
|
||||
|
||||
Switch {
|
||||
checked: SettingsModel.showVideoCodecs
|
||||
|
||||
onClicked: SettingsModel.showVideoCodecs = !checked
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
CodecsViewer {
|
||||
model: VideoCodecsModel
|
||||
width: parent.width
|
||||
|
||||
onDownloadRequested: Logic.handleCodecDownloadRequested(codecInfo)
|
||||
}
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Diplay Video.
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
Form {
|
||||
//: 'Video display' : Title for display parameters
|
||||
title: qsTr('videoDisplayTitle')
|
||||
width: parent.width
|
||||
|
||||
FormLine {
|
||||
FormGroup {
|
||||
//: 'Camera mode' : Label to choose a camera mode.
|
||||
label: qsTr('videoModeLabel')
|
||||
|
||||
ComboBox {
|
||||
//: 'Hybrid' : Hybrid mode for camera.
|
||||
model:[{text:qsTr('videoHybrid'), value: SettingsModel.CameraMode_Hybrid}
|
||||
//: 'Occupy all space' : Camera mode for a centered cropping view.
|
||||
, {text:qsTr('videoOccupyAllSpace'), value:SettingsModel.CameraMode_OccupyAllSpace}
|
||||
//: 'Black bars' : Camera mode for a fit view with black bars to keep ratio.
|
||||
,{text:qsTr('videoBlackBars'), value:SettingsModel.CameraMode_BlackBars}
|
||||
]
|
||||
textRole: 'text'
|
||||
currentIndex: SettingsModel.cameraMode == SettingsModel.CameraMode_Hybrid
|
||||
? 0
|
||||
: SettingsModel.cameraMode == SettingsModel.CameraMode_OccupyAllSpace
|
||||
? 1
|
||||
: 2
|
||||
onActivated: SettingsModel.cameraMode = model[index].value
|
||||
}
|
||||
}
|
||||
}
|
||||
FormLine {
|
||||
FormGroup {
|
||||
//: 'Default video layout' : Label to choose the default layout in video conference.
|
||||
label: qsTr('videoLayout')
|
||||
|
||||
ComboBox {
|
||||
//: 'Mosaic' : Mosaic layout invideo conference.
|
||||
model:[{text:qsTr('videoMosaicLayout'), value:LinphoneEnums.ConferenceLayoutGrid}
|
||||
//: 'Active speaker' : Active speaker layout for video conference.
|
||||
, {text:qsTr('videoActiveSpeakerLayout'), value:LinphoneEnums.ConferenceLayoutActiveSpeaker}
|
||||
]
|
||||
textRole: 'text'
|
||||
currentIndex: SettingsModel.videoConferenceLayout == LinphoneEnums.ConferenceLayoutGrid ? 0 : 1
|
||||
onActivated: SettingsModel.videoConferenceLayout = model[index].value
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue