to fix : meeting detail ui

fix meeting detail view #LINQT-2193
This commit is contained in:
gaelle 2025-11-19 17:44:30 +01:00
parent db5f6dc2af
commit 0b3b15a1a6
6 changed files with 430 additions and 443 deletions

View file

@ -2381,19 +2381,19 @@ Error</extracomment>
<context>
<name>ChatMessageCore</name>
<message>
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="155"/>
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="157"/>
<source>all_reactions_label</source>
<extracomment>&quot;Reactions&quot;: all reactions for one message label</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="211"/>
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="214"/>
<source>info_toast_deleted_title</source>
<extracomment>Deleted</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="213"/>
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="216"/>
<source>info_toast_deleted_message</source>
<extracomment>The message has been deleted</extracomment>
<translation type="unfinished"></translation>
@ -3390,19 +3390,19 @@ Error</extracomment>
<context>
<name>ConversationInfos</name>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="190"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="191"/>
<source>one_one_infos_call</source>
<extracomment>&quot;Appel&quot;</extracomment>
<translation>Anrufen</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="204"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="205"/>
<source>one_one_infos_unmute</source>
<extracomment>&quot;Sourdine&quot;</extracomment>
<translation type="unfinished">Unmute</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="204"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="205"/>
<source>one_one_infos_mute</source>
<translation type="unfinished">Stummschalten</translation>
</message>
@ -3412,121 +3412,121 @@ Error</extracomment>
<translation type="obsolete">Suchen</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="271"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="272"/>
<source>group_infos_participants</source>
<translation>Teilnehmer (%1)</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="288"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="289"/>
<source>group_infos_media_docs</source>
<extracomment>Medias &amp; documents</extracomment>
<translation type="unfinished">Medien &amp; Dokumente</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="294"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="295"/>
<source>group_infos_shared_medias</source>
<extracomment>Shared medias</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="305"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="306"/>
<source>group_infos_shared_docs</source>
<extracomment>Shared documents</extracomment>
<translation type="unfinished">Geteilte Dokumente</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="318"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="319"/>
<source>group_infos_other_actions</source>
<extracomment>Other actions</extracomment>
<translation>Weitere Aktionen</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="324"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="325"/>
<source>group_infos_ephemerals</source>
<translation type="unfinished">Ephemeral messages : </translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="324"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="325"/>
<source>group_infos_enable_ephemerals</source>
<translation type="unfinished">Flüchtige Nachrichten aktivieren</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="226"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="227"/>
<source>group_infos_meeting</source>
<extracomment>Schedule a meeting</extracomment>
<translation type="unfinished">Meeting</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="335"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="336"/>
<source>group_infos_leave_room</source>
<extracomment>Leave chat room</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="340"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="341"/>
<source>group_infos_leave_room_toast_title</source>
<extracomment>Leave Chat Room ?</extracomment>
<translation type="unfinished">Chatraum verlassen?</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="342"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="343"/>
<source>group_infos_leave_room_toast_message</source>
<extracomment>All the messages will be removed from the chat room. Do you want to continue ?</extracomment>
<translation type="unfinished">Alle Nachrichten werden aus dem Chat entfernt. Möchten Sie fortfahren?</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="355"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="356"/>
<source>group_infos_delete_history</source>
<extracomment>Delete history</extracomment>
<translation>Verlauf löschen</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="360"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="361"/>
<source>group_infos_delete_history_toast_title</source>
<extracomment>Delete history ?</extracomment>
<translation type="unfinished">Verlauf löschen?</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="362"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="363"/>
<source>group_infos_delete_history_toast_message</source>
<extracomment>All the messages will be removed from the chat room. Do you want to continue ?</extracomment>
<translation type="unfinished">Alle Nachrichten werden aus dem Chat entfernt. Möchten Sie fortfahren?</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="229"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="230"/>
<source>one_one_infos_open_contact</source>
<extracomment>Show contact</extracomment>
<translation>Kontakt anzeigen</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="231"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="232"/>
<source>one_one_infos_create_contact</source>
<extracomment>Create contact</extracomment>
<translation type="unfinished">Kontakt erstellen</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="376"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="377"/>
<source>one_one_infos_ephemerals</source>
<translation type="unfinished">Ephemeral messages : </translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="376"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="377"/>
<source>one_one_infos_enable_ephemerals</source>
<translation type="unfinished">Flüchtige Nachrichten aktivieren</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="386"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="387"/>
<source>one_one_infos_delete_history</source>
<translation>Verlauf löschen</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="391"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="392"/>
<source>one_one_infos_delete_history_toast_title</source>
<extracomment>Delete history ?</extracomment>
<translation type="unfinished">Verlauf löschen?</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="393"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="394"/>
<source>one_one_infos_delete_history_toast_message</source>
<extracomment>All the messages will be removed from the chat room. Do you want to continue ?</extracomment>
<translation type="unfinished">Alle Nachrichten werden aus dem Chat entfernt. Möchten Sie fortfahren?</translation>
@ -4623,170 +4623,170 @@ Error</extracomment>
<context>
<name>MeetingPage</name>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="19"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="18"/>
<source>meetings_add</source>
<extracomment>&quot;Créer une réunion&quot;</extracomment>
<translation>Besprechung erstellen</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="21"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="20"/>
<source>meetings_list_empty</source>
<extracomment>&quot;Aucune réunion&quot;</extracomment>
<translation>Keine Besprechungen</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="90"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="81"/>
<source>meeting_schedule_cancel_dialog_message</source>
<extracomment>&quot;Souhaitez-vous annuler et supprimer cette réunion ?&quot;</extracomment>
<translation>Möchten Sie diese Besprechung absagen und löschen?</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="92"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="83"/>
<source>meeting_schedule_delete_dialog_message</source>
<extracomment>Souhaitez-vous supprimer cette réunion ?</extracomment>
<translation>Möchten Sie diese Besprechung löschen?</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="105"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="96"/>
<source>meeting_schedule_cancel_and_delete_action</source>
<extracomment>&quot;Annuler et supprimer&quot;</extracomment>
<translation>Absagen und löschen</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="114"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="105"/>
<source>meeting_schedule_delete_only_action</source>
<extracomment>&quot;Supprimer seulement&quot;</extracomment>
<translation>Nur löschen</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="116"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="107"/>
<source>meeting_schedule_delete_action</source>
<extracomment>&quot;Supprimer&quot;</extracomment>
<translation>Löschen</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="125"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="116"/>
<source>back_action</source>
<extracomment>Retour</extracomment>
<translation>Zurück</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="190"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="160"/>
<source>meetings_list_title</source>
<extracomment>Réunions</extracomment>
<translation>Besprechungen</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="228"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="198"/>
<source>meetings_search_hint</source>
<extracomment>&quot;Rechercher une réunion&quot;</extracomment>
<translation>Besprechung suchen</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="245"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="215"/>
<source>list_filter_no_result_found</source>
<extracomment>&quot;Aucun résultat&quot;</extracomment>
<translation>Kein Ergebnis</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="247"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="217"/>
<source>meetings_empty_list</source>
<extracomment>&quot;Aucune réunion&quot;</extracomment>
<translation>Keine Besprechungen</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="322"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="383"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="292"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="353"/>
<source>meeting_schedule_title</source>
<extracomment>&quot;Nouvelle réunion&quot;</extracomment>
<translation>Neue Besprechung</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="333"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="303"/>
<source>create</source>
<translation>Erstellen</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="340"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="344"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="395"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="496"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="499"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="547"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="310"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="314"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="365"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="468"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="471"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="519"/>
<source>information_popup_error_title</source>
<translation>Fehler</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="342"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="497"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="312"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="469"/>
<source>meeting_schedule_mandatory_field_not_filled_toast</source>
<extracomment>Veuillez saisir un titre et sélectionner au moins un participant</extracomment>
<translation>Bitte Titel bestimmen und mindestens einen Teilnehmer auswählen</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="346"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="500"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="316"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="472"/>
<source>meeting_schedule_duration_error_toast</source>
<extracomment>&quot;La fin de la conférence doit être plus récente que son début&quot;</extracomment>
<translation>Das Ende der Besprechung muss nach dem Beginn liegen</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="350"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="390"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="320"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="360"/>
<source>meeting_schedule_creation_in_progress</source>
<extracomment>&quot;Création de la réunion en cours &quot;</extracomment>
<translation>Besprechung wird erstellt</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="385"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="355"/>
<source>meeting_info_created_toast</source>
<extracomment>&quot;Réunion planifiée avec succès&quot;</extracomment>
<translation>Besprechung erfolgreich erstellt</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="397"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="367"/>
<source>meeting_failed_to_schedule_toast</source>
<extracomment>&quot;Échec de création de la réunion !&quot;</extracomment>
<translation>Besprechung konnte nicht erstellt werden!</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="489"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="461"/>
<source>save</source>
<translation>Speichern</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="538"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="765"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="510"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="744"/>
<source>saved</source>
<extracomment>&quot;Enregistré&quot;</extracomment>
<translation>Gespeichert</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="540"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="512"/>
<source>meeting_info_updated_toast</source>
<extracomment>&quot;Réunion mise à jour&quot;</extracomment>
<translation>Besprechung geändert</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="545"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="517"/>
<source>meeting_schedule_edit_in_progress</source>
<extracomment>&quot;Modification de la réunion en cours&quot;</extracomment>
<translation>Bersprechung wird geändert</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="549"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="521"/>
<source>meeting_failed_to_edit_toast</source>
<extracomment>&quot;Échec de la modification de la réunion !&quot;</extracomment>
<translation>Besprechung konnte nicht geändert werden!</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="593"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="569"/>
<source>meeting_schedule_add_participants_title</source>
<extracomment>&quot;Ajouter des participants&quot;</extracomment>
<translation>Teilnehmer hinzufügen</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="607"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="583"/>
<source>meeting_schedule_add_participants_apply</source>
<translation>Apply</translation>
</message>
@ -4795,7 +4795,7 @@ Error</extracomment>
<translation type="vanished">Hinzufügen</translation>
</message>
<message numerus="yes">
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="617"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="593"/>
<source>group_call_participant_selected</source>
<extracomment>&quot;%n participant(s) sélectionné(s)&quot;</extracomment>
<translation type="unfinished">
@ -4804,31 +4804,31 @@ Error</extracomment>
</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="705"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="683"/>
<source>meeting_info_delete</source>
<extracomment>&quot;Supprimer la réunion&quot;</extracomment>
<translation>Besprechung löschen</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="767"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="746"/>
<source>meeting_address_copied_to_clipboard_toast</source>
<extracomment>&quot;Adresse de la réunion copiée&quot;</extracomment>
<translation>Besprechungs-URI kopiert</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="803"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="782"/>
<source>meeting_schedule_timezone_title</source>
<extracomment>&quot;Fuseau horaire&quot;</extracomment>
<translation>Zeitzone</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="904"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="888"/>
<source>meeting_info_organizer_label</source>
<extracomment>&quot;Organisateur&quot;</extracomment>
<translation>Organisator</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="923"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="905"/>
<source>meeting_info_join_title</source>
<extracomment>&quot;Rejoindre la réunion&quot;</extracomment>
<translation>Besprechung beitreten</translation>
@ -6004,43 +6004,43 @@ Pour les activer dans un projet commercial, merci de nous contacter.</source>
<translation>Die Anrufadresse ist keine interpretierbare SIP-Adresse: %1</translation>
</message>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="385"/>
<location filename="../../model/tool/ToolModel.cpp" line="386"/>
<source>group_call_error_no_account</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="415"/>
<location filename="../../model/tool/ToolModel.cpp" line="416"/>
<source>group_call_error_participants_invite</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="419"/>
<location filename="../../model/tool/ToolModel.cpp" line="420"/>
<source>group_call_error_creation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="519"/>
<location filename="../../model/tool/ToolModel.cpp" line="520"/>
<source>voice_recording_duration</source>
<extracomment>&quot;Voice recording (%1)&quot; : %1 is the duration formated in mm:ss</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="527"/>
<location filename="../../model/tool/ToolModel.cpp" line="528"/>
<source>conference_invitation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="529"/>
<location filename="../../model/tool/ToolModel.cpp" line="530"/>
<source>conference_invitation_updated</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="531"/>
<location filename="../../model/tool/ToolModel.cpp" line="532"/>
<source>conference_invitation_cancelled</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="593"/>
<location filename="../../model/tool/ToolModel.cpp" line="594"/>
<source>unknown_audio_device_name</source>
<translation>Unbekannter Gerätename</translation>
</message>

