diff --git a/Linphone/core/address-books/carddav/CarddavCore.cpp b/Linphone/core/address-books/carddav/CarddavCore.cpp index 32b06ece9..01ff930c9 100644 --- a/Linphone/core/address-books/carddav/CarddavCore.cpp +++ b/Linphone/core/address-books/carddav/CarddavCore.cpp @@ -73,10 +73,10 @@ void CarddavCore::remove() { void CarddavCore::setSelf(QSharedPointer me) { mCarddavModelConnection = SafeConnection::create(me, mCarddavModel); - mCarddavModelConnection->makeConnectToModel(&CarddavModel::saved, [this](bool success) { - mCarddavModelConnection->invokeToCore([this, success]() { + mCarddavModelConnection->makeConnectToModel(&CarddavModel::saved, [this](bool success, QString message) { + mCarddavModelConnection->invokeToCore([this, success, message]() { if (success) emit App::getInstance()->getSettings()->cardDAVAddressBookSynchronized(); - emit saved(success); + emit saved(success, message); }); }); } diff --git a/Linphone/core/address-books/carddav/CarddavCore.hpp b/Linphone/core/address-books/carddav/CarddavCore.hpp index 89b4a69cc..fe7cba1e9 100644 --- a/Linphone/core/address-books/carddav/CarddavCore.hpp +++ b/Linphone/core/address-books/carddav/CarddavCore.hpp @@ -50,7 +50,7 @@ public: DECLARE_CORE_MEMBER(bool, storeNewFriendsInIt, StoreNewFriendsInIt) signals: - void saved(bool success); + void saved(bool success, QString message); private: std::shared_ptr mCarddavModel; diff --git a/Linphone/core/conference/ConferenceInfoList.cpp b/Linphone/core/conference/ConferenceInfoList.cpp index 715e23837..65cf2daf9 100644 --- a/Linphone/core/conference/ConferenceInfoList.cpp +++ b/Linphone/core/conference/ConferenceInfoList.cpp @@ -235,13 +235,17 @@ int ConferenceInfoList::getCurrentDateIndex() { return it == confInfoList.end() ? -1 : std::distance(confInfoList.begin(), it); } -QSharedPointer ConferenceInfoList::getCurrentDateConfInfo() { +QSharedPointer ConferenceInfoList::getCurrentDateConfInfo(bool enableCancelledConference) { auto today = QDate::currentDate(); auto confInfoList = getSharedList(); QList>::iterator it; if (mHaveCurrentDate) { it = std::find_if(confInfoList.begin(), confInfoList.end(), - [today](const QSharedPointer &item) { + [today, enableCancelledConference](const QSharedPointer &item) { + if (!item) return false; + if (!enableCancelledConference && + item->getConferenceInfoState() == LinphoneEnums::ConferenceInfoState::Cancelled) + return false; return item && item->getDateTimeUtc().date() == today; }); } else it = std::find(confInfoList.begin(), confInfoList.end(), nullptr); diff --git a/Linphone/core/conference/ConferenceInfoList.hpp b/Linphone/core/conference/ConferenceInfoList.hpp index afc1ed176..da57e7818 100644 --- a/Linphone/core/conference/ConferenceInfoList.hpp +++ b/Linphone/core/conference/ConferenceInfoList.hpp @@ -48,7 +48,7 @@ public: void updateHaveCurrentDate(); int getCurrentDateIndex(); - QSharedPointer getCurrentDateConfInfo(); + QSharedPointer getCurrentDateConfInfo(bool enableCancelledConference = false); QSharedPointer build(const std::shared_ptr &conferenceInfo); void connectItem(QSharedPointer confInfoCore); diff --git a/Linphone/core/conference/ConferenceInfoProxy.cpp b/Linphone/core/conference/ConferenceInfoProxy.cpp index 82ed0247b..81816d985 100644 --- a/Linphone/core/conference/ConferenceInfoProxy.cpp +++ b/Linphone/core/conference/ConferenceInfoProxy.cpp @@ -105,7 +105,7 @@ void ConferenceInfoProxy::clear() { mList->clearData(); } -ConferenceInfoGui *ConferenceInfoProxy::getCurrentDateConfInfo() { +ConferenceInfoGui *ConferenceInfoProxy::getCurrentDateConfInfo(bool enableCancelledConference) { if (mList) { auto confInfo = mList->getCurrentDateConfInfo(); return confInfo ? new ConferenceInfoGui(confInfo) : nullptr; diff --git a/Linphone/core/conference/ConferenceInfoProxy.hpp b/Linphone/core/conference/ConferenceInfoProxy.hpp index 0055e9a2e..a84802deb 100644 --- a/Linphone/core/conference/ConferenceInfoProxy.hpp +++ b/Linphone/core/conference/ConferenceInfoProxy.hpp @@ -47,7 +47,7 @@ public: bool getAccountConnected() const; Q_INVOKABLE void clear(); - Q_INVOKABLE ConferenceInfoGui *getCurrentDateConfInfo(); + Q_INVOKABLE ConferenceInfoGui *getCurrentDateConfInfo(bool enableCancelledConference = false); Q_INVOKABLE int loadUntil(ConferenceInfoGui *confInfo); int loadUntil(QSharedPointer data); signals: diff --git a/Linphone/data/languages/de.ts b/Linphone/data/languages/de.ts index 84eaddf33..772bdb588 100644 --- a/Linphone/data/languages/de.ts +++ b/Linphone/data/languages/de.ts @@ -104,43 +104,43 @@ AccountManager - + assistant_account_login_already_connected_error "The account is already connected" Das Konto ist bereits verbunden - + assistant_account_login_proxy_address_error "Unable to create proxy address. Please check the domain name." Proxy-Adresse konnte nicht erstellt werden. Bitte überprüfen Sie den Domänenname. - + assistant_account_login_address_configuration_error "Unable to configure address: `%1`." Folgende Adresse konnte nicht konfiguriert werden: `%1`. - + assistant_account_login_params_configuration_error "Unable to configure account settings." Kontoeinstellungen konnten nicht konfiguriert werden. - + assistant_account_login_forbidden_error "Username and password do not match" Benutzername und Passwort stimmen nicht überein - + assistant_account_login_error "Error during connection, please verify your parameters" Fehler bei der Verbindung - + assistant_account_add_error "Unable to add account." Konto konnte nicht hinzugefügt werden. @@ -634,141 +634,141 @@ App - + remote_provisioning_dialog Voulez-vous télécharger et appliquer la configuration depuis cette adresse ? Möchten Sie die Remote-Konfiguration von dieser Adresse herunterladen und anwenden? - - - + + + info_popup_error_title Error Fehler - - + + info_popup_configuration_failed_message Remote provisioning failed : %1 - + info_popup_error_checking_update An error occured while trying to check update. Please try again later or contact support team. - + info_popup_new_version_download_label - + info_popup_new_version_available_title New version available ! - + info_popup_new_version_available_message A new version of Linphone (%1) is available. %2 - + info_popup_version_up_to_date_title - + info_popup_version_up_to_date_message Your version is up to date - + configuration_error_detail not reachable - + application_description "A free and open source SIP video-phone." Ein kostenloses Open-Source SIP Video-Telefon. - + command_line_arg_order "Send an order to the application towards a command line" Kommandozeilen-Befehl an die Anwendung schicken - + command_line_option_show_help Zeige Hilfe - + command_line_option_show_app_version App-Version anzeigen - + command_line_option_config_to_fetch "Specify the linphone configuration file to be fetched. It will be merged with the current configuration." Abzurufende Linphone-Konfigurationsdatei angeben. Sie wird mit der aktuellen Konfiguration zusammengeführt. - + command_line_option_config_to_fetch_arg "URL, path or file" URL, Pfad oder Datei - + command_line_option_minimized - + command_line_option_log_to_stdout Debug-Informationen auf der Standardausgabe ausgeben - + command_line_option_print_app_logs_only "Print only logs from the application" Nur Anwendungs-Logs ausgeben - + hide_action "Cacher" "Afficher" Ausblenden - + show_action Zeigen - + quit_action "Quitter" Beenden - + check_for_update Check for update - + mark_all_read_action @@ -1227,7 +1227,7 @@ Das Anrufprotokoll mit diesem Benutzer wird dauerhaft gelöscht. - + call_history_call_list_title "Appels" Anrufe @@ -1238,14 +1238,14 @@ - + menu_delete_history "Supprimer l'historique" Verlauf löschen - + call_history_list_options_accessible_name Call history options @@ -1672,7 +1672,7 @@ - + call_action_show_dialer "Pavé numérique" Wähltastatur @@ -1697,7 +1697,7 @@ - + call_action_go_to_settings "Paramètres" Einstellungen @@ -1709,34 +1709,34 @@ Bildschirm teilen - + conference_share_link_title Partager le lien de la réunion Besprechungs-Link teilen - + copied Copié Kopiert - + information_popup_meeting_address_copied_to_clipboard Le lien de la réunion a été copié dans le presse-papier Der Besprechungs-Link wurde in die Zwischenablage kopiert - - - + + + conference_participants_list_title "Participants (%1)" Teilnehmer (%1) - - + + group_call_participant_selected 1 ausgewählter Teilnehmer @@ -1744,7 +1744,7 @@ - + meeting_schedule_add_participants_title Teilnehmer hinzufügen @@ -1790,148 +1790,148 @@ Statistiken - + call_action_end_call "Terminer l'appel" Anruf beenden - - + + call_action_resume_call "Reprendre l'appel" Anruf fortsetzen - + call_action_pause_call "Mettre l'appel en pause" Anruf pausieren - + call_action_transfer_call "Transférer l'appel" Anruf weiterleiten - + call_action_start_new_call_hint "Initier un nouvel appel" Neuen Anruf starten - + call_display_call_list_hint "Afficher la liste d'appels" Anrufliste anzeigen - + call_deactivate_video_hint "Désactiver la vidéo" "Activer la vidéo" Video deaktivieren - + call_activate_video_hint Video aktivieren - - + + call_activate_microphone "Activer le micro" Mikrofon aktivieren - + call_deactivate_microphone "Désactiver le micro" Mikrofon stummschalten - + call_share_screen_hint Partager l'écran… Bildschirm teilen… - + call_open_chat_hint Open chat… - + call_rise_hand_hint "Lever la main" Hand heben - + call_send_reaction_hint "Envoyer une réaction" Reaktion senden - + call_manage_participants_hint "Gérer les participants" Teilnehmer verwalten - + call_more_options_hint "Plus d'options…" Weitere Optionen… - + call_action_change_conference_layout "Modifier la disposition" Layout ändern - + call_action_full_screen "Mode Plein écran" Vollbildmodus - + call_action_stop_recording "Terminer l'enregistrement" Aufnahme beenden - + call_action_record "Enregistrer l'appel" Anruf aufnehmen - + call_activate_speaker_hint "Activer le son" Lautsprecher aktivieren - + call_deactivate_speaker_hint "Désactiver le son" Lautsprecher stummschalten @@ -1981,7 +1981,7 @@ settings_contacts_carddav_popup_synchronization_error_message - "Erreur de synchronisation!" + "Erreur de synchronisation : %1" Synchronisierungsfehler! @@ -2103,7 +2103,7 @@ - + chat_room_delete "Delete" Löschen @@ -2120,37 +2120,37 @@ - + chat_room_mark_as_read "Mark as read" - + chat_room_leave "leave" - + chat_list_leave_chat_popup_title leave the conversation ? - + chat_list_leave_chat_popup_message You will not be able to send or receive messages in this conversation anymore. Do You want to continue ? - + chat_list_delete_chat_popup_title Delete the conversation ? - + chat_list_delete_chat_popup_message This conversation and all its messages will be deleted. Do You want to continue ? @@ -2517,13 +2517,13 @@ Error - + chat_list_title "Conversations" Konversationen - + menu_mark_all_as_read "mark all as read" @@ -3041,7 +3041,7 @@ Error Ok - + bottom_navigation_contacts_label "Contacts" Kontakte @@ -4645,122 +4645,122 @@ Error Zurück - + meetings_list_title Réunions Besprechungen - + meetings_search_hint "Rechercher une réunion" Besprechung suchen - + list_filter_no_result_found "Aucun résultat…" Kein Ergebnis… - + meetings_empty_list "Aucune réunion" Keine Besprechungen - - + + meeting_schedule_title "Nouvelle réunion" Neue Besprechung - + create Erstellen - - - - - - + + + + + + information_popup_error_title Fehler - - + + meeting_schedule_mandatory_field_not_filled_toast Veuillez saisir un titre et sélectionner au moins un participant Bitte Titel bestimmen und mindestens einen Teilnehmer auswählen - - + + meeting_schedule_duration_error_toast "La fin de la conférence doit être plus récente que son début" Das Ende der Besprechung muss nach dem Beginn liegen - - + + meeting_schedule_creation_in_progress "Création de la réunion en cours …" Besprechung wird erstellt… - + meeting_info_created_toast "Réunion planifiée avec succès" Besprechung erfolgreich erstellt - + meeting_failed_to_schedule_toast "Échec de création de la réunion !" Besprechung konnte nicht erstellt werden! - + save Speichern - - + + saved "Enregistré" Gespeichert - + meeting_info_updated_toast "Réunion mise à jour" Besprechung geändert - + meeting_schedule_edit_in_progress "Modification de la réunion en cours…" Bersprechung wird geändert… - + meeting_failed_to_edit_toast "Échec de la modification de la réunion !" Besprechung konnte nicht geändert werden! - + meeting_schedule_add_participants_title "Ajouter des participants" Teilnehmer hinzufügen - + meeting_schedule_add_participants_apply Apply @@ -4769,7 +4769,7 @@ Error Hinzufügen - + group_call_participant_selected "%n participant(s) sélectionné(s)" @@ -4778,31 +4778,31 @@ Error - + meeting_info_delete "Supprimer la réunion" Besprechung löschen - + meeting_address_copied_to_clipboard_toast "Adresse de la réunion copiée" Besprechungs-URI kopiert - + meeting_schedule_timezone_title "Fuseau horaire" Zeitzone - + meeting_info_organizer_label "Organisateur" Organisator - + meeting_info_join_title "Rejoindre la réunion" Besprechung beitreten @@ -5688,37 +5688,37 @@ Pour les activer dans un projet commercial, merci de nous contacter. ScreencastSettings - + screencast_settings_choose_window_text "Veuillez choisir l’écran ou la fenêtre que vous souihaitez partager au autres participants" Bitte wählen Sie den Bildschirm oder das Fenster aus, das Sie mit anderen Teilnehmern teilen möchten. - + screencast_settings_all_screen_label "Ecran entier" Vollbild - + screencast_settings_one_window_label "Fenêtre" Fenster - + screencast_settings_screen "Ecran %1" Bildschirm %1 - + stop "Stop Stopp - + share "Partager" Teilen diff --git a/Linphone/data/languages/en.ts b/Linphone/data/languages/en.ts index f3cf2fa28..ffe5edeed 100644 --- a/Linphone/data/languages/en.ts +++ b/Linphone/data/languages/en.ts @@ -104,43 +104,43 @@ AccountManager - + assistant_account_login_already_connected_error "The account is already connected" The account is already connected - + assistant_account_login_proxy_address_error "Unable to create proxy address. Please check the domain name." Unable to create proxy address. Please check the domain name. - + assistant_account_login_address_configuration_error "Unable to configure address: `%1`." Unable to configure address: `%1`. - + assistant_account_login_params_configuration_error "Unable to configure account settings." Unable to configure account settings. - + assistant_account_login_forbidden_error "Username and password do not match" Username and password do not match - + assistant_account_login_error "Error during connection, please verify your parameters" Error during connection - + assistant_account_add_error "Unable to add account." Unable to add account. @@ -629,141 +629,141 @@ App - + remote_provisioning_dialog Voulez-vous télécharger et appliquer la configuration depuis cette adresse ? Do you want to download and apply remote provisioning from this address ? - - - + + + info_popup_error_title Error Error - - + + info_popup_configuration_failed_message Remote provisioning failed : %1 Remote provisioning failed : %1 - + info_popup_error_checking_update An error occured while trying to check update. Please try again later or contact support team. An error occured while trying to check update. Please try again later or contact support team. - + info_popup_new_version_download_label Download it ! - + info_popup_new_version_available_title New version available ! New version available ! - + info_popup_new_version_available_message A new version of Linphone (%1) is available. %2 A new version of Linphone (%1) is available at %1 - + info_popup_version_up_to_date_title Up to date - + info_popup_version_up_to_date_message Your version is up to date Up to date Your version is up to date - + configuration_error_detail not reachable not reachable - + application_description "A free and open source SIP video-phone." A free and open source SIP video-phone. - + command_line_arg_order "Send an order to the application towards a command line" Send an order to the application towards a command line - + command_line_option_show_help Show this help - + command_line_option_show_app_version 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." 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" URL, path or file - + command_line_option_minimized Minimize - + command_line_option_log_to_stdout Log to stdout some debug information while running - + command_line_option_print_app_logs_only "Print only logs from the application" Print only logs from the application - + hide_action "Cacher" "Afficher" Hide - + show_action Show - + quit_action "Quitter" Quit - + check_for_update Check for update Check for update - + mark_all_read_action Marquer tout comme lu @@ -1232,7 +1232,7 @@ Call history with this user will be permanently deleted. - + call_history_call_list_title "Appels" Calls @@ -1243,14 +1243,14 @@ Call history options - + menu_delete_history "Supprimer l'historique" Delete history - + call_history_list_options_accessible_name Call history options Call history options @@ -1649,7 +1649,7 @@ - + call_action_show_dialer "Pavé numérique" Dialer @@ -1674,7 +1674,7 @@ - + call_action_go_to_settings "Paramètres" Settings @@ -1686,34 +1686,34 @@ 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 @@ -1721,7 +1721,7 @@ - + meeting_schedule_add_participants_title Add participants @@ -1767,148 +1767,148 @@ 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_open_chat_hint Open chat… Open conversation… - + 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 @@ -1958,8 +1958,8 @@ settings_contacts_carddav_popup_synchronization_error_message - "Erreur de synchronisation!" - Synchronization error ! + "Erreur de synchronisation : %1" + Synchronization error : %1 @@ -2080,7 +2080,7 @@ Draft : %1 - + chat_room_delete "Delete" Delete @@ -2097,37 +2097,37 @@ Unmute - + chat_room_mark_as_read "Mark as read" Mark as read - + chat_room_leave "leave" Leave - + chat_list_leave_chat_popup_title leave the conversation ? Leave the conversation ? - + chat_list_leave_chat_popup_message You will not be able to send or receive messages in this conversation anymore. Do You want to continue ? You will not be able to send or receive messages in this conversation anymore. Do You want to continue ? - + chat_list_delete_chat_popup_title Delete the conversation ? Delete the conversation ? - + chat_list_delete_chat_popup_message This conversation and all its messages will be deleted. Do You want to continue ? This conversation and all its messages will be deleted. Do You want to continue ? @@ -2491,13 +2491,13 @@ Only your correspondent can decrypt them. This conversation and all its messages will be deleted. - + chat_list_title "Conversations" Conversations - + menu_mark_all_as_read "mark all as read" Mark all as read @@ -2985,7 +2985,7 @@ Only your correspondent can decrypt them. Ok - + bottom_navigation_contacts_label "Contacts" Contacts @@ -4561,127 +4561,127 @@ Expiration : %1 Back - + meetings_list_title Réunions Meetings - + meetings_search_hint "Rechercher une réunion" Find meeting - + list_filter_no_result_found "Aucun résultat…" No result… - + meetings_empty_list "Aucune réunion" No meeting - - + + meeting_schedule_title "Nouvelle réunion" New meeting - + create Create - - - - - - + + + + + + information_popup_error_title Error - - + + meeting_schedule_mandatory_field_not_filled_toast Veuillez saisir un titre et sélectionner au moins un participant Please fill the title and select at least one participant - - + + meeting_schedule_duration_error_toast "La fin de la conférence doit être plus récente que son début" The end of the conference must be more recent than its beginning - - + + meeting_schedule_creation_in_progress "Création de la réunion en cours …" Creation in progress… - + meeting_info_created_toast "Réunion planifiée avec succès" Meeting successfully created - + meeting_failed_to_schedule_toast "Échec de création de la réunion !" Failed to create meeting! - + save Save - - + + saved "Enregistré" Saved - + meeting_info_updated_toast "Réunion mise à jour" Meeting updated - + meeting_schedule_edit_in_progress "Modification de la réunion en cours…" Meeting update in progress… - + meeting_failed_to_edit_toast "Échec de la modification de la réunion !" Failed to update meeting ! - + meeting_schedule_add_participants_title "Ajouter des participants" Add participants - + meeting_schedule_add_participants_apply Apply - + group_call_participant_selected "%n participant(s) sélectionné(s)" @@ -4690,31 +4690,31 @@ Expiration : %1 - + meeting_info_delete "Supprimer la réunion" Delete meeting - + meeting_address_copied_to_clipboard_toast "Adresse de la réunion copiée" Meeting URI copied - + meeting_schedule_timezone_title "Fuseau horaire" Timezone - + meeting_info_organizer_label "Organisateur" Organizer - + meeting_info_join_title "Rejoindre la réunion" Join meeting @@ -5583,37 +5583,37 @@ To enable them in a commercial project, please contact us. ScreencastSettings - + screencast_settings_choose_window_text "Veuillez choisir l’écran ou la fenêtre que vous souihaitez partager au autres participants" Please choose the screen or window you would like to share with other participants. - + screencast_settings_all_screen_label "Ecran entier" Full screen - + screencast_settings_one_window_label "Fenêtre" Window - + screencast_settings_screen "Ecran %1" Screen %1 - + stop "Stop Stop - + share "Partager" Share diff --git a/Linphone/data/languages/fr.ts b/Linphone/data/languages/fr.ts index f8dacfd43..7a70cbfdc 100644 --- a/Linphone/data/languages/fr.ts +++ b/Linphone/data/languages/fr.ts @@ -104,43 +104,43 @@ AccountManager - + assistant_account_login_already_connected_error "The account is already connected" Le compte est déjà connecté - + assistant_account_login_proxy_address_error "Unable to create proxy address. Please check the domain name." Impossible de créer l'adresse proxy. Merci de vérifier le nom de domaine. - + assistant_account_login_address_configuration_error "Unable to configure address: `%1`." Impossible de configurer l'adresse : `%1`. - + assistant_account_login_params_configuration_error "Unable to configure account settings." Impossible de configurer les paramètres du compte. - + assistant_account_login_forbidden_error "Username and password do not match" Le couple identifiant mot de passe ne correspond pas - + assistant_account_login_error "Error during connection, please verify your parameters" Erreur durant la connexion, veuillez vérifier vos paramètres - + assistant_account_add_error "Unable to add account." Impossible d'ajouter le compte. @@ -629,141 +629,141 @@ App - + remote_provisioning_dialog Voulez-vous télécharger et appliquer la configuration depuis cette adresse ? Voulez-vous télécharger et appliquer la configuration depuis cette adresse ? - - - + + + info_popup_error_title Error Erreur - - + + info_popup_configuration_failed_message Remote provisioning failed : %1 La configuration distante a échoué : %1 - + info_popup_error_checking_update An error occured while trying to check update. Please try again later or contact support team. Une erreur est survenue lors de la recherche de mise à jour. Merci de réessayer plus tard ou de contacter l'équipe de support. - + info_popup_new_version_download_label Téléchargez-là ! - + info_popup_new_version_available_title New version available ! Nouvelle version disponible ! - + info_popup_new_version_available_message A new version of Linphone (%1) is available. %2 Une nouvelle version de Linphone (%1) est disponible. %2 - + info_popup_version_up_to_date_title À jour - + info_popup_version_up_to_date_message Your version is up to date Votre version est à jour - + configuration_error_detail not reachable indisponible - + application_description "A free and open source SIP video-phone." A free and open source SIP video-phone. - + command_line_arg_order "Send an order to the application towards a command line" Send an order to the application towards a command line - + command_line_option_show_help Show this help - + command_line_option_show_app_version Afficher la version de l'application - + command_line_option_config_to_fetch "Specify the linphone configuration file to be fetched. It will be merged with the current configuration." 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" URL, path or file - + command_line_option_minimized Minimiser - + command_line_option_log_to_stdout Log to stdout some debug information while running - + command_line_option_print_app_logs_only "Print only logs from the application" Print only logs from the application - + hide_action "Cacher" "Afficher" Cacher - + show_action Afficher - + quit_action "Quitter" Quitter - + check_for_update Check for update Rechercher une mise à jour - + mark_all_read_action Marquer tout comme lu @@ -1222,7 +1222,7 @@ L'ensemble de votre historique d'appels avec ce correspondant sera définitivement supprimé. - + call_history_call_list_title "Appels" Appels @@ -1233,14 +1233,14 @@ Options de l' - + menu_delete_history "Supprimer l'historique" Supprimer l'historique - + call_history_list_options_accessible_name Call history options Options de la liste de l'historique d'appel @@ -1649,7 +1649,7 @@ - + call_action_show_dialer "Pavé numérique" Pavé numérique @@ -1674,7 +1674,7 @@ - + call_action_go_to_settings "Paramètres" Paramètres @@ -1686,34 +1686,34 @@ 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 %1 participant sélectionné @@ -1721,7 +1721,7 @@ - + meeting_schedule_add_participants_title Ajouter des participants @@ -1767,148 +1767,148 @@ 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_open_chat_hint Open chat… Ouvrir le chat… - + 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 @@ -1958,8 +1958,8 @@ settings_contacts_carddav_popup_synchronization_error_message - "Erreur de synchronisation!" - Erreur de synchronisation! + "Erreur de synchronisation : %1" + Erreur de synchronisation : %1 @@ -2080,7 +2080,7 @@ Brouillon : %1 - + chat_room_delete "Delete" Supprimer @@ -2097,37 +2097,37 @@ Enlever la sourdine - + chat_room_mark_as_read "Mark as read" Marquer comme lu - + chat_room_leave "leave" Quitter la conversation - + chat_list_leave_chat_popup_title leave the conversation ? Quitter la conversation ? - + chat_list_leave_chat_popup_message You will not be able to send or receive messages in this conversation anymore. Do You want to continue ? Vous ne pourrez plus envoyer ou recevoir de messages dans cette conversation. Souhaitez-vous continuer ? - + chat_list_delete_chat_popup_title Delete the conversation ? Supprimer la conversation ? - + chat_list_delete_chat_popup_message This conversation and all its messages will be deleted. Do You want to continue ? La conversation et tous ses messages seront supprimés. Souhaitez-vous continuer ? @@ -2491,13 +2491,13 @@ en bout. Seul votre correspondant peut les déchiffrer. La conversation et tous ses messages seront supprimés. - + chat_list_title "Conversations" Conversations - + menu_mark_all_as_read "mark all as read" Tout marquer comme lu @@ -2985,7 +2985,7 @@ en bout. Seul votre correspondant peut les déchiffrer. Ok - + bottom_navigation_contacts_label "Contacts" Contacts @@ -4561,127 +4561,127 @@ Expiration : %1 Retour - + meetings_list_title Réunions Réunions - + meetings_search_hint "Rechercher une réunion" Rechercher une réunion - + list_filter_no_result_found "Aucun résultat…" Aucun résultat… - + meetings_empty_list "Aucune réunion" Aucune réunion - - + + meeting_schedule_title "Nouvelle réunion" Nouvelle réunion - + create Créer - - - - - - + + + + + + information_popup_error_title Erreur - - + + meeting_schedule_mandatory_field_not_filled_toast Veuillez saisir un titre et sélectionner au moins un participant Veuillez saisir un titre et sélectionner au moins un participant - - + + meeting_schedule_duration_error_toast "La fin de la conférence doit être plus récente que son début" La fin de la conférence doit être plus récente que son début - - + + meeting_schedule_creation_in_progress "Création de la réunion en cours …" Création de la réunion en cours… - + meeting_info_created_toast "Réunion planifiée avec succès" Réunion planifiée avec succès - + meeting_failed_to_schedule_toast "Échec de création de la réunion !" Échec de création de la réunion ! - + save Enregistrer - - + + saved "Enregistré" Enregistré - + meeting_info_updated_toast "Réunion mise à jour" Réunion mise à jour - + meeting_schedule_edit_in_progress "Modification de la réunion en cours…" Modification de la réunion en cours… - + meeting_failed_to_edit_toast "Échec de la modification de la réunion !" Échec de la modification de la réunion ! - + meeting_schedule_add_participants_title "Ajouter des participants" Ajouter des participants - + meeting_schedule_add_participants_apply Appliquer - + group_call_participant_selected "%n participant(s) sélectionné(s)" @@ -4690,31 +4690,31 @@ Expiration : %1 - + meeting_info_delete "Supprimer la réunion" Supprimer la réunion - + meeting_address_copied_to_clipboard_toast "Adresse de la réunion copiée" Adresse de la réunion copiée - + meeting_schedule_timezone_title "Fuseau horaire" Fuseau horaire - + meeting_info_organizer_label "Organisateur" Organisateur - + meeting_info_join_title "Rejoindre la réunion" Rejoindre la réunion @@ -5583,37 +5583,37 @@ Pour les activer dans un projet commercial, merci de nous contacter. ScreencastSettings - + screencast_settings_choose_window_text "Veuillez choisir l’écran ou la fenêtre que vous souihaitez partager au autres participants" Veuillez choisir l’écran ou la fenêtre que vous souihaitez partager au autres participants - + screencast_settings_all_screen_label "Ecran entier" Écran entier - + screencast_settings_one_window_label "Fenêtre" Fenêtre - + screencast_settings_screen "Ecran %1" Écran %1 - + stop "Stop Stop - + share "Partager" Partager diff --git a/Linphone/model/address-books/carddav/CarddavModel.cpp b/Linphone/model/address-books/carddav/CarddavModel.cpp index 8786268e8..38621b04e 100644 --- a/Linphone/model/address-books/carddav/CarddavModel.cpp +++ b/Linphone/model/address-books/carddav/CarddavModel.cpp @@ -97,15 +97,16 @@ void CarddavModel::remove() { void CarddavModel::onSyncStatusChanged(const std::shared_ptr &friendList, linphone::FriendList::SyncStatus status, const std::string &message) { + lInfo() << log().arg("carddav sync status changed :") << message; if (status == linphone::FriendList::SyncStatus::Successful) { lInfo() << log().arg("Successfully synchronized:") << mCarddavFriendList->getUri(); setMonitor(nullptr); SettingsModel::setCardDAVListForNewFriends(mStoreNewFriendsInIt ? friendList->getDisplayName() : ""); - emit saved(true); + emit saved(true, Utils::coreStringToAppString(message)); } if (status == linphone::FriendList::SyncStatus::Failure) { lWarning() << log().arg("Synchronization failure:") << mCarddavFriendList->getUri(); setMonitor(nullptr); - emit saved(false); + emit saved(false, Utils::coreStringToAppString(message)); } } diff --git a/Linphone/model/address-books/carddav/CarddavModel.hpp b/Linphone/model/address-books/carddav/CarddavModel.hpp index 30287a063..f94de0157 100644 --- a/Linphone/model/address-books/carddav/CarddavModel.hpp +++ b/Linphone/model/address-books/carddav/CarddavModel.hpp @@ -36,12 +36,17 @@ public: CarddavModel(const std::shared_ptr &carddavFriendList, QObject *parent = nullptr); ~CarddavModel(); - void save(std::string displayName, std::string uri, std::string username, std::string password, std::string realm, bool storeNewFriendsInIt); + void save(std::string displayName, + std::string uri, + std::string username, + std::string password, + std::string realm, + bool storeNewFriendsInIt); void remove(); bool storeNewFriendsInIt(); signals: - void saved(bool success); + void saved(bool success, QString message); void removed(); private: diff --git a/Linphone/view/Control/Button/IconLabelButton.qml b/Linphone/view/Control/Button/IconLabelButton.qml index 1bb535681..fbe322714 100644 --- a/Linphone/view/Control/Button/IconLabelButton.qml +++ b/Linphone/view/Control/Button/IconLabelButton.qml @@ -15,9 +15,10 @@ Button { shadowEnabled: mainItem.activeFocus || hovered style: ButtonStyle.hoveredBackground property bool inverseLayout: false - + spacing: Utils.getSizeWithScreenRatio(5) + contentItem: RowLayout { - spacing: Utils.getSizeWithScreenRatio(5) + spacing: mainItem.spacing layoutDirection: mainItem.inverseLayout ? Qt.RightToLeft: Qt.LeftToRight EffectImage { imageSource: mainItem.icon.source diff --git a/Linphone/view/Control/Display/Chat/ChatListView.qml b/Linphone/view/Control/Display/Chat/ChatListView.qml index a0b2244f5..46fca2b80 100644 --- a/Linphone/view/Control/Display/Chat/ChatListView.qml +++ b/Linphone/view/Control/Display/Chat/ChatListView.qml @@ -377,6 +377,7 @@ ListView { } } IconLabelButton { + visible: modelData.core.unreadMessagesCount !== 0 //: "Mark as read" text: qsTr("chat_room_mark_as_read") icon.source: AppIcons.checks diff --git a/Linphone/view/Control/Form/Settings/ScreencastSettings.qml b/Linphone/view/Control/Form/Settings/ScreencastSettings.qml index ef2078aa2..8801975a0 100644 --- a/Linphone/view/Control/Form/Settings/ScreencastSettings.qml +++ b/Linphone/view/Control/Form/Settings/ScreencastSettings.qml @@ -15,6 +15,8 @@ ColumnLayout { property bool isLocalScreenSharing : conference?.core.isLocalScreenSharing || false property bool screenSharingAvailable: !!conference && (!conference.core.isScreenSharingEnabled || isLocalScreenSharing) + signal screenSharingToggled() + spacing: Utils.getSizeWithScreenRatio(12) onIsLocalScreenSharingChanged: {if(isLocalScreenSharing) mainItem.call.core.videoSourceDescriptor = mainItem.desc } @@ -179,7 +181,10 @@ ColumnLayout { ? qsTr("stop") //: "Partager" : qsTr("share") - onClicked: mainItem.conference.core.lToggleScreenSharing() + onClicked: { + mainItem.conference.core.lToggleScreenSharing() + mainItem.screenSharingToggled() + } style: ButtonStyle.main } } diff --git a/Linphone/view/Page/Layout/Settings/CarddavSettingsLayout.qml b/Linphone/view/Page/Layout/Settings/CarddavSettingsLayout.qml index b2e966a84..ae7bf8396 100644 --- a/Linphone/view/Page/Layout/Settings/CarddavSettingsLayout.qml +++ b/Linphone/view/Page/Layout/Settings/CarddavSettingsLayout.qml @@ -35,15 +35,15 @@ AbstractSettingsLayout { } Connections { target: carddavGui.core - function onSaved(success) { + function onSaved(success, message) { if (success) UtilsCpp.showInformationPopup(qsTr("information_popup_synchronization_success_title"), //: "Le carnet d'adresse CardDAV est synchronisé." qsTr("settings_contacts_carddav_synchronization_success_message"), true, mainWindow) else UtilsCpp.showInformationPopup(qsTr("settings_contacts_carddav_popup_synchronization_error_title"), - //: "Erreur de synchronisation!" - qsTr("settings_contacts_carddav_popup_synchronization_error_message"), false, mainWindow) + //: "Erreur de synchronisation : %1" + qsTr("settings_contacts_carddav_popup_synchronization_error_message").arg(message), false, mainWindow) } } Component { diff --git a/Linphone/view/Page/Window/Call/CallsWindow.qml b/Linphone/view/Page/Window/Call/CallsWindow.qml index 68e82b676..000398c02 100644 --- a/Linphone/view/Page/Window/Call/CallsWindow.qml +++ b/Linphone/view/Page/Window/Call/CallsWindow.qml @@ -1039,7 +1039,8 @@ AbstractWindow { anchors.topMargin: Utils.getSizeWithScreenRatio(16) width: parent.width call: mainWindow.call - onIsLocalScreenSharingChanged: if (isLocalScreenSharing) rightPanel.visible = false + // auto close panel just before activating screen sharing + onScreenSharingToggled: if (!isLocalScreenSharing) rightPanel.visible = false } } }