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:
Julien Wadel 2022-06-30 20:32:30 +02:00
parent bdcef22069
commit b555c27f43
22 changed files with 884 additions and 180 deletions

View file

@ -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>&apos;Video display&apos; : Title for display parameters</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoModeLabel</source>
<extracomment>&apos;Camera mode&apos; : Label to choose a camera mode.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoHybrid</source>
<extracomment>&apos;Hybrid&apos; : Hybrid mode for camera.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoOccupyAllSpace</source>
<extracomment>&apos;Occupy all space&apos; : Camera mode for a centered cropping view.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoBlackBars</source>
<extracomment>&apos;Black bars&apos; : Camera mode for a fit view with black bars to keep ratio.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoLayout</source>
<extracomment>&apos;Default video layout&apos; : Label to choose the default layout in video conference.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoActiveSpeakerLayout</source>
<extracomment>&apos;Active speaker&apos; : Active speaker layout for video conference.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoMosaicLayout</source>
<extracomment>&apos;Mosaic&apos; : Mosaic layout invideo conference.</extracomment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SettingsVideoPreview</name>

View file

@ -3030,6 +3030,46 @@ Klicken Sie hier: &lt;a href=&quot;%1&quot;&gt;%1&lt;/a&gt;
<source>videoSettingsInCallWarning</source>
<translation>Videoanruf wird ausgeführt: Einige Einstellungen sind nicht verfügbar.</translation>
</message>
<message>
<source>videoDisplayTitle</source>
<extracomment>&apos;Video display&apos; : Title for display parameters</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoModeLabel</source>
<extracomment>&apos;Camera mode&apos; : Label to choose a camera mode.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoHybrid</source>
<extracomment>&apos;Hybrid&apos; : Hybrid mode for camera.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoOccupyAllSpace</source>
<extracomment>&apos;Occupy all space&apos; : Camera mode for a centered cropping view.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoBlackBars</source>
<extracomment>&apos;Black bars&apos; : Camera mode for a fit view with black bars to keep ratio.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoLayout</source>
<extracomment>&apos;Default video layout&apos; : Label to choose the default layout in video conference.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoActiveSpeakerLayout</source>
<extracomment>&apos;Active speaker&apos; : Active speaker layout for video conference.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoMosaicLayout</source>
<extracomment>&apos;Mosaic&apos; : Mosaic layout invideo conference.</extracomment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SettingsVideoPreview</name>

View file

@ -3053,6 +3053,46 @@ Click here: &lt;a href=&quot;%1&quot;&gt;%1&lt;/a&gt;
<source>videoSettingsInCallWarning</source>
<translation>Video call in progress: some settings are not available.</translation>
</message>
<message>
<source>videoDisplayTitle</source>
<extracomment>&apos;Video display&apos; : Title for display parameters</extracomment>
<translation>Video display</translation>
</message>
<message>
<source>videoModeLabel</source>
<extracomment>&apos;Camera mode&apos; : Label to choose a camera mode.</extracomment>
<translation>Camera mode</translation>
</message>
<message>
<source>videoHybrid</source>
<extracomment>&apos;Hybrid&apos; : Hybrid mode for camera.</extracomment>
<translation>Hybrid</translation>
</message>
<message>
<source>videoOccupyAllSpace</source>
<extracomment>&apos;Occupy all space&apos; : Camera mode for a centered cropping view.</extracomment>
<translation>Occupy all space</translation>
</message>
<message>
<source>videoBlackBars</source>
<extracomment>&apos;Black bars&apos; : Camera mode for a fit view with black bars to keep ratio.</extracomment>
<translation>Black bars</translation>
</message>
<message>
<source>videoLayout</source>
<extracomment>&apos;Default video layout&apos; : Label to choose the default layout in video conference.</extracomment>
<translation>Default video layout</translation>
</message>
<message>
<source>videoActiveSpeakerLayout</source>
<extracomment>&apos;Active speaker&apos; : Active speaker layout for video conference.</extracomment>
<translation>Active speaker</translation>
</message>
<message>
<source>videoMosaicLayout</source>
<extracomment>&apos;Mosaic&apos; : Mosaic layout invideo conference.</extracomment>
<translation>Mosaic</translation>
</message>
</context>
<context>
<name>SettingsVideoPreview</name>

View file

