Commit a292d0ef authored by Wescoeur's avatar Wescoeur

fix(ChatModel): compute correctly composing when chat room is set

parent 29c5342c
...@@ -282,6 +282,7 @@ void ChatModel::setSipAddress (const QString &sipAddress) { ...@@ -282,6 +282,7 @@ void ChatModel::setSipAddress (const QString &sipAddress) {
shared_ptr<linphone::Core> core = CoreManager::getInstance()->getCore(); shared_ptr<linphone::Core> core = CoreManager::getInstance()->getCore();
mChatRoom = core->getChatRoomFromUri(::Utils::appStringToCoreString(sipAddress)); mChatRoom = core->getChatRoomFromUri(::Utils::appStringToCoreString(sipAddress));
updateIsRemoteComposing();
if (mChatRoom->getUnreadMessagesCount() > 0) if (mChatRoom->getUnreadMessagesCount() > 0)
resetMessagesCount(); resetMessagesCount();
...@@ -649,6 +650,14 @@ void ChatModel::resetMessagesCount () { ...@@ -649,6 +650,14 @@ void ChatModel::resetMessagesCount () {
emit messagesCountReset(); emit messagesCountReset();
} }
void ChatModel::updateIsRemoteComposing () {
bool isRemoteComposing = mChatRoom->isRemoteComposing();
if (isRemoteComposing != mIsRemoteComposing) {
mIsRemoteComposing = isRemoteComposing;
emit isRemoteComposingChanged(mIsRemoteComposing);
}
}
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
void ChatModel::handleCallStateChanged (const shared_ptr<linphone::Call> &call, linphone::CallState state) { void ChatModel::handleCallStateChanged (const shared_ptr<linphone::Call> &call, linphone::CallState state) {
...@@ -660,13 +669,8 @@ void ChatModel::handleCallStateChanged (const shared_ptr<linphone::Call> &call, ...@@ -660,13 +669,8 @@ void ChatModel::handleCallStateChanged (const shared_ptr<linphone::Call> &call,
} }
void ChatModel::handleIsComposingChanged (const shared_ptr<linphone::ChatRoom> &chatRoom) { void ChatModel::handleIsComposingChanged (const shared_ptr<linphone::ChatRoom> &chatRoom) {
if (mChatRoom == chatRoom) { if (mChatRoom == chatRoom)
bool isRemoteComposing = mChatRoom->isRemoteComposing(); updateIsRemoteComposing();
if (isRemoteComposing != mIsRemoteComposing) {
mIsRemoteComposing = isRemoteComposing;
emit isRemoteComposingChanged(mIsRemoteComposing);
}
}
} }
void ChatModel::handleMessageReceived (const shared_ptr<linphone::ChatMessage> &message) { void ChatModel::handleMessageReceived (const shared_ptr<linphone::ChatMessage> &message) {
......
...@@ -137,6 +137,8 @@ private: ...@@ -137,6 +137,8 @@ private:
void resetMessagesCount (); void resetMessagesCount ();
void updateIsRemoteComposing ();
void handleCallStateChanged (const std::shared_ptr<linphone::Call> &call, linphone::CallState state); void handleCallStateChanged (const std::shared_ptr<linphone::Call> &call, linphone::CallState state);
void handleIsComposingChanged (const std::shared_ptr<linphone::ChatRoom> &chatRoom); void handleIsComposingChanged (const std::shared_ptr<linphone::ChatRoom> &chatRoom);
void handleMessageReceived (const std::shared_ptr<linphone::ChatMessage> &message); void handleMessageReceived (const std::shared_ptr<linphone::ChatMessage> &message);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment