#include "job.h" #include "video.h" #include Job::Job(Video *parent) : QObject(parent), m_gui(0), m_video(parent) { m_watcher = new QFutureWatcher; m_watcher->setParent(this); connect(m_watcher, SIGNAL(finished()), this, SLOT(jobFinished())); } Video* Job::video() const { return m_video; } void Job::runJob() { m_watcher->setFuture(QtConcurrent::run(this, &Job::executeJob)); } void Job::jobFinished() { emit completed(m_watcher->future().result()); } QWidget* Job::widget() { if (!m_gui) m_gui = gui(); return m_gui; }