Renamed some private slots.
[emufront] / src / mainwindow.h
1 /* ** EmuFront
2 ** Copyright 2010 Mikko Keinänen
3 **
4 ** This file is part of EmuFront.
5 **
6 **
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.
11 **
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.
16 **
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/>.
19 */
20
21 #ifndef MAINWINDOW_H
22 #define MAINWINDOW_H
23
24 #include <QMainWindow>
25
26 class QAction;
27 class PlatformEditView;
28 class MediaTypeEditView;
29 class MediaTypeEditView;
30 class FilePathEditView;
31 class SetupEditView;
32 class ExternalExecutableEditView;
33 class QLabel;
34 class DatabaseManager;
35 class EmuFrontDialog;
36 class EmuLauncher;
37 class DatFileUtil;
38 class QErrorMessage;
39 class SetupModel;
40 class ExternalExecutableModel;
41 class PlatformModel;
42 class MediaTypeModel;
43
44 class MainWindow : public QMainWindow
45 {
46         Q_OBJECT
47
48 public:
49     MainWindow(bool reset = false);
50     //~MainWindow()
51
52 protected:
53         void closeEvent(QCloseEvent *event);
54
55 private slots:
56     void configurePlatforms();
57     void configureMediaTypes();
58     void configureMediaImagePaths();
59     void configureSetups();
60     void configureEmulators();
61     void configureTmpDir();
62     void resetDb();
63     void updateData();
64     void manageDatFiles();
65     void about();
66
67 private:
68     static QString aboutStr;
69     static QString aboutTitle;
70     void createActions();
71         void createMenus();
72         void createStatusBar();
73         void readSettings();
74         void writeSettings();
75         bool okToContinue();
76     void connectSignals();
77     void activateDialog(EmuFrontDialog*) const;
78     bool testDB(bool reset);
79     void createDB() const;
80
81     PlatformEditView *plfDialog;
82     MediaTypeEditView *mdtDialog;
83     FilePathEditView *mediaImagePathView;
84     SetupEditView *setupMainView;
85     ExternalExecutableEditView *emulatorEditView;
86         QMenu *configMenu;
87     QMenu *fileMenu;
88     QMenu *helpMenu;
89     QAction *configPlatformsAction;
90     QAction *configMediaTypesAction;
91     QAction *configMediaImagePathsAction;
92     QAction *configSetupsAction;
93     QAction *configEmulatorsAction;
94     QAction *exitAction;
95     QAction *resetDbAction;
96     QAction *aboutAction;
97     QAction *configTmpDirAction;
98     QAction *manageDatFilesAction;
99         QLabel *messageLabel;
100     DatabaseManager *dbManager;
101     EmuLauncher *launcher;
102     QString tmpDirFilePath;
103     QErrorMessage *errorMessage;
104     SetupModel *supModel;
105     ExternalExecutableModel *emuModel;
106     PlatformModel *plfModel;
107     MediaTypeModel *mdtModel;
108 };
109
110 #endif