summaryrefslogtreecommitdiffstats
path: root/examples/multimediawidgets/camera/camera.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/multimediawidgets/camera/camera.cpp')
-rw-r--r--examples/multimediawidgets/camera/camera.cpp51
1 files changed, 25 insertions, 26 deletions
diff --git a/examples/multimediawidgets/camera/camera.cpp b/examples/multimediawidgets/camera/camera.cpp
index 2a1af875d..7a9955b01 100644
--- a/examples/multimediawidgets/camera/camera.cpp
+++ b/examples/multimediawidgets/camera/camera.cpp
@@ -58,12 +58,7 @@ Q_DECLARE_METATYPE(QCameraInfo)
Camera::Camera(QWidget *parent) :
QMainWindow(parent),
- ui(new Ui::Camera),
- camera(0),
- imageCapture(0),
- mediaRecorder(0),
- isCapturingImage(false),
- applicationExiting(false)
+ ui(new Ui::Camera)
{
ui->setupUi(this);
@@ -71,7 +66,8 @@ Camera::Camera(QWidget *parent) :
QActionGroup *videoDevicesGroup = new QActionGroup(this);
videoDevicesGroup->setExclusive(true);
- foreach (const QCameraInfo &cameraInfo, QCameraInfo::availableCameras()) {
+ const QList<QCameraInfo> availableCameras = QCameraInfo::availableCameras();
+ for (const QCameraInfo &cameraInfo : availableCameras) {
QAction *videoDeviceAction = new QAction(cameraInfo.description(), videoDevicesGroup);
videoDeviceAction->setCheckable(true);
videoDeviceAction->setData(QVariant::fromValue(cameraInfo));
@@ -81,8 +77,8 @@ Camera::Camera(QWidget *parent) :
ui->menuDevices->addAction(videoDeviceAction);
}
- connect(videoDevicesGroup, SIGNAL(triggered(QAction*)), SLOT(updateCameraDevice(QAction*)));
- connect(ui->captureWidget, SIGNAL(currentChanged(int)), SLOT(updateCaptureMode()));
+ connect(videoDevicesGroup, &QActionGroup::triggered, this, &Camera::updateCameraDevice);
+ connect(ui->captureWidget, &QTabWidget::currentChanged, this, &Camera::updateCaptureMode);
setCamera(QCameraInfo::defaultCamera());
}
@@ -102,20 +98,21 @@ void Camera::setCamera(const QCameraInfo &cameraInfo)
camera = new QCamera(cameraInfo);
- connect(camera, SIGNAL(stateChanged(QCamera::State)), this, SLOT(updateCameraState(QCamera::State)));
- connect(camera, SIGNAL(error(QCamera::Error)), this, SLOT(displayCameraError()));
+ connect(camera, &QCamera::stateChanged, this, &Camera::updateCameraState);
+ connect(camera, QOverload<QCamera::Error>::of(&QCamera::error), this, &Camera::displayCameraError);
mediaRecorder = new QMediaRecorder(camera);
- connect(mediaRecorder, SIGNAL(stateChanged(QMediaRecorder::State)), this, SLOT(updateRecorderState(QMediaRecorder::State)));
+ connect(mediaRecorder, &QMediaRecorder::stateChanged, this, &Camera::updateRecorderState);
imageCapture = new QCameraImageCapture(camera);
- connect(mediaRecorder, SIGNAL(durationChanged(qint64)), this, SLOT(updateRecordTime()));
- connect(mediaRecorder, SIGNAL(error(QMediaRecorder::Error)), this, SLOT(displayRecorderError()));
+ connect(mediaRecorder, &QMediaRecorder::durationChanged, this, &Camera::updateRecordTime);
+ connect(mediaRecorder, QOverload<QMediaRecorder::Error>::of(&QMediaRecorder::error),
+ this, &Camera::displayRecorderError);
mediaRecorder->setMetaData(QMediaMetaData::Title, QVariant(QLatin1String("Test Title")));
- connect(ui->exposureCompensation, SIGNAL(valueChanged(int)), SLOT(setExposureCompensation(int)));
+ connect(ui->exposureCompensation, &QAbstractSlider::valueChanged, this, &Camera::setExposureCompensation);
camera->setViewfinder(ui->viewfinder);
@@ -123,14 +120,14 @@ void Camera::setCamera(const QCameraInfo &cameraInfo)
updateLockStatus(camera->lockStatus(), QCamera::UserRequest);
updateRecorderState(mediaRecorder->state());
- 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(imageCapture, &QCameraImageCapture::readyForCaptureChanged, this, &Camera::readyForCapture);
+ connect(imageCapture, &QCameraImageCapture::imageCaptured, this, &Camera::processCapturedImage);
+ connect(imageCapture, &QCameraImageCapture::imageSaved, this, &Camera::imageSaved);
+ connect(imageCapture, QOverload<int, QCameraImageCapture::Error, const QString &>::of(&QCameraImageCapture::error),
+ this, &Camera::displayCaptureError);
- connect(camera, SIGNAL(lockStatusChanged(QCamera::LockStatus,QCamera::LockChangeReason)),
- this, SLOT(updateLockStatus(QCamera::LockStatus,QCamera::LockChangeReason)));
+ connect(camera, QOverload<QCamera::LockStatus, QCamera::LockChangeReason>::of(&QCamera::lockStatusChanged),
+ this, &Camera::updateLockStatus);
ui->captureWidget->setTabEnabled(0, (camera->isCaptureModeSupported(QCamera::CaptureStillImage)));
ui->captureWidget->setTabEnabled(1, (camera->isCaptureModeSupported(QCamera::CaptureVideo)));
@@ -197,7 +194,7 @@ void Camera::processCapturedImage(int requestId, const QImage& img)
// Display captured image for 4 seconds.
displayCapturedImage();
- QTimer::singleShot(4000, this, SLOT(displayViewfinder()));
+ QTimer::singleShot(4000, this, &Camera::displayViewfinder);
}
void Camera::configureCaptureSettings()
@@ -217,6 +214,7 @@ void Camera::configureCaptureSettings()
void Camera::configureVideoSettings()
{
VideoSettings settingsDialog(mediaRecorder);
+ settingsDialog.setWindowFlags(settingsDialog.windowFlags() & ~Qt::WindowContextHelpButtonHint);
settingsDialog.setAudioSettings(audioSettings);
settingsDialog.setVideoSettings(videoSettings);
@@ -237,6 +235,7 @@ void Camera::configureVideoSettings()
void Camera::configureImageSettings()
{
ImageSettings settingsDialog(imageCapture);
+ settingsDialog.setWindowFlags(settingsDialog.windowFlags() & ~Qt::WindowContextHelpButtonHint);
settingsDialog.setImageSettings(imageSettings);
@@ -385,12 +384,12 @@ void Camera::setExposureCompensation(int index)
void Camera::displayRecorderError()
{
- QMessageBox::warning(this, tr("Capture error"), mediaRecorder->errorString());
+ QMessageBox::warning(this, tr("Capture Error"), mediaRecorder->errorString());
}
void Camera::displayCameraError()
{
- QMessageBox::warning(this, tr("Camera error"), camera->errorString());
+ QMessageBox::warning(this, tr("Camera Error"), camera->errorString());
}
void Camera::updateCameraDevice(QAction *action)
@@ -416,7 +415,7 @@ void Camera::readyForCapture(bool ready)
void Camera::imageSaved(int id, const QString &fileName)
{
Q_UNUSED(id);
- Q_UNUSED(fileName);
+ ui->statusbar->showMessage(tr("Captured \"%1\"").arg(QDir::toNativeSeparators(fileName)));
isCapturingImage = false;
if (applicationExiting)