]> git.lyx.org Git - lyx.git/blob - src/frontends/qt2/qtTimeout.C
namespace grfx -> lyx::graphics
[lyx.git] / src / frontends / qt2 / qtTimeout.C
1 /**
2  * \file qtTimeout.C
3  * This file is part of LyX, the document processor.
4  * Licence details can be found in the file COPYING.
5  *
6  * \author John Levon
7  *
8  * Full author contact details are available in file CREDITS
9  */
10
11 #include <config.h>
12
13 #include "qtTimeout.h"
14 #include "debug.h"
15
16
17 Timeout::Timeout(unsigned int msec, Type t)
18         : pimpl_(new qtTimeout(*this)), type(t), timeout_ms(msec)
19 {}
20
21
22 qtTimeout::qtTimeout(Timeout & owner)
23         : Timeout::Impl(owner), timeout_id(-1)
24 {}
25
26
27 void qtTimeout::timerEvent(QTimerEvent *)
28 {
29         emit();
30 }
31
32
33 void qtTimeout::reset()
34 {
35         killTimers();
36         timeout_id = -1;
37 }
38
39
40 bool qtTimeout::running() const
41 {
42         return timeout_id != -1;
43 }
44
45
46 void qtTimeout::start()
47 {
48         if (running())
49                 lyxerr << "Timeout::start: already running!" << std::endl;
50         timeout_id = startTimer(timeout_ms());
51 }
52
53
54 void qtTimeout::stop()
55 {
56         if (running())
57                 reset();
58 }