View file

@ -2353,19 +2353,19 @@ Error</extracomment>
<context>
<name>ChatMessageCore</name>
<message>
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="155"/>
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="157"/>
<source>all_reactions_label</source>
<extracomment>&quot;Reactions&quot;: all reactions for one message label</extracomment>
<translation>Reactions</translation>
</message>
<message>
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="211"/>
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="214"/>
<source>info_toast_deleted_title</source>
<extracomment>Deleted</extracomment>
<translation>Deleted</translation>
</message>
<message>
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="213"/>
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="216"/>
<source>info_toast_deleted_message</source>
<extracomment>The message has been deleted</extracomment>
<translation>The message has been deleted</translation>
@ -3314,138 +3314,138 @@ Only your correspondent can decrypt them.</translation>
<context>
<name>ConversationInfos</name>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="190"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="191"/>
<source>one_one_infos_call</source>
<extracomment>&quot;Appel&quot;</extracomment>
<translation>Call</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="204"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="205"/>
<source>one_one_infos_unmute</source>
<extracomment>&quot;Sourdine&quot;</extracomment>
<translation>Unmute</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="204"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="205"/>
<source>one_one_infos_mute</source>
<translation>Mute</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="271"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="272"/>
<source>group_infos_participants</source>
<translation>Participants (%1)</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="288"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="289"/>
<source>group_infos_media_docs</source>
<extracomment>Medias &amp; documents</extracomment>
<translation>Medias &amp; documents</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="294"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="295"/>
<source>group_infos_shared_medias</source>
<extracomment>Shared medias</extracomment>
<translation>Shared medias</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="305"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="306"/>
<source>group_infos_shared_docs</source>
<extracomment>Shared documents</extracomment>
<translation>Shared documents</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="318"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="319"/>
<source>group_infos_other_actions</source>
<extracomment>Other actions</extracomment>
<translation>Other actions</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="324"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="325"/>
<source>group_infos_ephemerals</source>
<translation>Ephemeral messages : </translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="324"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="325"/>
<source>group_infos_enable_ephemerals</source>
<translation>Enable ephemeral messages</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="226"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="227"/>
<source>group_infos_meeting</source>
<extracomment>Schedule a meeting</extracomment>
<translation>Schedule a meeting</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="335"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="336"/>
<source>group_infos_leave_room</source>
<extracomment>Leave chat room</extracomment>
<translation>Leave Chat Room</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="340"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="341"/>
<source>group_infos_leave_room_toast_title</source>
<extracomment>Leave Chat Room ?</extracomment>
<translation>Leave Chat Room ?</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="342"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="343"/>
<source>group_infos_leave_room_toast_message</source>
<extracomment>All the messages will be removed from the chat room. Do you want to continue ?</extracomment>
<translation>All the messages will be removed from the chat room. Do you want to continue ?</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="355"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="356"/>
<source>group_infos_delete_history</source>
<extracomment>Delete history</extracomment>
<translation>Delete history</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="360"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="361"/>
<source>group_infos_delete_history_toast_title</source>
<extracomment>Delete history ?</extracomment>
<translation>Delete history ?</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="362"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="363"/>
<source>group_infos_delete_history_toast_message</source>
<extracomment>All the messages will be removed from the chat room. Do you want to continue ?</extracomment>
<translation>All the messages will be removed from the chat room. Do you want to continue ?</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="229"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="230"/>
<source>one_one_infos_open_contact</source>
<extracomment>Show contact</extracomment>
<translation>Show contact</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="231"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="232"/>
<source>one_one_infos_create_contact</source>
<extracomment>Create contact</extracomment>
<translation>Create contact</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="376"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="377"/>
<source>one_one_infos_ephemerals</source>
<translation>Ephemeral messages : </translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="376"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="377"/>
<source>one_one_infos_enable_ephemerals</source>
<translation>Enable ephemeral messages</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="386"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="387"/>
<source>one_one_infos_delete_history</source>
<translation>Delete history</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="391"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="392"/>
<source>one_one_infos_delete_history_toast_title</source>
<extracomment>Delete history ?</extracomment>
<translation>Delete history ?</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="393"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="394"/>
<source>one_one_infos_delete_history_toast_message</source>
<extracomment>All the messages will be removed from the chat room. Do you want to continue ?</extracomment>
<translation>All the messages will be removed from the chat room. Do you want to continue ?</translation>
@ -4539,175 +4539,175 @@ Expiration : %1</translation>
<context>
<name>MeetingPage</name>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="19"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="18"/>
<source>meetings_add</source>
<extracomment>&quot;Créer une réunion&quot;</extracomment>
<translation>Create meeting</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="21"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="20"/>
<source>meetings_list_empty</source>
<extracomment>&quot;Aucune réunion&quot;</extracomment>
<translation>No meeting</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="90"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="81"/>
<source>meeting_schedule_cancel_dialog_message</source>
<extracomment>&quot;Souhaitez-vous annuler et supprimer cette réunion ?&quot;</extracomment>
<translation>Would you like to cancel and delete this meeting?</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="92"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="83"/>
<source>meeting_schedule_delete_dialog_message</source>
<extracomment>Souhaitez-vous supprimer cette réunion ?</extracomment>
<translation>Would you like to delete this meeting?</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="105"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="96"/>
<source>meeting_schedule_cancel_and_delete_action</source>
<extracomment>&quot;Annuler et supprimer&quot;</extracomment>
<translation>Cancel and delete</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="114"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="105"/>
<source>meeting_schedule_delete_only_action</source>
<extracomment>&quot;Supprimer seulement&quot;</extracomment>
<translation>Delete only</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="116"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="107"/>
<source>meeting_schedule_delete_action</source>
<extracomment>&quot;Supprimer&quot;</extracomment>
<translation>Delete</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="125"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="116"/>
<source>back_action</source>
<extracomment>Retour</extracomment>
<translation>Back</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="190"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="160"/>
<source>meetings_list_title</source>
<extracomment>Réunions</extracomment>
<translation>Meetings</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="228"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="198"/>
<source>meetings_search_hint</source>
<extracomment>&quot;Rechercher une réunion&quot;</extracomment>
<translation>Find meeting</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="245"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="215"/>
<source>list_filter_no_result_found</source>
<extracomment>&quot;Aucun résultat&quot;</extracomment>
<translation>No result</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="247"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="217"/>
<source>meetings_empty_list</source>
<extracomment>&quot;Aucune réunion&quot;</extracomment>
<translation>No meeting</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="322"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="383"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="292"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="353"/>
<source>meeting_schedule_title</source>
<extracomment>&quot;Nouvelle réunion&quot;</extracomment>
<translation>New meeting</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="333"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="303"/>
<source>create</source>
<translation>Create</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="340"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="344"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="395"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="496"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="499"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="547"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="310"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="314"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="365"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="468"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="471"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="519"/>
<source>information_popup_error_title</source>
<translation>Error</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="342"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="497"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="312"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="469"/>
<source>meeting_schedule_mandatory_field_not_filled_toast</source>
<extracomment>Veuillez saisir un titre et sélectionner au moins un participant</extracomment>
<translation>Please fill the title and select at least one participant</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="346"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="500"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="316"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="472"/>
<source>meeting_schedule_duration_error_toast</source>
<extracomment>&quot;La fin de la conférence doit être plus récente que son début&quot;</extracomment>
<translation>The end of the conference must be more recent than its beginning</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="350"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="390"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="320"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="360"/>
<source>meeting_schedule_creation_in_progress</source>
<extracomment>&quot;Création de la réunion en cours &quot;</extracomment>
<translation>Creation in progress</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="385"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="355"/>
<source>meeting_info_created_toast</source>
<extracomment>&quot;Réunion planifiée avec succès&quot;</extracomment>
<translation>Meeting successfully created</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="397"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="367"/>
<source>meeting_failed_to_schedule_toast</source>
<extracomment>&quot;Échec de création de la réunion !&quot;</extracomment>
<translation>Failed to create meeting!</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="489"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="461"/>
<source>save</source>
<translation>Save</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="538"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="765"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="510"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="744"/>
<source>saved</source>
<extracomment>&quot;Enregistré&quot;</extracomment>
<translation>Saved</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="540"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="512"/>
<source>meeting_info_updated_toast</source>
<extracomment>&quot;Réunion mise à jour&quot;</extracomment>
<translation>Meeting updated</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="545"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="517"/>
<source>meeting_schedule_edit_in_progress</source>
<extracomment>&quot;Modification de la réunion en cours&quot;</extracomment>
<translation>Meeting update in progress</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="549"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="521"/>
<source>meeting_failed_to_edit_toast</source>
<extracomment>&quot;Échec de la modification de la réunion !&quot;</extracomment>
<translation>Failed to update meeting !</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="593"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="569"/>
<source>meeting_schedule_add_participants_title</source>
<extracomment>&quot;Ajouter des participants&quot;</extracomment>
<translation>Add participants</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="607"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="583"/>
<source>meeting_schedule_add_participants_apply</source>
<translation>Apply</translation>
</message>
<message numerus="yes">
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="617"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="593"/>
<source>group_call_participant_selected</source>
<extracomment>&quot;%n participant(s) sélectionné(s)&quot;</extracomment>
<translation>
@ -4716,31 +4716,31 @@ Expiration : %1</translation>
</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="705"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="683"/>
<source>meeting_info_delete</source>
<extracomment>&quot;Supprimer la réunion&quot;</extracomment>
<translation>Delete meeting</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="767"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="746"/>
<source>meeting_address_copied_to_clipboard_toast</source>
<extracomment>&quot;Adresse de la réunion copiée&quot;</extracomment>
<translation>Meeting URI copied</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="803"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="782"/>
<source>meeting_schedule_timezone_title</source>
<extracomment>&quot;Fuseau horaire&quot;</extracomment>
<translation>Timezone</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="904"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="888"/>
<source>meeting_info_organizer_label</source>
<extracomment>&quot;Organisateur&quot;</extracomment>
<translation>Organizer</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="923"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="905"/>
<source>meeting_info_join_title</source>
<extracomment>&quot;Rejoindre la réunion&quot;</extracomment>
<translation>Join meeting</translation>
@ -5887,43 +5887,43 @@ To enable them in a commercial project, please contact us.</translation>
<translation>The calling address is not an interpretable SIP address : %1</translation>
</message>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="385"/>
<location filename="../../model/tool/ToolModel.cpp" line="386"/>
<source>group_call_error_no_account</source>
<translation>No default account found, can&apos;t create group call</translation>
</message>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="415"/>
<location filename="../../model/tool/ToolModel.cpp" line="416"/>
<source>group_call_error_participants_invite</source>
<translation>Couldn&apos;t invite participants to group call</translation>
</message>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="419"/>
<location filename="../../model/tool/ToolModel.cpp" line="420"/>
<source>group_call_error_creation</source>
<translation>Group call couldn&apos;t be created</translation>
</message>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="519"/>
<location filename="../../model/tool/ToolModel.cpp" line="520"/>
<source>voice_recording_duration</source>
<extracomment>&quot;Voice recording (%1)&quot; : %1 is the duration formated in mm:ss</extracomment>
<translation>Voice recording (%1)</translation>
</message>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="593"/>
<location filename="../../model/tool/ToolModel.cpp" line="594"/>
<source>unknown_audio_device_name</source>
<translation>Unknown device name</translation>
</message>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="527"/>
<location filename="../../model/tool/ToolModel.cpp" line="528"/>
<source>conference_invitation</source>
<translation>Meeting invitation</translation>
</message>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="531"/>
<location filename="../../model/tool/ToolModel.cpp" line="532"/>
<source>conference_invitation_cancelled</source>
<translation>Meeting cancellation</translation>
</message>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="529"/>
<location filename="../../model/tool/ToolModel.cpp" line="530"/>
<source>conference_invitation_updated</source>
<translation>Meeting modification</translation>
</message>

