on 79bcf5f help sign in
109 lines 2.3 kB history raw
1/*
2 * Copyright (C) 2014 Canonical, Ltd.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; version 3.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
17#include "Timer.h"
19namespace UbuntuGestures {
21Timer::Timer(QObject *parent) : AbstractTimer(parent)
23 m_timer.setSingleShot(false);
24 connect(&m_timer, &QTimer::timeout, this, &AbstractTimer::timeout);
27int Timer::interval() const
29 return m_timer.interval();
32void Timer::setInterval(int msecs)
34 m_timer.setInterval(msecs);
37void Timer::start()
39 m_timer.start();
40 AbstractTimer::start();
43void Timer::stop()
45 m_timer.stop();
46 AbstractTimer::stop();
49bool Timer::isSingleShot() const
51 return m_timer.isSingleShot();
54void Timer::setSingleShot(bool value)
56 m_timer.setSingleShot(value);
59/////////////////////////////////// FakeTimer //////////////////////////////////
61FakeTimer::FakeTimer(QObject *parent)
62 : UbuntuGestures::AbstractTimer(parent)
63 , m_interval(0)
64 , m_singleShot(false)
68int FakeTimer::interval() const
70 return m_interval;
73void FakeTimer::setInterval(int msecs)
75 m_interval = msecs;
78bool FakeTimer::isSingleShot() const
80 return m_singleShot;
83void FakeTimer::setSingleShot(bool value)
85 m_singleShot = value;
88/////////////////////////////////// FakeTimerFactory //////////////////////////////////
90AbstractTimer *FakeTimerFactory::createTimer(QObject *parent)
92 FakeTimer *fakeTimer = new FakeTimer(parent);
94 timers.append(fakeTimer);
96 return fakeTimer;
99void FakeTimerFactory::makeRunningTimersTimeout()
101 for (int i = 0; i < timers.count(); ++i) {
102 FakeTimer *timer = timers[i].data();
103 if (timer && timer->isRunning()) {
104 timer->emitTimeout();
105 }
106 }
109} // namespace UbuntuGestures