From bd986bfb2176547dc6a2046ebae0a175fb84ef5b Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Thu, 5 Jul 2018 20:54:31 -0700 Subject: [PATCH] Sort the app list in alphabetical order --- app/backend/computermanager.cpp | 8 ++++++++ app/backend/computermanager.h | 6 ++++++ 2 files changed, 14 insertions(+) diff --git a/app/backend/computermanager.cpp b/app/backend/computermanager.cpp index 6157df23..91b15d11 100644 --- a/app/backend/computermanager.cpp +++ b/app/backend/computermanager.cpp @@ -42,6 +42,7 @@ NvComputer::NvComputer(QSettings& settings) this->appList.append(app); } settings.endArray(); + sortAppList(); this->activeAddress = nullptr; this->currentGameId = 0; @@ -79,6 +80,13 @@ NvComputer::serialize(QSettings& settings) } } +void NvComputer::sortAppList() +{ + std::stable_sort(appList.begin(), appList.end(), [](const NvApp& app1, const NvApp& app2) { + return app1.name.toLower() < app2.name.toLower(); + }); +} + NvComputer::NvComputer(QString address, QString serverInfo) { this->name = NvHTTP::getXmlString(serverInfo, "hostname"); diff --git a/app/backend/computermanager.h b/app/backend/computermanager.h index 4343658f..ae3bf3b3 100644 --- a/app/backend/computermanager.h +++ b/app/backend/computermanager.h @@ -13,6 +13,11 @@ class NvComputer { + friend class PcMonitorThread; + +private: + void sortAppList(); + public: explicit NvComputer(QString address, QString serverInfo); @@ -126,6 +131,7 @@ private: QWriteLocker lock(&m_Computer->lock); if (m_Computer->appList != appList) { m_Computer->appList = appList; + m_Computer->sortAppList(); changed = true; }