##// END OF EJS Templates
Updates model after an event has been created through the colored zone
Updates model after an event has been created through the colored zone

File last commit:

r1246:2785fa3e9772
r1286:073d4af7c849
Show More
SignalWaiter.cpp
36 lines | 641 B | text/x-c | CppLexer
/ core / src / Common / SignalWaiter.cpp
Alexandre Leroux
Wait for the end of an acquisition to validate an operation (1)...
r1246 #include "Common/SignalWaiter.h"
#include <QTimer>
namespace {
const auto DEFAULT_TIMEOUT = 30000;
} // namespace
SignalWaiter::SignalWaiter(QObject &sender, const char *signal) : m_Timeout{false}
{
connect(&sender, signal, &m_EventLoop, SLOT(quit()));
}
bool SignalWaiter::wait(int timeout)
{
if (timeout == 0) {
timeout = DEFAULT_TIMEOUT;
}
QTimer timer{};
timer.setInterval(timeout);
timer.start();
connect(&timer, &QTimer::timeout, this, &SignalWaiter::timeout);
m_EventLoop.exec();
return !m_Timeout;
}
void SignalWaiter::timeout()
{
m_Timeout = true;
m_EventLoop.quit();
}