Browse Source

refactor(settings, addfriendform): Changed type of friend requests

QPair<QString, QString> changed on new struct Request
pull/3169/head
Diadlo 10 years ago
parent
commit
9f01b662bf
No known key found for this signature in database
GPG Key ID: 5AF9F2E29107C727
  1. 25
      src/persistence/settings.cpp
  2. 12
      src/persistence/settings.h
  3. 7
      src/widget/form/addfriendform.cpp

25
src/persistence/settings.cpp

@ -333,9 +333,10 @@ void Settings::loadPersonal(Profile* profile) @@ -333,9 +333,10 @@ void Settings::loadPersonal(Profile* profile)
for (int i = 0; i < size; i ++)
{
ps.setArrayIndex(i);
QPair<QString, QString> request;
request.first = ps.value("addr").toString();
request.second = ps.value("message").toString();
Request request;
request.address = ps.value("addr").toString();
request.message = ps.value("message").toString();
request.read = ps.value("read").toBool();
friendRequests.push_back(request);
}
ps.endArray();
@ -532,8 +533,9 @@ void Settings::savePersonal(QString profileName, QString password) @@ -532,8 +533,9 @@ void Settings::savePersonal(QString profileName, QString password)
for (auto& request : friendRequests)
{
ps.setArrayIndex(index);
ps.setValue("addr", request.first);
ps.setValue("message", request.second);
ps.setValue("addr", request.address);
ps.setValue("message", request.message);
ps.setValue("read", request.read);
++index;
}
@ -1674,14 +1676,19 @@ bool Settings::addFriendRequest(const QString &friendAddress, const QString &mes @@ -1674,14 +1676,19 @@ bool Settings::addFriendRequest(const QString &friendAddress, const QString &mes
for (auto queued : friendRequests)
{
if (queued.first == friendAddress)
if (queued.address == friendAddress)
{
queued.second = message;
queued.message = message;
queued.read = false;
return false;
}
}
QPair<QString, QString> request(friendAddress, message);
Request request;
request.address = friendAddress;
request.message = message;
request.read = false;
friendRequests.push_back(request);
++unreadFriendRequests;
return true;
@ -1693,7 +1700,7 @@ unsigned int Settings::getUnreadFriendRequests() const @@ -1693,7 +1700,7 @@ unsigned int Settings::getUnreadFriendRequests() const
return unreadFriendRequests;
}
QPair<QString, QString> Settings::getFriendRequest(int index) const
Settings::Request Settings::getFriendRequest(int index) const
{
QMutexLocker locker{&bigLock};
return friendRequests.at(index);

12
src/persistence/settings.h

@ -57,6 +57,14 @@ public: @@ -57,6 +57,14 @@ public:
void loadPersonal();
void loadPersonal(Profile *profile);
struct Request
{
QString address;
QString message;
bool read;
};
public slots:
void saveGlobal(); ///< Asynchronous
void sync(); ///< Waits for all asynchronous operations to complete
@ -299,7 +307,7 @@ public: @@ -299,7 +307,7 @@ public:
bool addFriendRequest(const QString &friendAddress, const QString &message);
unsigned int getUnreadFriendRequests() const;
QPair<QString, QString> getFriendRequest(int index) const;
Request getFriendRequest(int index) const;
int getFriendRequestSize() const;
void clearUnreadFriendRequests();
void removeFriendRequest(int index);
@ -389,7 +397,7 @@ private: @@ -389,7 +397,7 @@ private:
bool autoSaveEnabled;
QString globalAutoAcceptDir;
QList<QPair<QString, QString>> friendRequests;
QList<Request> friendRequests;
unsigned int unreadFriendRequests;
// GUI

7
src/widget/form/addfriendform.cpp

@ -82,8 +82,8 @@ AddFriendForm::AddFriendForm() @@ -82,8 +82,8 @@ AddFriendForm::AddFriendForm()
for (int i = 0; i < size; ++i)
{
QPair<QString, QString> request = Settings::getInstance().getFriendRequest(i);
addFriendRequestWidget(request.first, request.second);
Settings::Request request = Settings::getInstance().getFriendRequest(i);
addFriendRequestWidget(request.address, request.message);
}
}
@ -228,7 +228,8 @@ void AddFriendForm::onFriendRequestAccepted() @@ -228,7 +228,8 @@ void AddFriendForm::onFriendRequestAccepted()
QWidget* friendWidget = acceptButton->parentWidget();
int index = requestsLayout->indexOf(friendWidget);
removeFriendRequestWidget(friendWidget);
emit friendRequestAccepted(Settings::getInstance().getFriendRequest(requestsLayout->count() - index - 1).first);
Settings::Request request = Settings::getInstance().getFriendRequest(requestsLayout->count() - index - 1);
emit friendRequestAccepted(request.address);
Settings::getInstance().removeFriendRequest(requestsLayout->count() - index - 1);
Settings::getInstance().savePersonal();
}

Loading…
Cancel
Save