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