fix display name when address in contacts

This commit is contained in:
Gaelle Braud 2024-10-22 17:27:33 +02:00
parent b1521ebf04
commit 0afdc6d6d7

View file

@ -79,10 +79,17 @@ std::shared_ptr<linphone::AudioDevice> ToolModel::findAudioDevice(const QString
QString ToolModel::getDisplayName(const std::shared_ptr<const linphone::Address> &address) {
QString displayName;
if (address) {
displayName = Utils::coreStringToAppString(address->getDisplayName());
auto linFriend = CoreModel::getInstance()->getCore()->findFriend(address);
if (linFriend) {
if (auto vcard = linFriend->getVcard()) displayName = Utils::coreStringToAppString(vcard->getFullName());
if (displayName.isEmpty()) displayName = Utils::coreStringToAppString(linFriend->getName());
}
if (displayName.isEmpty()) {
displayName = Utils::coreStringToAppString(address->getUsername());
displayName.replace('.', ' ');
displayName = Utils::coreStringToAppString(address->getDisplayName());
if (displayName.isEmpty()) {
displayName = Utils::coreStringToAppString(address->getUsername());
displayName.replace('.', ' ');
}
}
// TODO
// std::shared_ptr<linphone::Address> cleanAddress = address->clone();