fix: when given a remost resource, download and identify it before import.

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
This commit is contained in:
Rachel Powers
2023-05-15 16:34:33 -07:00
parent b1ffc8ddab
commit fc656b6927
9 changed files with 159 additions and 38 deletions

View File

@ -62,9 +62,10 @@
#include "ui/pages/modplatform/modrinth/ModrinthPage.h"
#include "ui/pages/modplatform/technic/TechnicPage.h"
NewInstanceDialog::NewInstanceDialog(const QString & initialGroup, const QString & url, QWidget *parent)
NewInstanceDialog::NewInstanceDialog(const QString& initialGroup,
const QString& url,
const QMap<QString, QString>& extra_info,
QWidget* parent)
: QDialog(parent), ui(new Ui::NewInstanceDialog)
{
ui->setupUi(this);
@ -128,6 +129,7 @@ NewInstanceDialog::NewInstanceDialog(const QString & initialGroup, const QString
QUrl actualUrl(url);
m_container->selectPage("import");
importPage->setUrl(url);
importPage->setExtraInfo(extra_info);
}
updateDialogState();

View File

@ -55,24 +55,27 @@ class NewInstanceDialog : public QDialog, public BasePageProvider
Q_OBJECT
public:
explicit NewInstanceDialog(const QString & initialGroup, const QString & url = QString(), QWidget *parent = 0);
~NewInstanceDialog();
explicit NewInstanceDialog(const QString& initialGroup,
const QString& url = QString(),
const QMap<QString, QString>& extra_info = {},
QWidget* parent = 0);
~NewInstanceDialog();
void updateDialogState();
void updateDialogState();
void setSuggestedPack(const QString& name = QString(), InstanceTask * task = nullptr);
void setSuggestedPack(const QString& name, QString version, InstanceTask * task = nullptr);
void setSuggestedIconFromFile(const QString &path, const QString &name);
void setSuggestedIcon(const QString &key);
void setSuggestedPack(const QString& name = QString(), InstanceTask* task = nullptr);
void setSuggestedPack(const QString& name, QString version, InstanceTask* task = nullptr);
void setSuggestedIconFromFile(const QString& path, const QString& name);
void setSuggestedIcon(const QString& key);
InstanceTask * extractTask();
InstanceTask* extractTask();
QString dialogTitle() override;
QList<BasePage *> getPages() override;
QString dialogTitle() override;
QList<BasePage*> getPages() override;
QString instName() const;
QString instGroup() const;
QString iconKey() const;
QString instName() const;
QString instGroup() const;
QString iconKey() const;
public slots:
void accept() override;