lyx_mirror/src/frontends/qt4/qtTimeout.cpp
Bo Peng 8c5f097b5d Rename .C ==> .cpp for files in src/frontends/qt4, part two
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18015 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-26 03:53:51 +00:00

69 lines
966 B
C++

/**
* \file qtTimeout.cpp
* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
* \author John Levon
*
* Full author contact details are available in file CREDITS.
*/
#include <config.h>
#include "qtTimeout.h"
#include <QTimerEvent>
#include "debug.h"
namespace lyx {
Timeout::Timeout(unsigned int msec, Type t)
: pimpl_(new qtTimeout(*this)), type(t), timeout_ms(msec)
{}
qtTimeout::qtTimeout(Timeout & owner)
: Timeout::Impl(owner), timeout_id(-1)
{}
void qtTimeout::timerEvent(QTimerEvent *)
{
emit();
}
void qtTimeout::reset()
{
if (timeout_id != -1)
killTimer(timeout_id);
timeout_id = -1;
}
bool qtTimeout::running() const
{
return timeout_id != -1;
}
void qtTimeout::start()
{
if (running())
lyxerr << "Timeout::start: already running!" << std::endl;
timeout_id = startTimer(timeout_ms());
}
void qtTimeout::stop()
{
if (running())
reset();
}
} // namespace lyx