void Camera::updateCaptureMode()
{
int tabIndex = ui->captureWidget->currentIndex();
- QCamera::CaptureMode captureMode = tabIndex == 0 ? QCamera::CaptureStillImage : QCamera::CaptureVideo;
+ QCamera::CaptureModes captureMode = tabIndex == 0 ? QCamera::CaptureStillImage : QCamera::CaptureVideo;
if (camera->isCaptureModeSupported(captureMode))
camera->setCaptureMode(captureMode);
m_focus = new QDeclarativeCameraFocus(m_camera, this);
m_imageProcessing = new QDeclarativeCameraImageProcessing(m_camera, this);
- connect(m_camera, SIGNAL(captureModeChanged(QCamera::CaptureMode)), this, SIGNAL(captureModeChanged()));
+ connect(m_camera, SIGNAL(captureModeChanged(QCamera::CaptureModes)), this, SIGNAL(captureModeChanged()));
connect(m_camera, SIGNAL(lockStatusChanged(QCamera::LockStatus,QCamera::LockChangeReason)), this, SIGNAL(lockStatusChanged()));
connect(m_camera, SIGNAL(stateChanged(QCamera::State)), this, SLOT(_q_updateState(QCamera::State)));
return m_camera->errorString();
}
-QDeclarativeCamera::CaptureMode QDeclarativeCamera::captureMode() const
+QDeclarativeCamera::CaptureModes QDeclarativeCamera::captureMode() const
{
- return QDeclarativeCamera::CaptureMode(m_camera->captureMode());
+ return QDeclarativeCamera::CaptureModes(int(m_camera->captureMode()));
}
-void QDeclarativeCamera::setCaptureMode(QDeclarativeCamera::CaptureMode mode)
+void QDeclarativeCamera::setCaptureMode(QDeclarativeCamera::CaptureModes mode)
{
- m_camera->setCaptureMode(QCamera::CaptureMode(mode));
+ m_camera->setCaptureMode(QCamera::CaptureModes(int(mode)));
}
Q_OBJECT
Q_INTERFACES(QDeclarativeParserStatus)
- Q_PROPERTY(CaptureMode captureMode READ captureMode WRITE setCaptureMode NOTIFY captureModeChanged)
+ Q_PROPERTY(CaptureModes captureMode READ captureMode WRITE setCaptureMode NOTIFY captureModeChanged)
Q_PROPERTY(State cameraState READ cameraState WRITE setCameraState NOTIFY cameraStateChanged)
Q_PROPERTY(LockStatus lockStatus READ lockStatus NOTIFY lockStatusChanged)
Q_PROPERTY(QString errorString READ errorString NOTIFY errorChanged)
CaptureStillImage = QCamera::CaptureStillImage,
CaptureVideo = QCamera::CaptureVideo
};
+ Q_DECLARE_FLAGS(CaptureModes, CaptureMode)
enum State
{
QDeclarativeCameraFocus *focus() { return m_focus; }
QDeclarativeCameraImageProcessing *imageProcessing() { return m_imageProcessing; }
- CaptureMode captureMode() const;
+ CaptureModes captureMode() const;
State cameraState() const;
Error error() const;
qreal digitalZoom() const;
public Q_SLOTS:
- void setCaptureMode(CaptureMode mode);
+ void setCaptureMode(QDeclarativeCamera::CaptureModes mode);
void start();
void stop();
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");
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)));
}
/*!
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;
}
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);
/*!
\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.
*/
*/
/*!
- \fn void QCamera::captureModeChanged(QCamera::CaptureMode mode)
+ \fn void QCamera::captureModeChanged(QCamera::CaptureModes mode)
Signals the capture \a mode has changed.
*/
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)
enum CaptureMode
{
- CaptureStillImage,
- CaptureVideo
+ CaptureViewfinder = 0,
+ CaptureStillImage = 0x01,
+ CaptureVideo = 0x02
};
+ Q_DECLARE_FLAGS(CaptureModes, CaptureMode)
enum Error
{
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;
QCamera::LockStatus lockStatus(QCamera::LockType lock) const;
public Q_SLOTS:
- void setCaptureMode(QCamera::CaptureMode mode);
+ void setCaptureMode(QCamera::CaptureModes mode);
void load();
void unload();
Q_SIGNALS:
void stateChanged(QCamera::State);
- void captureModeChanged(QCamera::CaptureMode);
+ void captureModeChanged(QCamera::CaptureModes);
void statusChanged(QCamera::Status);
void locked();
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)
*/
/*!
- \fn Camera::CaptureMode QCameraControl::captureMode() const = 0
+ \fn Camera::CaptureModes QCameraControl::captureMode() const = 0
Returns the current capture mode.
*/
/*!
- \fn void QCameraControl::setCaptureMode(QCamera::CaptureMode mode) = 0;
+ \fn void QCameraControl::setCaptureMode(QCamera::CaptureModes mode) = 0;
Sets the current capture \a mode.
*/
/*!
- \fn bool QCameraControl::isCaptureModeSupported(QCamera::CaptureMode mode) const = 0;
+ \fn bool QCameraControl::isCaptureModeSupported(QCamera::CaptureModes mode) const = 0;
Returns true if the capture \a mode is suported.
*/
/*!
- \fn QCameraControl::captureModeChanged(QCamera::CaptureMode mode)
+ \fn QCameraControl::captureModeChanged(QCamera::CaptureModes mode)
Signal emitted when the camera capture \a mode changes.
*/
virtual QCamera::Status status() const = 0;
- virtual QCamera::CaptureMode captureMode() const = 0;
- virtual void setCaptureMode(QCamera::CaptureMode) = 0;
- virtual bool isCaptureModeSupported(QCamera::CaptureMode mode) const = 0;
+ virtual QCamera::CaptureModes captureMode() const = 0;
+ virtual void setCaptureMode(QCamera::CaptureModes) = 0;
+ virtual bool isCaptureModeSupported(QCamera::CaptureModes mode) const = 0;
virtual bool canChangeProperty(PropertyChangeType changeType, QCamera::Status status) const = 0;
void stateChanged(QCamera::State);
void statusChanged(QCamera::Status);
void error(int error, const QString &errorString);
- void captureModeChanged(QCamera::CaptureMode);
+ void captureModeChanged(QCamera::CaptureModes);
protected:
QCameraControl(QObject* parent = 0);
}
}
-bool DSCameraControl::isCaptureModeSupported(QCamera::CaptureMode mode) const
+bool DSCameraControl::isCaptureModeSupported(QCamera::CaptureModes mode) const
{
bool bCaptureSupported = false;
switch (mode) {
void stop();
QCamera::State state() const;
- QCamera::CaptureMode captureMode() const { return m_captureMode; }
- void setCaptureMode(QCamera::CaptureMode mode)
+ QCamera::CaptureModes captureMode() const { return m_captureMode; }
+ void setCaptureMode(QCamera::CaptureModes mode)
{
if (m_captureMode != mode) {
m_captureMode = mode;
void setState(QCamera::State state);
QCamera::Status status() const { return QCamera::UnavailableStatus; }
- bool isCaptureModeSupported(QCamera::CaptureMode mode) const;
+ bool isCaptureModeSupported(QCamera::CaptureModes mode) const;
bool canChangeProperty(PropertyChangeType /* changeType */, QCamera::Status /* status */) const {return false; }
private:
DSCameraSession *m_session;
DSCameraService *m_service;
- QCamera::CaptureMode m_captureMode;
+ QCamera::CaptureModes m_captureMode;
};
QT_END_NAMESPACE
{
}
-QCamera::CaptureMode CameraBinControl::captureMode() const
+QCamera::CaptureModes CameraBinControl::captureMode() const
{
return m_session->captureMode();
}
-void CameraBinControl::setCaptureMode(QCamera::CaptureMode mode)
+void CameraBinControl::setCaptureMode(QCamera::CaptureModes mode)
{
if (m_session->captureMode() != mode) {
m_session->setCaptureMode(mode);
}
}
-bool CameraBinControl::isCaptureModeSupported(QCamera::CaptureMode mode) const
+bool CameraBinControl::isCaptureModeSupported(QCamera::CaptureModes mode) const
{
return mode == QCamera::CaptureStillImage || mode == QCamera::CaptureVideo;
}
QCamera::Status status() const { return m_status; }
- QCamera::CaptureMode captureMode() const;
- void setCaptureMode(QCamera::CaptureMode mode);
+ QCamera::CaptureModes captureMode() const;
+ void setCaptureMode(QCamera::CaptureModes mode);
- bool isCaptureModeSupported(QCamera::CaptureMode mode) const;
+ bool isCaptureModeSupported(QCamera::CaptureModes mode) const;
bool canChangeProperty(PropertyChangeType changeType, QCamera::Status status) const;
bool viewfinderColorSpaceConversion() const;
m_imageFileName = actualFileName;
}
-void CameraBinSession::setCaptureMode(QCamera::CaptureMode mode)
+void CameraBinSession::setCaptureMode(QCamera::CaptureModes mode)
{
m_captureMode = mode;
return true;
}
-QDir CameraBinSession::defaultDir(QCamera::CaptureMode mode) const
+QDir CameraBinSession::defaultDir(QCamera::CaptureModes mode) const
{
QStringList dirCandidates;
QList<QSize> CameraBinSession::supportedResolutions(QPair<int,int> rate,
bool *continuous,
- QCamera::CaptureMode mode) const
+ QCamera::CaptureModes mode) const
{
QList<QSize> res;
CameraRole cameraRole() const;
QList< QPair<int,int> > supportedFrameRates(const QSize &frameSize, bool *continuous) const;
- QList<QSize> supportedResolutions( QPair<int,int> rate, bool *continuous, QCamera::CaptureMode mode) const;
+ QList<QSize> supportedResolutions(QPair<int,int> rate, bool *continuous, QCamera::CaptureModes mode) const;
- QCamera::CaptureMode captureMode() { return m_captureMode; }
- void setCaptureMode(QCamera::CaptureMode mode);
+ QCamera::CaptureModes captureMode() { return m_captureMode; }
+ void setCaptureMode(QCamera::CaptureModes mode);
QUrl outputLocation() const;
bool setOutputLocation(const QUrl& sink);
- QDir defaultDir(QCamera::CaptureMode mode) const;
+ QDir defaultDir(QCamera::CaptureModes mode) const;
QString generateFileName(const QString &prefix, const QDir &dir, const QString &ext) const;
CameraBinAudioEncoder *audioEncodeControl() const { return m_audioEncodeControl; }
bool m_muted;
bool m_busy;
- QCamera::CaptureMode m_captureMode;
+ QCamera::CaptureModes m_captureMode;
QMap<QByteArray, QVariant> m_metaData;
QGstreamerElementFactory *m_audioInputFactory;
{
}
-void QGstreamerCameraControl::setCaptureMode(QCamera::CaptureMode mode)
+void QGstreamerCameraControl::setCaptureMode(QCamera::CaptureModes mode)
{
if (m_captureMode == mode)
return;
QCamera::Status status() const { return m_status; }
- QCamera::CaptureMode captureMode() const { return m_captureMode; }
- void setCaptureMode(QCamera::CaptureMode mode);
+ QCamera::CaptureModes captureMode() const { return m_captureMode; }
+ void setCaptureMode(QCamera::CaptureModes mode);
- bool isCaptureModeSupported(QCamera::CaptureMode mode) const
+ bool isCaptureModeSupported(QCamera::CaptureModes mode) const
{
return mode == QCamera::CaptureStillImage || mode == QCamera::CaptureVideo;
}
private:
- QCamera::CaptureMode m_captureMode;
+ QCamera::CaptureModes m_captureMode;
QGstreamerCaptureSession *m_session;
QCamera::State m_state;
QCamera::Status m_status;
{
}
-QCamera::CaptureMode SimulatorCameraControl::captureMode() const
+QCamera::CaptureModes SimulatorCameraControl::captureMode() const
{
return m_session->captureMode();
}
-void SimulatorCameraControl::setCaptureMode(QCamera::CaptureMode mode)
+void SimulatorCameraControl::setCaptureMode(QCamera::CaptureModes mode)
{
if (m_session->captureMode() != mode) {
m_session->setCaptureMode(mode);
}
}
-bool SimulatorCameraControl::isCaptureModeSupported(QCamera::CaptureMode mode) const
+bool SimulatorCameraControl::isCaptureModeSupported(QCamera::CaptureModes mode) const
{
return mode == QCamera::CaptureStillImage;
}
QCamera::Status status() const;
- QCamera::CaptureMode captureMode() const;
- void setCaptureMode(QCamera::CaptureMode mode);
+ QCamera::CaptureModes captureMode() const;
+ void setCaptureMode(QCamera::CaptureModes mode);
- bool isCaptureModeSupported(QCamera::CaptureMode mode) const;
+ bool isCaptureModeSupported(QCamera::CaptureModes mode) const;
bool canChangeProperty(PropertyChangeType changeType, QCamera::Status status) const;
return mRequestId;
}
-void SimulatorCameraSession::setCaptureMode(QCamera::CaptureMode mode)
+void SimulatorCameraSession::setCaptureMode(QCamera::CaptureModes mode)
{
mCaptureMode = mode;
}
-QDir SimulatorCameraSession::defaultDir(QCamera::CaptureMode) const
+QDir SimulatorCameraSession::defaultDir(QCamera::CaptureModes) const
{
const QString temp = QDir::tempPath();
if (QFileInfo(temp).isWritable())
}
}
-QCamera::CaptureMode SimulatorCameraSession::captureMode()
+QCamera::CaptureModes SimulatorCameraSession::captureMode()
{
return mCaptureMode;
}
SimulatorCameraSession(QObject *parent);
~SimulatorCameraSession();
- QCamera::CaptureMode captureMode();
- void setCaptureMode(QCamera::CaptureMode mode);
+ QCamera::CaptureModes captureMode();
+ void setCaptureMode(QCamera::CaptureModes mode);
- QDir defaultDir(QCamera::CaptureMode mode) const;
+ QDir defaultDir(QCamera::CaptureModes mode) const;
QString generateFileName(const QString &prefix, const QDir &dir, const QString &ext) const;
void setImage(const QImage *image);
void viewfinderChanged();
private:
- QCamera::CaptureMode mCaptureMode;
+ QCamera::CaptureModes mCaptureMode;
QObject *mViewfinder;
const QImage *mImage;
QSignalSpy errorSignal(&camera, SIGNAL(error(QCamera::Error)));
QSignalSpy stateChangedSignal(&camera, SIGNAL(stateChanged(QCamera::State)));
- QSignalSpy captureModeSignal(&camera, SIGNAL(captureModeChanged(QCamera::CaptureMode)));
+ QSignalSpy captureModeSignal(&camera, SIGNAL(captureModeChanged(QCamera::CaptureModes)));
QCOMPARE(camera.captureMode(), QCamera::CaptureStillImage);
camera.setCaptureMode(QCamera::CaptureVideo);
QCOMPARE(camera.captureMode(), QCamera::CaptureVideo);
QTRY_COMPARE(captureModeSignal.size(), 1);
- QCOMPARE(captureModeSignal.last().first().value<QCamera::CaptureMode>(), QCamera::CaptureVideo);
+ QCOMPARE(captureModeSignal.last().first().value<QCamera::CaptureModes>(), QCamera::CaptureVideo);
captureModeSignal.clear();
camera.load();
//it should be possible to switch capture mode in Loaded state
camera.setCaptureMode(QCamera::CaptureStillImage);
QTRY_COMPARE(captureModeSignal.size(), 1);
- QCOMPARE(captureModeSignal.last().first().value<QCamera::CaptureMode>(), QCamera::CaptureStillImage);
+ QCOMPARE(captureModeSignal.last().first().value<QCamera::CaptureModes>(), QCamera::CaptureStillImage);
captureModeSignal.clear();
camera.setCaptureMode(QCamera::CaptureVideo);
QTRY_COMPARE(captureModeSignal.size(), 1);
- QCOMPARE(captureModeSignal.last().first().value<QCamera::CaptureMode>(), QCamera::CaptureVideo);
+ QCOMPARE(captureModeSignal.last().first().value<QCamera::CaptureModes>(), QCamera::CaptureVideo);
captureModeSignal.clear();
camera.start();
QVERIFY2(stateChangedSignal.isEmpty(), "camera should not change the state during capture mode changes");
QCOMPARE(captureModeSignal.size(), 1);
- QCOMPARE(captureModeSignal.last().first().value<QCamera::CaptureMode>(), QCamera::CaptureStillImage);
+ QCOMPARE(captureModeSignal.last().first().value<QCamera::CaptureModes>(), QCamera::CaptureStillImage);
captureModeSignal.clear();
camera.setCaptureMode(QCamera::CaptureVideo);
QVERIFY2(stateChangedSignal.isEmpty(), "camera should not change the state during capture mode changes");
QCOMPARE(captureModeSignal.size(), 1);
- QCOMPARE(captureModeSignal.last().first().value<QCamera::CaptureMode>(), QCamera::CaptureVideo);
+ QCOMPARE(captureModeSignal.last().first().value<QCamera::CaptureModes>(), QCamera::CaptureVideo);
captureModeSignal.clear();
camera.stop();
void tst_QCamera::testCaptureModeChanged_signal()
{
MockCameraControl *m_cameraControl= new MockCameraControl(this);
- QSignalSpy spy(m_cameraControl, SIGNAL(captureModeChanged(QCamera::CaptureMode)));
+ QSignalSpy spy(m_cameraControl, SIGNAL(captureModeChanged(QCamera::CaptureModes)));
QVERIFY(spy.size() == 0);
m_cameraControl->setCaptureMode(QCamera::CaptureVideo);
QVERIFY(lockStatus == QCamera::Unlocked);
}
-/* Test case for signal captureModeChanged(QCamera::CaptureMode) */
+/* Test case for signal captureModeChanged(QCamera::CaptureModes) */
void tst_QCamera::testCaptureModeChangedSignal()
{
MockCameraService service;
QCamera camera(0, provider);
QVERIFY(camera.captureMode() == QCamera::CaptureStillImage);
- qRegisterMetaType<QCamera::CaptureMode>("QCamera::CaptureMode");
+ qRegisterMetaType<QCamera::CaptureModes>("QCamera::CaptureModes");
/* Spy the signal */
- QSignalSpy lockCaptureModeChangedSignal(&camera, SIGNAL(captureModeChanged(QCamera::CaptureMode)));
+ QSignalSpy lockCaptureModeChangedSignal(&camera, SIGNAL(captureModeChanged(QCamera::CaptureModes)));
/* set the capture mode and Verify if the signal is emitted */
camera.setCaptureMode(QCamera::CaptureVideo);
QVERIFY(camera.captureMode() == QCamera::CaptureVideo);
QCOMPARE(lockCaptureModeChangedSignal.count(), 1);
- QCamera::CaptureMode lockCaptureMode = qvariant_cast<QCamera::CaptureMode >(lockCaptureModeChangedSignal.at(0).at(0));
+ QCamera::CaptureModes lockCaptureMode = qvariant_cast<QCamera::CaptureModes >(lockCaptureModeChangedSignal.at(0).at(0));
QVERIFY(lockCaptureMode == QCamera::CaptureVideo);
}
QCamera::Status status() const { return m_status; }
- QCamera::CaptureMode captureMode() const { return m_captureMode; }
- void setCaptureMode(QCamera::CaptureMode mode)
+ QCamera::CaptureModes captureMode() const { return m_captureMode; }
+ void setCaptureMode(QCamera::CaptureModes mode)
{
if (m_captureMode != mode) {
if (m_state == QCamera::ActiveState && !m_propertyChangesSupported)
}
}
- bool isCaptureModeSupported(QCamera::CaptureMode mode) const
+ bool isCaptureModeSupported(QCamera::CaptureModes mode) const
{
return mode == QCamera::CaptureStillImage || mode == QCamera::CaptureVideo;
}
}
QCamera::State m_state;
- QCamera::CaptureMode m_captureMode;
+ QCamera::CaptureModes m_captureMode;
QCamera::Status m_status;
bool m_propertyChangesSupported;
};