mirror of
https://github.com/qTox/qTox.git
synced 2024-03-22 14:00:36 +08:00
refactor(settings, addfriendform): Changed type of friend requests
QPair<QString, QString> changed on new struct Request
This commit is contained in:
parent
edc35ba9df
commit
9f01b662bf
|
@ -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)
|
|||
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
|
|||
|
||||
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
|
|||
return unreadFriendRequests;
|
||||
}
|
||||
|
||||
QPair<QString, QString> Settings::getFriendRequest(int index) const
|
||||
Settings::Request Settings::getFriendRequest(int index) const
|
||||
{
|
||||
QMutexLocker locker{&bigLock};
|
||||
return friendRequests.at(index);
|
||||
|
|
|
@ -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:
|
|||
|
||||
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:
|
|||
bool autoSaveEnabled;
|
||||
QString globalAutoAcceptDir;
|
||||
|
||||
QList<QPair<QString, QString>> friendRequests;
|
||||
QList<Request> friendRequests;
|
||||
unsigned int unreadFriendRequests;
|
||||
|
||||
// GUI
|
||||
|
|
|
@ -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()
|
|||
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…
Reference in New Issue
Block a user