Browse Source

refactor(model): Add getDisplayedName(ToxPk) to Chat

To allow resolving the author's name in a group through Chat
reviewable/pr6561/r49
Anthony Bilinski 3 years ago
parent
commit
b320397558
No known key found for this signature in database
GPG Key ID: 2AA8E0DA1B31FB3C
  1. 2
      src/model/chat.h
  2. 9
      src/model/friend.cpp
  3. 1
      src/model/friend.h
  4. 5
      src/model/group.cpp
  5. 1
      src/model/group.h

2
src/model/chat.h

@ -23,6 +23,7 @@ @@ -23,6 +23,7 @@
#include <QObject>
#include <QString>
class ToxPk;
class Chat : public QObject
{
Q_OBJECT
@ -31,6 +32,7 @@ public: @@ -31,6 +32,7 @@ public:
virtual void setName(const QString& name) = 0;
virtual QString getDisplayedName() const = 0;
virtual QString getDisplayedName(const ToxPk& contact) const = 0;
virtual uint32_t getId() const = 0;
virtual const ChatId& getPersistentId() const = 0;
virtual void setEventFlag(bool flag) = 0;

9
src/model/friend.cpp

@ -24,7 +24,9 @@ @@ -24,7 +24,9 @@
#include "src/widget/form/chatform.h"
#include <QDebug>
#include <memory>
#include <cassert>
Friend::Friend(uint32_t friendId_, const ToxPk& friendPk_, const QString& userAlias_, const QString& userName_)
: userName{userName_}
@ -118,6 +120,13 @@ QString Friend::getDisplayedName() const @@ -118,6 +120,13 @@ QString Friend::getDisplayedName() const
return userAlias;
}
QString Friend::getDisplayedName(const ToxPk& contact) const
{
std::ignore = contact;
assert(contact == friendPk);
return getDisplayedName();
}
bool Friend::hasAlias() const
{
return !userAlias.isEmpty();

1
src/model/friend.h

@ -39,6 +39,7 @@ public: @@ -39,6 +39,7 @@ public:
void setName(const QString& name) override;
void setAlias(const QString& alias);
QString getDisplayedName() const override;
QString getDisplayedName(const ToxPk& contact) const override;
bool hasAlias() const;
QString getUserName() const;
void setStatusMessage(const QString& message);

5
src/model/group.cpp

@ -83,6 +83,11 @@ QString Group::getDisplayedName() const @@ -83,6 +83,11 @@ QString Group::getDisplayedName() const
return getName();
}
QString Group::getDisplayedName(const ToxPk& contact) const
{
return resolveToxPk(contact);
}
void Group::regeneratePeerList()
{
// NOTE: there's a bit of a race here. Core emits a signal for both groupPeerlistChanged and

1
src/model/group.h

@ -59,6 +59,7 @@ public: @@ -59,6 +59,7 @@ public:
void setTitle(const QString& author, const QString& newTitle);
QString getName() const;
QString getDisplayedName() const override;
QString getDisplayedName(const ToxPk& contact) const override;
QString resolveToxPk(const ToxPk& id) const;
void setSelfName(const QString& name);
QString getSelfName() const;

Loading…
Cancel
Save