parent
0028fdfe6c
commit
649d73a7bd
@ -136,6 +136,9 @@ private:
|
|||||||
//! Update the room with the new notification count.
|
//! Update the room with the new notification count.
|
||||||
void updateRoomNotificationCount(const QString &room_id, uint16_t notification_count);
|
void updateRoomNotificationCount(const QString &room_id, uint16_t notification_count);
|
||||||
|
|
||||||
|
QStringList generateTypingUsers(const QString &room_id,
|
||||||
|
const std::vector<std::string> &typing_users);
|
||||||
|
|
||||||
QHBoxLayout *topLayout_;
|
QHBoxLayout *topLayout_;
|
||||||
Splitter *splitter;
|
Splitter *splitter;
|
||||||
|
|
||||||
|
@ -754,32 +754,32 @@ ChatPage::updateTypingUsers(const QString &roomid, const std::vector<std::string
|
|||||||
if (!userSettings_->isTypingNotificationsEnabled())
|
if (!userSettings_->isTypingNotificationsEnabled())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (user_ids.empty()) {
|
typingUsers_[roomid] = generateTypingUsers(roomid, user_ids);
|
||||||
typingUsers_[roomid] = {};
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
if (current_room_ == roomid)
|
||||||
|
typingDisplay_->setUsers(typingUsers_[roomid]);
|
||||||
|
}
|
||||||
|
|
||||||
|
QStringList
|
||||||
|
ChatPage::generateTypingUsers(const QString &room_id, const std::vector<std::string> &typing_users)
|
||||||
|
{
|
||||||
QStringList users;
|
QStringList users;
|
||||||
|
|
||||||
QSettings settings;
|
QSettings settings;
|
||||||
QString user_id = settings.value("auth/user_id").toString();
|
QString local_user = settings.value("auth/user_id").toString();
|
||||||
|
|
||||||
for (const auto &uid : user_ids) {
|
for (const auto &uid : typing_users) {
|
||||||
auto user = QString::fromStdString(uid);
|
const auto remote_user = QString::fromStdString(uid);
|
||||||
|
|
||||||
if (user == user_id)
|
if (remote_user == local_user)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
users.append(Cache::displayName(roomid, user));
|
users.append(Cache::displayName(room_id, remote_user));
|
||||||
}
|
}
|
||||||
|
|
||||||
users.sort();
|
users.sort();
|
||||||
|
|
||||||
if (current_room_ == roomid) {
|
return users;
|
||||||
typingDisplay_->setUsers(users);
|
|
||||||
}
|
|
||||||
|
|
||||||
typingUsers_.emplace(roomid, users);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
Loading…
Reference in New Issue
Block a user