From 9049e65c5e1f29792b596a8e84a749d2de7ea792 Mon Sep 17 00:00:00 2001 From: Jonathan Feenstra <26406078+JonathanFeenstra@users.noreply.github.com> Date: Thu, 2 Jan 2025 14:10:53 +0100 Subject: Add startDownloadNexusFileForGame (#2181) --- src/downloadmanager.cpp | 9 ++++----- src/downloadmanager.h | 2 +- src/downloadmanagerproxy.cpp | 9 ++++++++- src/downloadmanagerproxy.h | 2 ++ 4 files changed, 15 insertions(+), 7 deletions(-) diff --git a/src/downloadmanager.cpp b/src/downloadmanager.cpp index 730803f6..5156c357 100644 --- a/src/downloadmanager.cpp +++ b/src/downloadmanager.cpp @@ -1907,13 +1907,12 @@ int DownloadManager::startDownloadURLs(const QStringList& urls) return m_ActiveDownloads.size() - 1; } -int DownloadManager::startDownloadNexusFile(int modID, int fileID) +int DownloadManager::startDownloadNexusFile(const QString& gameName, int modID, + int fileID) { int newID = m_ActiveDownloads.size(); - addNXMDownload(QString("nxm://%1/mods/%2/files/%3") - .arg(m_ManagedGame->gameShortName()) - .arg(modID) - .arg(fileID)); + addNXMDownload( + QString("nxm://%1/mods/%2/files/%3").arg(gameName).arg(modID).arg(fileID)); return newID; } diff --git a/src/downloadmanager.h b/src/downloadmanager.h index 1e7a626e..1ebe44c2 100644 --- a/src/downloadmanager.h +++ b/src/downloadmanager.h @@ -404,7 +404,7 @@ public: public: // IDownloadManager interface: int startDownloadURLs(const QStringList& urls); - int startDownloadNexusFile(int modID, int fileID); + int startDownloadNexusFile(const QString& gameName, int modID, int fileID); QString downloadPath(int id); boost::signals2::connection diff --git a/src/downloadmanagerproxy.cpp b/src/downloadmanagerproxy.cpp index ab4ed83b..3d7040d8 100644 --- a/src/downloadmanagerproxy.cpp +++ b/src/downloadmanagerproxy.cpp @@ -43,7 +43,14 @@ int DownloadManagerProxy::startDownloadURLs(const QStringList& urls) int DownloadManagerProxy::startDownloadNexusFile(int modID, int fileID) { - return m_Proxied->startDownloadNexusFile(modID, fileID); + return m_Proxied->startDownloadNexusFile( + m_OrganizerProxy->managedGame()->gameNexusName(), modID, fileID); +} + +int DownloadManagerProxy::startDownloadNexusFileForGame(const QString& gameName, + int modID, int fileID) +{ + return m_Proxied->startDownloadNexusFile(gameName, modID, fileID); } QString DownloadManagerProxy::downloadPath(int id) diff --git a/src/downloadmanagerproxy.h b/src/downloadmanagerproxy.h index dde4efe1..8dd2e885 100644 --- a/src/downloadmanagerproxy.h +++ b/src/downloadmanagerproxy.h @@ -15,6 +15,8 @@ public: int startDownloadURLs(const QStringList& urls) override; int startDownloadNexusFile(int modID, int fileID) override; + int startDownloadNexusFileForGame(const QString& gameName, int modID, + int fileID) override; QString downloadPath(int id) override; bool onDownloadComplete(const std::function& callback) override; -- cgit v1.3.1