Browse Source

feat(settings): Add friend name and status to Settings

So that chat can be shown for contacts that were removed from toxcore.
reviewable/pr6623/r2
Anthony Bilinski 4 years ago
parent
commit
78435a9bb5
No known key found for this signature in database
GPG Key ID: 2AA8E0DA1B31FB3C
  1. 6
      src/persistence/ifriendsettings.h
  2. 38
      src/persistence/settings.cpp
  3. 8
      src/persistence/settings.h

6
src/persistence/ifriendsettings.h

@ -57,9 +57,15 @@ public: @@ -57,9 +57,15 @@ public:
virtual bool getAutoGroupInvite(const ToxPk& pk) const = 0;
virtual void setAutoGroupInvite(const ToxPk& pk, bool accept) = 0;
virtual QString getFriendName(const ToxPk& id) const = 0;
virtual void setFriendName(const ToxPk& id, const QString& name) = 0;
virtual QString getFriendAlias(const ToxPk& pk) const = 0;
virtual void setFriendAlias(const ToxPk& pk, const QString& alias) = 0;
virtual QString getFriendStatusMessage(const ToxPk& pk) const = 0;
virtual void setFriendStatusMessage(const ToxPk& pk, const QString& message) = 0;
virtual int getFriendCircleID(const ToxPk& pk) const = 0;
virtual void setFriendCircleID(const ToxPk& pk, int circleID) = 0;

38
src/persistence/settings.cpp

@ -520,7 +520,9 @@ void Settings::loadPersonal(const Profile& profile, bool newProfile) @@ -520,7 +520,9 @@ void Settings::loadPersonal(const Profile& profile, bool newProfile)
for (int i = 0; i < size; i++) {
ps.setArrayIndex(i);
friendProp fp{ps.value("addr").toString()};
fp.name = ps.value("name").toString();
fp.alias = ps.value("alias").toString();
fp.statusMessage = ps.value("statusMessage").toString();
fp.note = ps.value("note").toString();
fp.autoAcceptDir = ps.value("autoAcceptDir").toString();
@ -777,7 +779,9 @@ void Settings::savePersonal(QString profileName, const ToxEncrypt* passkey) @@ -777,7 +779,9 @@ void Settings::savePersonal(QString profileName, const ToxEncrypt* passkey)
for (auto& frnd : friendLst) {
ps.setArrayIndex(index);
ps.setValue("addr", frnd.addr);
ps.setValue("name", frnd.name);
ps.setValue("alias", frnd.alias);
ps.setValue("statusMessage", frnd.statusMessage);
ps.setValue("note", frnd.note);
ps.setValue("autoAcceptDir", frnd.autoAcceptDir);
ps.setValue("autoAcceptCall", static_cast<int>(frnd.autoAcceptCall));
@ -1893,6 +1897,23 @@ void Settings::updateFriendAddress(const QString& newAddr) @@ -1893,6 +1897,23 @@ void Settings::updateFriendAddress(const QString& newAddr)
frnd.addr = newAddr;
}
QString Settings::getFriendName(const ToxPk& id) const
{
QMutexLocker locker{&bigLock};
auto it = friendLst.find(id.getByteArray());
if (it != friendLst.end())
return it->name;
return QString();
}
void Settings::setFriendName(const ToxPk& id, const QString& name)
{
QMutexLocker locker{&bigLock};
auto& frnd = getOrInsertFriendPropRef(id);
frnd.name = name;
}
QString Settings::getFriendAlias(const ToxPk& id) const
{
QMutexLocker locker{&bigLock};
@ -1910,6 +1931,23 @@ void Settings::setFriendAlias(const ToxPk& id, const QString& alias) @@ -1910,6 +1931,23 @@ void Settings::setFriendAlias(const ToxPk& id, const QString& alias)
frnd.alias = alias;
}
QString Settings::getFriendStatusMessage(const ToxPk& id) const
{
QMutexLocker locker{&bigLock};
auto it = friendLst.find(id.getByteArray());
if (it != friendLst.end())
return it->statusMessage;
return QString();
}
void Settings::setFriendStatusMessage(const ToxPk& id, const QString& message)
{
QMutexLocker locker{&bigLock};
auto& frnd = getOrInsertFriendPropRef(id);
frnd.statusMessage = message;
}
int Settings::getFriendCircleID(const ToxPk& id) const
{
QMutexLocker locker{&bigLock};

8
src/persistence/settings.h

@ -495,9 +495,15 @@ public: @@ -495,9 +495,15 @@ public:
void updateFriendAddress(const QString& newAddr);
QString getFriendName(const ToxPk& id) const override;
void setFriendName(const ToxPk& id, const QString& name) override;
QString getFriendAlias(const ToxPk& id) const override;
void setFriendAlias(const ToxPk& id, const QString& alias) override;
QString getFriendStatusMessage(const ToxPk& id) const override;
void setFriendStatusMessage(const ToxPk& id, const QString& message) override;
int getFriendCircleID(const ToxPk& id) const override;
void setFriendCircleID(const ToxPk& id, int circleID) override;
@ -688,7 +694,9 @@ private: @@ -688,7 +694,9 @@ private:
friendProp(QString addr_)
: addr(addr_)
{}
QString name;
QString alias;
QString statusMessage;
QString addr;
QString autoAcceptDir;
QString note;

Loading…
Cancel
Save