#ifndef IMPORTSPAGE_HPP #define IMPORTSPAGE_HPP #include #include "ui_importpage.h" #include "maindialog.hpp" namespace Files { struct ConfigurationManager; } namespace Config { class GameSettings; class LauncherSettings; } namespace Launcher { class TextInputDialog; class ImportPage : public QWidget, private Ui::ImportPage { Q_OBJECT public: explicit ImportPage(const Files::ConfigurationManager& cfg, Config::GameSettings& gameSettings, Config::LauncherSettings& launcherSettings, MainDialog* parent = nullptr); ~ImportPage() override; void saveSettings(); bool loadSettings(); /// set progress bar on page to 0% void resetProgressBar(); private slots: void on_wizardButton_clicked(); void on_importerButton_clicked(); void on_browseButton_clicked(); void wizardStarted(); void wizardFinished(int exitCode, QProcess::ExitStatus exitStatus); void importerStarted(); void importerFinished(int exitCode, QProcess::ExitStatus exitStatus); private: Process::ProcessInvoker* mWizardInvoker; Process::ProcessInvoker* mImporterInvoker; const Files::ConfigurationManager& mCfgMgr; Config::GameSettings& mGameSettings; Config::LauncherSettings& mLauncherSettings; MainDialog* mMain; }; } #endif // IMPORTSPAGE_HPP