Refactoring, new messages thread beggining

This commit is contained in:
Blue 2019-04-11 17:58:59 +03:00
parent 5575cff1f5
commit e48444636a
25 changed files with 610 additions and 163 deletions

View file

@ -218,9 +218,9 @@ QString Models::Contact::getAccountName() const
return p->getName();
}
void Models::Contact::addMessage(const QMap<QString, QString>& data)
void Models::Contact::addMessage(const Shared::Message& data)
{
const QString& res = data.value("fromResource");
const QString& res = data.getPenPalResource();
if (res.size() > 0) {
QMap<QString, Presence*>::iterator itr = presences.find(res);
if (itr == presences.end()) {
@ -254,7 +254,7 @@ void Models::Contact::dropMessages()
void Models::Contact::getMessages(Models::Contact::Messages& container) const
{
for (Messages::const_iterator itr = messages.begin(), end = messages.end(); itr != end; ++itr) {
const QMap<QString, QString>& msg = *itr;
const Shared::Message& msg = *itr;
container.push_back(msg);
}

View file

@ -14,7 +14,7 @@ class Contact : public Item
{
Q_OBJECT
public:
typedef std::deque<QMap<QString, QString>> Messages;
typedef std::deque<Shared::Message> Messages;
Contact(const QString& p_jid ,const QMap<QString, QVariant> &data, Item *parentItem = 0);
~Contact();
@ -35,7 +35,7 @@ public:
QString getAccountName() const;
QString getAccountJid() const;
void addMessage(const QMap<QString, QString>& data);
void addMessage(const Shared::Message& data);
unsigned int getMessagesCount() const;
void dropMessages();
void getMessages(Messages& container) const;

View file

@ -126,7 +126,7 @@ unsigned int Models::Presence::getMessagesCount() const
return messages.size();
}
void Models::Presence::addMessage(const QMap<QString, QString>& data)
void Models::Presence::addMessage(const Shared::Message& data)
{
messages.emplace_back(data);
changed(4);
@ -152,7 +152,7 @@ QIcon Models::Presence::getStatusIcon() const
void Models::Presence::getMessages(Models::Presence::Messages& container) const
{
for (Messages::const_iterator itr = messages.begin(), end = messages.end(); itr != end; ++itr) {
const QMap<QString, QString>& msg = *itr;
const Shared::Message& msg = *itr;
container.push_back(msg);
}
}

View file

@ -30,7 +30,7 @@ class Presence : public Models::Item
{
Q_OBJECT
public:
typedef std::deque<QMap<QString, QString>> Messages;
typedef std::deque<Shared::Message> Messages;
explicit Presence(const QMap<QString, QVariant> &data, Item *parentItem = 0);
~Presence();
@ -51,7 +51,7 @@ public:
void update(const QString& key, const QVariant& value);
unsigned int getMessagesCount() const;
void dropMessages();
void addMessage(const QMap<QString, QString>& data);
void addMessage(const Shared::Message& data);
void getMessages(Messages& container) const;

View file

@ -493,9 +493,9 @@ void Models::Roster::removePresence(const QString& account, const QString& jid,
}
}
void Models::Roster::addMessage(const QString& account, const QMap<QString, QString>& data)
void Models::Roster::addMessage(const QString& account, const Shared::Message& data)
{
ElId id(account, data.value("from"));
ElId id(account, data.getPenPalJid());
std::multimap<ElId, Contact*>::iterator cBeg = contacts.lower_bound(id);
std::multimap<ElId, Contact*>::iterator cEnd = contacts.upper_bound(id);

View file

@ -32,7 +32,7 @@ public:
void changeContact(const QString& account, const QString& jid, const QMap<QString, QVariant>& data);
void addPresence(const QString& account, const QString& jid, const QString& name, const QMap<QString, QVariant>& data);
void removePresence(const QString& account, const QString& jid, const QString& name);
void addMessage(const QString& account, const QMap<QString, QString>& data);
void addMessage(const QString& account, const Shared::Message& data);
void dropMessages(const QString& account, const QString& jid);
QVariant data ( const QModelIndex& index, int role ) const override;