Added fading animation to Play/Pause Button.
[bangarang:bangarang-kde-mirror.git] / src / app / common / timercounter.cpp
1 /* BANGARANG MEDIA PLAYER
2 * Copyright (C) 2010 Stefan Burnicki (stefan.burnicki@gmx.de)
3 * <http://gitorious.org/bangarang>
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
20 #include "timercounter.h"
21
22 TimerCounter::TimerCounter(int max, int interval, bool loop): QTimer()
23 {
24     m_max = max;
25     setInterval(interval);
26     m_value = 0;
27     m_loop = loop;
28 }
29
30 int TimerCounter::getValue()
31 {
32     return m_value;
33 }
34
35 int TimerCounter::max()
36 {
37     return m_max;
38 }
39
40 void TimerCounter::setMax(int max)
41 {
42     m_max = max;
43 }
44
45
46 void TimerCounter::reset()
47 {
48     m_value = 0;
49     start();
50 }
51
52 void TimerCounter::timerEvent(QTimerEvent* event)
53 {
54     m_value++;
55     if ( m_value > m_max ) {
56         if (m_loop) {
57             m_value = 0;
58         }
59         m_value--; //do not loop, stay at max
60         stop();
61     }
62     QTimer::timerEvent(event);
63 }