Select Git revision
initcamera.cpp
initcamera.cpp 1.19 KiB
#include "initcamera.h"
#include "ui_initcamera.h"
CameraStartThread::CameraStartThread(Camera *c) : QThread() {
camera = c;
}
void CameraStartThread::run() {
int err = camera->start();
emit setupReady(err);
}
InitCamera::InitCamera(SandboxSetup *_setup, QWidget *parent) :
SubApp("Initialize configuration", "Error", parent),
ui(new Ui::InitCamera)
{
setup = _setup;
ui->setupUi(this);
ui->label->setText(QString("Initializing device..."));
workerThread = new CameraStartThread(setup->getCamera());
connect(workerThread, &CameraStartThread::setupReady, this, &InitCamera::setupReady);
connect(workerThread, &CameraStartThread::finished, workerThread, &QObject::deleteLater);
}
InitCamera::~InitCamera()
{
workerThread->quit();
workerThread->wait();
delete workerThread;
delete ui;
}
void InitCamera::showEvent(QShowEvent *event){
QWidget::showEvent(event);
QTimer::singleShot(10, this, &InitCamera::setupCamera);
}
void InitCamera::setupCamera(){
workerThread->start();
}
void InitCamera::setupReady(int err){
if(err){
QString msg = "No device found";
ui->label->setText(msg);
}
emit sendNotif(err);
}