@ -3030,6 +3030,46 @@ Haga clic aquí: &lt;a href=&quot;%1&quot;&gt;%1 &lt;/a&gt;
<source>videoSettingsInCallWarning</source>
<translation>Videollamada en curso: algunos ajustes no están disponibles.</translation>
</message>
<message>
<source>videoDisplayTitle</source>
<extracomment>&apos;Video display&apos; : Title for display parameters</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoModeLabel</source>
<extracomment>&apos;Camera mode&apos; : Label to choose a camera mode.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoHybrid</source>
<extracomment>&apos;Hybrid&apos; : Hybrid mode for camera.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoOccupyAllSpace</source>
<extracomment>&apos;Occupy all space&apos; : Camera mode for a centered cropping view.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoBlackBars</source>
<extracomment>&apos;Black bars&apos; : Camera mode for a fit view with black bars to keep ratio.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoLayout</source>
<extracomment>&apos;Default video layout&apos; : Label to choose the default layout in video conference.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoActiveSpeakerLayout</source>
<extracomment>&apos;Active speaker&apos; : Active speaker layout for video conference.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoMosaicLayout</source>
<extracomment>&apos;Mosaic&apos; : Mosaic layout invideo conference.</extracomment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SettingsVideoPreview</name>

View file

@ -3030,6 +3030,46 @@ Cliquez ici : &lt;a href=&quot;%1&quot;&gt;%1&lt;/a&gt;
<source>videoSettingsInCallWarning</source>
<translation>Appel vidéo en cours : certains paramètres ne sont pas disponibles.</translation>
</message>
<message>
<source>videoDisplayTitle</source>
<extracomment>&apos;Video display&apos; : Title for display parameters</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoModeLabel</source>
<extracomment>&apos;Camera mode&apos; : Label to choose a camera mode.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoHybrid</source>
<extracomment>&apos;Hybrid&apos; : Hybrid mode for camera.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoOccupyAllSpace</source>
<extracomment>&apos;Occupy all space&apos; : Camera mode for a centered cropping view.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoBlackBars</source>
<extracomment>&apos;Black bars&apos; : Camera mode for a fit view with black bars to keep ratio.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoLayout</source>
<extracomment>&apos;Default video layout&apos; : Label to choose the default layout in video conference.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoActiveSpeakerLayout</source>
<extracomment>&apos;Active speaker&apos; : Active speaker layout for video conference.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoMosaicLayout</source>
<extracomment>&apos;Mosaic&apos; : Mosaic layout invideo conference.</extracomment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SettingsVideoPreview</name>

View file

@ -3017,6 +3017,46 @@ Kattintson ide: &lt;a href=&quot;%1&quot;&gt;%1&lt;/a&gt;
<source>videoSettingsInCallWarning</source>
<translation>Videohívás folyamatban: egyes beállítások nem állnak rendelkezésre.</translation>
</message>
<message>
<source>videoDisplayTitle</source>
<extracomment>&apos;Video display&apos; : Title for display parameters</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoModeLabel</source>
<extracomment>&apos;Camera mode&apos; : Label to choose a camera mode.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoHybrid</source>
<extracomment>&apos;Hybrid&apos; : Hybrid mode for camera.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoOccupyAllSpace</source>
<extracomment>&apos;Occupy all space&apos; : Camera mode for a centered cropping view.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoBlackBars</source>
<extracomment>&apos;Black bars&apos; : Camera mode for a fit view with black bars to keep ratio.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoLayout</source>
<extracomment>&apos;Default video layout&apos; : Label to choose the default layout in video conference.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoActiveSpeakerLayout</source>
<extracomment>&apos;Active speaker&apos; : Active speaker layout for video conference.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoMosaicLayout</source>
<extracomment>&apos;Mosaic&apos; : Mosaic layout invideo conference.</extracomment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SettingsVideoPreview</name>

View file

@ -3030,6 +3030,46 @@ Clicca: &lt;a href=&quot;%1&quot;&gt;%1&lt;/a&gt;
<source>videoSettingsInCallWarning</source>
<translation>Videochiamata in corso: alcune impostazioni non sono disponibili.</translation>
</message>
<message>
<source>videoDisplayTitle</source>
<extracomment>&apos;Video display&apos; : Title for display parameters</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoModeLabel</source>
<extracomment>&apos;Camera mode&apos; : Label to choose a camera mode.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoHybrid</source>
<extracomment>&apos;Hybrid&apos; : Hybrid mode for camera.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoOccupyAllSpace</source>
<extracomment>&apos;Occupy all space&apos; : Camera mode for a centered cropping view.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoBlackBars</source>
<extracomment>&apos;Black bars&apos; : Camera mode for a fit view with black bars to keep ratio.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoLayout</source>
<extracomment>&apos;Default video layout&apos; : Label to choose the default layout in video conference.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoActiveSpeakerLayout</source>
<extracomment>&apos;Active speaker&apos; : Active speaker layout for video conference.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoMosaicLayout</source>
<extracomment>&apos;Mosaic&apos; : Mosaic layout invideo conference.</extracomment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SettingsVideoPreview</name>

View file

