From cba7e2dc362238cbfa9bcc680d164c828cd39836 Mon Sep 17 00:00:00 2001 From: iTrooz Date: Sun, 17 Nov 2024 00:02:24 +0100 Subject: [PATCH] use std::optional<> to signify when there is no value --- launcher/ui/pages/instance/ServersPage.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/launcher/ui/pages/instance/ServersPage.cpp b/launcher/ui/pages/instance/ServersPage.cpp index a3c1ef702..5ab97f6cb 100644 --- a/launcher/ui/pages/instance/ServersPage.cpp +++ b/launcher/ui/pages/instance/ServersPage.cpp @@ -125,7 +125,7 @@ struct Server { bool m_checked = false; bool m_up = false; QString m_motd; // https://mctools.org/motd-creator - int m_currentPlayers = 0; + std::optional m_currentPlayers; // nullopt if not calculated/calculating int m_maxPlayers = 0; }; @@ -146,6 +146,7 @@ class ServerPingTask : public Task { qDebug() << "Resolved Addresse for" << domain << ": " << ip << ":" << port; McClient client(nullptr, domain, ip, port); int online = client.getOnlinePlayers(); + qDebug() << "Online players: " << online; m_server.m_currentPlayers = online; client.close(); @@ -385,7 +386,11 @@ class ServersModel : public QAbstractListModel { case 2: switch (role) { case Qt::DisplayRole: - return m_servers[row].m_currentPlayers; + if (m_servers[row].m_currentPlayers) { + return *m_servers[row].m_currentPlayers; + } else { + return "..."; + } default: return QVariant(); }