1 /**************************************************************************
4 Copyright (C) 2010-2011 Heli Hyvättinen
6 This file is part of KitchenAlert.
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.
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.
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/>.
21 **************************************************************************/
35 #include <QModelIndex>
37 #include "alertsound.h"
39 /*! The timer class of KitchenAlert'
41 @author Heli Hyvättinen
45 The timer class of KitchenAlert.
49 class Timer : public QObject
53 explicit Timer(QObject *parent = 0);
55 /*! Returns the original time in seconds
56 When the alert restarts, it is set to this time.
58 int getOriginalTimeInSeconds();
60 /*! Sets the original time in seconds */
61 void setOriginalTimeInSeconds(int seconds);
63 /*! Returns the time remaining before the alert in seconds */
64 int getRemainingTimeInSeconds();
66 /*! Returns the alert text */
67 QString getAlertText();
69 /*! Sets the alert text */
70 void setAlertText(QString text);
72 /*! Returns whether the timer is alerting */
77 /*! Emitted when the remaining time in the timer has changed */
78 void remainingTimeChanged();
80 /*! Emitted when the timer alerts */
81 void alert(QModelIndex indexOfAlerter);
84 /*! The internal QTimer is connected to this slot */
87 /*! Start the timer */
94 Currently sets the timer to alert again in two minutes.
98 /*! Switches to use the default sound (and saves it to settings */
99 void enableDefaultSound();
101 /*! Changes the sound file used and saves it to settings */
102 void changeAlertSound(QString filename);
108 int _originalTime; //seconds!
109 int _remainingTime; //seconds!
114 QModelIndex whereAmI();
116 AlertSound alertSound_;