prevent cloning when not necessary

This commit is contained in:
Gaelle Braud 2025-09-23 16:17:34 +02:00
parent 285e6645f8
commit 598b45bbf4
27 changed files with 323 additions and 332 deletions

View file

@ -43,7 +43,7 @@ AccountCore::AccountCore(const std::shared_ptr<linphone::Account> &account) : QO
auto address = account->getContactAddress();
mContactAddress = address ? Utils::coreStringToAppString(account->getContactAddress()->asStringUriOnly()) : "";
auto params = account->getParams()->clone();
auto identityAddress = params->getIdentityAddress()->clone();
auto identityAddress = params->getIdentityAddress();
mIdentityAddress = identityAddress ? Utils::coreStringToAppString(identityAddress->asStringUriOnly()) : "";
mPictureUri = Utils::coreStringToAppString(params->getPictureUri());
mRegistrationState = LinphoneEnums::fromLinphone(account->getState());
@ -52,8 +52,9 @@ AccountCore::AccountCore(const std::shared_ptr<linphone::Account> &account) : QO
mDisplayName = Utils::coreStringToAppString(identityAddress->getDisplayName());
if (mDisplayName.isEmpty()) {
mDisplayName = ToolModel::getDisplayName(identityAddress);
identityAddress->setDisplayName(Utils::appStringToCoreString(mDisplayName));
params->setIdentityAddress(identityAddress);
auto copyAddress = identityAddress->clone();
copyAddress->setDisplayName(Utils::appStringToCoreString(mDisplayName));
params->setIdentityAddress(copyAddress);
account->setParams(params);
}
mRegisterEnabled = params->registerEnabled();

View file

