From 06d6af29c7e6e88cca082cb87b287b95e9146df9 Mon Sep 17 00:00:00 2001 From: gaelle Date: Tue, 15 Apr 2025 12:08:03 +0200 Subject: [PATCH] fix paused by remote status text fix encryption panel + dialog ui fix current call transfer list --- Linphone/core/call/CallList.cpp | 16 +- Linphone/core/call/CallList.hpp | 4 +- Linphone/core/call/CallProxy.cpp | 2 +- Linphone/data/languages/de.ts | 1077 +++++++++-------- Linphone/data/languages/en.ts | 211 ++-- Linphone/data/languages/fr_FR.ts | 216 ++-- .../Container/Call/ActiveSpeakerLayout.qml | 2 +- .../Control/Display/Call/CallListView.qml | 6 +- .../Form/Settings/EncryptionSettings.qml | 9 +- .../Popup/Dialog/ZrtpAuthenticationDialog.qml | 1 + Linphone/view/Page/Form/Call/NewCallForm.qml | 9 +- .../view/Page/Window/Call/CallsWindow.qml | 25 +- 12 files changed, 835 insertions(+), 743 deletions(-) diff --git a/Linphone/core/call/CallList.cpp b/Linphone/core/call/CallList.cpp index e62e11edc..c5dc1a293 100644 --- a/Linphone/core/call/CallList.cpp +++ b/Linphone/core/call/CallList.cpp @@ -72,7 +72,7 @@ void CallList::setSelf(QSharedPointer me) { mustBeInMainThread(getClassName()); resetData(*calls); setHaveCall(calls->size() > 0); - setCurrentCall(currentCallCore); + setCurrentCallCore(currentCallCore); delete calls; }); }); @@ -141,7 +141,7 @@ void CallList::setSelf(QSharedPointer me) { mModelConnection->invokeToCore([this, model]() { // We set the current here and not on firstCallStarted event because we don't want to add unicity check // while keeping the same model between list and current call. - if (mList.size() == 0) setCurrentCall(model); + if (mList.size() == 0) setCurrentCallCore(model); add(model); }); }); @@ -158,7 +158,15 @@ CallGui *CallList::getCurrentCall() const { else return nullptr; } -void CallList::setCurrentCall(QSharedPointer call) { +void CallList::setCurrentCall(CallGui* callGui) { + auto callCore = callGui ? callGui->mCore : nullptr; + if (mCurrentCall != callCore) { + mCurrentCall = callCore; + emit currentCallChanged(); + } +} + +void CallList::setCurrentCallCore(QSharedPointer call) { if (mCurrentCall != call) { mCurrentCall = call; emit currentCallChanged(); @@ -194,7 +202,7 @@ void CallList::onStateChanged() { case LinphoneEnums::CallState::StreamsRunning: case LinphoneEnums::CallState::Resuming: { auto sharedCall = get(call); - setCurrentCall(sharedCall.objectCast()); + setCurrentCallCore(sharedCall.objectCast()); break; } case LinphoneEnums::CallState::Released: { diff --git a/Linphone/core/call/CallList.hpp b/Linphone/core/call/CallList.hpp index 9b8d69506..a5c2faec2 100644 --- a/Linphone/core/call/CallList.hpp +++ b/Linphone/core/call/CallList.hpp @@ -33,6 +33,7 @@ class CoreModel; class CallList : public ListProxy, public AbstractObject { Q_OBJECT + Q_PROPERTY(CallGui* currentCall READ getCurrentCall WRITE setCurrentCall NOTIFY currentCallChanged) public: static QSharedPointer create(); // Create a CallCore and make connections to List. @@ -44,7 +45,8 @@ public: CallGui *getCurrentCall() const; // Used for Ui QSharedPointer getCurrentCallCore() const; - void setCurrentCall(QSharedPointer call); + void setCurrentCall(CallGui* callGui); + void setCurrentCallCore(QSharedPointer call); bool getHaveCall() const; void setHaveCall(bool haveCall); diff --git a/Linphone/core/call/CallProxy.cpp b/Linphone/core/call/CallProxy.cpp index a6db32f38..c52bae809 100644 --- a/Linphone/core/call/CallProxy.cpp +++ b/Linphone/core/call/CallProxy.cpp @@ -38,7 +38,7 @@ CallGui *CallProxy::getCurrentCall() { } void CallProxy::setCurrentCall(CallGui *call) { - getListModel()->setCurrentCall(call->mCore); + getListModel()->setCurrentCall(call); } // Reset the default account to let UI build its new object if needed. diff --git a/Linphone/data/languages/de.ts b/Linphone/data/languages/de.ts index 3ae4b1747..ee17f2b29 100644 --- a/Linphone/data/languages/de.ts +++ b/Linphone/data/languages/de.ts @@ -189,7 +189,7 @@ manage_account_international_prefix - "Indicatif international*" + Indicatif international* @@ -409,55 +409,55 @@ settings_system_title - "Système" + System settings_remote_provisioning_title - "Configuration distante" + Remote provisioning settings_security_title - "Sécurité / Chiffrement" + Security / Encryption settings_advanced_audio_codecs_title - "Codecs audio" + Audio codecs settings_advanced_video_codecs_title - "Codecs vidéo" + Video codecs settings_advanced_auto_start_title - "Démarrer automatiquement %1" + Auto start %1 settings_advanced_remote_provisioning_url - "URL de configuration distante" + Remote provisioning URL settings_advanced_download_apply_remote_provisioning - "Télécharger et appliquer" + Download and apply information_popup_error_title - "Format d'url invalide" + Invalid URL format @@ -468,17 +468,23 @@ settings_advanced_media_encryption_title - "Chiffrement du média" + Media encryption settings_advanced_media_encryption_mandatory_title - "Chiffrement du média obligatoire" + Media encryption mandatory - + + settings_advanced_create_endtoend_encrypted_meetings_title + Create end to end encrypted meetings and group calls + + + + settings_advanced_hide_fps_title @@ -492,13 +498,13 @@ - + generic_address_picker_contacts_list_title 'Contacts' - + generic_address_picker_suggestions_list_title "Suggestions" @@ -513,63 +519,68 @@ - + application_description "A free and open source SIP video-phone." - + command_line_arg_order "Send an order to the application towards a command line" - + command_line_option_show_help - + command_line_option_show_app_version - + command_line_option_config_to_fetch "Specify the linphone configuration file to be fetched. It will be merged with the current configuration." - + command_line_option_config_to_fetch_arg "URL, path or file" - command_line_option_log_to_stdout + command_line_option_minimized + command_line_option_log_to_stdout + + + + command_line_option_print_app_logs_only "Print only logs from the application" - + hide_action "Cacher" "Afficher" - + show_action - + quit_action "Quitter" @@ -616,56 +627,80 @@ CallCore - + call_record_end_message "Enregistrement terminé" - + call_record_saved_in_file_message "L'appel a été enregistré dans le fichier : %1" - - + + call_stats_codec_label "Codec: %1 / %2 kHz" - - + + call_stats_bandwidth_label "Bande passante : %1 %2 kbits/s %3 %4 kbits/s" - - + + call_stats_loss_rate_label "Taux de perte: %1% %2%" - + call_stats_jitter_buffer_label "Tampon de gigue: %1 ms" - + call_stats_resolution_label "Définition vidéo : %1 %2 %3 %4" - + call_stats_fps_label "FPS : %1 %2 %3 %4" + + + media_encryption_dtls + DTLS + + + + + media_encryption_none + None + + + + + media_encryption_srtp + SRTP + + + + + media_encryption_post_quantum + "ZRTP - Post quantique" + + CallHistoryLayout @@ -880,7 +915,7 @@ - + menu_delete_history "Supprimer l'historique" @@ -910,13 +945,13 @@ - + call_start_group_call_title "Appel de groupe" - + group_call_participant_selected "%n participant(s) sélectionné(s)" @@ -924,92 +959,92 @@ - + call_action_start_group_call "Lancer" - + history_group_call_start_dialog_subject_hint "Nom du groupe" - + required "Requis" - - - + + + information_popup_error_title - + group_call_error_must_have_name "Un nom doit être donné à l'appel de groupe - + group_call_error_not_connected "Vous n'etes pas connecté" - + menu_see_existing_contact "Voir le contact" - + menu_add_address_to_contacts "Ajouter aux contacts" - + menu_copy_sip_address "Copier l'adresse SIP" - + sip_address_copied_to_clipboard_toast Adresse copiée - + sip_address_copied_to_clipboard_message L'adresse a été copié dans le presse_papiers - + sip_address_copy_to_clipboard_error "Erreur lors de la copie de l'adresse" - + notification_missed_call_title "Appel manqué" - + call_outgoing "Appel sortant" - + call_audio_incoming "Appel entrant" @@ -1126,325 +1161,337 @@ - + call_dir - "Appel %1" - + call_ended - "Appel terminé" + Appel terminé - + conference_paused - "Réunion mise en pause" + Meeting paused - + call_paused - "Appel mis en pause" + Call paused - + call_srtp_point_to_point_encrypted - "Appel chiffré de point à point" + Appel chiffré de point à point - + call_zrtp_sas_validation_required - "Vérification nécessaire" + Vérification nécessaire - + call_zrtp_end_to_end_encrypted - "Appel chiffré de bout en bout" + Appel chiffré de bout en bout - + + call_paused_by_remote + Call paused by remote + + + + + + call_waiting_for_encryption_info + "En attente de chiffrement" + + + + call_not_encrypted "Appel non chiffré" - + conference_user_is_recording "Vous enregistrez la réunion" - + call_user_is_recording "Vous enregistrez l'appel" - + conference_remote_is_recording "Un participant enregistre la réunion" - + call_remote_recording "%1 enregistre l'appel" - + call_stop_recording "Arrêter l'enregistrement" - + add - + call_transfer_current_call_title "Transférer %1 à…" - - + + call_transfer_confirm_dialog_tittle "Confirmer le transfert" - - + + call_transfer_confirm_dialog_message "Vous allez transférer %1 à %2." - + call_action_start_new_call "Nouvel appel" - - + + call_action_show_dialer "Pavé numérique" - + call_action_change_layout "Modifier la disposition" - + call_action_go_to_calls_list "Liste d'appel" - + Merger tous les appels call_action_merge_calls - - + + call_action_go_to_settings "Paramètres" - + conference_action_screen_sharing "Partage de votre écran" - + conference_share_link_title Partager le lien de la réunion - + copied Copié - + information_popup_meeting_address_copied_to_clipboard Le lien de la réunion a été copié dans le presse-papier - - - + + + conference_participants_list_title "Participants (%1)" - - + + group_call_participant_selected - + meeting_schedule_add_participants_title - + call_encryption_title Chiffrement - + call_stats_title Statistiques - + call_action_end_call "Terminer l'appel" - + call_action_resume_call "Reprendre l'appel" - + call_action_pause_call "Mettre l'appel en pause" - + call_action_transfer_call "Transférer l'appel" - + call_action_start_new_call_hint "Initier un nouvel appel" - + call_display_call_list_hint "Afficher la liste d'appels" - + call_deactivate_video_hint "Désactiver la vidéo" "Activer la vidéo" - + call_activate_video_hint - + call_activate_microphone "Activer le micro" - + call_deactivate_microphone "Désactiver le micro" - + call_share_screen_hint Partager l'écran… - + call_rise_hand_hint "Lever la main" - + call_send_reaction_hint "Envoyer une réaction" - + call_manage_participants_hint "Gérer les participants" - + call_more_options_hint "Plus d'options…" - + call_action_change_conference_layout "Modifier la disposition" - + call_action_full_screen "Mode Plein écran" - + call_action_stop_recording "Terminer l'enregistrement" - + call_action_record "Enregistrer l'appel" - + call_activate_speaker_hint "Activer le son" - + call_deactivate_speaker_hint "Désactiver le son" @@ -1735,53 +1782,53 @@ ContactListItem - + contact_details_remove_from_favourites "Enlever des favoris" - + contact_details_add_to_favourites "Ajouter aux favoris" - + Partager - + information_popup_error_title - + information_popup_vcard_creation_error La création du fichier vcard a échoué - + information_popup_vcard_creation_title VCard créée - + information_popup_vcard_creation_success "VCard du contact enregistrée dans %1" - + contact_sharing_email_title Partage de contact - + contact_details_delete "Supprimer" @@ -1802,286 +1849,286 @@ - + contact_new_title "Nouveau contact" - + create - + contact_edit_title "Modifier contact" - + save - + contact_dialog_delete_title Supprimer %1 ?" - + contact_dialog_delete_message Ce contact sera définitivement supprimé. - + contact_deleted_toast "Contact supprimé" - + contact_deleted_message "%1 a été supprimé" - + contact_dialog_devices_trust_popup_title "Augmenter la confiance" - + contact_dialog_devices_trust_popup_message "Pour augmenter le niveau de confiance vous devez appeler les différents appareils de votre contact et valider un code.<br><br>Vous êtes sur le point d’appeler “%1” voulez vous continuer ?" - + popup_do_not_show_again Ne plus afficher - + cancel - + dialog_call "Appeler" - + contact_dialog_devices_trust_help_title "Niveau de confiance" - + contact_dialog_devices_trust_help_message "Vérifiez les appareils de votre contact pour confirmer que vos communications seront sécurisées et sans compromission. <br>Quand tous seront vérifiés, vous atteindrez le niveau de confiance maximal." - + dialog_ok "Ok" - + bottom_navigation_contacts_label "Contacts" - + search_bar_look_for_contact_text Rechercher un contact - + list_filter_no_result_found Aucun résultat… - + contact_list_empty Aucun contact pour le moment - - + + contact_details_edit "Éditer" - + contact_call_action "Appel" - + contact_message_action "Message" - + contact_video_call_action "Appel vidéo" - + contact_presence_status_online "En ligne" - + contact_presence_status_busy "Occupé" - + contact_presence_status_do_not_disturb "Ne pas déranger" - + contact_presence_status_offline "Hors ligne" - + contact_details_numbers_and_addresses_title "Coordonnées" - + contact_details_company_name "Société :" - + contact_details_job_title "Poste :" - + contact_details_medias_title "Medias" - + contact_details_medias_subtitle "Afficher les medias partagés" - + contact_details_trust_title "Confiance" - + contact_dialog_devices_trust_title "Niveau de confiance - Appareils vérifiés" - + contact_details_no_device_found "Aucun appareil" - + contact_device_without_name "Appareil inconnu" - + contact_make_call_check_device_trust "Vérifier" - + contact_details_actions_title "Autres actions" - + contact_details_remove_from_favourites "Retirer des favoris" - + contact_details_add_to_favourites "Ajouter aux favoris" - + contact_details_share "Partager" - + information_popup_error_title - + contact_details_share_error_mesage "La création du fichier vcard a échoué" - + contact_details_share_success_title "VCard créée" - + contact_details_share_success_mesage "VCard du contact enregistrée dans %1" - + contact_details_share_email_title "Partage de contact" - + contact_details_delete "Supprimer ce contact" @@ -2287,47 +2334,47 @@ call_stats_media_encryption_title - "Chiffrement :" + "Encryption :" - + call_stats_media_encryption - "Chiffrement du média : %1%2" "ZRTP Post Quantique" + Media encryption : %1 - + call_stats_zrtp_cipher_algo "Algorithme de chiffrement : %1" - + call_stats_zrtp_key_agreement_algo "Algorithme d'accord de clé : %1" - + call_stats_zrtp_hash_algo "Algorithme de hachage : %1" - + call_stats_zrtp_auth_tag_algo "Algorithme d'authentification : %1" - + call_stats_zrtp_sas_algo "Algorithme SAS : %1" - + call_zrtp_validation_button_label "Validation chiffrement" @@ -2340,7 +2387,7 @@ - + sip_address "Adresse SIP" @@ -2542,33 +2589,6 @@ - - LinphoneEnums - - - media_encryption_dtls - DTLS - - - - - media_encryption_none - None - - - - - media_encryption_srtp - SRTP - - - - - media_encryption_post_quantum - "ZRTP - Post quantique" - - - LoadingPopup @@ -2619,44 +2639,44 @@ LoginLayout - - + + help_about_title À propos de %1 - + help_about_privacy_policy_title "Politique de confidentialité" - + help_about_privacy_policy_link "Visiter notre potilique de confidentialité" - + help_about_version_title "Version" - + help_about_licence_title "Licence" - + help_about_copyright_title "Copyright - + close "Fermer" @@ -2665,60 +2685,60 @@ LoginPage - + assistant_account_login Connexion - + assistant_no_account_yet "Pas encore de compte ?" - + assistant_account_register "S'inscrire" - + assistant_login_third_party_sip_account_title "Compte SIP tiers" - + assistant_login_remote_provisioning "Configuration distante" - + assistant_login_download_remote_config "Télécharger une configuration distante" - + assistant_login_remote_provisioning_url 'Veuillez entrer le lien de configuration qui vous a été fourni :' - + cancel - + validate "Valider" - + settings_advanced_remote_provisioning_url 'Lien de configuration distante' @@ -2732,7 +2752,7 @@ MagicSearchList - + device_id @@ -3209,7 +3229,7 @@ multimedia_settings_ringer_title - "Sonnerie - Appels entrants" + Ringtone - Incoming calls @@ -3255,13 +3275,13 @@ - + search_bar_look_for_contact_text "Rechercher un contact" - + call_start_group_call_title @@ -3361,37 +3381,37 @@ - + oidc_authentication_request_token_message Requesting access token - + oidc_authentication_refresh_token_message Refreshing access token - + oidc_authentication_request_authorization_message Requesting authorization - + oidc_authentication_request_temporary_credentials_message Requesting temporary credentials - + oidc_authentication_no_auth_found_in_config_error No authorization endpoint found in OpenID configuration - + oidc_authentication_no_token_found_in_config_error No token endpoint found in OpenID configuration @@ -3415,31 +3435,52 @@ QObject - + + DTLS + + + + + None + + + + + SRTP + + + + + media_encryption_post_quantum + "ZRTP - Post quantique" + + + + incoming "Entrant" - + outgoing "Sortant" - + conference_layout_active_speaker "Participant actif" - + conference_layout_grid "Mosaïque" - + conference_layout_audio_only "Audio uniquement" @@ -3487,109 +3528,109 @@ RegisterPage - + assistant_account_register "Inscription - + assistant_already_have_an_account - + assistant_account_login - + assistant_account_register_with_phone_number - + assistant_account_register_with_email - + username - - + + phone_number "Numéro de téléphone" - + email - + password - + assistant_account_register_password_confirmation "Confirmation mot de passe" - + assistant_dialog_cgu_and_privacy_policy_message "J'accepte les %1 et la %2" - + assistant_dialog_general_terms_label "conditions d'utilisation" - + assistant_dialog_privacy_policy_label "politique de confidentialité" - + assistant_account_create "Créer" - + assistant_account_create_missing_username_error "Veuillez entrer un nom d'utilisateur" - + assistant_account_create_missing_password_error "Veuillez entrer un mot de passe" - + assistant_account_create_confirm_password_error "Les mots de passe sont différents" - + assistant_account_create_missing_number_error "Veuillez entrer un numéro de téléphone" - + assistant_account_create_missing_email_error "Veuillez entrer un email" @@ -3858,13 +3899,13 @@ Pour les activer dans un projet commercial, merci de nous contacter. Sticker - + conference_participant_joining_text "rejoint…" - + conference_participant_paused_text "En pause" @@ -3873,13 +3914,28 @@ Pour les activer dans un projet commercial, merci de nous contacter. ToolModel - + call_error_uninterpretable_sip_address "The calling address is not an interpretable SIP address : %1 - + + group_call_error_no_account + + + + + group_call_error_participants_invite + + + + + group_call_error_creation + + + + unknown_audio_device_name @@ -3892,8 +3948,19 @@ Pour les activer dans un projet commercial, merci de nous contacter. "L'appel n'a pas pu être créé" + + + + information_popup_error_title + + + + + information_popup_group_call_not_created_message + + - + number_of_years %n an(s) @@ -3901,7 +3968,7 @@ Pour les activer dans un projet commercial, merci de nous contacter. - + number_of_month "%n mois" @@ -3909,7 +3976,7 @@ Pour les activer dans un projet commercial, merci de nous contacter. - + number_of_weeks %n semaine(s) @@ -3917,7 +3984,7 @@ Pour les activer dans un projet commercial, merci de nous contacter. - + number_of_days %n jour(s) @@ -3925,19 +3992,19 @@ Pour les activer dans un projet commercial, merci de nous contacter. - + today "Aujourd'hui" - + yesterday "Hier - + call_zrtp_token_verification_possible_characters "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" @@ -4105,1117 +4172,1117 @@ Pour les activer dans un projet commercial, merci de nous contacter. country - + Afghanistan - + Albania - + Algeria - + AmericanSamoa - + Andorra - + Angola - + Anguilla - + AntiguaAndBarbuda - + Argentina - + Armenia - + Aruba - + Australia - + Austria - + Azerbaijan - + Bahamas - + Bahrain - + Bangladesh - + Barbados - + Belarus - + Belgium - + Belize - + Benin - + Bermuda - + Bhutan - + Bolivia - + BosniaAndHerzegowina - + Botswana - + Brazil - + Brunei - + Bulgaria - + BurkinaFaso - + Burundi - + Cambodia - + Cameroon - + Canada - + CapeVerde - + CaymanIslands - + CentralAfricanRepublic - + Chad - + Chile - + China - + Colombia - + Comoros - + PeoplesRepublicOfCongo - + DemocraticRepublicOfCongo - + CookIslands - + CostaRica - + IvoryCoast - + Croatia - + Cuba - + Cyprus - + CzechRepublic - + Denmark - + Djibouti - + Dominica - + DominicanRepublic - + Ecuador - + Egypt - + ElSalvador - + EquatorialGuinea - + Eritrea - + Estonia - + Ethiopia - + FalklandIslands - + FaroeIslands - + Fiji - + Finland - + France - + FrenchGuiana - + FrenchPolynesia - + Gabon - + Gambia - + Georgia - + Germany - + Ghana - + Gibraltar - + Greece - + Greenland - + Grenada - + Guadeloupe - + Guam - + Guatemala - + Guinea - + GuineaBissau - + Guyana - + Haiti - + Honduras - + HongKong - + Hungary - + Iceland - + India - + Indonesia - + Iran - + Iraq - + Ireland - + Israel - + Italy - + Jamaica - + Japan - + Jordan - + Kazakhstan - + Kenya - + Kiribati - + DemocraticRepublicOfKorea - + RepublicOfKorea - + Kuwait - + Kyrgyzstan - + Laos - + Latvia - + Lebanon - + Lesotho - + Liberia - + Libya - + Liechtenstein - + Lithuania - + Luxembourg - + Macau - + Macedonia - + Madagascar - + Malawi - + Malaysia - + Maldives - + Mali - + Malta - + MarshallIslands - + Martinique - + Mauritania - + Mauritius - + Mayotte - + Mexico - + Micronesia - + Moldova - + Monaco - + Mongolia - + Montenegro - + Montserrat - + Morocco - + Mozambique - + Myanmar - + Namibia - + NauruCountry - + Nepal - + Netherlands - + NewCaledonia - + NewZealand - + Nicaragua - + Niger - + Nigeria - + Niue - + NorfolkIsland - + NorthernMarianaIslands - + Norway - + Oman - + Pakistan - + Palau - + PalestinianTerritories - + Panama - + PapuaNewGuinea - + Paraguay - + Peru - + Philippines - + Poland - + Portugal - + PuertoRico - + Qatar - + Reunion - + Romania - + RussianFederation - + Rwanda - + SaintHelena - + SaintKittsAndNevis - + SaintLucia - + SaintPierreAndMiquelon - + SaintVincentAndTheGrenadines - + Samoa - + SanMarino - + SaoTomeAndPrincipe - + SaudiArabia - + Senegal - + Serbia - + Seychelles - + SierraLeone - + Singapore - + Slovakia - + Slovenia - + SolomonIslands - + Somalia - + SouthAfrica - + Spain - + SriLanka - + Sudan - + Suriname - + Swaziland - + Sweden - + Switzerland - + Syria - + Taiwan - + Tajikistan - + Tanzania - + Thailand - + Togo - + Tokelau - + Tonga - + TrinidadAndTobago - + Tunisia - + Turkey - + Turkmenistan - + TurksAndCaicosIslands - + Tuvalu - + Uganda - + Ukraine - + UnitedArabEmirates - + UnitedKingdom - + UnitedStates - + Uruguay - + Uzbekistan - + Vanuatu - + Venezuela - + Vietnam - + WallisAndFutunaIslands - + Yemen - + Zambia - + Zimbabwe diff --git a/Linphone/data/languages/en.ts b/Linphone/data/languages/en.ts index aa6562dd9..05028c8b6 100644 --- a/Linphone/data/languages/en.ts +++ b/Linphone/data/languages/en.ts @@ -915,7 +915,7 @@ - + menu_delete_history "Supprimer l'historique" Delete history @@ -945,13 +945,13 @@ New call - + call_start_group_call_title "Appel de groupe" Group call - + group_call_participant_selected "%n participant(s) sélectionné(s)" @@ -960,92 +960,92 @@ - + call_action_start_group_call "Lancer" Start - + history_group_call_start_dialog_subject_hint "Nom du groupe" Group name - + required "Requis" Required - - - + + + information_popup_error_title Error - + group_call_error_must_have_name "Un nom doit être donné à l'appel de groupe A name must be provided for the call - + group_call_error_not_connected "Vous n'etes pas connecté" You are not connected - + menu_see_existing_contact "Voir le contact" See contact - + menu_add_address_to_contacts "Ajouter aux contacts" Add to contacts - + menu_copy_sip_address "Copier l'adresse SIP" Copy SIP address - + sip_address_copied_to_clipboard_toast Adresse copiée SIP address copied - + sip_address_copied_to_clipboard_message L'adresse a été copié dans le presse_papiers The address has been copied to the clipboard - + sip_address_copy_to_clipboard_error "Erreur lors de la copie de l'adresse" Error copying address - + notification_missed_call_title "Appel manqué" Missed call - + call_outgoing "Appel sortant" Outgoing call - + call_audio_incoming "Appel entrant" Incoming call @@ -1169,181 +1169,187 @@ call_ended - "Appel terminé" + Appel terminé Call ended conference_paused - "Réunion mise en pause" + Meeting paused Meeting paused - + call_paused - "Appel mis en pause" + Call paused Call paused - + call_srtp_point_to_point_encrypted Appel chiffré de point à point Point-to-point encrypted call - + call_zrtp_sas_validation_required Vérification nécessaire Validation required - - + + call_zrtp_end_to_end_encrypted Appel chiffré de bout en bout End-to-end encrypted call - + call_not_encrypted "Appel non chiffré" Unencrypted call - - + + call_waiting_for_encryption_info "En attente de chiffrement" Waiting for encryption - + + call_paused_by_remote + Call paused by remote + Call paused by remote + + + conference_user_is_recording "Vous enregistrez la réunion" You are recording the meeting - + call_user_is_recording "Vous enregistrez l'appel" You are recording the call - + conference_remote_is_recording "Un participant enregistre la réunion" Someone is recording the meeting - + call_remote_recording "%1 enregistre l'appel" %1 records the call - + call_stop_recording "Arrêter l'enregistrement" Stop recording - + add Add - + call_transfer_current_call_title "Transférer %1 à…" Transfer %1 to… - - + + call_transfer_confirm_dialog_tittle "Confirmer le transfert" Confirm transfer - - + + call_transfer_confirm_dialog_message "Vous allez transférer %1 à %2." You are going to transfer %1 to %2. - + call_action_start_new_call "Nouvel appel" New call - - + + call_action_show_dialer "Pavé numérique" Dialer - + call_action_change_layout "Modifier la disposition" Change layout - + call_action_go_to_calls_list "Liste d'appel" Call list - + Merger tous les appels call_action_merge_calls Merge all calls - - + + call_action_go_to_settings "Paramètres" Settings - + conference_action_screen_sharing "Partage de votre écran" Share your screen - + conference_share_link_title Partager le lien de la réunion Share meeting link - + copied Copié Copied - + information_popup_meeting_address_copied_to_clipboard Le lien de la réunion a été copié dans le presse-papier Meeting link has been copied to the clipboard - - - + + + conference_participants_list_title "Participants (%1)" Participants (%1) - - + + group_call_participant_selected 1 selected participant @@ -1351,143 +1357,143 @@ - + meeting_schedule_add_participants_title Add participants - + call_encryption_title Chiffrement Encryption - + call_stats_title Statistiques Statistics - + call_action_end_call "Terminer l'appel" End call - + call_action_resume_call "Reprendre l'appel" Resume call - + call_action_pause_call "Mettre l'appel en pause" Pause call - + call_action_transfer_call "Transférer l'appel" Transfer call - + call_action_start_new_call_hint "Initier un nouvel appel" Start new call - + call_display_call_list_hint "Afficher la liste d'appels" View call list - + call_deactivate_video_hint "Désactiver la vidéo" "Activer la vidéo" Turn off video - + call_activate_video_hint Enable video - + call_activate_microphone "Activer le micro" Activate microphone - + call_deactivate_microphone "Désactiver le micro" Mute microphone - + call_share_screen_hint Partager l'écran… Share screen… - + call_rise_hand_hint "Lever la main" Rise hand - + call_send_reaction_hint "Envoyer une réaction" Send reaction - + call_manage_participants_hint "Gérer les participants" Manage participants - + call_more_options_hint "Plus d'options…" More options… - + call_action_change_conference_layout "Modifier la disposition" Change layout - + call_action_full_screen "Mode Plein écran" Full screen mode - + call_action_stop_recording "Terminer l'enregistrement" End recording - + call_action_record "Enregistrer l'appel" Record call - + call_activate_speaker_hint "Activer le son" Activate speaker - + call_deactivate_speaker_hint "Désactiver le son" Mute speaker @@ -2330,53 +2336,52 @@ call_stats_media_encryption_title - "Chiffrement :" + "Encryption :" Encryption : call_stats_media_encryption - Chiffrement du média : %1 + Media encryption : %1 Media encryption : %1%2 - call_stats_media_encryption_zrtp_post_quantum ZRTP Post Quantique - Post Quantum ZRTP + Post Quantum ZRTP - + call_stats_zrtp_cipher_algo "Algorithme de chiffrement : %1" Encryption algorithm : %1 - + call_stats_zrtp_key_agreement_algo "Algorithme d'accord de clé : %1" Key agreement algorithm: %1 - + call_stats_zrtp_hash_algo "Algorithme de hachage : %1" Hash algorithm : %1 - + call_stats_zrtp_auth_tag_algo "Algorithme d'authentification : %1" Authentication algorithm : %1 - + call_stats_zrtp_sas_algo "Algorithme SAS : %1" SAS algorithm : %1 - + call_zrtp_validation_button_label "Validation chiffrement" Encryption validation @@ -2389,7 +2394,7 @@ - + sip_address "Adresse SIP" SIP address @@ -3286,13 +3291,13 @@ Ongoing call - + search_bar_look_for_contact_text "Rechercher un contact" Find contact - + call_start_group_call_title Group call @@ -3914,13 +3919,13 @@ To enable them in a commercial project, please contact us. Sticker - + conference_participant_joining_text "rejoint…" joining… - + conference_participant_paused_text "En pause" Paused @@ -3929,28 +3934,28 @@ To enable them in a commercial project, please contact us. ToolModel - + call_error_uninterpretable_sip_address "The calling address is not an interpretable SIP address : %1 The calling address is not an interpretable SIP address : %1 - + group_call_error_no_account No default account found, can't create group call - + group_call_error_participants_invite Couldn't invite participants to group call - + group_call_error_creation Group call couldn't be created - + unknown_audio_device_name Unknown device name diff --git a/Linphone/data/languages/fr_FR.ts b/Linphone/data/languages/fr_FR.ts index 283a039e1..816f0617d 100644 --- a/Linphone/data/languages/fr_FR.ts +++ b/Linphone/data/languages/fr_FR.ts @@ -915,7 +915,7 @@ - + menu_delete_history "Supprimer l'historique" Supprimer l'historique @@ -945,13 +945,13 @@ Nouvel appel - + call_start_group_call_title "Appel de groupe" Appel de groupe - + group_call_participant_selected "%n participant(s) sélectionné(s)" @@ -960,92 +960,92 @@ - + call_action_start_group_call "Lancer" Lancer - + history_group_call_start_dialog_subject_hint "Nom du groupe" Nom du groupe - + required "Requis" Requis - - - + + + information_popup_error_title Erreur - + group_call_error_must_have_name "Un nom doit être donné à l'appel de groupe Un nom doit être donné à l'appel de groupe - + group_call_error_not_connected "Vous n'etes pas connecté" Vous n'etes pas connecté - + menu_see_existing_contact "Voir le contact" Voir le contact - + menu_add_address_to_contacts "Ajouter aux contacts" Ajouter aux contacts - + menu_copy_sip_address "Copier l'adresse SIP" Copier l'adresse SIP - + sip_address_copied_to_clipboard_toast Adresse copiée Adresse copiée - + sip_address_copied_to_clipboard_message L'adresse a été copié dans le presse_papiers L'adresse a été copié dans le presse_papiers - + sip_address_copy_to_clipboard_error "Erreur lors de la copie de l'adresse" Erreur lors de la copie de l'adresse - + notification_missed_call_title "Appel manqué" Appel manqué - + call_outgoing "Appel sortant" Appel sortant - + call_audio_incoming "Appel entrant" Appel entrant @@ -1169,181 +1169,187 @@ call_ended - "Appel terminé" + Appel terminé Appel terminé conference_paused - "Réunion mise en pause" + Meeting paused Réunion mise en pause - + call_paused - "Appel mis en pause" + Call paused Appel mis en pause - + call_srtp_point_to_point_encrypted Appel chiffré de point à point Appel chiffré de point à point - + call_zrtp_sas_validation_required Vérification nécessaire Vérification nécessaire - - + + call_zrtp_end_to_end_encrypted Appel chiffré de bout en bout Appel chiffré de bout en bout - + call_not_encrypted "Appel non chiffré" Appel non chiffré - - + + call_waiting_for_encryption_info "En attente de chiffrement" En attente de chiffrement - + + call_paused_by_remote + Call paused by remote + Appel mis en pause par votre correspondant + + + conference_user_is_recording "Vous enregistrez la réunion" Vous enregistrez la réunion - + call_user_is_recording "Vous enregistrez l'appel" Vous enregistrez l'appel - + conference_remote_is_recording "Un participant enregistre la réunion" Un participant enregistre la réunion - + call_remote_recording "%1 enregistre l'appel" %1 enregistre l'appel - + call_stop_recording "Arrêter l'enregistrement" Arrêter l'enregistrement - + add Ajouter - + call_transfer_current_call_title "Transférer %1 à…" Transférer %1 à… - - + + call_transfer_confirm_dialog_tittle "Confirmer le transfert" Confirmer le transfert - - + + call_transfer_confirm_dialog_message "Vous allez transférer %1 à %2." Vous allez transférer %1 à %2. - + call_action_start_new_call "Nouvel appel" Nouvel appel - - + + call_action_show_dialer "Pavé numérique" Pavé numérique - + call_action_change_layout "Modifier la disposition" Modifier la disposition - + call_action_go_to_calls_list "Liste d'appel" Liste d'appel - + Merger tous les appels call_action_merge_calls Merger tous les appels - - + + call_action_go_to_settings "Paramètres" Paramètres - + conference_action_screen_sharing "Partage de votre écran" Partage de votre écran - + conference_share_link_title Partager le lien de la réunion Partager le lien de la réunion - + copied Copié Copié - + information_popup_meeting_address_copied_to_clipboard Le lien de la réunion a été copié dans le presse-papier Le lien de la réunion a été copié dans le presse-papier - - - + + + conference_participants_list_title "Participants (%1)" Participants (%1) - - + + group_call_participant_selected un participant sélectionné @@ -1351,143 +1357,143 @@ - + meeting_schedule_add_participants_title Ajouter des participants - + call_encryption_title Chiffrement Chiffrement - + call_stats_title Statistiques Statistiques - + call_action_end_call "Terminer l'appel" Terminer l'appel - + call_action_resume_call "Reprendre l'appel" Reprendre l'appel - + call_action_pause_call "Mettre l'appel en pause" Mettre l'appel en pause - + call_action_transfer_call "Transférer l'appel" Transférer l'appel - + call_action_start_new_call_hint "Initier un nouvel appel" Initier un nouvel appel - + call_display_call_list_hint "Afficher la liste d'appels" Afficher la liste d'appels - + call_deactivate_video_hint "Désactiver la vidéo" "Activer la vidéo" Désactiver la vidéo - + call_activate_video_hint Activer la vidéo - + call_activate_microphone "Activer le micro" Activer le micro - + call_deactivate_microphone "Désactiver le micro" Désactiver le micro - + call_share_screen_hint Partager l'écran… Partager l'écran… - + call_rise_hand_hint "Lever la main" Lever la main - + call_send_reaction_hint "Envoyer une réaction" Envoyer une réaction - + call_manage_participants_hint "Gérer les participants" Gérer les participants - + call_more_options_hint "Plus d'options…" Plus d'options… - + call_action_change_conference_layout "Modifier la disposition" Modifier la disposition - + call_action_full_screen "Mode Plein écran" Mode Plein écran - + call_action_stop_recording "Terminer l'enregistrement" Terminer l'enregistrement - + call_action_record "Enregistrer l'appel" Enregistrer l'appel - + call_activate_speaker_hint "Activer le son" Activer le son - + call_deactivate_speaker_hint "Désactiver le son" Désactiver le son @@ -2330,53 +2336,47 @@ call_stats_media_encryption_title - "Chiffrement :" + "Encryption :" Chiffrement : call_stats_media_encryption - Chiffrement du média : %1 - Chiffrement du média : %1%2 + Media encryption : %1 + Chiffrement du média : %1 - - call_stats_media_encryption_zrtp_post_quantum - ZRTP Post Quantique - ZRTP Post Quantique - - - + call_stats_zrtp_cipher_algo "Algorithme de chiffrement : %1" Algorithme de chiffrement : %1 - + call_stats_zrtp_key_agreement_algo "Algorithme d'accord de clé : %1" Algorithme d'accord de clé : %1 - + call_stats_zrtp_hash_algo "Algorithme de hachage : %1" Algorithme de hachage : %1 - + call_stats_zrtp_auth_tag_algo "Algorithme d'authentification : %1" Algorithme d'authentification : %1 - + call_stats_zrtp_sas_algo "Algorithme SAS : %1" Algorithme SAS : %1 - + call_zrtp_validation_button_label "Validation chiffrement" Validation chiffrement @@ -2389,7 +2389,7 @@ - + sip_address "Adresse SIP" Adresse SIP @@ -3301,13 +3301,13 @@ Appels en cours - + search_bar_look_for_contact_text "Rechercher un contact" Rechercher un contact - + call_start_group_call_title Appel de groupe @@ -3929,13 +3929,13 @@ Pour les activer dans un projet commercial, merci de nous contacter. Sticker - + conference_participant_joining_text "rejoint…" rejoint… - + conference_participant_paused_text "En pause" En pause @@ -3944,28 +3944,28 @@ Pour les activer dans un projet commercial, merci de nous contacter. ToolModel - + call_error_uninterpretable_sip_address "The calling address is not an interpretable SIP address : %1 L'adresse n'est pas interprétable comme une adresse SIP - + group_call_error_no_account Impossible de créer l'appel de groupe, le compte par défaut n'est pas défini - + group_call_error_participants_invite Impossible d'inviter les participants à l'appel de groupe - + group_call_error_creation L'appel de groupe n'a pas pu être créé - + unknown_audio_device_name Appareil inconnu diff --git a/Linphone/view/Control/Container/Call/ActiveSpeakerLayout.qml b/Linphone/view/Control/Container/Call/ActiveSpeakerLayout.qml index e2271b0b2..7b16a0f66 100644 --- a/Linphone/view/Control/Container/Call/ActiveSpeakerLayout.qml +++ b/Linphone/view/Control/Container/Call/ActiveSpeakerLayout.qml @@ -100,7 +100,7 @@ Item { videoEnabled: preview.visible && mainItem.call && mainItem.call.core.localVideoEnabled onVideoEnabledChanged: console.log("P : " +videoEnabled + " / " +visible +" / " +mainItem.call) property var accountObj: UtilsCpp.findLocalAccountByAddress(mainItem.localAddress) - account: accountObj ? accountObj.value : null + account: accountObj && accountObj.value || null call: mainItem.call displayAll: false displayPresence: false diff --git a/Linphone/view/Control/Display/Call/CallListView.qml b/Linphone/view/Control/Display/Call/CallListView.qml index d1532f747..093812cf1 100644 --- a/Linphone/view/Control/Display/Call/CallListView.qml +++ b/Linphone/view/Control/Display/Call/CallListView.qml @@ -12,7 +12,7 @@ ListView { model: CallProxy { id: callProxy sourceModel: AppCpp.calls - } + } implicitHeight: contentHeight spacing: Math.round(15 * DefaultStyle.dp) clip: true @@ -21,7 +21,7 @@ ListView { signal transferCallToAnotherRequested(CallGui dest) property bool isTransferList: false - property string currentRemoteAddress: callProxy.currentCall ? callProxy.currentCall.core.remoteAddress : "" + property string currentRemoteAddress: AppCpp.calls.currentCall ? AppCpp.calls.currentCall.core.remoteAddress : "" delegate: RowLayout { spacing: Math.round(8 * DefaultStyle.dp) @@ -72,7 +72,7 @@ ListView { Layout.preferredWidth: Math.round(24 * DefaultStyle.dp) Layout.preferredHeight: Math.round(24 * DefaultStyle.dp) Layout.alignment: Qt.AlignVCenter - visible: mainItem.isTransferList && mainItem.currentRemoteAddress !== modelData.core.remoteAddress + visible: mainItem.isTransferList && (mainItem.currentRemoteAddress !== modelData.core.remoteAddress) icon.source: AppIcons.transferCall style: ButtonStyle.noBackground onClicked: { diff --git a/Linphone/view/Control/Form/Settings/EncryptionSettings.qml b/Linphone/view/Control/Form/Settings/EncryptionSettings.qml index 96f1caed0..d7c5666a4 100644 --- a/Linphone/view/Control/Form/Settings/EncryptionSettings.qml +++ b/Linphone/view/Control/Form/Settings/EncryptionSettings.qml @@ -18,7 +18,7 @@ ColumnLayout { contentItem: ColumnLayout { spacing: Math.round(12 * DefaultStyle.dp) Text { - //: "Chiffrement :" + //: "Encryption :" text: qsTr("call_stats_media_encryption_title") Layout.alignment: Qt.AlignHCenter font { @@ -31,11 +31,8 @@ ColumnLayout { spacing: Math.round(7 * DefaultStyle.dp) Text { property bool isPostQuantum: mainItem.call.core.encryption === LinphoneEnums.MediaEncryption.Zrtp && mainItem.call.core.zrtpStats.isPostQuantum - //: Chiffrement du média : %1 - text: qsTr("call_stats_media_encryption").arg(isPostQuantum ? - //: ZRTP Post Quantique - qsTr("call_stats_media_encryption_zrtp_post_quantum") - : mainItem.call.core.encryptionString) + //: Media encryption : %1 + text: qsTr("call_stats_media_encryption").arg(mainItem.call.core.encryptionString) Layout.alignment: Qt.AlignHCenter font { pixelSize: Math.round(12 * DefaultStyle.dp) diff --git a/Linphone/view/Control/Popup/Dialog/ZrtpAuthenticationDialog.qml b/Linphone/view/Control/Popup/Dialog/ZrtpAuthenticationDialog.qml index 791c25090..81b886253 100644 --- a/Linphone/view/Control/Popup/Dialog/ZrtpAuthenticationDialog.qml +++ b/Linphone/view/Control/Popup/Dialog/ZrtpAuthenticationDialog.qml @@ -194,6 +194,7 @@ Dialog { textSize: Math.round(32 * DefaultStyle.dp) textWeight: Math.round(400 * DefaultStyle.dp) text: modelData + shadowEnabled: true radius: Math.round(71 * DefaultStyle.dp) textColor: DefaultStyle.main2_600 onClicked: { diff --git a/Linphone/view/Page/Form/Call/NewCallForm.qml b/Linphone/view/Page/Form/Call/NewCallForm.qml index 5844cea31..99826d49c 100644 --- a/Linphone/view/Page/Form/Call/NewCallForm.qml +++ b/Linphone/view/Page/Form/Call/NewCallForm.qml @@ -26,7 +26,7 @@ FocusScope { spacing: Math.round(22 * DefaultStyle.dp) ColumnLayout { spacing: Math.round(18 * DefaultStyle.dp) - visible: mainItem.displayCurrentCalls + visible: mainItem.displayCurrentCalls && callList.count > 0 Text { //: "Appels en cours" text: qsTr("call_transfer_active_calls_label") @@ -37,15 +37,16 @@ FocusScope { } Flickable { Layout.fillWidth: true - Layout.preferredHeight: callList.height + Layout.preferredHeight: callListBackground.height Layout.maximumHeight: mainItem.height/2 - contentHeight: callList.height + contentHeight: callListBackground.height contentWidth: width RoundedPane { - id: callList + id: callListBackground anchors.left: parent.left anchors.right: parent.right contentItem: CallListView { + id: callList isTransferList: true onTransferCallToAnotherRequested: (dest) => { mainItem.transferCallToAnotherRequested(dest) diff --git a/Linphone/view/Page/Window/Call/CallsWindow.qml b/Linphone/view/Page/Window/Call/CallsWindow.qml index 251e3e2a8..87bc6a159 100644 --- a/Linphone/view/Page/Window/Call/CallsWindow.qml +++ b/Linphone/view/Page/Window/Call/CallsWindow.qml @@ -358,14 +358,17 @@ AbstractWindow { } text: (mainWindow.callState === LinphoneEnums.CallState.End || mainWindow.callState === LinphoneEnums.CallState.Released) - //: "Appel terminé" + //: Appel terminé ? qsTr("call_ended") - : mainWindow.call && (mainWindow.call.core.paused || (mainWindow.callState === LinphoneEnums.CallState.Paused || mainWindow.callState === LinphoneEnums.CallState.PausedByRemote)) + : mainWindow.call && (mainWindow.call.core.paused) ? (mainWindow.conference - //: "Réunion mise en pause" + //: Meeting paused ? qsTr("conference_paused") - //: "Appel mis en pause" - : qsTr("call_paused")) + : mainWindow.callState === LinphoneEnums.CallState.PausedByRemote + //: Call paused by remote + ? qsTr("call_paused_by_remote") + //: Call paused + : qsTr("call_paused")) : mainWindow.conference ? mainWindow.conference.core.subject : remoteName @@ -493,8 +496,14 @@ AbstractWindow { hoverEnabled: true cursorShape: containsMouse ? Qt.PointingHandCursor : Qt.ArrowCursor onClicked: { - rightPanel.visible = true - rightPanel.replace(encryptionPanel) + if (rightPanel.visible + && rightPanel.contentStackView.currentItem.objectName + === "encryptionPanel") + rightPanel.visible = false + else { + rightPanel.visible = true + rightPanel.replace(encryptionPanel) + } } } } @@ -969,6 +978,7 @@ AbstractWindow { Component { id: encryptionPanel EncryptionSettings { + objectName: "encryptionPanel" call: mainWindow.call Control.StackView.onActivated: { //: Chiffrement @@ -980,6 +990,7 @@ AbstractWindow { Component { id: statsPanel CallStatistics { + objectName: "statsPanel" Control.StackView.onActivated: { //: Statistiques rightPanel.headerTitleText = qsTr("call_stats_title")