1 files changed, 29 insertions, 0 deletions
diff --git a/src/Cache.cpp b/src/Cache.cpp
index a9094e2d..d6a7b509 100644
--- a/src/Cache.cpp
+++ b/src/Cache.cpp
@@ -2059,6 +2059,7 @@ Cache::roomMembers(const std::string &room_id)
QHash<QString, QString> Cache::DisplayNames;
QHash<QString, QString> Cache::AvatarUrls;
+QHash<QString, QString> Cache::UserColors;
QString
Cache::displayName(const QString &room_id, const QString &user_id)
@@ -2090,6 +2091,16 @@ Cache::avatarUrl(const QString &room_id, const QString &user_id)
return QString();
}
+QString
+Cache::userColor(const QString &user_id)
+{
+ if (UserColors.contains(user_id)) {
+ return UserColors[user_id];
+ }
+
+ return QString();
+}
+
void
Cache::insertDisplayName(const QString &room_id,
const QString &user_id,
@@ -2119,3 +2130,21 @@ Cache::removeAvatarUrl(const QString &room_id, const QString &user_id)
auto fmt = QString("%1 %2").arg(room_id).arg(user_id);
AvatarUrls.remove(fmt);
}
+
+void
+Cache::insertUserColor(const QString &user_id, const QString &color_name)
+{
+ UserColors.insert(user_id, color_name);
+}
+
+void
+Cache::removeUserColor(const QString &user_id)
+{
+ UserColors.remove(user_id);
+}
+
+void
+Cache::clearUserColors()
+{
+ UserColors.clear();
+}
\ No newline at end of file
|