From 8e44ab2338f4ca63d58de4b3329c384df9d6c053 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Mon, 19 Mar 2018 02:36:12 +0100 Subject: NOISSUE redo new instance dialog --- application/dialogs/NewInstanceDialog.h | 43 ++++++++++++++------------------- 1 file changed, 18 insertions(+), 25 deletions(-) (limited to 'application/dialogs/NewInstanceDialog.h') diff --git a/application/dialogs/NewInstanceDialog.h b/application/dialogs/NewInstanceDialog.h index f1fe26f4..ca134d32 100644 --- a/application/dialogs/NewInstanceDialog.h +++ b/application/dialogs/NewInstanceDialog.h @@ -18,15 +18,19 @@ #include #include "BaseVersion.h" -#include "modplatform/ftb/FtbPackDownloader.h" -#include "modplatform/ftb/PackHelpers.h" +#include "pages/BasePageProvider.h" +#include "InstanceTask.h" namespace Ui { class NewInstanceDialog; } -class NewInstanceDialog : public QDialog +class PageContainer; +class QDialogButtonBox; +class ImportPage; + +class NewInstanceDialog : public QDialog, public BasePageProvider { Q_OBJECT @@ -36,39 +40,28 @@ public: void updateDialogState(); - void setSelectedVersion(BaseVersionPtr version); + void setSuggestedPack(const QString & name = QString(), InstanceTask * task = nullptr); + InstanceTask * extractTask(); + + QString dialogTitle() override; + QList getPages() override; QString instName() const; QString instGroup() const; QString iconKey() const; - QUrl modpackUrl() const; - BaseVersionPtr selectedVersion() const; - - bool isFtbModpackRequested(); - FtbPackDownloader* getFtbPackDownloader(); private slots: - void on_btnChangeVersion_clicked(); void on_iconButton_clicked(); - void on_modpackBtn_clicked(); - void on_btnChooseFtbPack_clicked(); void on_instNameTextBox_textChanged(const QString &arg1); - void versionListUpdated(); - - void ftbPackDataDownloadSuccessfully(); - void ftbPackDataDownloadFailed(); + virtual void closeEvent(QCloseEvent *event); private: - Ui::NewInstanceDialog *ui; - - bool m_versionSetByUser = false; - bool ftbModpackRequested = false; + Ui::NewInstanceDialog *ui = nullptr; + PageContainer * m_container = nullptr; + QDialogButtonBox * m_buttons = nullptr; - BaseVersionPtr m_selectedVersion; QString InstIconKey; - QString originalPlaceholderText; - - FtbPackDownloader* ftbPackDownloader; - FtbModpack selectedPack; + ImportPage *importPage = nullptr; + std::unique_ptr creationTask; }; -- cgit v1.2.3