save game query on exit if game is incomplete
[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 protected:
45     void closeEvent(QCloseEvent *event);
46
47 private:
48     MainWindow(QWidget *parent = 0);
49     void createActions();
50     void createMenu();
51
52     static MainWindow *instance_;
53     QAction *newGameAction_;
54     QAction *importAction_;
55     QAction *aboutAction_;
56     QAction *saveAction_;
57
58     QMenu *menu_;
59     QMenu *helpMenu_;
60
61     SettingsDialog *settingsDialog_;
62 };
63 #endif