View file

@ -2353,19 +2353,19 @@ Error</extracomment>
<context>
<name>ChatMessageCore</name>
<message>
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="155"/>
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="157"/>
<source>all_reactions_label</source>
<extracomment>&quot;Reactions&quot;: all reactions for one message label</extracomment>
<translation>Réactions</translation>
</message>
<message>
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="211"/>
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="214"/>
<source>info_toast_deleted_title</source>
<extracomment>Deleted</extracomment>
<translation>Supprimé</translation>
</message>
<message>
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="213"/>
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="216"/>
<source>info_toast_deleted_message</source>
<extracomment>The message has been deleted</extracomment>
<translation>Le message a é supprimé</translation>
@ -3314,138 +3314,138 @@ en bout. Seul votre correspondant peut les déchiffrer.</translation>
<context>
<name>ConversationInfos</name>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="190"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="191"/>
<source>one_one_infos_call</source>
<extracomment>&quot;Appel&quot;</extracomment>
<translation>Appel</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="204"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="205"/>
<source>one_one_infos_unmute</source>
<extracomment>&quot;Sourdine&quot;</extracomment>
<translation>Réactiver les notifications</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="204"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="205"/>
<source>one_one_infos_mute</source>
<translation>Sourdine</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="271"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="272"/>
<source>group_infos_participants</source>
<translation>Participants (%1)</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="288"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="289"/>
<source>group_infos_media_docs</source>
<extracomment>Medias &amp; documents</extracomment>
<translation>Medias &amp; documents</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="294"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="295"/>
<source>group_infos_shared_medias</source>
<extracomment>Shared medias</extracomment>
<translation>Médias partagés</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="305"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="306"/>
<source>group_infos_shared_docs</source>
<extracomment>Shared documents</extracomment>
<translation>Documents partagés</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="318"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="319"/>
<source>group_infos_other_actions</source>
<extracomment>Other actions</extracomment>
<translation>Autres actions</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="324"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="325"/>
<source>group_infos_ephemerals</source>
<translation>Messages éphémères : </translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="324"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="325"/>
<source>group_infos_enable_ephemerals</source>
<translation>Activer les messages éphémères</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="226"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="227"/>
<source>group_infos_meeting</source>
<extracomment>Schedule a meeting</extracomment>
<translation>Programmer une réunion</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="335"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="336"/>
<source>group_infos_leave_room</source>
<extracomment>Leave chat room</extracomment>
<translation>Quitter la conversation</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="340"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="341"/>
<source>group_infos_leave_room_toast_title</source>
<extracomment>Leave Chat Room ?</extracomment>
<translation>Quitter la conversation ?</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="342"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="343"/>
<source>group_infos_leave_room_toast_message</source>
<extracomment>All the messages will be removed from the chat room. Do you want to continue ?</extracomment>
<translation>Vous ne recevrez ni pourrez envoyer des messages dans cette conversation, quitter ?</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="355"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="356"/>
<source>group_infos_delete_history</source>
<extracomment>Delete history</extracomment>
<translation>Supprimer l&apos;historique</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="360"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="361"/>
<source>group_infos_delete_history_toast_title</source>
<extracomment>Delete history ?</extracomment>
<translation>Supprimer l&apos;historique ?</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="362"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="363"/>
<source>group_infos_delete_history_toast_message</source>
<extracomment>All the messages will be removed from the chat room. Do you want to continue ?</extracomment>
<translation>Tous les messages seront supprimés. Souhaitez-vous continuer ?</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="229"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="230"/>
<source>one_one_infos_open_contact</source>
<extracomment>Show contact</extracomment>
<translation>Voir le contact</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="231"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="232"/>
<source>one_one_infos_create_contact</source>
<extracomment>Create contact</extracomment>
<translation>Créer un contact</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="376"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="377"/>
<source>one_one_infos_ephemerals</source>
<translation>Messages éphémères : </translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="376"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="377"/>
<source>one_one_infos_enable_ephemerals</source>
<translation>Activer les messages éphémères</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="386"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="387"/>
<source>one_one_infos_delete_history</source>
<translation>Supprimer l&apos;historique</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="391"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="392"/>
<source>one_one_infos_delete_history_toast_title</source>
<extracomment>Delete history ?</extracomment>
<translation>Supprimer l&apos;historique ?</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="393"/>
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="394"/>
<source>one_one_infos_delete_history_toast_message</source>
<extracomment>All the messages will be removed from the chat room. Do you want to continue ?</extracomment>
<translation>Tous les messages seront supprimés. Souhaitez-vous continuer ?</translation>
@ -4539,175 +4539,175 @@ Expiration : %1</translation>
<context>
<name>MeetingPage</name>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="19"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="18"/>
<source>meetings_add</source>
<extracomment>&quot;Créer une réunion&quot;</extracomment>
<translation>Créer une réunion</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="21"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="20"/>
<source>meetings_list_empty</source>
<extracomment>&quot;Aucune réunion&quot;</extracomment>
<translation>Aucune réunion</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="90"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="81"/>
<source>meeting_schedule_cancel_dialog_message</source>
<extracomment>&quot;Souhaitez-vous annuler et supprimer cette réunion ?&quot;</extracomment>
<translation>Souhaitez-vous annuler et supprimer cette réunion ?</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="92"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="83"/>
<source>meeting_schedule_delete_dialog_message</source>
<extracomment>Souhaitez-vous supprimer cette réunion ?</extracomment>
<translation>Souhaitez-vous supprimer cette réunion ?</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="105"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="96"/>
<source>meeting_schedule_cancel_and_delete_action</source>
<extracomment>&quot;Annuler et supprimer&quot;</extracomment>
<translation>Annuler et supprimer</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="114"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="105"/>
<source>meeting_schedule_delete_only_action</source>
<extracomment>&quot;Supprimer seulement&quot;</extracomment>
<translation>Supprimer seulement</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="116"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="107"/>
<source>meeting_schedule_delete_action</source>
<extracomment>&quot;Supprimer&quot;</extracomment>
<translation>Supprimer</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="125"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="116"/>
<source>back_action</source>
<extracomment>Retour</extracomment>
<translation>Retour</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="190"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="160"/>
<source>meetings_list_title</source>
<extracomment>Réunions</extracomment>
<translation>Réunions</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="228"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="198"/>
<source>meetings_search_hint</source>
<extracomment>&quot;Rechercher une réunion&quot;</extracomment>
<translation>Rechercher une réunion</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="245"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="215"/>
<source>list_filter_no_result_found</source>
<extracomment>&quot;Aucun résultat&quot;</extracomment>
<translation>Aucun résultat</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="247"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="217"/>
<source>meetings_empty_list</source>
<extracomment>&quot;Aucune réunion&quot;</extracomment>
<translation>Aucune réunion</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="322"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="383"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="292"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="353"/>
<source>meeting_schedule_title</source>
<extracomment>&quot;Nouvelle réunion&quot;</extracomment>
<translation>Nouvelle réunion</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="333"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="303"/>
<source>create</source>
<translation>Créer</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="340"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="344"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="395"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="496"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="499"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="547"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="310"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="314"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="365"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="468"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="471"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="519"/>
<source>information_popup_error_title</source>
<translation>Erreur</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="342"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="497"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="312"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="469"/>
<source>meeting_schedule_mandatory_field_not_filled_toast</source>
<extracomment>Veuillez saisir un titre et sélectionner au moins un participant</extracomment>
<translation>Veuillez saisir un titre et sélectionner au moins un participant</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="346"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="500"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="316"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="472"/>
<source>meeting_schedule_duration_error_toast</source>
<extracomment>&quot;La fin de la conférence doit être plus récente que son début&quot;</extracomment>
<translation>La fin de la conférence doit être plus récente que son début</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="350"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="390"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="320"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="360"/>
<source>meeting_schedule_creation_in_progress</source>
<extracomment>&quot;Création de la réunion en cours &quot;</extracomment>
<translation>Création de la réunion en cours</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="385"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="355"/>
<source>meeting_info_created_toast</source>
<extracomment>&quot;Réunion planifiée avec succès&quot;</extracomment>
<translation>Réunion planifiée avec succès</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="397"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="367"/>
<source>meeting_failed_to_schedule_toast</source>
<extracomment>&quot;Échec de création de la réunion !&quot;</extracomment>
<translation>Échec de création de la réunion !</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="489"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="461"/>
<source>save</source>
<translation>Enregistrer</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="538"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="765"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="510"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="744"/>
<source>saved</source>
<extracomment>&quot;Enregistré&quot;</extracomment>
<translation>Enregistré</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="540"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="512"/>
<source>meeting_info_updated_toast</source>
<extracomment>&quot;Réunion mise à jour&quot;</extracomment>
<translation>Réunion mise à jour</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="545"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="517"/>
<source>meeting_schedule_edit_in_progress</source>
<extracomment>&quot;Modification de la réunion en cours&quot;</extracomment>
<translation>Modification de la réunion en cours</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="549"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="521"/>
<source>meeting_failed_to_edit_toast</source>
<extracomment>&quot;Échec de la modification de la réunion !&quot;</extracomment>
<translation>Échec de la modification de la réunion !</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="593"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="569"/>
<source>meeting_schedule_add_participants_title</source>
<extracomment>&quot;Ajouter des participants&quot;</extracomment>
<translation>Ajouter des participants</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="607"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="583"/>
<source>meeting_schedule_add_participants_apply</source>
<translation>Appliquer</translation>
</message>
<message numerus="yes">
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="617"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="593"/>
<source>group_call_participant_selected</source>
<extracomment>&quot;%n participant(s) sélectionné(s)&quot;</extracomment>
<translation>
@ -4716,31 +4716,31 @@ Expiration : %1</translation>
</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="705"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="683"/>
<source>meeting_info_delete</source>
<extracomment>&quot;Supprimer la réunion&quot;</extracomment>
<translation>Supprimer la réunion</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="767"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="746"/>
<source>meeting_address_copied_to_clipboard_toast</source>
<extracomment>&quot;Adresse de la réunion copiée&quot;</extracomment>
<translation>Adresse de la réunion copiée</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="803"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="782"/>
<source>meeting_schedule_timezone_title</source>
<extracomment>&quot;Fuseau horaire&quot;</extracomment>
<translation>Fuseau horaire</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="904"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="888"/>
<source>meeting_info_organizer_label</source>
<extracomment>&quot;Organisateur&quot;</extracomment>
<translation>Organisateur</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="923"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="905"/>
<source>meeting_info_join_title</source>
<extracomment>&quot;Rejoindre la réunion&quot;</extracomment>
<translation>Rejoindre la réunion</translation>
@ -5887,43 +5887,43 @@ Pour les activer dans un projet commercial, merci de nous contacter.</translatio
<translation>L&apos;adresse n&apos;est pas interprétable comme une adresse SIP</translation>
</message>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="385"/>
<location filename="../../model/tool/ToolModel.cpp" line="386"/>
<source>group_call_error_no_account</source>
<translation>Impossible de créer l&apos;appel de groupe, le compte par défaut n&apos;est pas défini</translation>
</message>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="415"/>
<location filename="../../model/tool/ToolModel.cpp" line="416"/>
<source>group_call_error_participants_invite</source>
<translation>Impossible d&apos;inviter les participants à l&apos;appel de groupe</translation>
</message>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="419"/>
<location filename="../../model/tool/ToolModel.cpp" line="420"/>
<source>group_call_error_creation</source>
<translation>L&apos;appel de groupe n&apos;a pas pu être créé</translation>
</message>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="519"/>
<location filename="../../model/tool/ToolModel.cpp" line="520"/>
<source>voice_recording_duration</source>
<extracomment>&quot;Voice recording (%1)&quot; : %1 is the duration formated in mm:ss</extracomment>
<translation>Message vocal (%1)</translation>
</message>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="593"/>
<location filename="../../model/tool/ToolModel.cpp" line="594"/>
<source>unknown_audio_device_name</source>
<translation>Appareil inconnu</translation>
</message>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="527"/>
<location filename="../../model/tool/ToolModel.cpp" line="528"/>
<source>conference_invitation</source>
<translation>Invitation à une réunion</translation>
</message>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="531"/>
<location filename="../../model/tool/ToolModel.cpp" line="532"/>
<source>conference_invitation_cancelled</source>
<translation>Annulation d&apos;une réunion</translation>
</message>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="529"/>
<location filename="../../model/tool/ToolModel.cpp" line="530"/>
<source>conference_invitation_updated</source>
<translation>Modification d&apos;une réunion</translation>
</message>

