Changing settings dialog logic and menu changes
[impuzzle] / src / mainwindow.h
1 /*
2   Image Puzzle - A set your pieces straight game
3   Copyright (C) 2009  Timo Härkönen
4
5   This program is free software: you can redistribute it and/or modify
6   it under the terms of the GNU General Public License as published by
7   the Free Software Foundation, either version 3 of the License, or
8   (at your option) any later version.
9
10   This program is distributed in the hope that it will be useful,
11   but WITHOUT ANY WARRANTY; without even the implied warranty of
12   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13   GNU General Public License for more details.
14
15   You should have received a copy of the GNU General Public License
16   along with this program.  If not, see <http://www.gnu.org/licenses/>.
17  */
18
19 #ifndef MAINWINDOW_H
20 #define MAINWINDOW_H
21
22 #include <QMainWindow>
23
24 class QAction;
25 class QMenu;
26 class SettingsDialog;
27
28 class MainWindow : public QMainWindow
29 {
30     Q_OBJECT
31
32 public:
33     static MainWindow *instance();
34
35 public slots:
36     void newGameClicked();
37
38 private slots:
39     void importClicked();
40     void aboutClicked();
41     void gameEnded();
42     void enableSaving();
43
44 private:
45     MainWindow(QWidget *parent = 0);
46     void createActions();
47     void createMenu();
48
49     static MainWindow *instance_;
50     QAction *newGameAction_;
51     QAction *importAction_;
52     QAction *aboutAction_;
53     QAction *saveAction_;
54
55     QMenu *menu_;
56     QMenu *helpMenu_;
57
58     SettingsDialog *settingsDialog_;
59 };
60 #endif