#include "timeoutdialog.h" #include #include TimeOutDialog::TimeOutDialog(int time, QWidget *parent) : QProgressDialog(parent), _time(time) { QObject::connect(&_timer, SIGNAL(timeout()), this, SLOT(update())); QObject::connect(this, SIGNAL(canceled()), this, SLOT(cancel())); // QProgressDialog takes ownership of QProgressBar QProgressBar *qbar = new QProgressBar(this); qbar->setFormat("%v seconds"); qbar->setMaximum(_time); qbar->setMinimum(0); qbar->setValue(_time); qbar->setLayoutDirection(Qt::RightToLeft); setBar(qbar); _timer.start(1000); } //___________________________________________________________________________ void TimeOutDialog::update() { if (_time == 0) { _timer.stop(); accept(); } else setValue(_time); --_time; } //___________________________________________________________________________ void TimeOutDialog::cancel() { _timer.stop(); }