aboutsummaryrefslogtreecommitdiff
path: root/application/pages/modplatform/ImportPage.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'application/pages/modplatform/ImportPage.cpp')
-rw-r--r--application/pages/modplatform/ImportPage.cpp130
1 files changed, 0 insertions, 130 deletions
diff --git a/application/pages/modplatform/ImportPage.cpp b/application/pages/modplatform/ImportPage.cpp
deleted file mode 100644
index c2369bdc..00000000
--- a/application/pages/modplatform/ImportPage.cpp
+++ /dev/null
@@ -1,130 +0,0 @@
-#include "ImportPage.h"
-#include "ui_ImportPage.h"
-
-#include "MultiMC.h"
-#include "dialogs/NewInstanceDialog.h"
-#include <QFileDialog>
-#include <QValidator>
-#include <InstanceImportTask.h>
-
-class UrlValidator : public QValidator
-{
-public:
- using QValidator::QValidator;
-
- State validate(QString &in, int &pos) const
- {
- const QUrl url(in);
- if (url.isValid() && !url.isRelative() && !url.isEmpty())
- {
- return Acceptable;
- }
- else if (QFile::exists(in))
- {
- return Acceptable;
- }
- else
- {
- return Intermediate;
- }
- }
-};
-
-ImportPage::ImportPage(NewInstanceDialog* dialog, QWidget *parent)
- : QWidget(parent), ui(new Ui::ImportPage), dialog(dialog)
-{
- ui->setupUi(this);
- ui->modpackEdit->setValidator(new UrlValidator(ui->modpackEdit));
- connect(ui->modpackEdit, &QLineEdit::textChanged, this, &ImportPage::updateState);
-}
-
-ImportPage::~ImportPage()
-{
- delete ui;
-}
-
-bool ImportPage::shouldDisplay() const
-{
- return true;
-}
-
-void ImportPage::openedImpl()
-{
- updateState();
-}
-
-void ImportPage::updateState()
-{
- if(!isOpened)
- {
- return;
- }
- if(ui->modpackEdit->hasAcceptableInput())
- {
- QString input = ui->modpackEdit->text();
- auto url = QUrl::fromUserInput(input);
- if(url.isLocalFile())
- {
- // FIXME: actually do some validation of what's inside here... this is fake AF
- QFileInfo fi(input);
- if(fi.exists() && fi.suffix() == "zip")
- {
- QFileInfo fi(url.fileName());
- dialog->setSuggestedPack(fi.completeBaseName(), new InstanceImportTask(url));
- dialog->setSuggestedIcon("default");
- }
- }
- else
- {
- if(input.endsWith("?client=y")) {
- input.chop(9);
- input.append("/file");
- url = QUrl::fromUserInput(input);
- }
- // hook, line and sinker.
- QFileInfo fi(url.fileName());
- dialog->setSuggestedPack(fi.completeBaseName(), new InstanceImportTask(url));
- dialog->setSuggestedIcon("default");
- }
- }
- else
- {
- dialog->setSuggestedPack();
- }
-}
-
-void ImportPage::setUrl(const QString& url)
-{
- ui->modpackEdit->setText(url);
- updateState();
-}
-
-void ImportPage::on_modpackBtn_clicked()
-{
- const QUrl url = QFileDialog::getOpenFileUrl(this, tr("Choose modpack"), modpackUrl(), tr("Zip (*.zip)"));
- if (url.isValid())
- {
- if (url.isLocalFile())
- {
- ui->modpackEdit->setText(url.toLocalFile());
- }
- else
- {
- ui->modpackEdit->setText(url.toString());
- }
- }
-}
-
-
-QUrl ImportPage::modpackUrl() const
-{
- const QUrl url(ui->modpackEdit->text());
- if (url.isValid() && !url.isRelative() && !url.host().isEmpty())
- {
- return url;
- }
- else
- {
- return QUrl::fromLocalFile(ui->modpackEdit->text());
- }
-}