@ -3017,6 +3017,46 @@
<source>videoSettingsInCallWarning</source>
<translation>ビデオ通話中:一部の設定が使用できません</translation>
</message>
<message>
<source>videoDisplayTitle</source>
<extracomment>&apos;Video display&apos; : Title for display parameters</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoModeLabel</source>
<extracomment>&apos;Camera mode&apos; : Label to choose a camera mode.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoHybrid</source>
<extracomment>&apos;Hybrid&apos; : Hybrid mode for camera.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoOccupyAllSpace</source>
<extracomment>&apos;Occupy all space&apos; : Camera mode for a centered cropping view.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoBlackBars</source>
<extracomment>&apos;Black bars&apos; : Camera mode for a fit view with black bars to keep ratio.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoLayout</source>
<extracomment>&apos;Default video layout&apos; : Label to choose the default layout in video conference.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoActiveSpeakerLayout</source>
<extracomment>&apos;Active speaker&apos; : Active speaker layout for video conference.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoMosaicLayout</source>
<extracomment>&apos;Mosaic&apos; : Mosaic layout invideo conference.</extracomment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SettingsVideoPreview</name>

View file

@ -3043,6 +3043,46 @@ Spustelėkite čia: &lt;a href=&quot;%1&quot;&gt;%1&lt;/a&gt;
<source>videoSettingsInCallWarning</source>
<translation>Vyksta vaizdo skambutis: kai kurie nustatymai negalimi.</translation>
</message>
<message>
<source>videoDisplayTitle</source>
<extracomment>&apos;Video display&apos; : Title for display parameters</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoModeLabel</source>
<extracomment>&apos;Camera mode&apos; : Label to choose a camera mode.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoHybrid</source>
<extracomment>&apos;Hybrid&apos; : Hybrid mode for camera.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoOccupyAllSpace</source>
<extracomment>&apos;Occupy all space&apos; : Camera mode for a centered cropping view.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoBlackBars</source>
<extracomment>&apos;Black bars&apos; : Camera mode for a fit view with black bars to keep ratio.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoLayout</source>
<extracomment>&apos;Default video layout&apos; : Label to choose the default layout in video conference.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoActiveSpeakerLayout</source>
<extracomment>&apos;Active speaker&apos; : Active speaker layout for video conference.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoMosaicLayout</source>
<extracomment>&apos;Mosaic&apos; : Mosaic layout invideo conference.</extracomment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SettingsVideoPreview</name>

View file

@ -3030,6 +3030,46 @@ Clique aqui: &lt;a href=&quot;%1&quot;&gt;%1 &lt;/a&gt;
<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>&apos;Video display&apos; : Title for display parameters</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoModeLabel</source>
<extracomment>&apos;Camera mode&apos; : Label to choose a camera mode.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoHybrid</source>
<extracomment>&apos;Hybrid&apos; : Hybrid mode for camera.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoOccupyAllSpace</source>
<extracomment>&apos;Occupy all space&apos; : Camera mode for a centered cropping view.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoBlackBars</source>
<extracomment>&apos;Black bars&apos; : Camera mode for a fit view with black bars to keep ratio.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoLayout</source>
<extracomment>&apos;Default video layout&apos; : Label to choose the default layout in video conference.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoActiveSpeakerLayout</source>
<extracomment>&apos;Active speaker&apos; : Active speaker layout for video conference.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoMosaicLayout</source>
<extracomment>&apos;Mosaic&apos; : Mosaic layout invideo conference.</extracomment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SettingsVideoPreview</name>

View file

@ -3043,6 +3043,46 @@
<source>videoSettingsInCallWarning</source>
<translation>Видеозвонок выполняется: некоторые настройки недоступны.</translation>
</message>
<message>
<source>videoDisplayTitle</source>
<extracomment>&apos;Video display&apos; : Title for display parameters</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoModeLabel</source>
<extracomment>&apos;Camera mode&apos; : Label to choose a camera mode.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoHybrid</source>
<extracomment>&apos;Hybrid&apos; : Hybrid mode for camera.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoOccupyAllSpace</source>
<extracomment>&apos;Occupy all space&apos; : Camera mode for a centered cropping view.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoBlackBars</source>
<extracomment>&apos;Black bars&apos; : Camera mode for a fit view with black bars to keep ratio.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoLayout</source>
<extracomment>&apos;Default video layout&apos; : Label to choose the default layout in video conference.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoActiveSpeakerLayout</source>
<extracomment>&apos;Active speaker&apos; : Active speaker layout for video conference.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoMosaicLayout</source>
<extracomment>&apos;Mosaic&apos; : Mosaic layout invideo conference.</extracomment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SettingsVideoPreview</name>

View file

