2 ** Copyright 2010 Mikko Keinänen
4 ** This file is part of EmuFront.
7 ** EmuFront is free software: you can redistribute it and/or modify
8 ** it under the terms of the GNU General Public License version 2 as published by
9 ** the Free Software Foundation and appearing in the file gpl.txt included in the
10 ** packaging of this file.
12 ** EmuFront is distributed in the hope that it will be useful,
13 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
14 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 ** GNU General Public License for more details.
17 ** You should have received a copy of the GNU General Public License
18 ** along with EmuFront. If not, see <http://www.gnu.org/licenses/>.
24 #include <QMainWindow>
27 class PlatformEditView;
28 class MediaTypeEditView;
29 class MediaTypeEditView;
30 class FilePathEditView;
32 class ExternalExecutableEditView;
34 class DatabaseManager;
40 class ExternalExecutableModel;
44 class MainWindow : public QMainWindow
49 MainWindow(bool reset = false);
53 void closeEvent(QCloseEvent *event);
56 void configurePlatforms();
57 void configureMediaTypes();
58 void configureMediaImagePaths();
59 void configureSetups();
60 void configureEmulators();
61 void configureTmpDir();
64 void manageDatFiles();
68 static QString aboutStr;
69 static QString aboutTitle;
72 void createStatusBar();
76 void connectSignals();
77 void activateDialog(EmuFrontDialog*) const;
78 bool testDB(bool reset);
79 void createDB() const;
81 PlatformEditView *plfDialog;
82 MediaTypeEditView *mdtDialog;
83 FilePathEditView *mediaImagePathView;
84 SetupEditView *setupMainView;
85 ExternalExecutableEditView *emulatorEditView;
89 QAction *configPlatformsAction;
90 QAction *configMediaTypesAction;
91 QAction *configMediaImagePathsAction;
92 QAction *configSetupsAction;
93 QAction *configEmulatorsAction;
95 QAction *resetDbAction;
97 QAction *configTmpDirAction;
98 QAction *manageDatFilesAction;
100 DatabaseManager *dbManager;
101 EmuLauncher *launcher;
102 QString tmpDirFilePath;
103 QErrorMessage *errorMessage;
104 SetupModel *supModel;
105 ExternalExecutableModel *emuModel;
106 PlatformModel *plfModel;
107 MediaTypeModel *mdtModel;