mirror of
				https://github.com/OpenMW/openmw.git
				synced 2025-10-31 22:26:41 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			103 lines
		
	
	
	
		
			2.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			103 lines
		
	
	
	
		
			2.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #ifndef MAINDIALOG_H
 | |
| #define MAINDIALOG_H
 | |
| 
 | |
| #include <QMainWindow>
 | |
| #include <QProcess>
 | |
| 
 | |
| #ifndef Q_MOC_RUN
 | |
| #include <components/files/configurationmanager.hpp>
 | |
| #endif
 | |
| 
 | |
| #include <components/process/processinvoker.hpp>
 | |
| 
 | |
| #include <components/config/gamesettings.hpp>
 | |
| #include <components/config/launchersettings.hpp>
 | |
| 
 | |
| #include <components/settings/settings.hpp>
 | |
| 
 | |
| #include "ui_mainwindow.h"
 | |
| 
 | |
| class QListWidgetItem;
 | |
| class QStackedWidget;
 | |
| class QStringList;
 | |
| class QStringListModel;
 | |
| class QString;
 | |
| 
 | |
| namespace Launcher
 | |
| {
 | |
|     class PlayPage;
 | |
|     class GraphicsPage;
 | |
|     class DataFilesPage;
 | |
|     class UnshieldThread;
 | |
|     class SettingsPage;
 | |
| 
 | |
|     enum FirstRunDialogResult
 | |
|     {
 | |
|         FirstRunDialogResultFailure,
 | |
|         FirstRunDialogResultContinue,
 | |
|         FirstRunDialogResultWizard
 | |
|     };
 | |
| 
 | |
| #ifndef WIN32
 | |
|     bool expansions(Launcher::UnshieldThread& cd);
 | |
| #endif
 | |
| 
 | |
|     class MainDialog : public QMainWindow, private Ui::MainWindow
 | |
|     {
 | |
|         Q_OBJECT
 | |
| 
 | |
|     public:
 | |
|         explicit MainDialog(QWidget *parent = 0);
 | |
|         ~MainDialog();
 | |
| 
 | |
|         FirstRunDialogResult showFirstRunDialog();
 | |
| 
 | |
|         bool reloadSettings();
 | |
|         bool writeSettings();
 | |
| 
 | |
|     public slots:
 | |
|         void changePage(QListWidgetItem *current, QListWidgetItem *previous);
 | |
|         void play();
 | |
| 
 | |
|     private slots:
 | |
|         void wizardStarted();
 | |
|         void wizardFinished(int exitCode, QProcess::ExitStatus exitStatus);
 | |
| 
 | |
|     private:
 | |
|         bool setup();
 | |
| 
 | |
|         void createIcons();
 | |
|         void createPages();
 | |
| 
 | |
|         bool setupLauncherSettings();
 | |
|         bool setupGameSettings();
 | |
|         bool setupGraphicsSettings();
 | |
|         bool setupGameData();
 | |
| 
 | |
|         void setVersionLabel();
 | |
| 
 | |
|         void loadSettings();
 | |
|         void saveSettings();
 | |
| 
 | |
|         inline bool startProgram(const QString &name, bool detached = false) { return startProgram(name, QStringList(), detached); }
 | |
|         bool startProgram(const QString &name, const QStringList &arguments, bool detached = false);
 | |
| 
 | |
|         void closeEvent(QCloseEvent *event);
 | |
| 
 | |
|         PlayPage *mPlayPage;
 | |
|         GraphicsPage *mGraphicsPage;
 | |
|         DataFilesPage *mDataFilesPage;
 | |
|         SettingsPage *mSettingsPage;
 | |
| 
 | |
|         Process::ProcessInvoker *mGameInvoker;
 | |
|         Process::ProcessInvoker *mWizardInvoker;
 | |
| 
 | |
|         Files::ConfigurationManager mCfgMgr;
 | |
| 
 | |
|         Config::GameSettings mGameSettings;
 | |
|         Settings::Manager mEngineSettings;
 | |
|         Config::LauncherSettings mLauncherSettings;
 | |
| 
 | |
|     };
 | |
| }
 | |
| #endif
 |