393875bec989fc58d5cc6e92f2e6430e7bfc7ae5
[kitchenalert] / src / kitchenalertmainwindow.h
1 /**************************************************************************
2         KitchenAlert
3
4         Copyright (C) 2010  Heli Hyvättinen
5
6         This file is part of KitchenAlert.
7
8         Kitchen Alert is free software: you can redistribute it and/or modify
9         it under the terms of the GNU General Public License as published by
10         the Free Software Foundation, either version 3 of the License, or
11         (at your option) any later version.
12
13         This program is distributed in the hope that it will be useful,
14         but WITHOUT ANY WARRANTY; without even the implied warranty of
15         MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16         GNU General Public License for more details.
17
18         You should have received a copy of the GNU General Public License
19         along with this program.  If not, see <http://www.gnu.org/licenses/>.
20
21 **************************************************************************/
22
23
24
25 #ifndef KITCHENALERTMAINWINDOW_H
26 #define KITCHENALERTMAINWINDOW_H
27
28 #include <QMainWindow>
29 #include "timer.h"
30 #include "currentalertstablemodel.h"
31 #include <QItemSelection>
32 #include "alertsound.h"
33
34
35 namespace Ui {
36     class KitchenAlertMainWindow;
37 }
38
39
40 /*! The main window class of KitchenAlert'
41
42   @author Heli Hyvättinen
43   @date 2010-06-26
44   @version 0.09
45
46 Operates the UI.
47
48 */
49
50 class KitchenAlertMainWindow : public QMainWindow
51 {
52     Q_OBJECT 
53
54
55
56
57 public:
58     explicit KitchenAlertMainWindow(QWidget *parent = 0);
59     ~KitchenAlertMainWindow();
60
61
62 public slots:
63     void openTimerSequence();
64     void newTimerSequence();
65
66     void updateTime(int seconds);
67     void alert(QModelIndex indexOfAlerted);
68     void timerSelected(QItemSelection,QItemSelection);
69     void snooze();
70     void restart();
71     void stop();
72
73 protected:
74     void changeEvent(QEvent *e);
75
76 private:
77     Ui::KitchenAlertMainWindow *ui;
78
79     QList <Timer *> currentTimers_;
80
81     CurrentAlertsTableModel model_;
82
83     QModelIndex selectedRow();
84
85     AlertSound alertSound_;
86 };
87
88 #endif // KITCHENALERTMAINWINDOW_H