Fix #138.
This commit is contained in:
@@ -32,6 +32,9 @@ class SpectralRoom : public Room {
|
|||||||
backgroundChanged)
|
backgroundChanged)
|
||||||
Q_PROPERTY(
|
Q_PROPERTY(
|
||||||
QString backgroundMediaId READ backgroundMediaId NOTIFY backgroundChanged)
|
QString backgroundMediaId READ backgroundMediaId NOTIFY backgroundChanged)
|
||||||
|
// Q_PROPERTY(QUrl avatarUrl READ avatarUrl NOTIFY avatarChanged)
|
||||||
|
Q_PROPERTY(QString avatarMediaId READ avatarMediaId NOTIFY avatarChanged
|
||||||
|
STORED false)
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit SpectralRoom(Connection* connection,
|
explicit SpectralRoom(Connection* connection,
|
||||||
@@ -90,6 +93,32 @@ class SpectralRoom : public Room {
|
|||||||
|
|
||||||
Q_INVOKABLE QUrl urlToMxcUrl(QUrl mxcUrl);
|
Q_INVOKABLE QUrl urlToMxcUrl(QUrl mxcUrl);
|
||||||
|
|
||||||
|
QUrl avatarUrl() const {
|
||||||
|
if (!Room::avatarUrl().isEmpty())
|
||||||
|
return Room::avatarUrl();
|
||||||
|
|
||||||
|
// Use the first (excluding self) user's avatar for direct chats
|
||||||
|
const auto dcUsers = directChatUsers();
|
||||||
|
for (auto* u : dcUsers)
|
||||||
|
if (u != localUser())
|
||||||
|
return u->avatarUrl();
|
||||||
|
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
|
||||||
|
QString avatarMediaId() const {
|
||||||
|
if (!Room::avatarMediaId().isEmpty())
|
||||||
|
return Room::avatarMediaId();
|
||||||
|
|
||||||
|
// Use the first (excluding self) user's avatar for direct chats
|
||||||
|
const auto dcUsers = directChatUsers();
|
||||||
|
for (auto* u : dcUsers)
|
||||||
|
if (u != localUser())
|
||||||
|
return u->avatarMediaId();
|
||||||
|
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
|
||||||
QUrl backgroundUrl();
|
QUrl backgroundUrl();
|
||||||
Q_INVOKABLE void setBackgroundUrl(QUrl url);
|
Q_INVOKABLE void setBackgroundUrl(QUrl url);
|
||||||
Q_INVOKABLE void clearBackground();
|
Q_INVOKABLE void clearBackground();
|
||||||
|
|||||||
Reference in New Issue
Block a user