Remove button, fixed column width, limited text & fixed 00:00:00
[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-08-08
44   @version 0.1.1
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 newTimerSequence();
64     void openSelectSoundDialog();
65     void openAbout();
66
67
68     void alert(QModelIndex indexOfAlerted);
69     void timerSelected(QItemSelection selected,QItemSelection deselected);
70     void snooze();
71     void restart();
72     void stop();
73     void remove();
74
75
76 protected:
77     void changeEvent(QEvent *e);
78     bool event(QEvent *event);
79
80     void disableSelectionDependentButtons();
81
82 private:
83
84     Ui::KitchenAlertMainWindow *ui;
85
86     QList <Timer *> currentTimers_;
87
88     CurrentAlertsTableModel model_;
89
90     QModelIndex selectedRow();
91
92     AlertSound alertSound_;
93
94
95 };
96
97 #endif // KITCHENALERTMAINWINDOW_H