mirror of
				https://github.com/OpenMW/openmw.git
				synced 2025-11-04 07:56:40 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			91 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
#ifndef MAINWIZARD_HPP
 | 
						|
#define MAINWIZARD_HPP
 | 
						|
 | 
						|
#include <QProcess>
 | 
						|
#include <QWizard>
 | 
						|
 | 
						|
#ifndef Q_MOC_RUN
 | 
						|
#include <components/files/configurationmanager.hpp>
 | 
						|
 | 
						|
#include <components/config/gamesettings.hpp>
 | 
						|
#include <components/config/launchersettings.hpp>
 | 
						|
#endif
 | 
						|
 | 
						|
namespace Process
 | 
						|
{
 | 
						|
    class ProcessInvoker;
 | 
						|
}
 | 
						|
 | 
						|
namespace Wizard
 | 
						|
{
 | 
						|
    class MainWizard : public QWizard
 | 
						|
    {
 | 
						|
        Q_OBJECT
 | 
						|
 | 
						|
    public:
 | 
						|
        struct Installation
 | 
						|
        {
 | 
						|
            bool hasMorrowind;
 | 
						|
            bool hasTribunal;
 | 
						|
            bool hasBloodmoon;
 | 
						|
 | 
						|
            QString iniPath;
 | 
						|
        };
 | 
						|
 | 
						|
        enum
 | 
						|
        {
 | 
						|
            Page_Intro,
 | 
						|
            Page_MethodSelection,
 | 
						|
            Page_LanguageSelection,
 | 
						|
            Page_ExistingInstallation,
 | 
						|
            Page_InstallationTarget,
 | 
						|
            Page_ComponentSelection,
 | 
						|
            Page_Installation,
 | 
						|
            Page_Import,
 | 
						|
            Page_Conclusion
 | 
						|
        };
 | 
						|
 | 
						|
        MainWizard(QWidget* parent = nullptr);
 | 
						|
        ~MainWizard() override;
 | 
						|
 | 
						|
        bool findFiles(const QString& name, const QString& path);
 | 
						|
        void addInstallation(const QString& path);
 | 
						|
        void runSettingsImporter();
 | 
						|
 | 
						|
        QMap<QString, Installation> mInstallations;
 | 
						|
 | 
						|
        Files::ConfigurationManager mCfgMgr;
 | 
						|
 | 
						|
        Process::ProcessInvoker* mImporterInvoker;
 | 
						|
 | 
						|
        bool mError;
 | 
						|
 | 
						|
    public slots:
 | 
						|
        void addLogText(const QString& text);
 | 
						|
 | 
						|
    private:
 | 
						|
        void setupLog();
 | 
						|
        void setupGameSettings();
 | 
						|
        void setupLauncherSettings();
 | 
						|
        void setupInstallations();
 | 
						|
        void setupPages();
 | 
						|
 | 
						|
        void writeSettings();
 | 
						|
 | 
						|
        Config::GameSettings mGameSettings;
 | 
						|
        Config::LauncherSettings mLauncherSettings;
 | 
						|
 | 
						|
        QString mLogError;
 | 
						|
 | 
						|
    private slots:
 | 
						|
 | 
						|
        void importerStarted();
 | 
						|
        void importerFinished(int exitCode, QProcess::ExitStatus exitStatus);
 | 
						|
 | 
						|
        void accept() override;
 | 
						|
        void reject() override;
 | 
						|
    };
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
#endif // MAINWIZARD_HPP
 |