Pass an empty NeochatRoomMember when not in the map

This commit is contained in:
James Graham
2024-07-26 16:16:08 +01:00
parent b3146034cf
commit e4fab6d9a9
3 changed files with 21 additions and 16 deletions

View File

@@ -388,6 +388,8 @@ void MessageEventModel::fetchMore(const QModelIndex &parent)
}
}
static NeochatRoomMember *emptyNeochatRoomMember = new NeochatRoomMember;
QVariant MessageEventModel::data(const QModelIndex &idx, int role) const
{
if (!checkIndex(idx, QAbstractItemModel::CheckIndexOption::IndexIsValid)) {
@@ -467,6 +469,10 @@ QVariant MessageEventModel::data(const QModelIndex &idx, int role) const
mId = evt.senderId();
}
if (!m_memberObjects.contains(mId)) {
return QVariant::fromValue<NeochatRoomMember *>(emptyNeochatRoomMember);
}
return QVariant::fromValue<NeochatRoomMember *>(m_memberObjects.at(mId).get());
}

View File

@@ -32,7 +32,7 @@ QString NeochatRoomMember::id() const
Quotient::Uri NeochatRoomMember::uri() const
{
if (m_room == nullptr) {
if (m_room == nullptr || m_memberId.isEmpty()) {
return {};
}
@@ -41,7 +41,7 @@ Quotient::Uri NeochatRoomMember::uri() const
bool NeochatRoomMember::isLocalMember() const
{
if (m_room == nullptr) {
if (m_room == nullptr || m_memberId.isEmpty()) {
return false;
}
@@ -50,7 +50,7 @@ bool NeochatRoomMember::isLocalMember() const
Quotient::Membership NeochatRoomMember::membershipState() const
{
if (m_room == nullptr) {
if (m_room == nullptr || m_memberId.isEmpty()) {
return Quotient::Membership::Leave;
}
@@ -59,7 +59,7 @@ Quotient::Membership NeochatRoomMember::membershipState() const
QString NeochatRoomMember::name() const
{
if (m_room == nullptr) {
if (m_room == nullptr || m_memberId.isEmpty()) {
return id();
}
@@ -68,7 +68,7 @@ QString NeochatRoomMember::name() const
QString NeochatRoomMember::displayName() const
{
if (m_room == nullptr) {
if (m_room == nullptr || m_memberId.isEmpty()) {
return id();
}
@@ -77,7 +77,7 @@ QString NeochatRoomMember::displayName() const
QString NeochatRoomMember::htmlSafeDisplayName() const
{
if (m_room == nullptr) {
if (m_room == nullptr || m_memberId.isEmpty()) {
return id();
}
@@ -86,7 +86,7 @@ QString NeochatRoomMember::htmlSafeDisplayName() const
QString NeochatRoomMember::fullName() const
{
if (m_room == nullptr) {
if (m_room == nullptr || m_memberId.isEmpty()) {
return id();
}
@@ -95,7 +95,7 @@ QString NeochatRoomMember::fullName() const
QString NeochatRoomMember::htmlSafeFullName() const
{
if (m_room == nullptr) {
if (m_room == nullptr || m_memberId.isEmpty()) {
return id();
}
@@ -104,7 +104,7 @@ QString NeochatRoomMember::htmlSafeFullName() const
QString NeochatRoomMember::disambiguatedName() const
{
if (m_room == nullptr) {
if (m_room == nullptr || m_memberId.isEmpty()) {
return id();
}
@@ -113,7 +113,7 @@ QString NeochatRoomMember::disambiguatedName() const
QString NeochatRoomMember::htmlSafeDisambiguatedName() const
{
if (m_room == nullptr) {
if (m_room == nullptr || m_memberId.isEmpty()) {
return id();
}
@@ -122,7 +122,7 @@ QString NeochatRoomMember::htmlSafeDisambiguatedName() const
int NeochatRoomMember::hue() const
{
if (m_room == nullptr) {
if (m_room == nullptr || m_memberId.isEmpty()) {
return 0;
}
@@ -131,7 +131,7 @@ int NeochatRoomMember::hue() const
qreal NeochatRoomMember::hueF() const
{
if (m_room == nullptr) {
if (m_room == nullptr || m_memberId.isEmpty()) {
return 0.0;
}
@@ -140,7 +140,7 @@ qreal NeochatRoomMember::hueF() const
QColor NeochatRoomMember::color() const
{
if (m_room == nullptr) {
if (m_room == nullptr || m_memberId.isEmpty()) {
return {};
}
@@ -149,7 +149,7 @@ QColor NeochatRoomMember::color() const
QString NeochatRoomMember::avatarMediaId() const
{
if (m_room == nullptr) {
if (m_room == nullptr || m_memberId.isEmpty()) {
return {};
}
@@ -158,7 +158,7 @@ QString NeochatRoomMember::avatarMediaId() const
QUrl NeochatRoomMember::avatarUrl() const
{
if (m_room == nullptr) {
if (m_room == nullptr || m_memberId.isEmpty()) {
return {};
}

View File

@@ -54,7 +54,6 @@ class NeochatRoomMember : public QObject
public:
NeochatRoomMember() = default;
explicit NeochatRoomMember(NeoChatRoom *room, const QString &memberId);
QString id() const;