Pass an empty NeochatRoomMember when not in the map
This commit is contained in:
@@ -388,6 +388,8 @@ void MessageEventModel::fetchMore(const QModelIndex &parent)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static NeochatRoomMember *emptyNeochatRoomMember = new NeochatRoomMember;
|
||||||
|
|
||||||
QVariant MessageEventModel::data(const QModelIndex &idx, int role) const
|
QVariant MessageEventModel::data(const QModelIndex &idx, int role) const
|
||||||
{
|
{
|
||||||
if (!checkIndex(idx, QAbstractItemModel::CheckIndexOption::IndexIsValid)) {
|
if (!checkIndex(idx, QAbstractItemModel::CheckIndexOption::IndexIsValid)) {
|
||||||
@@ -467,6 +469,10 @@ QVariant MessageEventModel::data(const QModelIndex &idx, int role) const
|
|||||||
mId = evt.senderId();
|
mId = evt.senderId();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!m_memberObjects.contains(mId)) {
|
||||||
|
return QVariant::fromValue<NeochatRoomMember *>(emptyNeochatRoomMember);
|
||||||
|
}
|
||||||
|
|
||||||
return QVariant::fromValue<NeochatRoomMember *>(m_memberObjects.at(mId).get());
|
return QVariant::fromValue<NeochatRoomMember *>(m_memberObjects.at(mId).get());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ QString NeochatRoomMember::id() const
|
|||||||
|
|
||||||
Quotient::Uri NeochatRoomMember::uri() const
|
Quotient::Uri NeochatRoomMember::uri() const
|
||||||
{
|
{
|
||||||
if (m_room == nullptr) {
|
if (m_room == nullptr || m_memberId.isEmpty()) {
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -41,7 +41,7 @@ Quotient::Uri NeochatRoomMember::uri() const
|
|||||||
|
|
||||||
bool NeochatRoomMember::isLocalMember() const
|
bool NeochatRoomMember::isLocalMember() const
|
||||||
{
|
{
|
||||||
if (m_room == nullptr) {
|
if (m_room == nullptr || m_memberId.isEmpty()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -50,7 +50,7 @@ bool NeochatRoomMember::isLocalMember() const
|
|||||||
|
|
||||||
Quotient::Membership NeochatRoomMember::membershipState() const
|
Quotient::Membership NeochatRoomMember::membershipState() const
|
||||||
{
|
{
|
||||||
if (m_room == nullptr) {
|
if (m_room == nullptr || m_memberId.isEmpty()) {
|
||||||
return Quotient::Membership::Leave;
|
return Quotient::Membership::Leave;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -59,7 +59,7 @@ Quotient::Membership NeochatRoomMember::membershipState() const
|
|||||||
|
|
||||||
QString NeochatRoomMember::name() const
|
QString NeochatRoomMember::name() const
|
||||||
{
|
{
|
||||||
if (m_room == nullptr) {
|
if (m_room == nullptr || m_memberId.isEmpty()) {
|
||||||
return id();
|
return id();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -68,7 +68,7 @@ QString NeochatRoomMember::name() const
|
|||||||
|
|
||||||
QString NeochatRoomMember::displayName() const
|
QString NeochatRoomMember::displayName() const
|
||||||
{
|
{
|
||||||
if (m_room == nullptr) {
|
if (m_room == nullptr || m_memberId.isEmpty()) {
|
||||||
return id();
|
return id();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -77,7 +77,7 @@ QString NeochatRoomMember::displayName() const
|
|||||||
|
|
||||||
QString NeochatRoomMember::htmlSafeDisplayName() const
|
QString NeochatRoomMember::htmlSafeDisplayName() const
|
||||||
{
|
{
|
||||||
if (m_room == nullptr) {
|
if (m_room == nullptr || m_memberId.isEmpty()) {
|
||||||
return id();
|
return id();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -86,7 +86,7 @@ QString NeochatRoomMember::htmlSafeDisplayName() const
|
|||||||
|
|
||||||
QString NeochatRoomMember::fullName() const
|
QString NeochatRoomMember::fullName() const
|
||||||
{
|
{
|
||||||
if (m_room == nullptr) {
|
if (m_room == nullptr || m_memberId.isEmpty()) {
|
||||||
return id();
|
return id();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -95,7 +95,7 @@ QString NeochatRoomMember::fullName() const
|
|||||||
|
|
||||||
QString NeochatRoomMember::htmlSafeFullName() const
|
QString NeochatRoomMember::htmlSafeFullName() const
|
||||||
{
|
{
|
||||||
if (m_room == nullptr) {
|
if (m_room == nullptr || m_memberId.isEmpty()) {
|
||||||
return id();
|
return id();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -104,7 +104,7 @@ QString NeochatRoomMember::htmlSafeFullName() const
|
|||||||
|
|
||||||
QString NeochatRoomMember::disambiguatedName() const
|
QString NeochatRoomMember::disambiguatedName() const
|
||||||
{
|
{
|
||||||
if (m_room == nullptr) {
|
if (m_room == nullptr || m_memberId.isEmpty()) {
|
||||||
return id();
|
return id();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -113,7 +113,7 @@ QString NeochatRoomMember::disambiguatedName() const
|
|||||||
|
|
||||||
QString NeochatRoomMember::htmlSafeDisambiguatedName() const
|
QString NeochatRoomMember::htmlSafeDisambiguatedName() const
|
||||||
{
|
{
|
||||||
if (m_room == nullptr) {
|
if (m_room == nullptr || m_memberId.isEmpty()) {
|
||||||
return id();
|
return id();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -122,7 +122,7 @@ QString NeochatRoomMember::htmlSafeDisambiguatedName() const
|
|||||||
|
|
||||||
int NeochatRoomMember::hue() const
|
int NeochatRoomMember::hue() const
|
||||||
{
|
{
|
||||||
if (m_room == nullptr) {
|
if (m_room == nullptr || m_memberId.isEmpty()) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -131,7 +131,7 @@ int NeochatRoomMember::hue() const
|
|||||||
|
|
||||||
qreal NeochatRoomMember::hueF() const
|
qreal NeochatRoomMember::hueF() const
|
||||||
{
|
{
|
||||||
if (m_room == nullptr) {
|
if (m_room == nullptr || m_memberId.isEmpty()) {
|
||||||
return 0.0;
|
return 0.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -140,7 +140,7 @@ qreal NeochatRoomMember::hueF() const
|
|||||||
|
|
||||||
QColor NeochatRoomMember::color() const
|
QColor NeochatRoomMember::color() const
|
||||||
{
|
{
|
||||||
if (m_room == nullptr) {
|
if (m_room == nullptr || m_memberId.isEmpty()) {
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -149,7 +149,7 @@ QColor NeochatRoomMember::color() const
|
|||||||
|
|
||||||
QString NeochatRoomMember::avatarMediaId() const
|
QString NeochatRoomMember::avatarMediaId() const
|
||||||
{
|
{
|
||||||
if (m_room == nullptr) {
|
if (m_room == nullptr || m_memberId.isEmpty()) {
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -158,7 +158,7 @@ QString NeochatRoomMember::avatarMediaId() const
|
|||||||
|
|
||||||
QUrl NeochatRoomMember::avatarUrl() const
|
QUrl NeochatRoomMember::avatarUrl() const
|
||||||
{
|
{
|
||||||
if (m_room == nullptr) {
|
if (m_room == nullptr || m_memberId.isEmpty()) {
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -54,7 +54,6 @@ class NeochatRoomMember : public QObject
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
NeochatRoomMember() = default;
|
NeochatRoomMember() = default;
|
||||||
|
|
||||||
explicit NeochatRoomMember(NeoChatRoom *room, const QString &memberId);
|
explicit NeochatRoomMember(NeoChatRoom *room, const QString &memberId);
|
||||||
|
|
||||||
QString id() const;
|
QString id() const;
|
||||||
|
|||||||
Reference in New Issue
Block a user