View file

@ -14,7 +14,7 @@ ComboBox {
property alias contentText: contentText
contentItem: Text {
id: contentText
text: UtilsCpp.formatDate(calendar.selectedDate, false, true, "ddd d, MMMM")
text: calendar.selectedDate ? UtilsCpp.formatDate(calendar.selectedDate, false, true, "ddd d, MMMM") : ""
anchors.fill: parent
anchors.leftMargin: Utils.getSizeWithScreenRatio(15)
anchors.verticalCenter: parent.verticalCenter

View file

@ -21,6 +21,8 @@ FocusScope {
property alias leftPanelContent: leftPanel.children
property alias rightPanelStackView: rightPanelStackView
property alias rightPanel: rightPanel
property int rightPanelStackTopMargin: 0
property int rightPanelStackBottomMargin: 0
signal noItemButtonPressed()
// Control.SplitView {
@ -193,6 +195,8 @@ FocusScope {
id: rightPanelStackView
Layout.fillWidth: true
Layout.fillHeight: true
Layout.topMargin: mainItem.rightPanelStackTopMargin
Layout.bottomMargin: mainItem.rightPanelStackBottomMargin
visible: false
}
}

View file

@ -10,7 +10,6 @@ import "qrc:/qt/qml/Linphone/view/Control/Tool/Helper/utils.js" as Utils
// TODO : spacing
AbstractMainPage {
id: mainItem
property ConferenceInfoGui selectedConference
property int meetingListCount: 0
signal returnRequested()
@ -23,6 +22,9 @@ AbstractMainPage {
rightPanelColor: selectedConference ? DefaultStyle.grey_0 : DefaultStyle.grey_100
showDefaultItem: leftPanelStackView.currentItem && leftPanelStackView.currentItem.objectName === "listLayout" && meetingListCount === 0
rightPanelStackView.width: Utils.getSizeWithScreenRatio(393)
rightPanelStackTopMargin: Utils.getSizeWithScreenRatio(45)
rightPanelStackBottomMargin: Utils.getSizeWithScreenRatio(30)
function createPreFilledMeeting(subject, addresses) {
mainItem.selectedConference = Qt.createQmlObject('import Linphone
@ -47,7 +49,7 @@ AbstractMainPage {
item.forceActiveFocus()
} else {
mainItem.selectedConference = confInfoGui
item = overridenRightPanelStackView.push(editConf, {"conferenceInfoGui": mainItem.selectedConference})
item = rightPanelStackView.push(editConf, {"conferenceInfoGui": mainItem.selectedConference})
item.forceActiveFocus()
}
}
@ -60,25 +62,14 @@ AbstractMainPage {
onSelectedConferenceChanged: {
// While a conference is being edited, we need to stay on the edit page
if (overridenRightPanelStackView.currentItem && (overridenRightPanelStackView.currentItem.objectName === "editConf" || overridenRightPanelStackView.currentItem.objectName === "createConf")) return
overridenRightPanelStackView.clear()
if (rightPanelStackView.currentItem && (rightPanelStackView.currentItem.objectName === "editConf")) return
rightPanelStackView.clear()
if (selectedConference && selectedConference.core && selectedConference.core.haveModel) {
if (!overridenRightPanelStackView.currentItem || overridenRightPanelStackView.currentItem != meetingDetail) overridenRightPanelStackView.replace(meetingDetail, Control.StackView.Immediate)
rightPanelStackView.push(meetingDetail, Control.StackView.Immediate)
}
}
onNoItemButtonPressed: editConference()
Component.onCompleted: rightPanelStackView.push(overridenRightPanel, Control.StackView.Immediate)
leftPanelContent: Control.StackView {
id: leftPanelStackView
Layout.fillWidth: true
Layout.fillHeight: true
Layout.leftMargin: Utils.getSizeWithScreenRatio(45)
initialItem: listLayout
clip: true
}
Dialog {
id: cancelAndDeleteConfDialog
@ -132,34 +123,13 @@ AbstractMainPage {
]
}
Control.ScrollView {
id: overridenRightPanel
width: Utils.getSizeWithScreenRatio(393 + 10)
anchors.top: parent.top
anchors.bottom: parent.bottom
anchors.topMargin: Utils.getSizeWithScreenRatio(58)
anchors.bottomMargin: Utils.getSizeWithScreenRatio(30)
height: parent.height - anchors.topMargin
anchors.horizontalCenter: parent.horizontalCenter
contentWidth: width
leftPanelContent: Control.StackView {
id: leftPanelStackView
Layout.fillWidth: true
Layout.fillHeight: true
Layout.leftMargin: Utils.getSizeWithScreenRatio(45)
initialItem: listLayout
clip: true
Control.ScrollBar.vertical: ScrollBar {
visible: overridenRightPanel.contentHeight > overridenRightPanel.height
anchors.top: parent.top
anchors.bottom: parent.bottom
anchors.right: parent.right
}
ColumnLayout {
anchors.fill: parent
anchors.rightMargin: Utils.getSizeWithScreenRatio(10)
width: Utils.getSizeWithScreenRatio(393)
Control.StackView {
id: overridenRightPanelStackView
Layout.fillWidth: true
Layout.fillHeight: true
Layout.preferredHeight: currentItem ? currentItem.childrenRect.height : 0
}
}
}
Component {
@ -172,34 +142,34 @@ AbstractMainPage {
Control.StackView.onActivated: {
mainItem.selectedConference = conferenceList.selectedConference
}
enabled: !overridenRightPanelStackView.currentItem || overridenRightPanelStackView.currentItem.objectName !== "editConf"
enabled: !rightPanelStackView.currentItem || rightPanelStackView.currentItem.objectName !== "editConf"
ColumnLayout {
anchors.fill: parent
spacing: 0
FlexboxLayout {
direction: FlexboxLayout.Row
gap: Utils.getSizeWithScreenRatio(16)
alignItems: FlexboxLayout.AlignCenter
Layout.rightMargin: Utils.getSizeWithScreenRatio(39)
direction: FlexboxLayout.Row
gap: Utils.getSizeWithScreenRatio(16)
alignItems: FlexboxLayout.AlignCenter
Layout.rightMargin: Utils.getSizeWithScreenRatio(39)
Layout.alignment: Qt.AlignTop
Layout.fillHeight: false
Layout.fillHeight: false
Text {
Layout.fillWidth: true
//: Réunions
text: qsTr("meetings_list_title")
//: Réunions
text: qsTr("meetings_list_title")
color: DefaultStyle.main2_700
font.pixelSize: Typography.h2.pixelSize
font.weight: Typography.h2.weight
font.pixelSize: Typography.h2.pixelSize
font.weight: Typography.h2.weight
}
Button {
id: newConfButton
style: ButtonStyle.noBackground
icon.source: AppIcons.plusCircle
Layout.preferredWidth: Utils.getSizeWithScreenRatio(28)
Layout.preferredHeight: Utils.getSizeWithScreenRatio(28)
icon.width: Utils.getSizeWithScreenRatio(28)
icon.height: Utils.getSizeWithScreenRatio(28)
Layout.preferredWidth: Utils.getSizeWithScreenRatio(28)
Layout.preferredHeight: Utils.getSizeWithScreenRatio(28)
icon.width: Utils.getSizeWithScreenRatio(28)
icon.height: Utils.getSizeWithScreenRatio(28)
KeyNavigation.down: scrollToCurrentDateButton
onClicked: {
mainItem.editConference()
@ -238,27 +208,27 @@ AbstractMainPage {
}
Text {
visible: conferenceList.count === 0 && !conferenceList.loading
Layout.topMargin: Utils.getSizeWithScreenRatio(137)
Layout.topMargin: Utils.getSizeWithScreenRatio(137)
Layout.fillHeight: true
Layout.alignment: Qt.AlignHCenter
//: "Aucun résultat"
text: searchBar.text.length !== 0 ? qsTr("list_filter_no_result_found")
//: "Aucune réunion"
: qsTr("meetings_empty_list")
//: "Aucun résultat"
text: searchBar.text.length !== 0 ? qsTr("list_filter_no_result_found")
//: "Aucune réunion"
: qsTr("meetings_empty_list")
font {
pixelSize: Typography.h4.pixelSize
weight: Typography.h4.weight
pixelSize: Typography.h4.pixelSize
weight: Typography.h4.weight
}
}
MeetingListView {
id: conferenceList
// Remove 24 from first section padding because we cannot know that it is the first section. 24 is the margins between sections.
Layout.topMargin: Utils.getSizeWithScreenRatio(38 - 24)
Layout.topMargin: Utils.getSizeWithScreenRatio(38 - 24)
Layout.fillWidth: true
Layout.fillHeight: true
searchBarText: searchBar.text
onCountChanged: {
mainItem.meetingListCount = count
}
@ -276,13 +246,13 @@ AbstractMainPage {
cancelAndDeleteConfDialog.cancel = canCancel
cancelAndDeleteConfDialog.open()
}
Keys.onPressed: (event) => {
if(event.key == Qt.Key_Escape){
searchBar.forceActiveFocus()
event.accepted = true
}else if(event.key == Qt.Key_Right){
overridenRightPanelStackView.currentItem.forceActiveFocus()
rightPanelStackView.currentItem.forceActiveFocus()
event.accepted = true
}
}
@ -298,18 +268,18 @@ AbstractMainPage {
objectName: "createConf"
property ConferenceInfoGui conferenceInfoGui
ColumnLayout {
spacing: Utils.getSizeWithScreenRatio(33)
spacing: Utils.getSizeWithScreenRatio(33)
anchors.fill: parent
RowLayout {
spacing: Utils.getSizeWithScreenRatio(5)
spacing: Utils.getSizeWithScreenRatio(5)
Layout.rightMargin: Utils.getSizeWithScreenRatio(35)
Button {
id: backButton
style: ButtonStyle.noBackground
icon.source: AppIcons.leftArrow
focus: true
icon.width: Utils.getSizeWithScreenRatio(24)
icon.height: Utils.getSizeWithScreenRatio(24)
icon.width: Utils.getSizeWithScreenRatio(24)
icon.height: Utils.getSizeWithScreenRatio(24)
KeyNavigation.right: createButton
KeyNavigation.down: meetingSetup
onClicked: {
@ -318,38 +288,38 @@ AbstractMainPage {
}
}
Text {
//: "Nouvelle réunion"
text: qsTr("meeting_schedule_title")
//: "Nouvelle réunion"
text: qsTr("meeting_schedule_title")
color: DefaultStyle.main2_700
font {
pixelSize: Typography.h3.pixelSize
weight: Typography.h3.weight
pixelSize: Typography.h3.pixelSize
weight: Typography.h3.weight
}
Layout.fillWidth: true
}
Item {Layout.fillWidth: true}
SmallButton {
id: createButton
text: qsTr("create")
text: qsTr("create")
style: ButtonStyle.main
KeyNavigation.left: backButton
KeyNavigation.down: meetingSetup
onClicked: {
if (meetingSetup.conferenceInfoGui.core.subject.length === 0 || meetingSetup.conferenceInfoGui.core.participantCount === 0) {
UtilsCpp.showInformationPopup(qsTr("information_popup_error_title"),
//: Veuillez saisir un titre et sélectionner au moins un participant
qsTr("meeting_schedule_mandatory_field_not_filled_toast"), false)
if (meetingSetup.conferenceInfoGui.core.subject.length === 0 || meetingSetup.conferenceInfoGui.core.participantCount === 0) {
UtilsCpp.showInformationPopup(qsTr("information_popup_error_title"),
//: Veuillez saisir un titre et sélectionner au moins un participant
qsTr("meeting_schedule_mandatory_field_not_filled_toast"), false)
} else if (meetingSetup.conferenceInfoGui.core.duration <= 0) {
UtilsCpp.showInformationPopup(qsTr("information_popup_error_title"),
//: "La fin de la conférence doit être plus récente que son début"
qsTr("meeting_schedule_duration_error_toast"), false)
} else {
UtilsCpp.showInformationPopup(qsTr("information_popup_error_title"),
//: "La fin de la conférence doit être plus récente que son début"
qsTr("meeting_schedule_duration_error_toast"), false)
} else {
meetingSetup.conferenceInfoGui.core.save()
//: "Création de la réunion en cours "
mainWindow.showLoadingPopup(qsTr("meeting_schedule_creation_in_progress"), true, function () {
meetingSetup.conferenceInfoGui.core.cancelCreation()
})
//: "Création de la réunion en cours "
mainWindow.showLoadingPopup(qsTr("meeting_schedule_creation_in_progress"), true, function () {
meetingSetup.conferenceInfoGui.core.cancelCreation()
})
}
}
}
@ -406,7 +376,7 @@ AbstractMainPage {
}
}
onAddParticipantsRequested: {
leftPanelStackView.push(addParticipants, {"conferenceInfoGui": conferenceInfoGui, "container": leftPanelStackView})
leftPanelStackView.push(addParticipants, {"conferenceInfoGui": conferenceInfoGui, "container": leftPanelStackView, "overridenWidth": leftPanelStackView.width})
}
Connections {
target: mainItem
@ -427,24 +397,26 @@ AbstractMainPage {
id: editFocusScope
objectName: "editConf"
property ConferenceInfoGui conferenceInfoGui
width: overridenRightPanelStackView.width
anchors.horizontalCenter: parent?.horizontalCenter
width: Utils.getSizeWithScreenRatio(393)
ColumnLayout {
id: editLayout
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
width: Utils.getSizeWithScreenRatio(393)
height: childrenRect.height
anchors.horizontalCenter: parent?.horizontalCenter
spacing: 0
Section {
Layout.fillWidth: true
Layout.alignment: Qt.AlignHCenter
Layout.fillWidth: true
content: RowLayout {
spacing: Utils.getSizeWithScreenRatio(16)
Layout.preferredWidth: overridenRightPanelStackView.width
spacing: Utils.getSizeWithScreenRatio(16)
// Layout.preferredWidth: rightPanelStackView.width
Button {
id: backButton
icon.source: AppIcons.leftArrow
icon.width: Utils.getSizeWithScreenRatio(24)
icon.height: Utils.getSizeWithScreenRatio(24)
icon.width: Utils.getSizeWithScreenRatio(24)
icon.height: Utils.getSizeWithScreenRatio(24)
style: ButtonStyle.noBackground
KeyNavigation.left: saveButton
KeyNavigation.right: titleText
@ -452,16 +424,16 @@ AbstractMainPage {
KeyNavigation.up: conferenceEdit
onClicked: {
conferenceEdit.conferenceInfoGui.core.undo()
overridenRightPanelStackView.pop()
rightPanelStackView.pop()
}
}
RowLayout {
spacing: Utils.getSizeWithScreenRatio(8)
spacing: Utils.getSizeWithScreenRatio(8)
EffectImage{
imageSource: AppIcons.usersThree
colorizationColor: DefaultStyle.main2_600
Layout.preferredWidth: Utils.getSizeWithScreenRatio(24)
Layout.preferredHeight: Utils.getSizeWithScreenRatio(24)
Layout.preferredWidth: Utils.getSizeWithScreenRatio(24)
Layout.preferredHeight: Utils.getSizeWithScreenRatio(24)
}
TextInput {
id: titleText
@ -469,8 +441,8 @@ AbstractMainPage {
color: DefaultStyle.main2_600
clip: true
font {
pixelSize: Utils.getSizeWithScreenRatio(20)
weight: Typography.h4.weight
pixelSize: Utils.getSizeWithScreenRatio(20)
weight: Typography.h4.weight
}
KeyNavigation.left: backButton
KeyNavigation.right: saveButton
@ -486,19 +458,19 @@ AbstractMainPage {
id: saveButton
style: ButtonStyle.main
focus: true
text: qsTr("save")
text: qsTr("save")
KeyNavigation.left: titleText
KeyNavigation.right: backButton
KeyNavigation.down: conferenceEdit
KeyNavigation.up: conferenceEdit
onClicked: {
if (mainItem.selectedConference.core.subject.length === 0 || mainItem.selectedConference.core.participantCount === 0) {
UtilsCpp.showInformationPopup(qsTr("information_popup_error_title"),
qsTr("meeting_schedule_mandatory_field_not_filled_toast"), false)
if (mainItem.selectedConference.core.subject.length === 0 || mainItem.selectedConference.core.participantCount === 0) {
UtilsCpp.showInformationPopup(qsTr("information_popup_error_title"),
qsTr("meeting_schedule_mandatory_field_not_filled_toast"), false)
} else if (mainItem.selectedConference.core.duration <= 0) {
UtilsCpp.showInformationPopup(qsTr("information_popup_error_title"),
qsTr("meeting_schedule_duration_error_toast"), false)
} else {
UtilsCpp.showInformationPopup(qsTr("information_popup_error_title"),
qsTr("meeting_schedule_duration_error_toast"), false)
} else {
mainItem.selectedConference.core.save()
}
}
@ -509,18 +481,18 @@ AbstractMainPage {
MeetingForm {
id: conferenceEdit
isCreation: false
conferenceInfoGui: editFocusScope.conferenceInfoGui
Layout.fillWidth: true
Layout.preferredHeight: childrenRect.height
Layout.fillHeight: true
conferenceInfoGui: editFocusScope.conferenceInfoGui
onAddParticipantsRequested: {
overridenRightPanelStackView.push(addParticipants, {"conferenceInfoGui": conferenceInfoGui, "container": overridenRightPanelStackView})
rightPanelStackView.push(addParticipants, {"conferenceInfoGui": conferenceInfoGui, "container": rightPanelStackView, "overridenWidth": Utils.getSizeWithScreenRatio(393)})
}
Connections {
target: mainItem
function onAddParticipantsValidated(selectedParticipants) {
conferenceEdit.conferenceInfoGui.core.resetParticipants(selectedParticipants)
overridenRightPanelStackView.pop()
rightPanelStackView.pop()
}
}
Connections {
@ -532,21 +504,21 @@ AbstractMainPage {
function onSchedulerStateChanged() {
editFocusScope.enabled = conferenceInfoGui.core.schedulerState != LinphoneEnums.ConferenceSchedulerState.AllocationPending
if (conferenceEdit.conferenceInfoGui.core.schedulerState == LinphoneEnums.ConferenceSchedulerState.Ready) {
overridenRightPanelStackView.pop()
rightPanelStackView.pop()
UtilsCpp.getMainWindow().closeLoadingPopup()
//: "Enregistré"
UtilsCpp.showInformationPopup(qsTr("saved"),
//: "Réunion mise à jour"
qsTr("meeting_info_updated_toast"), true)
//: "Enregistré"
UtilsCpp.showInformationPopup(qsTr("saved"),
//: "Réunion mise à jour"
qsTr("meeting_info_updated_toast"), true)
}
else if (conferenceEdit.conferenceInfoGui.core.schedulerState == LinphoneEnums.ConferenceSchedulerState.AllocationPending
|| conferenceEdit.conferenceInfoGui.core.schedulerState == LinphoneEnums.ConferenceSchedulerState.Updating) {
//: "Modification de la réunion en cours"
UtilsCpp.getMainWindow().showLoadingPopup(qsTr("meeting_schedule_edit_in_progress"))
//: "Modification de la réunion en cours"
UtilsCpp.getMainWindow().showLoadingPopup(qsTr("meeting_schedule_edit_in_progress"))
} else if (conferenceEdit.conferenceInfoGui.core.schedulerState == LinphoneEnums.ConferenceSchedulerState.Error) {
UtilsCpp.showInformationPopup(qsTr("information_popup_error_title"),
//: "Échec de la modification de la réunion !"
qsTr("meeting_failed_to_edit_toast"), false)
UtilsCpp.showInformationPopup(qsTr("information_popup_error_title"),
//: "Échec de la modification de la réunion !"
qsTr("meeting_failed_to_edit_toast"), false)
UtilsCpp.getMainWindow().closeLoadingPopup()
}
}
@ -560,20 +532,24 @@ AbstractMainPage {
id: addParticipants
FocusScope{
id: addParticipantInItem
property int overridenWidth
property Control.StackView container
property ConferenceInfoGui conferenceInfoGui
anchors.horizontalCenter: parent?.horizontalCenter
ColumnLayout {
id: addParticipantsLayout
spacing: Utils.getSizeWithScreenRatio(18)
width: parent.overridenWidth ? parent.overridenWidth : parent.width
anchors.horizontalCenter: parent?.horizontalCenter
anchors.rightMargin: Utils.getSizeWithScreenRatio(8)
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
anchors.bottom: parent.bottom
ColumnLayout {
id: title
Layout.fillWidth: true
Layout.preferredHeight: childrenRect.height
Layout.fillHeight: true
Layout.fillWidth: false
Layout.preferredWidth: addParticipantsLayout.width
Layout.alignment: Qt.AlignHCenter
spacing: Utils.getSizeWithScreenRatio(4)
RowLayout {
id: addParticipantsButtons
@ -585,7 +561,7 @@ AbstractMainPage {
icon.width: Utils.getSizeWithScreenRatio(24)
icon.height: Utils.getSizeWithScreenRatio(24)
KeyNavigation.right: addButton
KeyNavigation.down: addParticipantLayout
KeyNavigation.down: addParticipantsForm
onClicked: container.pop()
}
Text {
@ -601,20 +577,20 @@ AbstractMainPage {
}
SmallButton {
id: addButton
enabled: addParticipantLayout.selectedParticipantsCount.length != 0
enabled: addParticipantsForm.selectedParticipantsCount.length != 0
focus: enabled
style: ButtonStyle.main
text: qsTr("meeting_schedule_add_participants_apply")
KeyNavigation.left: addParticipantsBackButton
KeyNavigation.down: addParticipantLayout
KeyNavigation.down: addParticipantsForm
onClicked: {
mainItem.addParticipantsValidated(addParticipantLayout.selectedParticipants)
mainItem.addParticipantsValidated(addParticipantsForm.selectedParticipants)
}
}
}
Text {
//: "%n participant(s) sélectionné(s)"
text: qsTr("group_call_participant_selected", '', addParticipantLayout.selectedParticipantsCount).arg(addParticipantLayout.selectedParticipantsCount)
text: qsTr("group_call_participant_selected", '', addParticipantsForm.selectedParticipantsCount).arg(addParticipantsForm.selectedParticipantsCount)
color: DefaultStyle.main2_500_main
Layout.leftMargin: addParticipantsBackButton.width + addParticipantsButtons.spacing
maximumLineCount: 1
@ -626,10 +602,9 @@ AbstractMainPage {
}
}
AddParticipantsForm {
id: addParticipantLayout
id: addParticipantsForm
Layout.fillWidth: true
Layout.fillHeight: true
height: addParticipantInItem.height - title.height
conferenceInfoGui: addParticipantInItem.conferenceInfoGui
participantscSrollBarRightMargin: 0
}
@ -640,34 +615,37 @@ AbstractMainPage {
Component {
id: meetingDetail
FocusScope{
width: overridenRightPanelStackView.width
height: meetingDetailsLayout.childrenRect.height
ColumnLayout {
width: Utils.getSizeWithScreenRatio(393)
anchors.horizontalCenter: parent?.horizontalCenter
FlexboxLayout {
id: meetingDetailsLayout
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
// anchors.fill: parent
visible: mainItem.selectedConference
spacing: Utils.getSizeWithScreenRatio(16)
anchors.top: parent.top
anchors.bottom: parent.bottom
anchors.horizontalCenter: parent.horizontalCenter
anchors.bottomMargin: Utils.getSizeWithScreenRatio(30)
width: Utils.getSizeWithScreenRatio(393)
direction: FlexboxLayout.Column
alignContent: FlexboxLayout.AlignSpaceBetween
gap: Utils.getSizeWithScreenRatio(16)
Section {
visible: mainItem.selectedConference
Layout.fillWidth: true
content: RowLayout {
spacing: Utils.getSizeWithScreenRatio(8)
spacing: Utils.getSizeWithScreenRatio(8)
EffectImage {
imageSource: AppIcons.usersThree
colorizationColor: DefaultStyle.main2_600
Layout.preferredWidth: Utils.getSizeWithScreenRatio(24)
Layout.preferredHeight: Utils.getSizeWithScreenRatio(24)
Layout.preferredWidth: Utils.getSizeWithScreenRatio(24)
Layout.preferredHeight: Utils.getSizeWithScreenRatio(24)
}
Text {
Layout.fillWidth: true
text: mainItem.selectedConference && mainItem.selectedConference.core? mainItem.selectedConference.core.subject : ""
maximumLineCount: 1
font {
pixelSize: Utils.getSizeWithScreenRatio(20)
weight: Typography.h4.weight
pixelSize: Utils.getSizeWithScreenRatio(20)
weight: Typography.h4.weight
}
}
Item {
@ -688,22 +666,22 @@ AbstractMainPage {
}
PopupButton {
id: deletePopup
Layout.preferredWidth: Utils.getSizeWithScreenRatio(24)
Layout.preferredHeight: Utils.getSizeWithScreenRatio(24)
Layout.preferredWidth: Utils.getSizeWithScreenRatio(24)
Layout.preferredHeight: Utils.getSizeWithScreenRatio(24)
contentImageColor: DefaultStyle.main1_500_main
KeyNavigation.left: editButton.visible ? editButton : leftPanelStackView.currentItem
KeyNavigation.right: leftPanelStackView.currentItem
KeyNavigation.up: joinButton
KeyNavigation.down: shareNetworkButton
popup.contentItem: IconLabelButton {
style: ButtonStyle.hoveredBackgroundRed
property var isMeObj: UtilsCpp.isMe(mainItem.selectedConference?.core?.organizerAddress)
property bool canCancel: isMeObj && isMeObj.value && mainItem.selectedConference?.core?.state !== LinphoneEnums.ConferenceInfoState.Cancelled
icon.source: AppIcons.trashCan
//: "Supprimer la réunion"
text: qsTr("meeting_info_delete")
//: "Supprimer la réunion"
text: qsTr("meeting_info_delete")
onClicked: {
if (mainItem.selectedConference) {
cancelAndDeleteConfDialog.confInfoToDelete = mainItem.selectedConference
@ -717,15 +695,16 @@ AbstractMainPage {
}
}
Section {
Layout.fillWidth: true
content: ColumnLayout {
spacing: Utils.getSizeWithScreenRatio(15)
spacing: Utils.getSizeWithScreenRatio(15)
width: parent.width
RowLayout {
spacing: Utils.getSizeWithScreenRatio(8)
spacing: Utils.getSizeWithScreenRatio(8)
Layout.fillWidth: true
EffectImage {
Layout.preferredWidth: Utils.getSizeWithScreenRatio(24)
Layout.preferredHeight: Utils.getSizeWithScreenRatio(24)
Layout.preferredWidth: Utils.getSizeWithScreenRatio(24)
Layout.preferredHeight: Utils.getSizeWithScreenRatio(24)
colorizationColor: DefaultStyle.main2_600
imageSource: AppIcons.videoCamera
}
@ -762,47 +741,47 @@ AbstractMainPage {
KeyNavigation.down: joinButton
onClicked: {
var success = UtilsCpp.copyToClipboard(mainItem.selectedConference.core.uri)
if (success) UtilsCpp.showInformationPopup(qsTr("saved"),
//: "Adresse de la réunion copiée"
qsTr("meeting_address_copied_to_clipboard_toast"))
if (success) UtilsCpp.showInformationPopup(qsTr("saved"),
//: "Adresse de la réunion copiée"
qsTr("meeting_address_copied_to_clipboard_toast"))
}
}
}
RowLayout {
spacing: Utils.getSizeWithScreenRatio(8)
spacing: Utils.getSizeWithScreenRatio(8)
EffectImage {
Layout.preferredWidth: Utils.getSizeWithScreenRatio(24)
Layout.preferredHeight: Utils.getSizeWithScreenRatio(24)
Layout.preferredWidth: Utils.getSizeWithScreenRatio(24)
Layout.preferredHeight: Utils.getSizeWithScreenRatio(24)
imageSource: AppIcons.clock
colorizationColor: DefaultStyle.main2_600
}
Text {
text: mainItem.selectedConference && mainItem.selectedConference.core
? UtilsCpp.toDateString(mainItem.selectedConference.core.dateTime)
+ " | " + UtilsCpp.toDateHourString(mainItem.selectedConference.core.dateTime)
+ " - "
? UtilsCpp.toDateString(mainItem.selectedConference.core.dateTime)
+ " | " + UtilsCpp.toDateHourString(mainItem.selectedConference.core.dateTime)
+ " - "
+ UtilsCpp.toDateHourString(mainItem.selectedConference.core.endDateTime)
: ''
font {
pixelSize: Utils.getSizeWithScreenRatio(14)
pixelSize: Utils.getSizeWithScreenRatio(14)
capitalization: Font.Capitalize
}
}
}
RowLayout {
spacing: Utils.getSizeWithScreenRatio(8)
spacing: Utils.getSizeWithScreenRatio(8)
EffectImage {
Layout.preferredWidth: Utils.getSizeWithScreenRatio(24)
Layout.preferredHeight: Utils.getSizeWithScreenRatio(24)
Layout.preferredWidth: Utils.getSizeWithScreenRatio(24)
Layout.preferredHeight: Utils.getSizeWithScreenRatio(24)
imageSource: AppIcons.globe
colorizationColor: DefaultStyle.main2_600
}
Text {
Layout.fillWidth: true
//: "Fuseau horaire"
text: "%1: %2".arg(qsTr("meeting_schedule_timezone_title")).arg(mainItem.selectedConference && mainItem.selectedConference.core ? (mainItem.selectedConference.core.timeZoneModel.displayName + ", " + mainItem.selectedConference.core.timeZoneModel.countryName) : "")
//: "Fuseau horaire"
text: "%1: %2".arg(qsTr("meeting_schedule_timezone_title")).arg(mainItem.selectedConference && mainItem.selectedConference.core ? (mainItem.selectedConference.core.timeZoneModel.displayName + ", " + mainItem.selectedConference.core.timeZoneModel.countryName) : "")
font {
pixelSize: Utils.getSizeWithScreenRatio(14)
pixelSize: Utils.getSizeWithScreenRatio(14)
capitalization: Font.Capitalize
}
}
@ -810,12 +789,13 @@ AbstractMainPage {
}
}
Section {
Layout.fillWidth: true
visible: mainItem.selectedConference && mainItem.selectedConference.core?.description.length != 0
content: RowLayout {
spacing: Utils.getSizeWithScreenRatio(8)
spacing: Utils.getSizeWithScreenRatio(8)
EffectImage {
Layout.preferredWidth: Utils.getSizeWithScreenRatio(24)
Layout.preferredHeight: Utils.getSizeWithScreenRatio(24)
Layout.preferredWidth: Utils.getSizeWithScreenRatio(24)
Layout.preferredHeight: Utils.getSizeWithScreenRatio(24)
imageSource: AppIcons.note
colorizationColor: DefaultStyle.main2_600
}
@ -823,30 +803,31 @@ AbstractMainPage {
text: mainItem.selectedConference && mainItem.selectedConference.core ? mainItem.selectedConference.core.description : ""
Layout.fillWidth: true
font {
pixelSize: Utils.getSizeWithScreenRatio(14)
pixelSize: Utils.getSizeWithScreenRatio(14)
}
}
}
}
Section {
Layout.fillWidth: true
content: RowLayout {
spacing: Utils.getSizeWithScreenRatio(8)
spacing: Utils.getSizeWithScreenRatio(8)
EffectImage {
Layout.preferredWidth: Utils.getSizeWithScreenRatio(24)
Layout.preferredHeight: Utils.getSizeWithScreenRatio(24)
Layout.preferredWidth: Utils.getSizeWithScreenRatio(24)
Layout.preferredHeight: Utils.getSizeWithScreenRatio(24)
imageSource: AppIcons.userRectangle
colorizationColor: DefaultStyle.main2_600
}
Avatar {
Layout.preferredWidth: Utils.getSizeWithScreenRatio(45)
Layout.preferredHeight: Utils.getSizeWithScreenRatio(45)
Layout.preferredWidth: Utils.getSizeWithScreenRatio(45)
Layout.preferredHeight: Utils.getSizeWithScreenRatio(45)
_address: mainItem.selectedConference && mainItem.selectedConference.core ? mainItem.selectedConference.core.organizerAddress : ""
secured: friendSecurityLevel === LinphoneEnums.SecurityLevel.EndToEndEncryptedAndVerified
}
Text {
text: mainItem.selectedConference && mainItem.selectedConference.core ? mainItem.selectedConference.core.organizerName : ""
font {
pixelSize: Utils.getSizeWithScreenRatio(14)
pixelSize: Utils.getSizeWithScreenRatio(14)
capitalization: Font.Capitalize
}
}
@ -854,22 +835,25 @@ AbstractMainPage {
}
Section {
visible: participantList.count > 0
Layout.fillWidth: true
Layout.fillHeight: true
Layout.maximumHeight: participantList.contentHeight + Utils.getSizeWithScreenRatio(1) + spacing
content: RowLayout {
Layout.preferredHeight: participantList.contentHeight
width: Utils.getSizeWithScreenRatio(393)
spacing: Utils.getSizeWithScreenRatio(8)
width: Utils.getSizeWithScreenRatio(393)
spacing: Utils.getSizeWithScreenRatio(8)
EffectImage {
Layout.preferredWidth: Utils.getSizeWithScreenRatio(24)
Layout.preferredHeight: Utils.getSizeWithScreenRatio(24)
Layout.preferredWidth: Utils.getSizeWithScreenRatio(24)
Layout.preferredHeight: Utils.getSizeWithScreenRatio(24)
Layout.alignment: Qt.AlignLeft | Qt.AlignTop
Layout.topMargin: Utils.getSizeWithScreenRatio(20)
Layout.topMargin: Utils.getSizeWithScreenRatio(20)
imageSource: AppIcons.usersTwo
colorizationColor: DefaultStyle.main2_600
}
ListView {
id: participantList
Layout.preferredHeight: contentHeight
// Layout.preferredHeight: contentHeight
Layout.fillWidth: true
Layout.fillHeight: true
model: mainItem.selectedConference && mainItem.selectedConference.core ? mainItem.selectedConference.core.participants : []
clip: true
Control.ScrollBar.vertical: ScrollBar {
@ -880,11 +864,11 @@ AbstractMainPage {
visible: participantList.height < participantList.contentHeight
}
delegate: RowLayout {
height: Utils.getSizeWithScreenRatio(56)
height: Utils.getSizeWithScreenRatio(56)
width: participantList.width - participantScrollBar.width - Utils.getSizeWithScreenRatio(5)
Avatar {
Layout.preferredWidth: Utils.getSizeWithScreenRatio(45)
Layout.preferredHeight: Utils.getSizeWithScreenRatio(45)
Layout.preferredWidth: Utils.getSizeWithScreenRatio(45)
Layout.preferredHeight: Utils.getSizeWithScreenRatio(45)
_address: modelData.address
secured: friendSecurityLevel === LinphoneEnums.SecurityLevel.EndToEndEncryptedAndVerified
shadowEnabled: false
@ -895,18 +879,18 @@ AbstractMainPage {
maximumLineCount: 1
Layout.fillWidth: true
font {
pixelSize: Utils.getSizeWithScreenRatio(14)
pixelSize: Utils.getSizeWithScreenRatio(14)
capitalization: Font.Capitalize
}
}
Text {
//: "Organisateur"
text: qsTr("meeting_info_organizer_label")
//: "Organisateur"
text: qsTr("meeting_info_organizer_label")
visible: mainItem.selectedConference && mainItem.selectedConference.core?.organizerAddress === modelData.address
color: DefaultStyle.main2_400
font {
pixelSize: Utils.getSizeWithScreenRatio(12)
weight: Utils.getSizeWithScreenRatio(300)
pixelSize: Utils.getSizeWithScreenRatio(12)
weight: Utils.getSizeWithScreenRatio(300)
}
}
}
@ -917,10 +901,8 @@ AbstractMainPage {
id: joinButton
visible: mainItem.selectedConference && mainItem.selectedConference.core?.state !== LinphoneEnums.ConferenceInfoState.Cancelled
Layout.fillWidth: true
Layout.preferredHeight: implicitHeight
Layout.bottomMargin: Utils.getSizeWithScreenRatio(5)
//: "Rejoindre la réunion"
text: qsTr("meeting_info_join_title")
//: "Rejoindre la réunion"
text: qsTr("meeting_info_join_title")
focus: true
KeyNavigation.up: shareNetworkButton
KeyNavigation.down: deletePopup
@ -936,4 +918,5 @@ AbstractMainPage {
}
}
}
}