Implemented QDeclarativeCameraCapture::setMetadata

QMetaDataWriterControl is used if it's available.

Change-Id: I18fd36c411b6d3c397ff22ebfea9b2c0e878cdeb
Reviewed-by: Ling Hu <ling.hu@nokia.com>
This commit is contained in:
Dmytro Poplavskiy
2011-12-01 14:29:32 +10:00
committed by Qt by Nokia
parent 3319639a6f
commit 0034b177e2
2 changed files with 9 additions and 3 deletions

View File

@@ -43,6 +43,8 @@
#include "qdeclarativecameracapture_p.h"
#include "qdeclarativecamerapreviewprovider_p.h"
#include <qmetadatawritercontrol.h>
#include <QtCore/qurl.h>
QT_BEGIN_NAMESPACE
@@ -61,6 +63,9 @@ QDeclarativeCameraCapture::QDeclarativeCameraCapture(QCamera *camera, QObject *p
connect(m_capture, SIGNAL(imageSaved(int,QString)), this, SLOT(_q_imageSaved(int, QString)));
connect(m_capture, SIGNAL(error(int,QCameraImageCapture::Error,QString)),
this, SLOT(_q_captureFailed(int,QCameraImageCapture::Error,QString)));
QMediaService *service = camera->service();
m_metadataWriterControl = service ? service->requestControl<QMetaDataWriterControl*>() : 0;
}
QDeclarativeCameraCapture::~QDeclarativeCameraCapture()
@@ -196,9 +201,8 @@ QString QDeclarativeCameraCapture::errorString() const
void QDeclarativeCameraCapture::setMetadata(const QString &key, const QVariant &value)
{
Q_UNUSED(key);
Q_UNUSED(value);
//m_capture->setExtendedMetaData(key, value);
if (m_metadataWriterControl)
m_metadataWriterControl->setExtendedMetaData(key, value);
}
/*!

View File

@@ -64,6 +64,7 @@ QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
class QDeclarativeCamera;
class QMetaDataWriterControl;
class QDeclarativeCameraCapture : public QObject
{
@@ -117,6 +118,7 @@ private:
QCameraImageCapture *m_capture;
QImageEncoderSettings m_imageSettings;
QString m_capturedImagePath;
QMetaDataWriterControl *m_metadataWriterControl;
};
QT_END_NAMESPACE