void AutoBarcodeScanner::toggleFlash() {
    qDebug() << "camera has state: " << m_camera->state();

    if (isJollaCameraRunning()) {
        return;
    }

    m_flashState = !m_flashState;
    writeFlashMode(m_flashState);
    emit flashStateChanged(m_flashState);
}
void AutoBarcodeScanner::startCamera() {
    qDebug() << "camera has state: " << m_camera->state();

    if (isJollaCameraRunning()) {
        return;
    }

    if (m_camera->state() != QCamera::ActiveState) {
        if (m_camera->availability() != QMultimedia::Available) {
            qDebug() << "camera is not available";
            emit error(AutoBarcodeScanner::CameraUnavailable);
            return;
        }

        qDebug() << "starting camera ...";
        m_camera->start();
    }
    else {
        qDebug() << "camera has been started already";
    }
}
void AutoBarcodeScanner::startScanning(int timeout) {
    if (m_flagScanRunning) {
        qDebug() << "abort: scan is running";
        return;
    }

    if (isJollaCameraRunning()) {
        return;
    }

    if (m_camera->availability() != QMultimedia::Available) {
        qDebug() << "camera is not available";
        emit error(AutoBarcodeScanner::CameraUnavailable);
        return;
    }

    m_flagScanRunning = true;
    m_flagScanAbort = false;
    m_timeoutTimer->start(timeout);

    QtConcurrent::run(this, &AutoBarcodeScanner::processDecode);
}
Esempio n. 4
0
void BarcodeScanner::startCamera() {
    qDebug() << "camera has state: " << camera->state();

    if (isJollaCameraRunning()) {
        qDebug() << "jolla camera is running";
        emit error(BarcodeScanner::JollaCameraRunning);
        return;
    }

    if (camera->state() != QCamera::ActiveState) {
        if (camera->availability() != QMultimedia::Available) {
            qDebug() << "camera is not available";
            emit error(BarcodeScanner::CameraUnavailable);
            return;
        }

        qDebug() << "starting camera ...";
        camera->start();
    }
    else {
        qDebug() << "camera is already started";
    }
}
Esempio n. 5
0
void BarcodeScanner::startScanning() {
    if (flagScanRunning) {
        qDebug() << "abort: scan is running";
        return;
    }

    if (isJollaCameraRunning()) {
        qDebug() << "jolla camera is running";
        emit error(BarcodeScanner::JollaCameraRunning);
        return;
    }

    if (camera->availability() != QMultimedia::Available) {
        qDebug() << "camera is not available";
        emit error(BarcodeScanner::CameraUnavailable);
        return;
    }

    flagScanRunning = true;

    // 1. lock camera settings
    qDebug() << "searching and locking ...";
    camera->searchAndLock();
}