]> git.lyx.org Git - lyx.git/blob - src/frontends/qt2/qtTimeout.C
some tabular fixes for the problems reported by Helge
[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
15 #include "debug.h"
16
17
18 Timeout::Timeout(unsigned int msec, Type t)
19         : pimpl_(new qtTimeout(*this)), type(t), timeout_ms(msec)
20 {}
21
22
23 qtTimeout::qtTimeout(Timeout & owner)
24         : Timeout::Impl(owner), timeout_id(-1)
25 {}
26
27
28 void qtTimeout::timerEvent(QTimerEvent *)
29 {
30         emit();
31 }
32
33
34 void qtTimeout::reset()
35 {
36         killTimers();
37         timeout_id = -1;
38 }
39
40
41 bool qtTimeout::running() const
42 {
43         return timeout_id != -1;
44 }
45
46
47 void qtTimeout::start()
48 {
49         if (running())
50                 lyxerr << "Timeout::start: already running!" << std::endl;
51         timeout_id = startTimer(timeout_ms());
52 }
53
54
55 void qtTimeout::stop()
56 {
57         if (running())
58                 reset();
59 }