Skip to content
Snippets Groups Projects
Select Git revision
  • 221e5fe9b02d90e904ba641c3b466827cd6268f6
  • master default protected
  • opencv4
  • custom_realsense
  • deproject
  • camera
6 results

initcamera.cpp

Blame
  • 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);
    }