update conversation title on conference joined #LINQT-1879

This commit is contained in:
Gaelle Braud 2025-09-02 17:01:46 +02:00
parent 139a3531a4
commit 1a4da6fb18
7 changed files with 109 additions and 71 deletions

View file

@ -54,10 +54,11 @@ ChatCore::ChatCore(const std::shared_ptr<linphone::ChatRoom> &chatRoom) : QObjec
mPeerAddress = Utils::coreStringToAppString(chatRoomAddress->asStringUriOnly());
mIsGroupChat = false;
mIsBasic = true;
mConferenceJoined = true;
} else {
mIsBasic = false;
if (chatRoom->hasCapability((int)linphone::ChatRoom::Capabilities::OneToOne)) {
auto participants = chatRoom->getParticipants();
if (chatRoom->hasCapability((int)linphone::ChatRoom::Capabilities::OneToOne)) {
if (participants.size() > 0) {
auto peer = participants.front();
if (peer) mTitle = ToolModel::getDisplayName(peer->getAddress()->clone());
@ -74,6 +75,7 @@ ChatCore::ChatCore(const std::shared_ptr<linphone::ChatRoom> &chatRoom) : QObjec
mIsGroupChat = true;
mMeAdmin = chatRoom->getMe() && chatRoom->getMe()->isAdmin();
}
mConferenceJoined = participants.size() != 0;
}
mUnreadMessagesCount = chatRoom->getUnreadMessagesCount();
connect(this, &ChatCore::unreadMessagesCountChanged, this, [this] {
@ -210,6 +212,25 @@ void ChatCore::setSelf(QSharedPointer<ChatCore> me) {
&ChatModel::conferenceJoined, [this](const std::shared_ptr<linphone::ChatRoom> &chatRoom,
const std::shared_ptr<const linphone::EventLog> &eventLog) {
auto participants = buildParticipants(chatRoom);
if (chatRoom->hasCapability((int)linphone::ChatRoom::Capabilities::OneToOne)) {
QString title, avatarUri;
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 (linParticipants.size() == 1) {
auto peerAddress = peer->getAddress();
if (peerAddress) mPeerAddress = Utils::coreStringToAppString(peerAddress->asStringUriOnly());
}
}
mChatModelConnection->invokeToCore([this, title, avatarUri]() {
setTitle(title);
setAvatarUri(avatarUri);
mConferenceJoined = true;
emit conferenceJoined();
});
}
mChatModelConnection->invokeToCore([this, participants]() { setParticipants(participants); });
});

View file

@ -64,6 +64,7 @@ public:
Q_PROPERTY(
int ephemeralLifetime READ getEphemeralLifetime WRITE lSetEphemeralLifetime NOTIFY ephemeralLifetimeChanged)
Q_PROPERTY(bool muted READ isMuted WRITE lSetMuted NOTIFY mutedChanged)
Q_PROPERTY(bool conferenceJoined MEMBER mConferenceJoined NOTIFY conferenceJoined)
Q_PROPERTY(bool meAdmin READ getMeAdmin WRITE setMeAdmin NOTIFY meAdminChanged)
Q_PROPERTY(QVariantList participants READ getParticipantsGui NOTIFY participantsChanged)
Q_PROPERTY(QStringList participantsAddresses READ getParticipantsAddresses WRITE lSetParticipantsAddresses NOTIFY
@ -177,6 +178,7 @@ signals:
void participantsChanged();
void fileListChanged();
void isSecuredChanged();
void conferenceJoined();
void lDeleteMessage(ChatMessageGui *message);
void lDelete();
@ -222,6 +224,7 @@ private:
QList<QSharedPointer<ChatMessageContentCore>> mFileList;
bool mIsMuted = false;
bool mMeAdmin = false;
bool mConferenceJoined = false;
QList<QSharedPointer<ParticipantCore>> mParticipants;
LinphoneEnums::ChatRoomState mChatRoomState;
std::shared_ptr<ChatModel> mChatModel;

View file

@ -1315,6 +1315,7 @@
<translation>Anruf pausiert</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="467"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="470"/>
<source>call_srtp_point_to_point_encrypted</source>
<extracomment>Appel chiffré de point à point</extracomment>
@ -1327,23 +1328,22 @@
<translation>Validierung erforderlich</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="467"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="475"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="476"/>
<source>call_zrtp_end_to_end_encrypted</source>
<extracomment>Appel chiffré de bout en bout</extracomment>
<translation>Ende-zu-Ende verschlüsselter Anruf</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="478"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="479"/>
<source>call_not_encrypted</source>
<extracomment>&quot;Appel non chiffré&quot;</extracomment>
<translation>Unverschlüsselter Anruf</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="435"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="436"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="480"/>
<source>call_waiting_for_encryption_info</source>
<extracomment>&quot;En attente de chiffrement&quot;</extracomment>
<extracomment>Waiting for encryption</extracomment>
<translation>Warten auf Verschlüsselung</translation>
</message>
<message>
@ -1760,13 +1760,13 @@
<context>
<name>ChatCore</name>
<message>
<location filename="../../core/chat/ChatCore.cpp" line="175"/>
<location filename="../../core/chat/ChatCore.cpp" line="177"/>
<source>info_toast_deleted_title</source>
<extracomment>Deleted</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../core/chat/ChatCore.cpp" line="177"/>
<location filename="../../core/chat/ChatCore.cpp" line="179"/>
<source>info_toast_deleted_message_history</source>
<extracomment>Message history has been deleted</extracomment>
<translation type="unfinished"></translation>
@ -2143,79 +2143,79 @@ Error</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="68"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="70"/>
<source>chat_dialog_delete_chat_title</source>
<extracomment>Supprimer la conversation ?</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="70"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="72"/>
<source>chat_dialog_delete_chat_message</source>
<extracomment>&quot;La conversation et tous ses messages seront supprimés.&quot;</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="99"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="101"/>
<source>chat_list_title</source>
<extracomment>&quot;Conversations&quot;</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="120"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="122"/>
<source>menu_mark_all_as_read</source>
<extracomment>&quot;mark all as read&quot;</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="151"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="153"/>
<source>chat_search_in_history</source>
<extracomment>&quot;Rechercher une conversation&quot;</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="174"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="176"/>
<source>list_filter_no_result_found</source>
<extracomment>&quot;Aucun résultat&quot;</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="176"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="178"/>
<source>chat_list_empty_history</source>
<extracomment>&quot;Aucune conversation dans votre historique&quot;</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="245"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="247"/>
<source>chat_action_start_new_chat</source>
<extracomment>&quot;New chat&quot;</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="281"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="283"/>
<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="283"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="285"/>
<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="309"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="313"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="311"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="315"/>
<source>information_popup_error_title</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="311"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="313"/>
<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="315"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="317"/>
<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>
@ -5000,7 +5000,7 @@ Pour les activer dans un projet commercial, merci de nous contacter.</source>
<context>
<name>SelectedChatView</name>
<message>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="36"/>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="37"/>
<source>chat_view_group_call_toast_message</source>
<translation>Start a group call ?</translation>
</message>

View file

@ -1277,6 +1277,7 @@
<translation>Call paused</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="467"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="470"/>
<source>call_srtp_point_to_point_encrypted</source>
<extracomment>Appel chiffré de point à point</extracomment>
@ -1289,23 +1290,22 @@
<translation>Validation required</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="467"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="475"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="476"/>
<source>call_zrtp_end_to_end_encrypted</source>
<extracomment>Appel chiffré de bout en bout</extracomment>
<translation>End-to-end encrypted call</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="478"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="479"/>
<source>call_not_encrypted</source>
<extracomment>&quot;Appel non chiffré&quot;</extracomment>
<translation>Unencrypted call</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="435"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="436"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="480"/>
<source>call_waiting_for_encryption_info</source>
<extracomment>&quot;En attente de chiffrement&quot;</extracomment>
<extracomment>Waiting for encryption</extracomment>
<translation>Waiting for encryption</translation>
</message>
<message>
@ -1722,13 +1722,13 @@
<context>
<name>ChatCore</name>
<message>
<location filename="../../core/chat/ChatCore.cpp" line="175"/>
<location filename="../../core/chat/ChatCore.cpp" line="177"/>
<source>info_toast_deleted_title</source>
<extracomment>Deleted</extracomment>
<translation>Deleted</translation>
</message>
<message>
<location filename="../../core/chat/ChatCore.cpp" line="177"/>
<location filename="../../core/chat/ChatCore.cpp" line="179"/>
<source>info_toast_deleted_message_history</source>
<extracomment>Message history has been deleted</extracomment>
<translation>Message history has been deleted</translation>
@ -2106,79 +2106,79 @@ Only your correspondent can decrypt them.</translation>
<translation>No conversation</translation>
</message>
<message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="68"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="70"/>
<source>chat_dialog_delete_chat_title</source>
<extracomment>Supprimer la conversation ?</extracomment>
<translation>Delete conversation ?</translation>
</message>
<message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="70"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="72"/>
<source>chat_dialog_delete_chat_message</source>
<extracomment>&quot;La conversation et tous ses messages seront supprimés.&quot;</extracomment>
<translation>This conversation and all its messages will be deleted.</translation>
</message>
<message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="99"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="101"/>
<source>chat_list_title</source>
<extracomment>&quot;Conversations&quot;</extracomment>
<translation>Conversations</translation>
</message>
<message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="120"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="122"/>
<source>menu_mark_all_as_read</source>
<extracomment>&quot;mark all as read&quot;</extracomment>
<translation>Mark all as read</translation>
</message>
<message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="151"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="153"/>
<source>chat_search_in_history</source>
<extracomment>&quot;Rechercher une conversation&quot;</extracomment>
<translation>Search for a chat</translation>
</message>
<message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="174"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="176"/>
<source>list_filter_no_result_found</source>
<extracomment>&quot;Aucun résultat&quot;</extracomment>
<translation>No result</translation>
</message>
<message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="176"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="178"/>
<source>chat_list_empty_history</source>
<extracomment>&quot;Aucune conversation dans votre historique&quot;</extracomment>
<translation>No conversation in history</translation>
</message>
<message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="245"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="247"/>
<source>chat_action_start_new_chat</source>
<extracomment>&quot;New chat&quot;</extracomment>
<translation>New conversation</translation>
</message>
<message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="281"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="283"/>
<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="283"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="285"/>
<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="309"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="313"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="311"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="315"/>
<source>information_popup_error_title</source>
<translation>Error</translation>
</message>
<message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="311"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="313"/>
<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="315"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="317"/>
<source>group_call_error_not_connected</source>
<extracomment>&quot;Vous n&apos;etes pas connecté&quot;</extracomment>
<translation>You are not connected</translation>
@ -4889,7 +4889,7 @@ To enable them in a commercial project, please contact us.</translation>
<context>
<name>SelectedChatView</name>
<message>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="36"/>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="37"/>
<source>chat_view_group_call_toast_message</source>
<translation>Start a group call ?</translation>
</message>

View file

@ -1277,6 +1277,7 @@
<translation>Appel mis en pause</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="467"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="470"/>
<source>call_srtp_point_to_point_encrypted</source>
<extracomment>Appel chiffré de point à point</extracomment>
@ -1289,23 +1290,22 @@
<translation>Vérification nécessaire</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="467"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="475"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="476"/>
<source>call_zrtp_end_to_end_encrypted</source>
<extracomment>Appel chiffré de bout en bout</extracomment>
<translation>Appel chiffré de bout en bout</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="478"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="479"/>
<source>call_not_encrypted</source>
<extracomment>&quot;Appel non chiffré&quot;</extracomment>
<translation>Appel non chiffré</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="435"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="436"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="480"/>
<source>call_waiting_for_encryption_info</source>
<extracomment>&quot;En attente de chiffrement&quot;</extracomment>
<extracomment>Waiting for encryption</extracomment>
<translation>En attente de chiffrement</translation>
</message>
<message>
@ -1722,13 +1722,13 @@
<context>
<name>ChatCore</name>
<message>
<location filename="../../core/chat/ChatCore.cpp" line="175"/>
<location filename="../../core/chat/ChatCore.cpp" line="177"/>
<source>info_toast_deleted_title</source>
<extracomment>Deleted</extracomment>
<translation>Supprimé</translation>
</message>
<message>
<location filename="../../core/chat/ChatCore.cpp" line="177"/>
<location filename="../../core/chat/ChatCore.cpp" line="179"/>
<source>info_toast_deleted_message_history</source>
<extracomment>Message history has been deleted</extracomment>
<translation>L&apos;historique des messages a é supprimé</translation>
@ -2106,79 +2106,79 @@ en bout. Seul votre correspondant peut les déchiffrer.</translation>
<translation>Aucune conversation</translation>
</message>
<message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="68"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="70"/>
<source>chat_dialog_delete_chat_title</source>
<extracomment>Supprimer la conversation ?</extracomment>
<translation>Supprimer la conversation ?</translation>
</message>
<message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="70"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="72"/>
<source>chat_dialog_delete_chat_message</source>
<extracomment>&quot;La conversation et tous ses messages seront supprimés.&quot;</extracomment>
<translation>La conversation et tous ses messages seront supprimés.</translation>
</message>
<message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="99"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="101"/>
<source>chat_list_title</source>
<extracomment>&quot;Conversations&quot;</extracomment>
<translation>Conversations</translation>
</message>
<message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="120"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="122"/>
<source>menu_mark_all_as_read</source>
<extracomment>&quot;mark all as read&quot;</extracomment>
<translation>Tout marquer comme lu</translation>
</message>
<message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="151"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="153"/>
<source>chat_search_in_history</source>
<extracomment>&quot;Rechercher une conversation&quot;</extracomment>
<translation>Rechercher une conversation</translation>
</message>
<message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="174"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="176"/>
<source>list_filter_no_result_found</source>
<extracomment>&quot;Aucun résultat&quot;</extracomment>
<translation>Aucun résultat</translation>
</message>
<message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="176"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="178"/>
<source>chat_list_empty_history</source>
<extracomment>&quot;Aucune conversation dans votre historique&quot;</extracomment>
<translation>Aucune conversation dans votre historique</translation>
</message>
<message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="245"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="247"/>
<source>chat_action_start_new_chat</source>
<extracomment>&quot;New chat&quot;</extracomment>
<translation>Nouvelle conversation</translation>
</message>
<message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="281"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="283"/>
<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="283"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="285"/>
<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="309"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="313"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="311"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="315"/>
<source>information_popup_error_title</source>
<translation>Erreur</translation>
</message>
<message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="311"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="313"/>
<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="315"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="317"/>
<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>
@ -4889,7 +4889,7 @@ Pour les activer dans un projet commercial, merci de nous contacter.</translatio
<context>
<name>SelectedChatView</name>
<message>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="36"/>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="37"/>
<source>chat_view_group_call_toast_message</source>
<translation>Démarrer un appel de groupe ?</translation>
</message>

View file

@ -16,6 +16,7 @@ FocusScope {
property ChatMessageGui chatMessage
property var contactObj: chat ? UtilsCpp.findFriendByAddress(mainItem.chat.core.peerAddress) : null
property var contact: contactObj?.value || null
property alias messagesLoading: chatMessagesListView.loading
property CallGui call
property alias callHeaderContent: splitPanel.headerContentItem
property bool replyingToMessage: false
@ -258,7 +259,6 @@ FocusScope {
ChatMessagesListView {
id: chatMessagesListView
clip: true
height: implicitHeight
backgroundColor: splitPanel.panelColor
width: parent.width - anchors.leftMargin - anchors.rightMargin
chat: mainItem.chat

View file

@ -31,7 +31,8 @@ AbstractMainPage {
property var remoteChatObj: UtilsCpp.getChatForAddress(remoteAddress)
property var remoteChat: remoteChatObj ? remoteChatObj.value : null
onRemoteChatChanged: {
selectedChatGui = remoteChat
if (remoteChat) selectedChatGui = remoteChat
else console.log("chat is null")
}
onSelectedChatGuiChanged: {
@ -330,9 +331,16 @@ AbstractMainPage {
Component {
id: currentChatComp
FocusScope {
BusyIndicator {
anchors.centerIn: parent
visible: selectedChatView.chat && !selectedChatView.visible
indicatorHeight: visible ? Math.round(60 * DefaultStyle.dp) : 0
indicatorWidth: Math.round(60 * DefaultStyle.dp)
indicatorColor: DefaultStyle.main1_500_main
}
SelectedChatView {
id: selectedChatView
visible: chat != undefined && chat != null
visible: chat && (chat.core.isBasic || chat.core.conferenceJoined)
anchors.fill: parent
chat: mainItem.selectedChatGui ? mainItem.selectedChatGui : null
onChatChanged: {
@ -343,8 +351,14 @@ AbstractMainPage {
Connections {
target: mainItem
function onSelectedChatGuiChanged() {
selectedChatView.chat = mainItem.selectedChatGui
}
if (mainItem.selectedChatGui) selectedChatView.chat = mainItem.selectedChatGui
}
}
Binding {
target: mainItem
property: "showDefaultItem"
when: selectedChatView.messagesLoading
value: false
}
}
}