From 13ecd7171b4876bcf5027f9b349781b6dd9be790 Mon Sep 17 00:00:00 2001 From: Jing Bai Date: Thu, 13 Dec 2012 14:00:02 +0100 Subject: add error handling in image capturing in camera Task-number: QTBUG-28589 Change-Id: Ib3a04038c16beba66f8b8cff85b310dad9a4460a Reviewed-by: Andy Nichols --- examples/multimediawidgets/camera/camera.cpp | 10 ++++++++++ examples/multimediawidgets/camera/camera.h | 1 + examples/multimediawidgets/camera/camera.ui | 5 ++++- 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/examples/multimediawidgets/camera/camera.cpp b/examples/multimediawidgets/camera/camera.cpp index 9c1f2902e..2b7a96f82 100644 --- a/examples/multimediawidgets/camera/camera.cpp +++ b/examples/multimediawidgets/camera/camera.cpp @@ -136,6 +136,8 @@ void Camera::setCamera(const QByteArray &cameraDevice) connect(imageCapture, SIGNAL(readyForCaptureChanged(bool)), this, SLOT(readyForCapture(bool))); connect(imageCapture, SIGNAL(imageCaptured(int,QImage)), this, SLOT(processCapturedImage(int,QImage))); connect(imageCapture, SIGNAL(imageSaved(int,QString)), this, SLOT(imageSaved(int,QString))); + connect(imageCapture, SIGNAL(error(int,QCameraImageCapture::Error,QString)), this, + SLOT(displayCaptureError(int,QCameraImageCapture::Error,QString))); connect(camera, SIGNAL(lockStatusChanged(QCamera::LockStatus, QCamera::LockChangeReason)), this, SLOT(updateLockStatus(QCamera::LockStatus, QCamera::LockChangeReason))); @@ -320,6 +322,14 @@ void Camera::takeImage() imageCapture->capture(); } +void Camera::displayCaptureError(int id, const QCameraImageCapture::Error error, const QString &errorString) +{ + Q_UNUSED(id); + Q_UNUSED(error); + QMessageBox::warning(this, tr("Image Capture Error"), errorString); + isCapturingImage = false; +} + void Camera::startCamera() { camera->start(); diff --git a/examples/multimediawidgets/camera/camera.h b/examples/multimediawidgets/camera/camera.h index 9203216b3..52f03cbd3 100644 --- a/examples/multimediawidgets/camera/camera.h +++ b/examples/multimediawidgets/camera/camera.h @@ -72,6 +72,7 @@ private slots: void toggleLock(); void takeImage(); + void displayCaptureError(int, QCameraImageCapture::Error, const QString &errorString); void configureCaptureSettings(); void configureVideoSettings(); diff --git a/examples/multimediawidgets/camera/camera.ui b/examples/multimediawidgets/camera/camera.ui index ea790fab0..8a5ee519c 100644 --- a/examples/multimediawidgets/camera/camera.ui +++ b/examples/multimediawidgets/camera/camera.ui @@ -138,6 +138,9 @@ + + false + Capture Photo @@ -245,7 +248,7 @@ 0 0 668 - 29 + 25 -- cgit v1.2.3