Fix persistent call bubble notification

This commit is contained in:
Julien Wadel 2021-08-17 10:43:39 +02:00
parent ef3556dbbb
commit 17466eff7f
5 changed files with 9 additions and 2 deletions

View file

@ -220,6 +220,7 @@ ChatRoomModel::ChatRoomModel (std::shared_ptr<linphone::ChatRoom> chatRoom, QObj
QObject::connect(coreManager->getContactsListModel(), &ContactsListModel::contactAdded, this, &ChatRoomModel::fullPeerAddressChanged);
QObject::connect(coreManager->getContactsListModel(), &ContactsListModel::contactRemoved, this, &ChatRoomModel::usernameChanged);
QObject::connect(coreManager->getContactsListModel(), &ContactsListModel::contactRemoved, this, &ChatRoomModel::fullPeerAddressChanged);
//QObject::connect(this, &ChatRoomModel::messageCountReset, coreManager, &CoreManager::eventCountChanged );
if(mChatRoom){
@ -633,8 +634,8 @@ void ChatRoomModel::resetMessageCount () {
}
setUnreadMessagesCount(mChatRoom->getUnreadMessagesCount());
setMissedCallsCount(0);
CoreManager::getInstance()->updateUnreadMessageCount();
emit messageCountReset();
CoreManager::getInstance()->updateUnreadMessageCount();
}
}
//-------------------------------------------------

View file

@ -275,6 +275,10 @@ void CoreManager::createLinphoneCore (const QString &configPath) {
mCore->enableFriendListSubscription(true);
}
void CoreManager::handleChatRoomCreated(const std::shared_ptr<ChatRoomModel> &chatRoomModel){
emit chatRoomModelCreated(chatRoomModel);
}
void CoreManager::migrate () {
shared_ptr<linphone::Config> config = mCore->getConfig();
int rcVersion = config->getInt(SettingsModel::UiSection, RcVersionName, 0);

View file

@ -168,6 +168,7 @@ public slots:
void stopIterate();
void setLastRemoteProvisioningState(const linphone::ConfiguringState& state);
void createLinphoneCore (const QString &configPath);// In order to delay creation
void handleChatRoomCreated(const std::shared_ptr<ChatRoomModel> &chatRoomModel);
signals:
void coreManagerInitialized ();

View file

@ -51,8 +51,10 @@ TimelineModel::TimelineModel (std::shared_ptr<linphone::ChatRoom> chatRoom, QObj
mChatRoomModel = ChatRoomModel::create(chatRoom);
// mChatRoomModel = CoreManager::getInstance()->getTimelineListModel()->getChatRoomModel(chatRoom);
if( mChatRoomModel ){
CoreManager::getInstance()->handleChatRoomCreated(mChatRoomModel);
QObject::connect(mChatRoomModel.get(), &ChatRoomModel::unreadMessagesCountChanged, this, &TimelineModel::updateUnreadCount);
QObject::connect(mChatRoomModel.get(), &ChatRoomModel::missedCallsCountChanged, this, &TimelineModel::updateUnreadCount);
QObject::connect(this, &TimelineModel::selectedChanged, this, &TimelineModel::updateUnreadCount);
QObject::connect(CoreManager::getInstance()->getAccountSettingsModel(), &AccountSettingsModel::defaultProxyChanged, this, &TimelineModel::onDefaultProxyChanged);
}

View file

@ -402,7 +402,6 @@ ColumnLayout {
if (!SettingsModel.chatEnabled) {
setEntryTypeFilter(ChatRoomModel.CallEntry)
}
resetMessageCount()
}
chatRoomModel: conversation.chatRoomModel
peerAddress: conversation.peerAddress