@ -3030,6 +3030,46 @@ Klicka här: &lt;a href=&quot;%1&quot;&gt;%1&lt;/a&gt;
<source>videoSettingsInCallWarning</source>
<translation>Videosamtal pågår: vissa inställningar är inte tillgängliga.</translation>
</message>
<message>
<source>videoDisplayTitle</source>
<extracomment>&apos;Video display&apos; : Title for display parameters</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoModeLabel</source>
<extracomment>&apos;Camera mode&apos; : Label to choose a camera mode.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoHybrid</source>
<extracomment>&apos;Hybrid&apos; : Hybrid mode for camera.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoOccupyAllSpace</source>
<extracomment>&apos;Occupy all space&apos; : Camera mode for a centered cropping view.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoBlackBars</source>
<extracomment>&apos;Black bars&apos; : Camera mode for a fit view with black bars to keep ratio.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoLayout</source>
<extracomment>&apos;Default video layout&apos; : Label to choose the default layout in video conference.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoActiveSpeakerLayout</source>
<extracomment>&apos;Active speaker&apos; : Active speaker layout for video conference.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoMosaicLayout</source>
<extracomment>&apos;Mosaic&apos; : Mosaic layout invideo conference.</extracomment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SettingsVideoPreview</name>

View file

@ -3017,6 +3017,46 @@ Buraya tıklayın: &lt;a href=&quot;%1&quot;&gt;%1&lt;/a&gt;
<source>videoSettingsInCallWarning</source>
<translation>Görüntülü arama devam ediyor: bazı ayarlar mevcut değil.</translation>
</message>
<message>
<source>videoDisplayTitle</source>
<extracomment>&apos;Video display&apos; : Title for display parameters</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoModeLabel</source>
<extracomment>&apos;Camera mode&apos; : Label to choose a camera mode.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoHybrid</source>
<extracomment>&apos;Hybrid&apos; : Hybrid mode for camera.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoOccupyAllSpace</source>
<extracomment>&apos;Occupy all space&apos; : Camera mode for a centered cropping view.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoBlackBars</source>
<extracomment>&apos;Black bars&apos; : Camera mode for a fit view with black bars to keep ratio.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoLayout</source>
<extracomment>&apos;Default video layout&apos; : Label to choose the default layout in video conference.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoActiveSpeakerLayout</source>
<extracomment>&apos;Active speaker&apos; : Active speaker layout for video conference.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoMosaicLayout</source>
<extracomment>&apos;Mosaic&apos; : Mosaic layout invideo conference.</extracomment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SettingsVideoPreview</name>

View file

@ -3043,6 +3043,46 @@
<source>videoSettingsInCallWarning</source>
<translation>Відеодзвінок в процесі: деякі настройки недоступні.</translation>
</message>
<message>
<source>videoDisplayTitle</source>
<extracomment>&apos;Video display&apos; : Title for display parameters</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoModeLabel</source>
<extracomment>&apos;Camera mode&apos; : Label to choose a camera mode.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoHybrid</source>
<extracomment>&apos;Hybrid&apos; : Hybrid mode for camera.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoOccupyAllSpace</source>
<extracomment>&apos;Occupy all space&apos; : Camera mode for a centered cropping view.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoBlackBars</source>
<extracomment>&apos;Black bars&apos; : Camera mode for a fit view with black bars to keep ratio.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoLayout</source>
<extracomment>&apos;Default video layout&apos; : Label to choose the default layout in video conference.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoActiveSpeakerLayout</source>
<extracomment>&apos;Active speaker&apos; : Active speaker layout for video conference.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoMosaicLayout</source>
<extracomment>&apos;Mosaic&apos; : Mosaic layout invideo conference.</extracomment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SettingsVideoPreview</name>

View file

@ -3017,6 +3017,46 @@
<source>videoSettingsInCallWarning</source>
<translation></translation>
</message>
<message>
<source>videoDisplayTitle</source>
<extracomment>&apos;Video display&apos; : Title for display parameters</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoModeLabel</source>
<extracomment>&apos;Camera mode&apos; : Label to choose a camera mode.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoHybrid</source>
<extracomment>&apos;Hybrid&apos; : Hybrid mode for camera.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoOccupyAllSpace</source>
<extracomment>&apos;Occupy all space&apos; : Camera mode for a centered cropping view.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoBlackBars</source>
<extracomment>&apos;Black bars&apos; : Camera mode for a fit view with black bars to keep ratio.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoLayout</source>
<extracomment>&apos;Default video layout&apos; : Label to choose the default layout in video conference.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoActiveSpeakerLayout</source>
<extracomment>&apos;Active speaker&apos; : Active speaker layout for video conference.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>videoMosaicLayout</source>
<extracomment>&apos;Mosaic&apos; : Mosaic layout invideo conference.</extracomment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SettingsVideoPreview</name>

View file

@ -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.
// =============================================================================

View file

@ -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);

View file

@ -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()

View file

@ -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
}
}
}

View file

@ -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
}
}

View file

@ -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

View file

@ -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
}
}
}
}
}
}