2
* Copyright (C) 2014 Canonical, Ltd.
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.
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.
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/>.
19
namespace UbuntuGestures {
21
Timer::Timer(QObject *parent) : AbstractTimer(parent)
23
m_timer.setSingleShot(false);
24
connect(&m_timer, &QTimer::timeout, this, &AbstractTimer::timeout);
27
int Timer::interval() const
29
return m_timer.interval();
32
void Timer::setInterval(int msecs)
34
m_timer.setInterval(msecs);
40
AbstractTimer::start();
46
AbstractTimer::stop();
49
bool Timer::isSingleShot() const
51
return m_timer.isSingleShot();
54
void Timer::setSingleShot(bool value)
56
m_timer.setSingleShot(value);
59
/////////////////////////////////// FakeTimer //////////////////////////////////
61
FakeTimer::FakeTimer(QObject *parent)
62
: UbuntuGestures::AbstractTimer(parent)
68
int FakeTimer::interval() const
73
void FakeTimer::setInterval(int msecs)
78
bool FakeTimer::isSingleShot() const
83
void FakeTimer::setSingleShot(bool value)
88
/////////////////////////////////// FakeTimerFactory //////////////////////////////////
90
AbstractTimer *FakeTimerFactory::createTimer(QObject *parent)
92
FakeTimer *fakeTimer = new FakeTimer(parent);
94
timers.append(fakeTimer);
99
void 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();
109
} // namespace UbuntuGestures