Reset online players UI component when refreshing

This commit is contained in:
iTrooz 2024-11-29 00:58:08 +01:00
parent b0778e7a1f
commit 01db826ec9
No known key found for this signature in database
GPG Key ID: 8B83F77667B1BC6A

View File

@ -459,9 +459,16 @@ class ServersModel : public QAbstractListModel {
currentQueryTask = new ConcurrentTask("Query servers status", APPLICATION->settings()->get("NumberOfConcurrentTasks").toInt());
int row = 0;
for (Server &server : m_servers) {
// reset current players
server.m_currentPlayers = {};
emit dataChanged(index(row, 0), index(row, COLUMN_COUNT - 1));
// Start task to query server status
auto [domain, port] = server.splitAddress();
auto *task = new ServerPingTask(domain, port);
currentQueryTask->addTask(Task::Ptr(task));
// Update the model when the task is done
connect(task, &Task::finished, this, [this, task, row, &server]() {
server.m_currentPlayers = task->m_outputOnlinePlayers;
emit dataChanged(index(row, 0), index(row, COLUMN_COUNT - 1));