Merge pull request #129 from timoreo22/fix-mod-name
Fixed the download menu putting the wrong name
This commit is contained in:
		@@ -140,14 +140,15 @@ void FlameModPage::onSelectionChanged(QModelIndex first, QModelIndex second)
 | 
			
		||||
            auto packProfile = ((MinecraftInstance *)m_instance)->getPackProfile();
 | 
			
		||||
            QString mcVersion =  packProfile->getComponentVersion("net.minecraft");
 | 
			
		||||
            QString loaderString = (packProfile->getComponentVersion("net.minecraftforge").isEmpty()) ? "fabric" : "forge";
 | 
			
		||||
            for(const auto& version : current.versions) {
 | 
			
		||||
            for(int i = 0; i < current.versions.size(); i++) {
 | 
			
		||||
                auto version = current.versions[i];
 | 
			
		||||
                if(!version.mcVersion.contains(mcVersion)){
 | 
			
		||||
                    continue;
 | 
			
		||||
                }
 | 
			
		||||
                ui->versionSelectionBox->addItem(version.version, QVariant(version.downloadUrl));
 | 
			
		||||
                ui->versionSelectionBox->addItem(version.version, QVariant(i));
 | 
			
		||||
            }
 | 
			
		||||
            if(ui->versionSelectionBox->count() == 0){
 | 
			
		||||
                ui->versionSelectionBox->addItem(tr("No Valid Version found!"), QVariant(""));
 | 
			
		||||
                ui->versionSelectionBox->addItem(tr("No Valid Version found!"), QVariant(-1));
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            suggestCurrent();
 | 
			
		||||
@@ -156,11 +157,11 @@ void FlameModPage::onSelectionChanged(QModelIndex first, QModelIndex second)
 | 
			
		||||
    }
 | 
			
		||||
    else
 | 
			
		||||
    {
 | 
			
		||||
        for(auto version : current.versions) {
 | 
			
		||||
            ui->versionSelectionBox->addItem(version.version, QVariant(version.downloadUrl));
 | 
			
		||||
        for(int i = 0; i < current.versions.size(); i++) {
 | 
			
		||||
            ui->versionSelectionBox->addItem(current.versions[i].version, QVariant(i));
 | 
			
		||||
        }
 | 
			
		||||
        if(ui->versionSelectionBox->count() == 0){
 | 
			
		||||
            ui->versionSelectionBox->addItem(tr("No Valid Version found!"), QVariant(""));
 | 
			
		||||
            ui->versionSelectionBox->addItem(tr("No Valid Version found!"), QVariant(-1));
 | 
			
		||||
        }
 | 
			
		||||
        suggestCurrent();
 | 
			
		||||
    }
 | 
			
		||||
@@ -173,22 +174,23 @@ void FlameModPage::suggestCurrent()
 | 
			
		||||
        return;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (selectedVersion.isEmpty())
 | 
			
		||||
    if (selectedVersion == -1)
 | 
			
		||||
    {
 | 
			
		||||
        dialog->setSuggestedMod();
 | 
			
		||||
        return;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    dialog->setSuggestedMod(current.name, new ModDownloadTask(selectedVersion, current.versions.at(0).fileName ,dialog->mods));
 | 
			
		||||
    auto version = current.versions[selectedVersion];
 | 
			
		||||
    dialog->setSuggestedMod(current.name, new ModDownloadTask(version.downloadUrl, version.fileName , dialog->mods));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void FlameModPage::onVersionSelectionChanged(QString data)
 | 
			
		||||
{
 | 
			
		||||
    if(data.isNull() || data.isEmpty())
 | 
			
		||||
    {
 | 
			
		||||
        selectedVersion = "";
 | 
			
		||||
        selectedVersion = -1;
 | 
			
		||||
        return;
 | 
			
		||||
    }
 | 
			
		||||
    selectedVersion = ui->versionSelectionBox->currentData().toString();
 | 
			
		||||
    selectedVersion = ui->versionSelectionBox->currentData().toInt();
 | 
			
		||||
    suggestCurrent();
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -63,5 +63,5 @@ private:
 | 
			
		||||
    FlameMod::ListModel* listModel = nullptr;
 | 
			
		||||
    FlameMod::IndexedPack current;
 | 
			
		||||
 | 
			
		||||
    QString selectedVersion;
 | 
			
		||||
    int selectedVersion = -1;
 | 
			
		||||
};
 | 
			
		||||
 
 | 
			
		||||
@@ -3,12 +3,14 @@
 | 
			
		||||
#include "minecraft/MinecraftInstance.h"
 | 
			
		||||
#include "minecraft/PackProfile.h"
 | 
			
		||||
#include "ModrinthPage.h"
 | 
			
		||||
#include "ui/dialogs/ModDownloadDialog.h"
 | 
			
		||||
#include <Json.h>
 | 
			
		||||
 | 
			
		||||
#include <MMCStrings.h>
 | 
			
		||||
#include <Version.h>
 | 
			
		||||
 | 
			
		||||
#include <QtMath>
 | 
			
		||||
#include <QMessageBox>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
namespace Modrinth {
 | 
			
		||||
@@ -250,6 +252,12 @@ void Modrinth::ListModel::searchRequestFinished()
 | 
			
		||||
 | 
			
		||||
void Modrinth::ListModel::searchRequestFailed(QString reason)
 | 
			
		||||
{
 | 
			
		||||
    if(jobPtr->first()->m_reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt() == 409){
 | 
			
		||||
        //409 Gone, notify user to update
 | 
			
		||||
        QMessageBox::critical(nullptr, tr("Error"), tr("Modrinth API version too old!\nPlease update PolyMC!"));
 | 
			
		||||
        //self-destruct
 | 
			
		||||
        ((ModDownloadDialog *)((ModrinthPage *)parent())->parentWidget())->reject();
 | 
			
		||||
    }
 | 
			
		||||
    jobPtr.reset();
 | 
			
		||||
 | 
			
		||||
    if(searchState == ResetRequested) {
 | 
			
		||||
 
 | 
			
		||||
@@ -125,14 +125,15 @@ void ModrinthPage::onSelectionChanged(QModelIndex first, QModelIndex second)
 | 
			
		||||
            auto packProfile = ((MinecraftInstance *)m_instance)->getPackProfile();
 | 
			
		||||
            QString mcVersion =  packProfile->getComponentVersion("net.minecraft");
 | 
			
		||||
            QString loaderString = (packProfile->getComponentVersion("net.minecraftforge").isEmpty()) ? "fabric" : "forge";
 | 
			
		||||
            for(const auto& version : current.versions) {
 | 
			
		||||
            for(int i = 0; i < current.versions.size(); i++) {
 | 
			
		||||
                auto version = current.versions[i];
 | 
			
		||||
                if(!version.mcVersion.contains(mcVersion) || !version.loaders.contains(loaderString)){
 | 
			
		||||
                    continue;
 | 
			
		||||
                }
 | 
			
		||||
                ui->versionSelectionBox->addItem(version.version, QVariant(version.downloadUrl));
 | 
			
		||||
                ui->versionSelectionBox->addItem(version.version, QVariant(i));
 | 
			
		||||
            }
 | 
			
		||||
            if(ui->versionSelectionBox->count() == 0){
 | 
			
		||||
                ui->versionSelectionBox->addItem(tr("No Valid Version found !"), QVariant(""));
 | 
			
		||||
                ui->versionSelectionBox->addItem(tr("No Valid Version found !"), QVariant(-1));
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            suggestCurrent();
 | 
			
		||||
@@ -141,11 +142,11 @@ void ModrinthPage::onSelectionChanged(QModelIndex first, QModelIndex second)
 | 
			
		||||
    }
 | 
			
		||||
    else
 | 
			
		||||
    {
 | 
			
		||||
        for(auto version : current.versions) {
 | 
			
		||||
            ui->versionSelectionBox->addItem(version.version, QVariant(version.downloadUrl));
 | 
			
		||||
        for(int i = 0; i < current.versions.size(); i++) {
 | 
			
		||||
            ui->versionSelectionBox->addItem(current.versions[i].version, QVariant(i));
 | 
			
		||||
        }
 | 
			
		||||
        if(ui->versionSelectionBox->count() == 0){
 | 
			
		||||
            ui->versionSelectionBox->addItem(tr("No Valid Version found !"), QVariant(""));
 | 
			
		||||
            ui->versionSelectionBox->addItem(tr("No Valid Version found !"), QVariant(-1));
 | 
			
		||||
        }
 | 
			
		||||
        suggestCurrent();
 | 
			
		||||
    }
 | 
			
		||||
@@ -158,22 +159,22 @@ void ModrinthPage::suggestCurrent()
 | 
			
		||||
        return;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (selectedVersion.isEmpty())
 | 
			
		||||
    if (selectedVersion == -1)
 | 
			
		||||
    {
 | 
			
		||||
        dialog->setSuggestedMod();
 | 
			
		||||
        return;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    dialog->setSuggestedMod(current.name, new ModDownloadTask(selectedVersion, current.versions.at(0).fileName ,dialog->mods));
 | 
			
		||||
    auto version = current.versions[selectedVersion];
 | 
			
		||||
    dialog->setSuggestedMod(current.name, new ModDownloadTask(version.downloadUrl, version.fileName , dialog->mods));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void ModrinthPage::onVersionSelectionChanged(QString data)
 | 
			
		||||
{
 | 
			
		||||
    if(data.isNull() || data.isEmpty())
 | 
			
		||||
    {
 | 
			
		||||
        selectedVersion = "";
 | 
			
		||||
        selectedVersion = -1;
 | 
			
		||||
        return;
 | 
			
		||||
    }
 | 
			
		||||
    selectedVersion = ui->versionSelectionBox->currentData().toString();
 | 
			
		||||
    selectedVersion = ui->versionSelectionBox->currentData().toInt();
 | 
			
		||||
    suggestCurrent();
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -63,5 +63,5 @@ private:
 | 
			
		||||
    Modrinth::ListModel* listModel = nullptr;
 | 
			
		||||
    Modrinth::IndexedPack current;
 | 
			
		||||
 | 
			
		||||
    QString selectedVersion;
 | 
			
		||||
    int selectedVersion = -1;
 | 
			
		||||
};
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user