mirror of
				https://github.com/OpenMW/openmw.git
				synced 2025-11-04 05:56:39 +00:00 
			
		
		
		
	Detected by clang-tidy's modernize-use-override Future MRs can be created to run this on OpenMW and OpenMW CS
		
			
				
	
	
		
			89 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			89 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
#ifndef MAINWIZARD_HPP
 | 
						|
#define MAINWIZARD_HPP
 | 
						|
 | 
						|
#include <QWizard>
 | 
						|
 | 
						|
#include <components/process/processinvoker.hpp>
 | 
						|
 | 
						|
#ifndef Q_MOC_RUN
 | 
						|
#include <components/files/configurationmanager.hpp>
 | 
						|
 | 
						|
#include <components/config/gamesettings.hpp>
 | 
						|
#include <components/config/launchersettings.hpp>
 | 
						|
#endif
 | 
						|
 | 
						|
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:
 | 
						|
        /// convert boost::filesystem::path to QString
 | 
						|
        QString toQString(const boost::filesystem::path& path);
 | 
						|
 | 
						|
        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
 |