mirror of
https://github.com/Nheko-Reborn/nheko.git
synced 2024-11-22 11:00:48 +03:00
Fix state event rendering for join rules and emojis
This commit is contained in:
parent
eb2c87f060
commit
242f61c8a3
2 changed files with 10 additions and 14 deletions
|
@ -740,8 +740,10 @@ TimelineModel::data(const mtx::events::collections::TimelineEvents &event, int r
|
||||||
} else if constexpr (t == mtx::events::EventType::RoomPinnedEvents)
|
} else if constexpr (t == mtx::events::EventType::RoomPinnedEvents)
|
||||||
return tr("%1 changed the pinned messages.")
|
return tr("%1 changed the pinned messages.")
|
||||||
.arg(displayName(QString::fromStdString(e.sender)));
|
.arg(displayName(QString::fromStdString(e.sender)));
|
||||||
|
else if constexpr (t == mtx::events::EventType::RoomJoinRules)
|
||||||
|
return formatJoinRuleEvent(e);
|
||||||
else if constexpr (t == mtx::events::EventType::ImagePackInRoom)
|
else if constexpr (t == mtx::events::EventType::ImagePackInRoom)
|
||||||
formatImagePackEvent(e);
|
return formatImagePackEvent(e);
|
||||||
else if constexpr (t == mtx::events::EventType::RoomCanonicalAlias)
|
else if constexpr (t == mtx::events::EventType::RoomCanonicalAlias)
|
||||||
return tr("%1 changed the addresses for this room.")
|
return tr("%1 changed the addresses for this room.")
|
||||||
.arg(displayName(QString::fromStdString(e.sender)));
|
.arg(displayName(QString::fromStdString(e.sender)));
|
||||||
|
@ -2321,20 +2323,13 @@ TimelineModel::formatTypingUsers(const QStringList &users, const QColor &bg)
|
||||||
}
|
}
|
||||||
|
|
||||||
QString
|
QString
|
||||||
TimelineModel::formatJoinRuleEvent(const QString &id)
|
TimelineModel::formatJoinRuleEvent(
|
||||||
|
const mtx::events::StateEvent<mtx::events::state::JoinRules> &event) const
|
||||||
{
|
{
|
||||||
auto e = events.get(id.toStdString(), "");
|
QString user = QString::fromStdString(event.sender);
|
||||||
if (!e)
|
|
||||||
return {};
|
|
||||||
|
|
||||||
auto event = std::get_if<mtx::events::StateEvent<mtx::events::state::JoinRules>>(e);
|
|
||||||
if (!event)
|
|
||||||
return {};
|
|
||||||
|
|
||||||
QString user = QString::fromStdString(event->sender);
|
|
||||||
QString name = utils::replaceEmoji(displayName(user));
|
QString name = utils::replaceEmoji(displayName(user));
|
||||||
|
|
||||||
switch (event->content.join_rule) {
|
switch (event.content.join_rule) {
|
||||||
case mtx::events::state::JoinRule::Public:
|
case mtx::events::state::JoinRule::Public:
|
||||||
return tr("%1 opened the room to the public.").arg(name);
|
return tr("%1 opened the room to the public.").arg(name);
|
||||||
case mtx::events::state::JoinRule::Invite:
|
case mtx::events::state::JoinRule::Invite:
|
||||||
|
@ -2343,7 +2338,7 @@ TimelineModel::formatJoinRuleEvent(const QString &id)
|
||||||
return tr("%1 allowed to join this room by knocking.").arg(name);
|
return tr("%1 allowed to join this room by knocking.").arg(name);
|
||||||
case mtx::events::state::JoinRule::Restricted: {
|
case mtx::events::state::JoinRule::Restricted: {
|
||||||
QStringList rooms;
|
QStringList rooms;
|
||||||
for (const auto &r : event->content.allow) {
|
for (const auto &r : event.content.allow) {
|
||||||
if (r.type == mtx::events::state::JoinAllowanceType::RoomMembership)
|
if (r.type == mtx::events::state::JoinAllowanceType::RoomMembership)
|
||||||
rooms.push_back(QString::fromStdString(r.room_id));
|
rooms.push_back(QString::fromStdString(r.room_id));
|
||||||
}
|
}
|
||||||
|
|
|
@ -311,7 +311,8 @@ public:
|
||||||
Q_INVOKABLE void joinReplacementRoom(const QString &id);
|
Q_INVOKABLE void joinReplacementRoom(const QString &id);
|
||||||
Q_INVOKABLE QString
|
Q_INVOKABLE QString
|
||||||
formatMemberEvent(const mtx::events::StateEvent<mtx::events::state::Member> &event) const;
|
formatMemberEvent(const mtx::events::StateEvent<mtx::events::state::Member> &event) const;
|
||||||
Q_INVOKABLE QString formatJoinRuleEvent(const QString &id);
|
QString
|
||||||
|
formatJoinRuleEvent(const mtx::events::StateEvent<mtx::events::state::JoinRules> &event) const;
|
||||||
QString formatHistoryVisibilityEvent(
|
QString formatHistoryVisibilityEvent(
|
||||||
const mtx::events::StateEvent<mtx::events::state::HistoryVisibility> &event) const;
|
const mtx::events::StateEvent<mtx::events::state::HistoryVisibility> &event) const;
|
||||||
QString
|
QString
|
||||||
|
|
Loading…
Reference in a new issue