6e7dec2cf2eb19f4588598a532780389a3f1878e
[kitchenalert] / src / alertsound.h
1 /**************************************************************************
2         KitchenAlert
3
4         Copyright (C) 2010-2011  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
26
27 #ifndef ALERTSOUND_H
28 #define ALERTSOUND_H
29
30 #include <QObject>
31
32 #include <QMediaPlayer>
33
34
35 /*! Class for playing the alert sound'
36
37   @author Heli Hyvättinen
38   @date 2011-03-29
39   @version 0.2.1
40
41 Class for playing (and stopping) the alert sound.
42
43 */
44
45 class AlertSound : public QObject
46 {
47     Q_OBJECT
48 public:
49     explicit AlertSound(QObject *parent = 0);
50
51     virtual ~AlertSound();
52
53 signals:
54
55 public slots:
56     /*! Plays the sound */
57     void play();
58
59     /*! Stops the sound from playing */
60     void stop();
61
62     /*! Changes the sound file (both current and saved in settings) */
63     void setSound(QString filename);
64
65     /*! Switches to using the default sound and saves this behaviour in settings */
66     void setDefaultSound();
67
68 private:
69
70
71
72    QMediaPlayer *pSound_;
73    QString defaultsound_;
74
75
76 };
77
78 #endif // ALERTSOUND_H