Skip to content

Commit 2a8d211

Browse files
Extract getValidGameShortName method in download manager (#2380)
1 parent abaf343 commit 2a8d211

2 files changed

Lines changed: 20 additions & 33 deletions

File tree

src/downloadmanager.cpp

Lines changed: 18 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -620,17 +620,7 @@ bool DownloadManager::addDownload(QNetworkReply* reply, const QStringList& URLs,
620620

621621
void DownloadManager::removePending(QString gameName, int modID, int fileID)
622622
{
623-
QString gameShortName = gameName;
624-
QStringList games(m_ManagedGame->validShortNames());
625-
games += m_ManagedGame->gameShortName();
626-
for (auto game : games) {
627-
MOBase::IPluginGame* gamePlugin = m_OrganizerCore->getGame(game);
628-
if (gamePlugin != nullptr &&
629-
gamePlugin->gameNexusName().compare(gameName, Qt::CaseInsensitive) == 0) {
630-
gameShortName = gamePlugin->gameShortName();
631-
break;
632-
}
633-
}
623+
QString gameShortName = getValidGameShortName(gameName);
634624
for (auto iter : m_PendingDownloads) {
635625
if (gameShortName.compare(std::get<0>(iter), Qt::CaseInsensitive) == 0 &&
636626
(std::get<1>(iter) == modID) && (std::get<2>(iter) == fileID)) {
@@ -1909,15 +1899,7 @@ void DownloadManager::nxmFileInfoAvailable(QString gameName, int modID, int file
19091899

19101900
info->repository = "Nexus";
19111901

1912-
QStringList games(m_ManagedGame->validShortNames());
1913-
games += m_ManagedGame->gameShortName();
1914-
for (auto game : games) {
1915-
MOBase::IPluginGame* gamePlugin = m_OrganizerCore->getGame(game);
1916-
if (gamePlugin != nullptr &&
1917-
gamePlugin->gameNexusName().compare(gameName, Qt::CaseInsensitive) == 0) {
1918-
info->gameName = gamePlugin->gameShortName();
1919-
}
1920-
}
1902+
info->gameName = getValidGameShortName(gameName);
19211903

19221904
info->modID = modID;
19231905
info->fileID = fileID;
@@ -2145,19 +2127,7 @@ void DownloadManager::nxmFileInfoFromMd5Available(QString gameName, QVariant use
21452127
info->m_FileInfo->uploader = modDetails["uploaded_by"].toString();
21462128
info->m_FileInfo->uploaderUrl = modDetails["uploaded_users_profile_url"].toString();
21472129

2148-
QString gameShortName = gameName;
2149-
QStringList games(m_ManagedGame->validShortNames());
2150-
games += m_ManagedGame->gameShortName();
2151-
for (auto game : games) {
2152-
MOBase::IPluginGame* gamePlugin = m_OrganizerCore->getGame(game);
2153-
if (gamePlugin != nullptr &&
2154-
gamePlugin->gameNexusName().compare(gameName, Qt::CaseInsensitive) == 0) {
2155-
gameShortName = gamePlugin->gameShortName();
2156-
break;
2157-
}
2158-
}
2159-
2160-
info->m_FileInfo->gameName = gameShortName;
2130+
info->m_FileInfo->gameName = getValidGameShortName(gameName);
21612131

21622132
// If the file description is not present, send another query to get it
21632133
if (!fileDetails["description"].isValid()) {
@@ -2428,3 +2398,18 @@ void DownloadManager::writeData(DownloadInfo* info)
24282398
}
24292399
}
24302400
}
2401+
2402+
QString DownloadManager::getValidGameShortName(const QString& gameNexusName) const
2403+
{
2404+
QStringList games(m_ManagedGame->validShortNames());
2405+
games.prepend(m_ManagedGame->gameShortName());
2406+
for (auto& game : games) {
2407+
MOBase::IPluginGame* gamePlugin = m_OrganizerCore->getGame(game);
2408+
if (gamePlugin != nullptr &&
2409+
gamePlugin->gameNexusName().compare(gameNexusName, Qt::CaseInsensitive) == 0) {
2410+
return gamePlugin->gameShortName();
2411+
}
2412+
}
2413+
2414+
return gameNexusName;
2415+
}

src/downloadmanager.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -675,6 +675,8 @@ private slots:
675675

676676
void writeData(DownloadInfo* info);
677677

678+
QString getValidGameShortName(const QString& gameNexusName) const;
679+
678680
private:
679681
static const int AUTOMATIC_RETRIES = 3;
680682

0 commit comments

Comments
 (0)