summaryrefslogtreecommitdiffstats
path: root/src/multimedia/camera
diff options
context:
space:
mode:
authorDmytro Poplavskiy <dmytro.poplavskiy@nokia.com>2012-01-12 16:27:34 +1000
committerQt by Nokia <qt-info@nokia.com>2012-01-17 00:58:30 +0100
commit53d71baed324d43bf5bac1fd50fc2eb4764b3857 (patch)
treed60dc8f9829959a555ad071e19a0d15b2d251339 /src/multimedia/camera
parenta6268601c907c56555ae42668e983a447c0da2eb (diff)
Changed QCamera::captureMode property to QFlags
This enables the expression of extra camera modes like viewfinder only or capture during video recording. Change-Id: Ie02fdeef5eb7fd6fc2f133c1afb0141e37c22b06 Reviewed-by: Mithra Pattison <mithra.pattison@nokia.com> Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
Diffstat (limited to 'src/multimedia/camera')
-rw-r--r--src/multimedia/camera/qcamera.cpp15
-rw-r--r--src/multimedia/camera/qcamera.h17
2 files changed, 18 insertions, 14 deletions
diff --git a/src/multimedia/camera/qcamera.cpp b/src/multimedia/camera/qcamera.cpp
index 97c105ab4..3df593b31 100644
--- a/src/multimedia/camera/qcamera.cpp
+++ b/src/multimedia/camera/qcamera.cpp
@@ -64,7 +64,7 @@ public:
qRegisterMetaType<QCamera::Error>("QCamera::Error");
qRegisterMetaType<QCamera::State>("QCamera::State");
qRegisterMetaType<QCamera::Status>("QCamera::Status");
- qRegisterMetaType<QCamera::CaptureMode>("QCamera::CaptureMode");
+ qRegisterMetaType<QCamera::CaptureModes>("QCamera::CaptureModes");
qRegisterMetaType<QCamera::LockType>("QCamera::LockType");
qRegisterMetaType<QCamera::LockStatus>("QCamera::LockStatus");
qRegisterMetaType<QCamera::LockChangeReason>("QCamera::LockChangeReason");
@@ -246,8 +246,8 @@ void QCameraPrivate::initControls()
if (control) {
q->connect(control, SIGNAL(stateChanged(QCamera::State)), q, SLOT(_q_updateState(QCamera::State)));
q->connect(control, SIGNAL(statusChanged(QCamera::Status)), q, SIGNAL(statusChanged(QCamera::Status)));
- q->connect(control, SIGNAL(captureModeChanged(QCamera::CaptureMode)),
- q, SIGNAL(captureModeChanged(QCamera::CaptureMode)));
+ q->connect(control, SIGNAL(captureModeChanged(QCamera::CaptureModes)),
+ q, SIGNAL(captureModeChanged(QCamera::CaptureModes)));
q->connect(control, SIGNAL(error(int,QString)), q, SLOT(_q_error(int,QString)));
}
@@ -538,7 +538,7 @@ QString QCamera::errorString() const
/*!
Returns true if the capture \a mode is suported.
*/
-bool QCamera::isCaptureModeSupported(QCamera::CaptureMode mode) const
+bool QCamera::isCaptureModeSupported(QCamera::CaptureModes mode) const
{
return d_func()->control ? d_func()->control->isCaptureModeSupported(mode) : false;
}
@@ -556,12 +556,12 @@ bool QCamera::isCaptureModeSupported(QCamera::CaptureMode mode) const
and when the camera is ready to QCamera::ActiveStatus.
*/
-QCamera::CaptureMode QCamera::captureMode() const
+QCamera::CaptureModes QCamera::captureMode() const
{
return d_func()->control ? d_func()->control->captureMode() : QCamera::CaptureStillImage;
}
-void QCamera::setCaptureMode(QCamera::CaptureMode mode)
+void QCamera::setCaptureMode(QCamera::CaptureModes mode)
{
Q_D(QCamera);
@@ -866,6 +866,7 @@ void QCamera::unlock()
/*!
\enum QCamera::CaptureMode
+ \value CaptureViewfinder Camera is only configured to display viewfinder.
\value CaptureStillImage Camera is configured for still frames capture.
\value CaptureVideo Camera is configured for video capture.
*/
@@ -969,7 +970,7 @@ void QCamera::unlock()
*/
/*!
- \fn void QCamera::captureModeChanged(QCamera::CaptureMode mode)
+ \fn void QCamera::captureModeChanged(QCamera::CaptureModes mode)
Signals the capture \a mode has changed.
*/
diff --git a/src/multimedia/camera/qcamera.h b/src/multimedia/camera/qcamera.h
index 386d91ca9..358fc8564 100644
--- a/src/multimedia/camera/qcamera.h
+++ b/src/multimedia/camera/qcamera.h
@@ -76,7 +76,7 @@ class Q_MULTIMEDIA_EXPORT QCamera : public QMediaObject
Q_OBJECT
Q_PROPERTY(QCamera::State state READ state NOTIFY stateChanged)
Q_PROPERTY(QCamera::Status status READ status NOTIFY statusChanged)
- Q_PROPERTY(QCamera::CaptureMode captureMode READ captureMode WRITE setCaptureMode NOTIFY captureModeChanged)
+ Q_PROPERTY(QCamera::CaptureModes captureMode READ captureMode WRITE setCaptureMode NOTIFY captureModeChanged)
Q_PROPERTY(QCamera::LockStatus lockStatus READ lockStatus NOTIFY lockStatusChanged)
Q_ENUMS(Status)
@@ -105,9 +105,11 @@ public:
enum CaptureMode
{
- CaptureStillImage,
- CaptureVideo
+ CaptureViewfinder = 0,
+ CaptureStillImage = 0x01,
+ CaptureVideo = 0x02
};
+ Q_DECLARE_FLAGS(CaptureModes, CaptureMode)
enum Error
{
@@ -155,8 +157,8 @@ public:
State state() const;
Status status() const;
- CaptureMode captureMode() const;
- bool isCaptureModeSupported(CaptureMode mode) const;
+ CaptureModes captureMode() const;
+ bool isCaptureModeSupported(CaptureModes mode) const;
QCameraExposure *exposure() const;
QCameraFocus *focus() const;
@@ -176,7 +178,7 @@ public:
QCamera::LockStatus lockStatus(QCamera::LockType lock) const;
public Q_SLOTS:
- void setCaptureMode(QCamera::CaptureMode mode);
+ void setCaptureMode(QCamera::CaptureModes mode);
void load();
void unload();
@@ -192,7 +194,7 @@ public Q_SLOTS:
Q_SIGNALS:
void stateChanged(QCamera::State);
- void captureModeChanged(QCamera::CaptureMode);
+ void captureModeChanged(QCamera::CaptureModes);
void statusChanged(QCamera::Status);
void locked();
@@ -221,6 +223,7 @@ Q_DECLARE_METATYPE(QCamera::State)
Q_DECLARE_METATYPE(QCamera::Status)
Q_DECLARE_METATYPE(QCamera::Error)
Q_DECLARE_METATYPE(QCamera::CaptureMode)
+Q_DECLARE_METATYPE(QCamera::CaptureModes)
Q_DECLARE_METATYPE(QCamera::LockType)
Q_DECLARE_METATYPE(QCamera::LockStatus)
Q_DECLARE_METATYPE(QCamera::LockChangeReason)