@ -46,8 +46,7 @@ CallHistoryCore::CallHistoryCore(const std::shared_ptr<linphone::CallLog> &callL
mustBeInLinphoneThread(getClassName());
mCallHistoryModel = std::make_shared<CallHistoryModel>(callLog);
auto addr = callLog->getRemoteAddress()->clone();
addr->clean();
auto addr = callLog->getRemoteAddress();
mStatus = LinphoneEnums::fromLinphone(callLog->getStatus());
mDate = QDateTime::fromMSecsSinceEpoch(callLog->getStartDate() * 1000);
mIsOutgoing = callLog->getDir() == linphone::Call::Dir::Outgoing;
@ -129,14 +128,14 @@ void CallHistoryCore::setSelf(QSharedPointer<CallHistoryCore> me) {
mCoreModelConnection->makeConnectToModel(&CoreModel::friendRemoved, &CallHistoryCore::onRemoved);
// Update display name when display name has been requested from magic search cause not found in linphone friends
// (required to get the right display name if ldap friends cleared)
mCoreModelConnection->makeConnectToModel(&CoreModel::magicSearchResultReceived, [this, remoteAddress = mRemoteAddress] {
mCoreModelConnection->makeConnectToModel(&CoreModel::magicSearchResultReceived,
[this, remoteAddress = mRemoteAddress] {
auto displayName = ToolModel::getDisplayName(remoteAddress);
mCoreModelConnection->invokeToCore([this, displayName]() {
mDisplayName = displayName;
emit displayNameChanged();
});
});
}
ConferenceInfoGui *CallHistoryCore::getConferenceInfoGui() const {

View file

@ -115,8 +115,7 @@ CallCore::CallCore(const std::shared_ptr<linphone::Call> &call) : QObject(nullpt
mRemoteVideoEnabled =
videoDirection == linphone::MediaDirection::SendOnly || videoDirection == linphone::MediaDirection::SendRecv;
mState = LinphoneEnums::fromLinphone(call->getState());
auto remoteAddress = call->getCallLog()->getRemoteAddress()->clone();
remoteAddress->clean();
auto remoteAddress = call->getCallLog()->getRemoteAddress();
mRemoteAddress = Utils::coreStringToAppString(remoteAddress->asStringUriOnly());
mRemoteUsername = Utils::coreStringToAppString(remoteAddress->getUsername());
auto linphoneFriend = ToolModel::findFriendByAddress(remoteAddress);

View file

@ -45,8 +45,7 @@ ChatCore::ChatCore(const std::shared_ptr<linphone::ChatRoom> &chatRoom) : QObjec
mustBeInLinphoneThread(getClassName());
App::getInstance()->mEngine->setObjectOwnership(this, QQmlEngine::CppOwnership);
mLastUpdatedTime = QDateTime::fromSecsSinceEpoch(chatRoom->getLastUpdateTime());
auto chatRoomAddress = chatRoom->getPeerAddress()->clone();
chatRoomAddress->clean();
auto chatRoomAddress = chatRoom->getPeerAddress();
mChatRoomAddress = Utils::coreStringToAppString(chatRoomAddress->asStringUriOnly());
if (chatRoom->hasCapability((int)linphone::ChatRoom::Capabilities::Basic)) {
mTitle = ToolModel::getDisplayName(chatRoomAddress);
@ -61,8 +60,8 @@ ChatCore::ChatCore(const std::shared_ptr<linphone::ChatRoom> &chatRoom) : QObjec
if (chatRoom->hasCapability((int)linphone::ChatRoom::Capabilities::OneToOne)) {
if (participants.size() > 0) {
auto peer = participants.front();
if (peer) mTitle = ToolModel::getDisplayName(peer->getAddress()->clone());
mAvatarUri = ToolModel::getDisplayName(peer->getAddress()->clone());
if (peer) mTitle = ToolModel::getDisplayName(peer->getAddress());
mAvatarUri = ToolModel::getDisplayName(peer->getAddress());
if (participants.size() == 1) {
auto peerAddress = peer->getAddress();
if (peerAddress) mParticipantAddress = Utils::coreStringToAppString(peerAddress->asStringUriOnly());
@ -217,8 +216,8 @@ void ChatCore::setSelf(QSharedPointer<ChatCore> me) {
auto linParticipants = chatRoom->getParticipants();
if (linParticipants.size() > 0) {
auto peer = linParticipants.front();
if (peer) title = ToolModel::getDisplayName(peer->getAddress()->clone());
avatarUri = ToolModel::getDisplayName(peer->getAddress()->clone());
if (peer) title = ToolModel::getDisplayName(peer->getAddress());
avatarUri = ToolModel::getDisplayName(peer->getAddress());
if (linParticipants.size() == 1) {
auto peerAddress = peer->getAddress();
if (peerAddress)
@ -319,9 +318,9 @@ void ChatCore::setSelf(QSharedPointer<ChatCore> me) {
[this](const std::shared_ptr<linphone::ChatRoom> &chatRoom,
const std::shared_ptr<const linphone::Address> &remoteAddress, bool isComposing) {
if (mChatModel->getMonitor() != chatRoom) return;
QString name = isComposing ? ToolModel::getDisplayName(remoteAddress->clone()) : QString();
auto remoteAddr = remoteAddress->clone();
remoteAddr->clean();
QString name = isComposing ? ToolModel::getDisplayName(remoteAddress) : QString();
auto remoteAddr = remoteAddress;
// remoteAddr->clean();
mChatModelConnection->invokeToCore(
[this, name, address = Utils::coreStringToAppString(remoteAddr->asStringUriOnly())]() {
setComposingName(name);
@ -673,7 +672,7 @@ void ChatCore::updateInfo(const std::shared_ptr<linphone::Friend> &updatedFriend
}
int capabilities = mChatModel->getCapabilities();
auto chatroom = mChatModel->getMonitor();
auto chatRoomAddress = chatroom->getPeerAddress()->clone();
auto chatRoomAddress = chatroom->getPeerAddress();
if (mChatModel->hasCapability((int)linphone::ChatRoom::Capabilities::Basic)) {
mTitle = ToolModel::getDisplayName(chatRoomAddress);
mAvatarUri = ToolModel::getDisplayName(chatRoomAddress);
@ -684,8 +683,8 @@ void ChatCore::updateInfo(const std::shared_ptr<linphone::Friend> &updatedFriend
auto participants = chatroom->getParticipants();
if (participants.size() > 0) {
auto peer = participants.front();
if (peer) mTitle = ToolModel::getDisplayName(peer->getAddress()->clone());
mAvatarUri = ToolModel::getDisplayName(peer->getAddress()->clone());
if (peer) mTitle = ToolModel::getDisplayName(peer->getAddress());
mAvatarUri = ToolModel::getDisplayName(peer->getAddress());
if (participants.size() == 1) {
auto peerAddress = peer->getAddress();
if (peerAddress)

View file

@ -119,12 +119,12 @@ ChatMessageCore::ChatMessageCore(const std::shared_ptr<linphone::ChatMessage> &c
mIsOutgoing = chatmessage->isOutgoing();
mIsRemoteMessage = !chatmessage->isOutgoing();
mPeerAddress = Utils::coreStringToAppString(chatmessage->getPeerAddress()->asStringUriOnly());
mPeerName = ToolModel::getDisplayName(chatmessage->getPeerAddress()->clone());
auto fromAddress = chatmessage->getFromAddress()->clone();
fromAddress->clean();
mPeerName = ToolModel::getDisplayName(chatmessage->getPeerAddress());
auto fromAddress = chatmessage->getFromAddress();
// fromAddress->clean();
mFromAddress = Utils::coreStringToAppString(fromAddress->asStringUriOnly());
mFromName = ToolModel::getDisplayName(chatmessage->getFromAddress()->clone());
mToName = ToolModel::getDisplayName(chatmessage->getToAddress()->clone());
mFromName = ToolModel::getDisplayName(chatmessage->getFromAddress());
mToName = ToolModel::getDisplayName(chatmessage->getToAddress());
auto chatroom = chatmessage->getChatRoom();
mIsFromChatGroup = chatroom->hasCapability((int)linphone::ChatRoom::Capabilities::Conference) &&
@ -188,7 +188,7 @@ ChatMessageCore::ChatMessageCore(const std::shared_ptr<linphone::ChatMessage> &c
auto replymessage = chatmessage->getReplyMessage();
if (replymessage) {
mReplyText = ToolModel::getMessageFromContent(replymessage->getContents());
if (mIsFromChatGroup) mRepliedToName = ToolModel::getDisplayName(replymessage->getFromAddress()->clone());
if (mIsFromChatGroup) mRepliedToName = ToolModel::getDisplayName(replymessage->getFromAddress());
}
}
mImdnStatusList = computeDeliveryStatus(chatmessage);

View file

@ -100,7 +100,7 @@ void EventLogCore::computeEvent(const std::shared_ptr<const linphone::EventLog>
mImportant = false;
mEphemeralRelated = false;
auto participantAddress = eventLog->getParticipantAddress() ? eventLog->getParticipantAddress()->clone() : nullptr;
auto participantAddress = eventLog->getParticipantAddress() ? eventLog->getParticipantAddress() : nullptr;
switch (eventLog->getType()) {
case linphone::EventLog::Type::ConferenceCreated:
@ -121,7 +121,7 @@ void EventLogCore::computeEvent(const std::shared_ptr<const linphone::EventLog>
case linphone::EventLog::Type::ConferenceSecurityEvent: {
if (eventLog->getSecurityEventType() == linphone::EventLog::SecurityEventType::SecurityLevelDowngraded) {
auto faultyParticipant = eventLog->getSecurityEventFaultyDeviceAddress()
? eventLog->getSecurityEventFaultyDeviceAddress()->clone()
? eventLog->getSecurityEventFaultyDeviceAddress()
: nullptr;
if (faultyParticipant)
mEventDetails = tr("conference_security_event").arg(ToolModel::getDisplayName(faultyParticipant));

View file

@ -48,7 +48,7 @@ ConferenceCore::ConferenceCore(const std::shared_ptr<linphone::Conference> &conf
mIsScreenSharingEnabled = mConferenceModel->isScreenSharingEnabled();
mIsRecording = conference->isRecording();
auto me = conference->getMe();
auto confAddress = conference->getConferenceAddress()->clone();
auto confAddress = conference->getConferenceAddress();
if (confAddress) {
mConfUri = Utils::coreStringToAppString(confAddress->asStringUriOnly());
}

View file

@ -189,8 +189,7 @@ void ConferenceInfoCore::setSelf(QSharedPointer<ConferenceInfoCore> me) {
if (state == linphone::ConferenceScheduler::State::Ready) {
uri = mConferenceInfoModel->getConferenceScheduler()->getUri();
emit CoreModel::getInstance()->conferenceInfoReceived(
CoreModel::getInstance()->getCore(),
mConferenceInfoModel->getConferenceInfo());
CoreModel::getInstance()->getCore(), mConferenceInfoModel->getConferenceInfo());
}
mConfInfoModelConnection->invokeToCore([this, state = LinphoneEnums::fromLinphone(state),
infoState = LinphoneEnums::fromLinphone(confInfoState),

View file

@ -55,10 +55,7 @@ int AbstractEventCountNotifier::getCurrentEventCount() const {
else {
auto currentAccount = CoreModel::getInstance()->getCore()->getDefaultAccount();
if (currentAccount) {
auto linphoneChatRooms = currentAccount->filterChatRooms("");
for (const auto &chatRoom : linphoneChatRooms) {
count += chatRoom->getUnreadMessagesCount();
}
count += currentAccount->getUnreadChatMessageCount();
}
return count;
}

View file

@ -342,8 +342,8 @@ void Notifier::notifyReceivedMessages(const std::shared_ptr<linphone::ChatRoom>
auto getMessage = [this, &remoteAddress, &txt](const shared_ptr<linphone::ChatMessage> &message) {
if (message->isRead()) return;
auto remoteAddr = message->getFromAddress()->clone();
remoteAddr->clean();
auto remoteAddr = message->getFromAddress();
// remoteAddr->clean();
remoteAddress = Utils::coreStringToAppString(remoteAddr->asStringUriOnly());
auto fileContent = message->getFileTransferInformation();
if (!fileContent) {

View file

@ -52,8 +52,8 @@ ParticipantCore::ParticipantCore(const std::shared_ptr<linphone::Participant> &p
mIsMe = ToolModel::isMe(mSipAddress);
mCreationTime = QDateTime::fromSecsSinceEpoch(participant->getCreationTime());
mDisplayName = Utils::coreStringToAppString(participantAddress->getDisplayName());
if (mDisplayName.isEmpty()) mDisplayName = ToolModel::getDisplayName(participantAddress->clone());
auto isFriend = ToolModel::findFriendByAddress(participantAddress->clone());
if (mDisplayName.isEmpty()) mDisplayName = ToolModel::getDisplayName(participantAddress);
auto isFriend = ToolModel::findFriendByAddress(participantAddress);
mSecurityLevel =
isFriend ? LinphoneEnums::fromLinphone(isFriend->getSecurityLevel()) : LinphoneEnums::SecurityLevel::None;
for (auto &device : participant->getDevices()) {

View file

@ -44,7 +44,7 @@ ParticipantDeviceCore::ParticipantDeviceCore(const std::shared_ptr<linphone::Par
mustBeInLinphoneThread(getClassName());
if (device) {
mName = Utils::coreStringToAppString(device->getName());
auto deviceAddress = device->getAddress()->clone();
auto deviceAddress = device->getAddress();
mUniqueAddress = Utils::coreStringToAppString(deviceAddress->asString());
mAddress = Utils::coreStringToAppString(deviceAddress->asStringUriOnly());
// the display name of the device himself may be the uncleaned sip uri

View file

@ -27,45 +27,45 @@
<context>
<name>AccountCore</name>
<message>
<location filename="../../core/account/AccountCore.cpp" line="444"/>
<location filename="../../core/account/AccountCore.cpp" line="445"/>
<source>drawer_menu_account_connection_status_connected</source>
<extracomment>&quot;Connecté&quot;</extracomment>
<translation>Verbunden</translation>
</message>
<message>
<location filename="../../core/account/AccountCore.cpp" line="447"/>
<location filename="../../core/account/AccountCore.cpp" line="448"/>
<source>drawer_menu_account_connection_status_refreshing</source>
<translation>Aktualisiere</translation>
</message>
<message>
<location filename="../../core/account/AccountCore.cpp" line="450"/>
<location filename="../../core/account/AccountCore.cpp" line="451"/>
<source>drawer_menu_account_connection_status_progress</source>
<translation>Verbinde</translation>
</message>
<message>
<location filename="../../core/account/AccountCore.cpp" line="453"/>
<location filename="../../core/account/AccountCore.cpp" line="454"/>
<source>drawer_menu_account_connection_status_failed</source>
<translation>Fehler</translation>
</message>
<message>
<location filename="../../core/account/AccountCore.cpp" line="457"/>
<location filename="../../core/account/AccountCore.cpp" line="458"/>
<source>drawer_menu_account_connection_status_cleared</source>
<translation>Deaktiviert</translation>
</message>
<message>
<location filename="../../core/account/AccountCore.cpp" line="491"/>
<location filename="../../core/account/AccountCore.cpp" line="492"/>
<source>manage_account_status_connected_summary</source>
<extracomment>&quot;Vous êtes en ligne et joignable.&quot;</extracomment>
<translation>Sie sind online und erreichbar.</translation>
</message>
<message>
<location filename="../../core/account/AccountCore.cpp" line="494"/>
<location filename="../../core/account/AccountCore.cpp" line="495"/>
<source>manage_account_status_failed_summary</source>
<extracomment>&quot;Erreur de connexion, vérifiez vos paramètres.&quot;</extracomment>
<translation>Verbindungsfehler, überprüfen Sie Ihre Einstellungen.</translation>
</message>
<message>
<location filename="../../core/account/AccountCore.cpp" line="498"/>
<location filename="../../core/account/AccountCore.cpp" line="499"/>
<source>manage_account_status_cleared_summary</source>
<extracomment>&quot;Compte désactivé, vous ne recevrez ni appel ni message.&quot;</extracomment>
<translation>Konto deaktiviert, Sie erhalten keine Anrufe oder Nachrichten.</translation>
@ -695,76 +695,76 @@
<context>
<name>CallCore</name>
<message>
<location filename="../../core/call/CallCore.cpp" line="212"/>
<location filename="../../core/call/CallCore.cpp" line="211"/>
<source>call_record_end_message</source>
<extracomment>&quot;Enregistrement terminé&quot;</extracomment>
<translation>Aufnahme beendet</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="214"/>
<location filename="../../core/call/CallCore.cpp" line="213"/>
<source>call_record_saved_in_file_message</source>
<extracomment>&quot;L&apos;appel a é enregistré dans le fichier : %1&quot;</extracomment>
<translation>Die Aufnahme wurde in der folgenden Datei gespeichert: %1</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="394"/>
<location filename="../../core/call/CallCore.cpp" line="419"/>
<location filename="../../core/call/CallCore.cpp" line="393"/>
<location filename="../../core/call/CallCore.cpp" line="418"/>
<source>call_stats_codec_label</source>
<extracomment>&quot;Codec: %1 / %2 kHz&quot;</extracomment>
<translation>Codec: %1 / %2 kHz</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="398"/>
<location filename="../../core/call/CallCore.cpp" line="422"/>
<location filename="../../core/call/CallCore.cpp" line="397"/>
<location filename="../../core/call/CallCore.cpp" line="421"/>
<source>call_stats_bandwidth_label</source>
<extracomment>&quot;Bande passante : %1 %2 kbits/s %3 %4 kbits/s&quot;</extracomment>
<translation>Bandbreite: %1 %2 kbits/s %3 %4 kbits/s</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="404"/>
<location filename="../../core/call/CallCore.cpp" line="427"/>
<location filename="../../core/call/CallCore.cpp" line="403"/>
<location filename="../../core/call/CallCore.cpp" line="426"/>
<source>call_stats_loss_rate_label</source>
<extracomment>&quot;Taux de perte: %1% %2%&quot;</extracomment>
<translation>Verlustquote: %1% %2%</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="409"/>
<location filename="../../core/call/CallCore.cpp" line="408"/>
<source>call_stats_jitter_buffer_label</source>
<extracomment>&quot;Tampon de gigue: %1 ms&quot;</extracomment>
<translation>Jitter-Puffer: %1 ms</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="436"/>
<location filename="../../core/call/CallCore.cpp" line="435"/>
<source>call_stats_resolution_label</source>
<extracomment>&quot;Définition vidéo : %1 %2 %3 %4&quot;</extracomment>
<translation>Videoauflösung: %1 %2 %3 %4</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="442"/>
<location filename="../../core/call/CallCore.cpp" line="441"/>
<source>call_stats_fps_label</source>
<extracomment>&quot;FPS : %1 %2 %3 %4&quot;</extracomment>
<translation>FPS : %1 %2 %3 %4</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="655"/>
<location filename="../../core/call/CallCore.cpp" line="654"/>
<source>media_encryption_dtls</source>
<extracomment>DTLS</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="658"/>
<location filename="../../core/call/CallCore.cpp" line="657"/>
<source>media_encryption_none</source>
<extracomment>None</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="661"/>
<location filename="../../core/call/CallCore.cpp" line="660"/>
<source>media_encryption_srtp</source>
<extracomment>SRTP</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="664"/>
<location filename="../../core/call/CallCore.cpp" line="663"/>
<source>media_encryption_post_quantum</source>
<extracomment>&quot;ZRTP - Post quantique&quot;</extracomment>
<translation type="unfinished">Post-quantum ZRTP</translation>
@ -1456,15 +1456,15 @@
<translation>%1 weiterleiten an</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="733"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="745"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="734"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="746"/>
<source>call_transfer_confirm_dialog_tittle</source>
<extracomment>&quot;Confirmer le transfert&quot;</extracomment>
<translation>Weiterleitung bestätigen</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="735"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="746"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="736"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="747"/>
<source>call_transfer_confirm_dialog_message</source>
<extracomment>&quot;Vous allez transférer %1 à %2.&quot;</extracomment>
<translation>Sie werden %1 an %2 weiterleiten.</translation>
@ -1477,7 +1477,7 @@
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="656"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1534"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1535"/>
<source>call_action_show_dialer</source>
<extracomment>&quot;Pavé numérique&quot;</extracomment>
<translation>Wähltastatur</translation>
@ -1495,14 +1495,14 @@
<translation>Anrufliste</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="892"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="893"/>
<source>Merger tous les appels</source>
<extracomment>call_action_merge_calls</extracomment>
<translation>Alle Anrufe zusammenführen</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="671"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1609"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1610"/>
<source>call_action_go_to_settings</source>
<extracomment>&quot;Paramètres&quot;</extracomment>
<translation>Einstellungen</translation>
@ -1514,34 +1514,34 @@
<translation>Bildschirm teilen</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1034"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1035"/>
<source>conference_share_link_title</source>
<extracomment>Partager le lien de la réunion</extracomment>
<translation>Besprechungs-Link teilen</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1038"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1039"/>
<source>copied</source>
<extracomment>Copié</extracomment>
<translation>Kopiert</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1040"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1041"/>
<source>information_popup_meeting_address_copied_to_clipboard</source>
<extracomment>Le lien de la réunion a é copié dans le presse-papier</extracomment>
<translation>Der Besprechungs-Link wurde in die Zwischenablage kopiert</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1049"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1053"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1059"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1050"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1054"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1060"/>
<source>conference_participants_list_title</source>
<extracomment>&quot;Participants (%1)&quot;</extracomment>
<translation>Teilnehmer (%1)</translation>
</message>
<message numerus="yes">
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1080"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1088"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1081"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1089"/>
<source>group_call_participant_selected</source>
<translation type="unfinished">
<numerusform>1 ausgewählter Teilnehmer</numerusform>
@ -1549,7 +1549,7 @@
</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1087"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1088"/>
<source>meeting_schedule_add_participants_title</source>
<translation>Teilnehmer hinzufügen</translation>
</message>
@ -1566,132 +1566,132 @@
<translation>Statistiken</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1230"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1231"/>
<source>call_action_end_call</source>
<extracomment>&quot;Terminer l&apos;appel&quot;</extracomment>
<translation>Anruf beenden</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1261"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1262"/>
<source>call_action_resume_call</source>
<extracomment>&quot;Reprendre l&apos;appel&quot;</extracomment>
<translation>Anruf fortsetzen</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1263"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1264"/>
<source>call_action_pause_call</source>
<extracomment>&quot;Mettre l&apos;appel en pause&quot;</extracomment>
<translation>Anruf pausieren</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1294"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1295"/>
<source>call_action_transfer_call</source>
<extracomment>&quot;Transférer l&apos;appel&quot;</extracomment>
<translation>Anruf weiterleiten</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1314"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1315"/>
<source>call_action_start_new_call_hint</source>
<extracomment>&quot;Initier un nouvel appel&quot;</extracomment>
<translation>Neuen Anruf starten</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1334"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1335"/>
<source>call_display_call_list_hint</source>
<extracomment>&quot;Afficher la liste d&apos;appels&quot;</extracomment>
<translation>Anrufliste anzeigen</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1367"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1368"/>
<source>call_deactivate_video_hint</source>
<extracomment>&quot;Désactiver la vidéo&quot; &quot;Activer la vidéo&quot;</extracomment>
<translation>Video deaktivieren</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1367"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1368"/>
<source>call_activate_video_hint</source>
<translation>Video aktivieren</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1380"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1381"/>
<source>call_activate_microphone</source>
<extracomment>&quot;Activer le micro&quot;</extracomment>
<translation>Mikrofon aktivieren</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1382"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1383"/>
<source>call_deactivate_microphone</source>
<extracomment>&quot;Désactiver le micro&quot;</extracomment>
<translation>Mikrofon stummschalten</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1398"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1399"/>
<source>call_share_screen_hint</source>
<extracomment>Partager l&apos;écran</extracomment>
<translation>Bildschirm teilen</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1416"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1417"/>
<source>call_open_chat_hint</source>
<extracomment>Open chat</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1435"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1436"/>
<source>call_rise_hand_hint</source>
<extracomment>&quot;Lever la main&quot;</extracomment>
<translation>Hand heben</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1445"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1446"/>
<source>call_send_reaction_hint</source>
<extracomment>&quot;Envoyer une réaction&quot;</extracomment>
<translation>Reaktion senden</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1454"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1455"/>
<source>call_manage_participants_hint</source>
<extracomment>&quot;Gérer les participants&quot;</extracomment>
<translation>Teilnehmer verwalten</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1473"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1474"/>
<source>call_more_options_hint</source>
<extracomment>&quot;Plus d&apos;options&quot;</extracomment>
<translation>Weitere Optionen</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1502"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1503"/>
<source>call_action_change_conference_layout</source>
<extracomment>&quot;Modifier la disposition&quot;</extracomment>
<translation>Layout ändern</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1514"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1515"/>
<source>call_action_full_screen</source>
<extracomment>&quot;Mode Plein écran&quot;</extracomment>
<translation>Vollbildmodus</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1563"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1564"/>
<source>call_action_stop_recording</source>
<extracomment>&quot;Terminer l&apos;enregistrement&quot;</extracomment>
<translation>Aufnahme beenden</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1565"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1566"/>
<source>call_action_record</source>
<extracomment>&quot;Enregistrer l&apos;appel&quot;</extracomment>
<translation>Anruf aufnehmen</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1591"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1592"/>
<source>call_activate_speaker_hint</source>
<extracomment>&quot;Activer le son&quot;</extracomment>
<translation type="unfinished">Lautsprecher aktivieren</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1593"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1594"/>
<source>call_deactivate_speaker_hint</source>
<extracomment>&quot;Désactiver le son&quot;</extracomment>
<translation type="unfinished">Lautsprecher stummschalten</translation>
@ -1822,13 +1822,13 @@
<context>
<name>ChatCore</name>
<message>
<location filename="../../core/chat/ChatCore.cpp" line="177"/>
<location filename="../../core/chat/ChatCore.cpp" line="176"/>
<source>info_toast_deleted_title</source>
<extracomment>Deleted</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../core/chat/ChatCore.cpp" line="179"/>
<location filename="../../core/chat/ChatCore.cpp" line="178"/>
<source>info_toast_deleted_message_history</source>
<extracomment>Message history has been deleted</extracomment>
<translation type="unfinished"></translation>
@ -2260,31 +2260,31 @@ Error</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="286"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="287"/>
<source>chat_start_group_chat_title</source>
<extracomment>&quot;Nouveau groupe&quot;</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="288"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="289"/>
<source>chat_action_start_group_chat</source>
<extracomment>&quot;Créer&quot;</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="314"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="318"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="315"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="319"/>
<source>information_popup_error_title</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="316"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="317"/>
<source>group_chat_error_must_have_name</source>
<extracomment>&quot;Un nom doit être donné au groupe</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="320"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="321"/>
<source>group_call_error_not_connected</source>
<extracomment>&quot;Vous n&apos;etes pas connecté&quot;</extracomment>
<translation type="unfinished">Sie sind nicht verbunden</translation>
@ -2347,13 +2347,13 @@ Error</extracomment>
<context>
<name>ConferenceInfoCore</name>
<message>
<location filename="../../core/conference/ConferenceInfoCore.cpp" line="572"/>
<location filename="../../core/conference/ConferenceInfoCore.cpp" line="571"/>
<source>information_popup_error_title</source>
<extracomment>&quot;Erreur&quot;</extracomment>
<translation>Fehler</translation>
</message>
<message>
<location filename="../../core/conference/ConferenceInfoCore.cpp" line="574"/>
<location filename="../../core/conference/ConferenceInfoCore.cpp" line="573"/>
<source>information_popup_disconnected_account_message</source>
<extracomment>&quot;Votre compte est déconnecté&quot;</extracomment>
<translation>Ihr Konto ist getrennt</translation>
@ -3058,7 +3058,7 @@ Error</extracomment>
<context>
<name>CreationFormLayout</name>
<message>
<location filename="../../view/Control/Container/CreationFormLayout.qml" line="44"/>
<location filename="../../view/Control/Container/CreationFormLayout.qml" line="45"/>
<source>search_bar_look_for_contact_text</source>
<extracomment>&quot;Rechercher un contact&quot;</extracomment>
<translation type="unfinished">Kontakt suchen</translation>
@ -5238,49 +5238,49 @@ Pour les activer dans un projet commercial, merci de nous contacter.</source>
<context>
<name>ToolModel</name>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="300"/>
<location filename="../../model/tool/ToolModel.cpp" line="298"/>
<source>call_error_uninterpretable_sip_address</source>
<extracomment>&quot;The calling address is not an interpretable SIP address : %1</extracomment>
<translation>Die Anrufadresse ist keine interpretierbare SIP-Adresse: %1</translation>
</message>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="372"/>
<location filename="../../model/tool/ToolModel.cpp" line="370"/>
<source>group_call_error_no_account</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="397"/>
<location filename="../../model/tool/ToolModel.cpp" line="395"/>
<source>group_call_error_participants_invite</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="401"/>
<location filename="../../model/tool/ToolModel.cpp" line="399"/>
<source>group_call_error_creation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="501"/>
<location filename="../../model/tool/ToolModel.cpp" line="499"/>
<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="509"/>
<location filename="../../model/tool/ToolModel.cpp" line="507"/>
<source>conference_invitation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="511"/>
<location filename="../../model/tool/ToolModel.cpp" line="509"/>
<source>conference_invitation_updated</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="513"/>
<location filename="../../model/tool/ToolModel.cpp" line="511"/>
<source>conference_invitation_cancelled</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="574"/>
<location filename="../../model/tool/ToolModel.cpp" line="572"/>
<source>unknown_audio_device_name</source>
<translation>Unbekannter Gerätename</translation>
</message>

View file

@ -27,45 +27,45 @@
<context>
<name>AccountCore</name>
<message>
<location filename="../../core/account/AccountCore.cpp" line="444"/>
<location filename="../../core/account/AccountCore.cpp" line="445"/>
<source>drawer_menu_account_connection_status_connected</source>
<extracomment>&quot;Connecté&quot;</extracomment>
<translation>Connected</translation>
</message>
<message>
<location filename="../../core/account/AccountCore.cpp" line="447"/>
<location filename="../../core/account/AccountCore.cpp" line="448"/>
<source>drawer_menu_account_connection_status_refreshing</source>
<translation>Refreshing</translation>
</message>
<message>
<location filename="../../core/account/AccountCore.cpp" line="450"/>
<location filename="../../core/account/AccountCore.cpp" line="451"/>
<source>drawer_menu_account_connection_status_progress</source>
<translation>Connecting</translation>
</message>
<message>
<location filename="../../core/account/AccountCore.cpp" line="453"/>
<location filename="../../core/account/AccountCore.cpp" line="454"/>
<source>drawer_menu_account_connection_status_failed</source>
<translation>Error</translation>
</message>
<message>
<location filename="../../core/account/AccountCore.cpp" line="457"/>
<location filename="../../core/account/AccountCore.cpp" line="458"/>
<source>drawer_menu_account_connection_status_cleared</source>
<translation>Disabled</translation>
</message>
<message>
<location filename="../../core/account/AccountCore.cpp" line="491"/>
<location filename="../../core/account/AccountCore.cpp" line="492"/>
<source>manage_account_status_connected_summary</source>
<extracomment>&quot;Vous êtes en ligne et joignable.&quot;</extracomment>
<translation>You are online and reachable.</translation>
</message>
<message>
<location filename="../../core/account/AccountCore.cpp" line="494"/>
<location filename="../../core/account/AccountCore.cpp" line="495"/>
<source>manage_account_status_failed_summary</source>
<extracomment>&quot;Erreur de connexion, vérifiez vos paramètres.&quot;</extracomment>
<translation>Connection error, check your settings.</translation>
</message>
<message>
<location filename="../../core/account/AccountCore.cpp" line="498"/>
<location filename="../../core/account/AccountCore.cpp" line="499"/>
<source>manage_account_status_cleared_summary</source>
<extracomment>&quot;Compte désactivé, vous ne recevrez ni appel ni message.&quot;</extracomment>
<translation>Account disabled, you will not receive calls or messages.</translation>
@ -695,76 +695,76 @@
<context>
<name>CallCore</name>
<message>
<location filename="../../core/call/CallCore.cpp" line="212"/>
<location filename="../../core/call/CallCore.cpp" line="211"/>
<source>call_record_end_message</source>
<extracomment>&quot;Enregistrement terminé&quot;</extracomment>
<translation>Recording ended</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="214"/>
<location filename="../../core/call/CallCore.cpp" line="213"/>
<source>call_record_saved_in_file_message</source>
<extracomment>&quot;L&apos;appel a é enregistré dans le fichier : %1&quot;</extracomment>
<translation>Recording has been saved in file : %1</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="394"/>
<location filename="../../core/call/CallCore.cpp" line="419"/>
<location filename="../../core/call/CallCore.cpp" line="393"/>
<location filename="../../core/call/CallCore.cpp" line="418"/>
<source>call_stats_codec_label</source>
<extracomment>&quot;Codec: %1 / %2 kHz&quot;</extracomment>
<translation>Codec: %1 / %2 kHz</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="398"/>
<location filename="../../core/call/CallCore.cpp" line="422"/>
<location filename="../../core/call/CallCore.cpp" line="397"/>
<location filename="../../core/call/CallCore.cpp" line="421"/>
<source>call_stats_bandwidth_label</source>
<extracomment>&quot;Bande passante : %1 %2 kbits/s %3 %4 kbits/s&quot;</extracomment>
<translation>Bandwidth : %1 %2 kbits/s %3 %4 kbits/s</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="404"/>
<location filename="../../core/call/CallCore.cpp" line="427"/>
<location filename="../../core/call/CallCore.cpp" line="403"/>
<location filename="../../core/call/CallCore.cpp" line="426"/>
<source>call_stats_loss_rate_label</source>
<extracomment>&quot;Taux de perte: %1% %2%&quot;</extracomment>
<translation>Loss rate: %1% %2%</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="409"/>
<location filename="../../core/call/CallCore.cpp" line="408"/>
<source>call_stats_jitter_buffer_label</source>
<extracomment>&quot;Tampon de gigue: %1 ms&quot;</extracomment>
<translation>Jitter buffer : %1 ms</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="436"/>
<location filename="../../core/call/CallCore.cpp" line="435"/>
<source>call_stats_resolution_label</source>
<extracomment>&quot;Définition vidéo : %1 %2 %3 %4&quot;</extracomment>
<translation>Video resolution: %1 %2 %3 %4</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="442"/>
<location filename="../../core/call/CallCore.cpp" line="441"/>
<source>call_stats_fps_label</source>
<extracomment>&quot;FPS : %1 %2 %3 %4&quot;</extracomment>
<translation>FPS : %1 %2 %3 %4</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="655"/>
<location filename="../../core/call/CallCore.cpp" line="654"/>
<source>media_encryption_dtls</source>
<extracomment>DTLS</extracomment>
<translation>DTLS</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="658"/>
<location filename="../../core/call/CallCore.cpp" line="657"/>
<source>media_encryption_none</source>
<extracomment>None</extracomment>
<translation>None</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="661"/>
<location filename="../../core/call/CallCore.cpp" line="660"/>
<source>media_encryption_srtp</source>
<extracomment>SRTP</extracomment>
<translation>SRTP</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="664"/>
<location filename="../../core/call/CallCore.cpp" line="663"/>
<source>media_encryption_post_quantum</source>
<extracomment>&quot;ZRTP - Post quantique&quot;</extracomment>
<translation>Post quantum ZRTP</translation>
@ -1418,15 +1418,15 @@
<translation>Transfer %1 to</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="733"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="745"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="734"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="746"/>
<source>call_transfer_confirm_dialog_tittle</source>
<extracomment>&quot;Confirmer le transfert&quot;</extracomment>
<translation>Confirm transfer</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="735"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="746"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="736"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="747"/>
<source>call_transfer_confirm_dialog_message</source>
<extracomment>&quot;Vous allez transférer %1 à %2.&quot;</extracomment>
<translation>You are going to transfer %1 to %2.</translation>
@ -1439,7 +1439,7 @@
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="656"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1534"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1535"/>
<source>call_action_show_dialer</source>
<extracomment>&quot;Pavé numérique&quot;</extracomment>
<translation>Dialer</translation>
@ -1457,14 +1457,14 @@
<translation>Call list</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="892"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="893"/>
<source>Merger tous les appels</source>
<extracomment>call_action_merge_calls</extracomment>
<translation>Merge all calls</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="671"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1609"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1610"/>
<source>call_action_go_to_settings</source>
<extracomment>&quot;Paramètres&quot;</extracomment>
<translation>Settings</translation>
@ -1476,34 +1476,34 @@
<translation>Share your screen</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1034"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1035"/>
<source>conference_share_link_title</source>
<extracomment>Partager le lien de la réunion</extracomment>
<translation>Share meeting link</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1038"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1039"/>
<source>copied</source>
<extracomment>Copié</extracomment>
<translation>Copied</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1040"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1041"/>
<source>information_popup_meeting_address_copied_to_clipboard</source>
<extracomment>Le lien de la réunion a é copié dans le presse-papier</extracomment>
<translation>Meeting link has been copied to the clipboard</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1049"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1053"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1059"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1050"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1054"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1060"/>
<source>conference_participants_list_title</source>
<extracomment>&quot;Participants (%1)&quot;</extracomment>
<translation>Participants (%1)</translation>
</message>
<message numerus="yes">
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1080"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1088"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1081"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1089"/>
<source>group_call_participant_selected</source>
<translation>
<numerusform>%1 selected participant</numerusform>
@ -1511,7 +1511,7 @@
</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1087"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1088"/>
<source>meeting_schedule_add_participants_title</source>
<translation>Add participants</translation>
</message>
@ -1528,132 +1528,132 @@
<translation>Statistics</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1230"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1231"/>
<source>call_action_end_call</source>
<extracomment>&quot;Terminer l&apos;appel&quot;</extracomment>
<translation>End call</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1261"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1262"/>
<source>call_action_resume_call</source>
<extracomment>&quot;Reprendre l&apos;appel&quot;</extracomment>
<translation>Resume call</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1263"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1264"/>
<source>call_action_pause_call</source>
<extracomment>&quot;Mettre l&apos;appel en pause&quot;</extracomment>
<translation>Pause call</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1294"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1295"/>
<source>call_action_transfer_call</source>
<extracomment>&quot;Transférer l&apos;appel&quot;</extracomment>
<translation>Transfer call</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1314"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1315"/>
<source>call_action_start_new_call_hint</source>
<extracomment>&quot;Initier un nouvel appel&quot;</extracomment>
<translation>Start new call</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1334"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1335"/>
<source>call_display_call_list_hint</source>
<extracomment>&quot;Afficher la liste d&apos;appels&quot;</extracomment>
<translation>View call list</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1367"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1368"/>
<source>call_deactivate_video_hint</source>
<extracomment>&quot;Désactiver la vidéo&quot; &quot;Activer la vidéo&quot;</extracomment>
<translation>Turn off video</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1367"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1368"/>
<source>call_activate_video_hint</source>
<translation>Enable video</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1380"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1381"/>
<source>call_activate_microphone</source>
<extracomment>&quot;Activer le micro&quot;</extracomment>
<translation>Activate microphone</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1382"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1383"/>
<source>call_deactivate_microphone</source>
<extracomment>&quot;Désactiver le micro&quot;</extracomment>
<translation>Mute microphone</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1398"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1399"/>
<source>call_share_screen_hint</source>
<extracomment>Partager l&apos;écran</extracomment>
<translation>Share screen</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1416"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1417"/>
<source>call_open_chat_hint</source>
<extracomment>Open chat</extracomment>
<translation>Open conversation</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1435"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1436"/>
<source>call_rise_hand_hint</source>
<extracomment>&quot;Lever la main&quot;</extracomment>
<translation>Rise hand</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1445"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1446"/>
<source>call_send_reaction_hint</source>
<extracomment>&quot;Envoyer une réaction&quot;</extracomment>
<translation>Send reaction</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1454"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1455"/>
<source>call_manage_participants_hint</source>
<extracomment>&quot;Gérer les participants&quot;</extracomment>
<translation>Manage participants</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1473"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1474"/>
<source>call_more_options_hint</source>
<extracomment>&quot;Plus d&apos;options&quot;</extracomment>
<translation>More options</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1502"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1503"/>
<source>call_action_change_conference_layout</source>
<extracomment>&quot;Modifier la disposition&quot;</extracomment>
<translation>Change layout</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1514"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1515"/>
<source>call_action_full_screen</source>
<extracomment>&quot;Mode Plein écran&quot;</extracomment>
<translation>Full screen mode</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1563"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1564"/>
<source>call_action_stop_recording</source>
<extracomment>&quot;Terminer l&apos;enregistrement&quot;</extracomment>
<translation>End recording</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1565"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1566"/>
<source>call_action_record</source>
<extracomment>&quot;Enregistrer l&apos;appel&quot;</extracomment>
<translation>Record call</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1591"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1592"/>
<source>call_activate_speaker_hint</source>
<extracomment>&quot;Activer le son&quot;</extracomment>
<translation>Activate speaker</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1593"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1594"/>
<source>call_deactivate_speaker_hint</source>
<extracomment>&quot;Désactiver le son&quot;</extracomment>
<translation>Mute speaker</translation>
@ -1784,13 +1784,13 @@
<context>
<name>ChatCore</name>
<message>
<location filename="../../core/chat/ChatCore.cpp" line="177"/>
<location filename="../../core/chat/ChatCore.cpp" line="176"/>
<source>info_toast_deleted_title</source>
<extracomment>Deleted</extracomment>
<translation>Deleted</translation>
</message>
<message>
<location filename="../../core/chat/ChatCore.cpp" line="179"/>
<location filename="../../core/chat/ChatCore.cpp" line="178"/>
<source>info_toast_deleted_message_history</source>
<extracomment>Message history has been deleted</extracomment>
<translation>Message history has been deleted</translation>
@ -2223,31 +2223,31 @@ Only your correspondent can decrypt them.</translation>
<translation>New conversation</translation>
</message>
<message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="286"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="287"/>
<source>chat_start_group_chat_title</source>
<extracomment>&quot;Nouveau groupe&quot;</extracomment>
<translation>New group</translation>
</message>
<message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="288"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="289"/>
<source>chat_action_start_group_chat</source>
<extracomment>&quot;Créer&quot;</extracomment>
<translation>Create</translation>
</message>
<message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="314"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="318"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="315"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="319"/>
<source>information_popup_error_title</source>
<translation>Error</translation>
</message>
<message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="316"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="317"/>
<source>group_chat_error_must_have_name</source>
<extracomment>&quot;Un nom doit être donné au groupe</extracomment>
<translation>A name must be set for the group</translation>
</message>
<message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="320"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="321"/>
<source>group_call_error_not_connected</source>
<extracomment>&quot;Vous n&apos;etes pas connecté&quot;</extracomment>
<translation>You are not connected</translation>
@ -2310,13 +2310,13 @@ Only your correspondent can decrypt them.</translation>
<context>
<name>ConferenceInfoCore</name>
<message>
<location filename="../../core/conference/ConferenceInfoCore.cpp" line="572"/>
<location filename="../../core/conference/ConferenceInfoCore.cpp" line="571"/>
<source>information_popup_error_title</source>
<extracomment>&quot;Erreur&quot;</extracomment>
<translation>Error</translation>
</message>
<message>
<location filename="../../core/conference/ConferenceInfoCore.cpp" line="574"/>
<location filename="../../core/conference/ConferenceInfoCore.cpp" line="573"/>
<source>information_popup_disconnected_account_message</source>
<extracomment>&quot;Votre compte est déconnecté&quot;</extracomment>
<translation>Your account is disconnected</translation>
@ -2971,7 +2971,7 @@ Only your correspondent can decrypt them.</translation>
<context>
<name>CreationFormLayout</name>
<message>
<location filename="../../view/Control/Container/CreationFormLayout.qml" line="44"/>
<location filename="../../view/Control/Container/CreationFormLayout.qml" line="45"/>
<source>search_bar_look_for_contact_text</source>
<extracomment>&quot;Rechercher un contact&quot;</extracomment>
<translation>Find contact</translation>
@ -5127,49 +5127,49 @@ To enable them in a commercial project, please contact us.</translation>
<context>
<name>ToolModel</name>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="300"/>
<location filename="../../model/tool/ToolModel.cpp" line="298"/>
<source>call_error_uninterpretable_sip_address</source>
<extracomment>&quot;The calling address is not an interpretable SIP address : %1</extracomment>
<translation>The calling address is not an interpretable SIP address : %1</translation>
</message>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="372"/>
<location filename="../../model/tool/ToolModel.cpp" line="370"/>
<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="397"/>
<location filename="../../model/tool/ToolModel.cpp" line="395"/>
<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="401"/>
<location filename="../../model/tool/ToolModel.cpp" line="399"/>
<source>group_call_error_creation</source>
<translation>Group call couldn&apos;t be created</translation>
</message>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="501"/>
<location filename="../../model/tool/ToolModel.cpp" line="499"/>
<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="574"/>
<location filename="../../model/tool/ToolModel.cpp" line="572"/>
<source>unknown_audio_device_name</source>
<translation>Unknown device name</translation>
</message>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="509"/>
<location filename="../../model/tool/ToolModel.cpp" line="507"/>
<source>conference_invitation</source>
<translation>Meeting invitation</translation>
</message>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="513"/>
<location filename="../../model/tool/ToolModel.cpp" line="511"/>
<source>conference_invitation_cancelled</source>
<translation>Meeting cancellation</translation>
</message>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="511"/>
<location filename="../../model/tool/ToolModel.cpp" line="509"/>
<source>conference_invitation_updated</source>
<translation>Meeting modification</translation>
</message>

View file

@ -27,45 +27,45 @@
<context>
<name>AccountCore</name>
<message>
<location filename="../../core/account/AccountCore.cpp" line="444"/>
<location filename="../../core/account/AccountCore.cpp" line="445"/>
<source>drawer_menu_account_connection_status_connected</source>
<extracomment>&quot;Connecté&quot;</extracomment>
<translation>Connecté</translation>
</message>
<message>
<location filename="../../core/account/AccountCore.cpp" line="447"/>
<location filename="../../core/account/AccountCore.cpp" line="448"/>
<source>drawer_menu_account_connection_status_refreshing</source>
<translation>En cours de rafraîchissement</translation>
</message>
<message>
<location filename="../../core/account/AccountCore.cpp" line="450"/>
<location filename="../../core/account/AccountCore.cpp" line="451"/>
<source>drawer_menu_account_connection_status_progress</source>
<translation>Connexion</translation>
</message>
<message>
<location filename="../../core/account/AccountCore.cpp" line="453"/>
<location filename="../../core/account/AccountCore.cpp" line="454"/>
<source>drawer_menu_account_connection_status_failed</source>
<translation>Erreur</translation>
</message>
<message>
<location filename="../../core/account/AccountCore.cpp" line="457"/>
<location filename="../../core/account/AccountCore.cpp" line="458"/>
<source>drawer_menu_account_connection_status_cleared</source>
<translation>Désactivé</translation>
</message>
<message>
<location filename="../../core/account/AccountCore.cpp" line="491"/>
<location filename="../../core/account/AccountCore.cpp" line="492"/>
<source>manage_account_status_connected_summary</source>
<extracomment>&quot;Vous êtes en ligne et joignable.&quot;</extracomment>
<translation>Vous êtes en ligne et joignable.</translation>
</message>
<message>
<location filename="../../core/account/AccountCore.cpp" line="494"/>
<location filename="../../core/account/AccountCore.cpp" line="495"/>
<source>manage_account_status_failed_summary</source>
<extracomment>&quot;Erreur de connexion, vérifiez vos paramètres.&quot;</extracomment>
<translation>Erreur de connexion, vérifiez vos paramètres.</translation>
</message>
<message>
<location filename="../../core/account/AccountCore.cpp" line="498"/>
<location filename="../../core/account/AccountCore.cpp" line="499"/>
<source>manage_account_status_cleared_summary</source>
<extracomment>&quot;Compte désactivé, vous ne recevrez ni appel ni message.&quot;</extracomment>
<translation>Compte désactivé, vous ne recevrez ni appel ni message.</translation>
@ -695,76 +695,76 @@
<context>
<name>CallCore</name>
<message>
<location filename="../../core/call/CallCore.cpp" line="212"/>
<location filename="../../core/call/CallCore.cpp" line="211"/>
<source>call_record_end_message</source>
<extracomment>&quot;Enregistrement terminé&quot;</extracomment>
<translation>Enregistrement terminé</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="214"/>
<location filename="../../core/call/CallCore.cpp" line="213"/>
<source>call_record_saved_in_file_message</source>
<extracomment>&quot;L&apos;appel a é enregistré dans le fichier : %1&quot;</extracomment>
<translation>L&apos;appel a é enregistré dans le fichier : %1</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="394"/>
<location filename="../../core/call/CallCore.cpp" line="419"/>
<location filename="../../core/call/CallCore.cpp" line="393"/>
<location filename="../../core/call/CallCore.cpp" line="418"/>
<source>call_stats_codec_label</source>
<extracomment>&quot;Codec: %1 / %2 kHz&quot;</extracomment>
<translation>Codec: %1 / %2 kHz</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="398"/>
<location filename="../../core/call/CallCore.cpp" line="422"/>
<location filename="../../core/call/CallCore.cpp" line="397"/>
<location filename="../../core/call/CallCore.cpp" line="421"/>
<source>call_stats_bandwidth_label</source>
<extracomment>&quot;Bande passante : %1 %2 kbits/s %3 %4 kbits/s&quot;</extracomment>
<translation>Bande passante : %1 %2 kbits/s %3 %4 kbits/s</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="404"/>
<location filename="../../core/call/CallCore.cpp" line="427"/>
<location filename="../../core/call/CallCore.cpp" line="403"/>
<location filename="../../core/call/CallCore.cpp" line="426"/>
<source>call_stats_loss_rate_label</source>
<extracomment>&quot;Taux de perte: %1% %2%&quot;</extracomment>
<translation>Taux de perte: %1% %2%</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="409"/>
<location filename="../../core/call/CallCore.cpp" line="408"/>
<source>call_stats_jitter_buffer_label</source>
<extracomment>&quot;Tampon de gigue: %1 ms&quot;</extracomment>
<translation>Tampon de gigue: %1 ms</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="436"/>
<location filename="../../core/call/CallCore.cpp" line="435"/>
<source>call_stats_resolution_label</source>
<extracomment>&quot;Définition vidéo : %1 %2 %3 %4&quot;</extracomment>
<translation>Définition vidéo : %1 %2 %3 %4</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="442"/>
<location filename="../../core/call/CallCore.cpp" line="441"/>
<source>call_stats_fps_label</source>
<extracomment>&quot;FPS : %1 %2 %3 %4&quot;</extracomment>
<translation>FPS : %1 %2 %3 %4</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="655"/>
<location filename="../../core/call/CallCore.cpp" line="654"/>
<source>media_encryption_dtls</source>
<extracomment>DTLS</extracomment>
<translation>DTLS</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="658"/>
<location filename="../../core/call/CallCore.cpp" line="657"/>
<source>media_encryption_none</source>
<extracomment>None</extracomment>
<translation>None</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="661"/>
<location filename="../../core/call/CallCore.cpp" line="660"/>
<source>media_encryption_srtp</source>
<extracomment>SRTP</extracomment>
<translation>SRTP</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="664"/>
<location filename="../../core/call/CallCore.cpp" line="663"/>
<source>media_encryption_post_quantum</source>
<extracomment>&quot;ZRTP - Post quantique&quot;</extracomment>
<translation>ZRTP - Post quantique</translation>
@ -1418,15 +1418,15 @@
<translation>Transférer %1 à</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="733"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="745"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="734"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="746"/>
<source>call_transfer_confirm_dialog_tittle</source>
<extracomment>&quot;Confirmer le transfert&quot;</extracomment>
<translation>Confirmer le transfert</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="735"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="746"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="736"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="747"/>
<source>call_transfer_confirm_dialog_message</source>
<extracomment>&quot;Vous allez transférer %1 à %2.&quot;</extracomment>
<translation>Vous allez transférer %1 à %2.</translation>
@ -1439,7 +1439,7 @@
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="656"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1534"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1535"/>
<source>call_action_show_dialer</source>
<extracomment>&quot;Pavé numérique&quot;</extracomment>
<translation>Pavé numérique</translation>
@ -1457,14 +1457,14 @@
<translation>Liste d&apos;appel</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="892"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="893"/>
<source>Merger tous les appels</source>
<extracomment>call_action_merge_calls</extracomment>
<translation>Merger tous les appels</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="671"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1609"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1610"/>
<source>call_action_go_to_settings</source>
<extracomment>&quot;Paramètres&quot;</extracomment>
<translation>Paramètres</translation>
@ -1476,34 +1476,34 @@
<translation>Partage de votre écran</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1034"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1035"/>
<source>conference_share_link_title</source>
<extracomment>Partager le lien de la réunion</extracomment>
<translation>Partager le lien de la réunion</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1038"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1039"/>
<source>copied</source>
<extracomment>Copié</extracomment>
<translation>Copié</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1040"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1041"/>
<source>information_popup_meeting_address_copied_to_clipboard</source>
<extracomment>Le lien de la réunion a é copié dans le presse-papier</extracomment>
<translation>Le lien de la réunion a é copié dans le presse-papier</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1049"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1053"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1059"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1050"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1054"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1060"/>
<source>conference_participants_list_title</source>
<extracomment>&quot;Participants (%1)&quot;</extracomment>
<translation>Participants (%1)</translation>
</message>
<message numerus="yes">
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1080"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1088"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1081"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1089"/>
<source>group_call_participant_selected</source>
<translation>
<numerusform>%1 participant sélectionné</numerusform>
@ -1511,7 +1511,7 @@
</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1087"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1088"/>
<source>meeting_schedule_add_participants_title</source>
<translation>Ajouter des participants</translation>
</message>
@ -1528,132 +1528,132 @@
<translation>Statistiques</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1230"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1231"/>
<source>call_action_end_call</source>
<extracomment>&quot;Terminer l&apos;appel&quot;</extracomment>
<translation>Terminer l&apos;appel</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1261"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1262"/>
<source>call_action_resume_call</source>
<extracomment>&quot;Reprendre l&apos;appel&quot;</extracomment>
<translation>Reprendre l&apos;appel</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1263"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1264"/>
<source>call_action_pause_call</source>
<extracomment>&quot;Mettre l&apos;appel en pause&quot;</extracomment>
<translation>Mettre l&apos;appel en pause</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1294"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1295"/>
<source>call_action_transfer_call</source>
<extracomment>&quot;Transférer l&apos;appel&quot;</extracomment>
<translation>Transférer l&apos;appel</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1314"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1315"/>
<source>call_action_start_new_call_hint</source>
<extracomment>&quot;Initier un nouvel appel&quot;</extracomment>
<translation>Initier un nouvel appel</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1334"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1335"/>
<source>call_display_call_list_hint</source>
<extracomment>&quot;Afficher la liste d&apos;appels&quot;</extracomment>
<translation>Afficher la liste d&apos;appels</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1367"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1368"/>
<source>call_deactivate_video_hint</source>
<extracomment>&quot;Désactiver la vidéo&quot; &quot;Activer la vidéo&quot;</extracomment>
<translation>Désactiver la vidéo</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1367"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1368"/>
<source>call_activate_video_hint</source>
<translation>Activer la vidéo</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1380"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1381"/>
<source>call_activate_microphone</source>
<extracomment>&quot;Activer le micro&quot;</extracomment>
<translation>Activer le micro</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1382"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1383"/>
<source>call_deactivate_microphone</source>
<extracomment>&quot;Désactiver le micro&quot;</extracomment>
<translation>Désactiver le micro</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1398"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1399"/>
<source>call_share_screen_hint</source>
<extracomment>Partager l&apos;écran</extracomment>
<translation>Partager l&apos;écran</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1416"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1417"/>
<source>call_open_chat_hint</source>
<extracomment>Open chat</extracomment>
<translation>Ouvrir le chat</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1435"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1436"/>
<source>call_rise_hand_hint</source>
<extracomment>&quot;Lever la main&quot;</extracomment>
<translation>Lever la main</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1445"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1446"/>
<source>call_send_reaction_hint</source>
<extracomment>&quot;Envoyer une réaction&quot;</extracomment>
<translation>Envoyer une réaction</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1454"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1455"/>
<source>call_manage_participants_hint</source>
<extracomment>&quot;Gérer les participants&quot;</extracomment>
<translation>Gérer les participants</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1473"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1474"/>
<source>call_more_options_hint</source>
<extracomment>&quot;Plus d&apos;options&quot;</extracomment>
<translation>Plus d&apos;options</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1502"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1503"/>
<source>call_action_change_conference_layout</source>
<extracomment>&quot;Modifier la disposition&quot;</extracomment>
<translation>Modifier la disposition</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1514"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1515"/>
<source>call_action_full_screen</source>
<extracomment>&quot;Mode Plein écran&quot;</extracomment>
<translation>Mode Plein écran</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1563"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1564"/>
<source>call_action_stop_recording</source>
<extracomment>&quot;Terminer l&apos;enregistrement&quot;</extracomment>
<translation>Terminer l&apos;enregistrement</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1565"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1566"/>
<source>call_action_record</source>
<extracomment>&quot;Enregistrer l&apos;appel&quot;</extracomment>
<translation>Enregistrer l&apos;appel</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1591"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1592"/>
<source>call_activate_speaker_hint</source>
<extracomment>&quot;Activer le son&quot;</extracomment>
<translation>Activer le son</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1593"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1594"/>
<source>call_deactivate_speaker_hint</source>
<extracomment>&quot;Désactiver le son&quot;</extracomment>
<translation>Désactiver le son</translation>
@ -1784,13 +1784,13 @@
<context>
<name>ChatCore</name>
<message>
<location filename="../../core/chat/ChatCore.cpp" line="177"/>
<location filename="../../core/chat/ChatCore.cpp" line="176"/>
<source>info_toast_deleted_title</source>
<extracomment>Deleted</extracomment>
<translation>Supprimé</translation>
</message>
<message>
<location filename="../../core/chat/ChatCore.cpp" line="179"/>
<location filename="../../core/chat/ChatCore.cpp" line="178"/>
<source>info_toast_deleted_message_history</source>
<extracomment>Message history has been deleted</extracomment>
<translation>L&apos;historique des messages a é supprimé</translation>
@ -2223,31 +2223,31 @@ en bout. Seul votre correspondant peut les déchiffrer.</translation>
<translation>Nouvelle conversation</translation>
</message>
<message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="286"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="287"/>
<source>chat_start_group_chat_title</source>
<extracomment>&quot;Nouveau groupe&quot;</extracomment>
<translation>Nouveau groupe</translation>
</message>
<message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="288"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="289"/>
<source>chat_action_start_group_chat</source>
<extracomment>&quot;Créer&quot;</extracomment>
<translation>Créer</translation>
</message>
<message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="314"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="318"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="315"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="319"/>
<source>information_popup_error_title</source>
<translation>Erreur</translation>
</message>
<message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="316"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="317"/>
<source>group_chat_error_must_have_name</source>
<extracomment>&quot;Un nom doit être donné au groupe</extracomment>
<translation>Un nom doit être donné au groupe</translation>
</message>
<message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="320"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="321"/>
<source>group_call_error_not_connected</source>
<extracomment>&quot;Vous n&apos;etes pas connecté&quot;</extracomment>
<translation>Vous n&apos;êtes pas connecté</translation>
@ -2310,13 +2310,13 @@ en bout. Seul votre correspondant peut les déchiffrer.</translation>
<context>
<name>ConferenceInfoCore</name>
<message>
<location filename="../../core/conference/ConferenceInfoCore.cpp" line="572"/>
<location filename="../../core/conference/ConferenceInfoCore.cpp" line="571"/>
<source>information_popup_error_title</source>
<extracomment>&quot;Erreur&quot;</extracomment>
<translation>Erreur</translation>
</message>
<message>
<location filename="../../core/conference/ConferenceInfoCore.cpp" line="574"/>
<location filename="../../core/conference/ConferenceInfoCore.cpp" line="573"/>
<source>information_popup_disconnected_account_message</source>
<extracomment>&quot;Votre compte est déconnecté&quot;</extracomment>
<translation>Votre compte est déconnecté</translation>
@ -2971,7 +2971,7 @@ en bout. Seul votre correspondant peut les déchiffrer.</translation>
<context>
<name>CreationFormLayout</name>
<message>
<location filename="../../view/Control/Container/CreationFormLayout.qml" line="44"/>
<location filename="../../view/Control/Container/CreationFormLayout.qml" line="45"/>
<source>search_bar_look_for_contact_text</source>
<extracomment>&quot;Rechercher un contact&quot;</extracomment>
<translation>Rechercher un contact</translation>
@ -5127,49 +5127,49 @@ Pour les activer dans un projet commercial, merci de nous contacter.</translatio
<context>
<name>ToolModel</name>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="300"/>
<location filename="../../model/tool/ToolModel.cpp" line="298"/>
<source>call_error_uninterpretable_sip_address</source>
<extracomment>&quot;The calling address is not an interpretable SIP address : %1</extracomment>
<translation>L&apos;adresse n&apos;est pas interprétable comme une adresse SIP</translation>
</message>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="372"/>
<location filename="../../model/tool/ToolModel.cpp" line="370"/>
<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="397"/>
<location filename="../../model/tool/ToolModel.cpp" line="395"/>
<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="401"/>
<location filename="../../model/tool/ToolModel.cpp" line="399"/>
<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="501"/>
<location filename="../../model/tool/ToolModel.cpp" line="499"/>
<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="574"/>
<location filename="../../model/tool/ToolModel.cpp" line="572"/>
<source>unknown_audio_device_name</source>
<translation>Appareil inconnu</translation>
</message>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="509"/>
<location filename="../../model/tool/ToolModel.cpp" line="507"/>
<source>conference_invitation</source>
<translation>Invitation à une réunion</translation>
</message>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="513"/>
<location filename="../../model/tool/ToolModel.cpp" line="511"/>
<source>conference_invitation_cancelled</source>
<translation>Annulation d&apos;une réunion</translation>
</message>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="511"/>
<location filename="../../model/tool/ToolModel.cpp" line="509"/>
<source>conference_invitation_updated</source>
<translation>Modification d&apos;une réunion</translation>
</message>

View file

@ -261,8 +261,8 @@ linphone::TransportType AccountModel::getTransport() const {
void AccountModel::setTransport(linphone::TransportType value, bool save) {
mustBeInLinphoneThread(log().arg(Q_FUNC_INFO));
if (mMonitor->getParams()->getServerAddress()) {
auto params = mMonitor->getParams()->clone();
if (params->getServerAddress()) {
auto addressClone = params->getServerAddress()->clone();
addressClone->setTransport(value);
params->setServerAddress(addressClone);

View file

@ -84,13 +84,13 @@ QString ChatModel::getIdentifier() const {
QString ChatModel::getTitle() {
if (mMonitor->hasCapability((int)linphone::ChatRoom::Capabilities::Basic)) {
return ToolModel::getDisplayName(mMonitor->getPeerAddress()->clone());
return ToolModel::getDisplayName(mMonitor->getPeerAddress());
} else {
if (mMonitor->hasCapability((int)linphone::ChatRoom::Capabilities::OneToOne)) {
auto participants = mMonitor->getParticipants();
if (participants.size() > 0) {
auto peer = participants.front();
return peer ? ToolModel::getDisplayName(peer->getAddress()->clone()) : "";
return peer ? ToolModel::getDisplayName(peer->getAddress()) : "";
} else {
return "";
}

View file

@ -110,7 +110,7 @@ linphone::ConferenceInfo::State ConferenceInfoModel::getState() const {
QString ConferenceInfoModel::getOrganizerName() const {
mustBeInLinphoneThread(log().arg(Q_FUNC_INFO));
auto organizer = mConferenceInfo->getOrganizer()->clone();
auto organizer = mConferenceInfo->getOrganizer();
return ToolModel::getDisplayName(organizer);
}

View file

@ -70,15 +70,6 @@ std::shared_ptr<CoreModel> CoreModel::create(const QString &configPath, QThread
}
void CoreModel::start() {
mIterateTimer = new QTimer(this);
mIterateTimer->setInterval(30);
connect(mIterateTimer, &QTimer::timeout, [this]() {
static int iterateCount = 0;
if (iterateCount != 0) lCritical() << log().arg("Multi Iterate ! ");
++iterateCount;
mCore->iterate();
--iterateCount;
});
setPathBeforeCreation();
mCore =
linphone::Factory::get()->createCore(Utils::appStringToCoreString(Paths::getConfigFilePath(mConfigPath)),
@ -122,6 +113,11 @@ void CoreModel::start() {
mCore->enableFriendListSubscription(true);
if (mCore->getLogCollectionUploadServerUrl().empty())
mCore->setLogCollectionUploadServerUrl(Constants::DefaultUploadLogsServer);
mIterateTimer = new QTimer(this);
mIterateTimer->setInterval(20);
connect(mIterateTimer, &QTimer::timeout, [this]() { mCore->iterate(); });
mIterateTimer->start();
auto linphoneSearch = mCore->createMagicSearch();

View file

@ -122,7 +122,7 @@ bool FriendsManager::isInOtherAddresses(const QString &key) {
return mOtherAddresses.contains(key);
}
void FriendsManager::appendKnownFriend(std::shared_ptr<linphone::Address> address,
void FriendsManager::appendKnownFriend(std::shared_ptr<const linphone::Address> address,
std::shared_ptr<linphone::Friend> f) {
auto key = Utils::coreStringToAppString(address->asStringUriOnly());
if (mKnownFriends.contains(key)) {
@ -132,7 +132,7 @@ void FriendsManager::appendKnownFriend(std::shared_ptr<linphone::Address> addres
mKnownFriends.insert(key, QVariant::fromValue(f));
}
void FriendsManager::appendUnknownFriend(std::shared_ptr<linphone::Address> address,
void FriendsManager::appendUnknownFriend(std::shared_ptr<const linphone::Address> address,
std::shared_ptr<linphone::Friend> f) {
auto key = Utils::coreStringToAppString(address->asStringUriOnly());
if (mUnknownFriends.contains(key)) {

View file

@ -21,12 +21,12 @@
#ifndef FRIENDS_MANAGER_H_
#define FRIENDS_MANAGER_H_
#include "tool/AbstractObject.hpp"
#include <QObject>
#include <QSharedPointer>
#include <QThread>
#include <QVariantMap>
#include <linphone++/linphone.hh>
#include "tool/AbstractObject.hpp"
class FriendsManager : public QObject, public AbstractObject {
Q_OBJECT
@ -48,8 +48,8 @@ public:
bool isInUnknownFriends(const QString &key);
bool isInOtherAddresses(const QString &key);
void appendKnownFriend(std::shared_ptr<linphone::Address> address, std::shared_ptr<linphone::Friend> f);
void appendUnknownFriend(std::shared_ptr<linphone::Address> address, std::shared_ptr<linphone::Friend> f);
void appendKnownFriend(std::shared_ptr<const linphone::Address> address, std::shared_ptr<linphone::Friend> f);
void appendUnknownFriend(std::shared_ptr<const linphone::Address> address, std::shared_ptr<linphone::Friend> f);
void appendOtherAddress(QString address);
void removeUnknownFriend(const QString &key);

View file

@ -87,9 +87,9 @@ void MagicSearchModel::onSearchResultsReceived(const std::shared_ptr<linphone::M
auto f = result->getFriend();
auto friendsManager = FriendsManager::getInstance();
if (f) {
auto friendAddress = f->getAddress() ? f->getAddress()->clone() : nullptr;
auto friendAddress = f->getAddress() ? f->getAddress() : nullptr;
if (friendAddress) {
friendAddress->clean();
// friendAddress->clean();
qDebug() << "friend exists, append to unknown map";
friendsManager->appendUnknownFriend(friendAddress, f);
if (friendsManager->isInOtherAddresses(

View file

@ -81,7 +81,7 @@ std::shared_ptr<linphone::AudioDevice> ToolModel::findAudioDevice(const QString
return nullptr;
}
QString ToolModel::getDisplayName(const std::shared_ptr<linphone::Address> &address) {
QString ToolModel::getDisplayName(const std::shared_ptr<const linphone::Address> &address) {
QString displayName;
if (address) {
auto linFriend = findFriendByAddress(address);
@ -195,9 +195,9 @@ QString ToolModel::encodeTextToQmlRichFormat(const QString &text,
if (it != participants.end()) {
auto foundParticipant = *it;
// participants.at(std::distance(participants.begin(), it));
auto address = foundParticipant->getAddress()->clone();
auto address = foundParticipant->getAddress();
auto isFriend = findFriendByAddress(address);
address->clean();
// address->clean();
auto addressString = Utils::coreStringToAppString(address->asStringUriOnly());
if (isFriend)
part = "@" + Utils::coreStringToAppString(isFriend->getAddress()->getDisplayName());
@ -221,17 +221,15 @@ QString ToolModel::encodeTextToQmlRichFormat(const QString &text,
}
std::shared_ptr<linphone::Friend> ToolModel::findFriendByAddress(const QString &address) {
auto defaultFriendList = CoreModel::getInstance()->getCore()->getDefaultFriendList();
if (!defaultFriendList) return nullptr;
auto linphoneAddr = ToolModel::interpretUrl(address);
if (linphoneAddr) return ToolModel::findFriendByAddress(linphoneAddr);
else return nullptr;
}
std::shared_ptr<linphone::Friend>
ToolModel::findFriendByAddress(const std::shared_ptr<linphone::Address> &linphoneAddr) {
ToolModel::findFriendByAddress(const std::shared_ptr<const linphone::Address> &linphoneAddr) {
auto friendsManager = FriendsManager::getInstance();
linphoneAddr->clean();
// linphoneAddr->clean();
QString key = Utils::coreStringToAppString(linphoneAddr->asStringUriOnly());
if (friendsManager->isInKnownFriends(key)) {
// qDebug() << key << "have been found in known friend, return it";
@ -598,7 +596,7 @@ ToolModel::getChatRoomParams(std::shared_ptr<linphone::Call> call, std::shared_p
auto core = call ? call->getCore() : CoreModel::getInstance()->getCore();
auto localAddress = call ? call->getCallLog()->getLocalAddress() : nullptr;
if (!remoteAddress && call) remoteAddress = call->getRemoteAddress()->clone();
remoteAddress->clean();
// remoteAddress->clean();
auto account = findAccount(localAddress);
if (!account) account = core->getDefaultAccount();
if (!account) qWarning() << "failed to get account, return";

View file

@ -47,7 +47,7 @@ public:
static bool isLocal(const std::shared_ptr<linphone::Conference> &conference,
const std::shared_ptr<const linphone::ParticipantDevice> &device);
static QString getDisplayName(const std::shared_ptr<linphone::Address> &address);
static QString getDisplayName(const std::shared_ptr<const linphone::Address> &address);
static QString getDisplayName(QString address);
static QString encodeTextToQmlRichFormat(const QString &text,
@ -56,7 +56,7 @@ public:
static std::shared_ptr<linphone::Friend> findFriendByAddress(const QString &address);
static std::shared_ptr<linphone::Friend>
findFriendByAddress(const std::shared_ptr<linphone::Address> &linphoneAddr);
findFriendByAddress(const std::shared_ptr<const linphone::Address> &linphoneAddr);
static bool createCall(const QString &sipAddress,
const QVariantMap &options = {},

View file

@ -19,6 +19,7 @@ FocusScope {
clip: true
property alias topContent: topLayout.data
property bool topLayoutVisible: topLayout.children.length > 0
property int searchBarRightMaring: Math.round(39 * DefaultStyle.dp)
ColumnLayout {
anchors.fill: parent
@ -36,7 +37,7 @@ FocusScope {
id: searchBar
Layout.alignment: Qt.AlignTop
Layout.fillWidth: true
// Layout.rightMargin: Math.round(39 * DefaultStyle.dp)
Layout.rightMargin: mainItem.searchBarRightMaring
focus: true
color: mainItem.searchBarColor
borderColor: mainItem.searchBarBorderColor

View file

@ -260,6 +260,7 @@ AbstractMainPage {
id: newChatForm
Layout.fillWidth: true
Layout.fillHeight: true
Layout.rightMargin: Math.round(8 * DefaultStyle.dp)
Layout.topMargin: Math.round(18 * DefaultStyle.dp)
onGroupCreationRequested: {
console.log("groupe call requetsed")

View file

@ -726,6 +726,7 @@ AbstractWindow {
displayCurrentCalls: true
searchBarColor: DefaultStyle.grey_0
searchBarBorderColor: DefaultStyle.grey_200
searchBarRightMaring: 0
onContactClicked: contact => {
var callsWin = UtilsCpp.getCallsWindow()
if (contact)