From e241b6d193a356ed584734fae239ed93c50b1857 Mon Sep 17 00:00:00 2001 From: Mohammed Sameer Date: Sun, 15 Sep 2013 21:42:50 +0300 Subject: [PATCH] Added enablePreview property to declarative Mode --- declarative/mode.cpp | 30 +++++++++++++++++++++++++++++- declarative/mode.h | 8 ++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/declarative/mode.cpp b/declarative/mode.cpp index 79e9109..f59ee36 100644 --- a/declarative/mode.cpp +++ b/declarative/mode.cpp @@ -28,7 +28,8 @@ Mode::Mode(QObject *parent) : QObject(parent), m_cam(0), m_mode(0), - m_seq(0) { + m_seq(0), + m_previewEnabled(true) { } @@ -94,6 +95,8 @@ void Mode::deviceChanged() { QObject::connect(m_cam->device(), SIGNAL(runningStateChanged(bool)), this, SIGNAL(canCaptureChanged())); + setPreviewState(); + postChangeMode(); } @@ -132,3 +135,28 @@ void Mode::prepareForDeviceChange() { preChangeMode(); } } + +bool Mode::isPreviewEnabled() { + return m_previewEnabled; +} + +void Mode::setPreviewEnabled(bool enabled) { + if (enabled != m_previewEnabled) { + m_previewEnabled = enabled; + + if (m_mode) { + setPreviewState(); + } + + emit enablePreviewChanged(); + } +} + +void Mode::setPreviewState() { + if (m_previewEnabled) { + m_mode->enablePreview(); + } + else { + m_mode->disablePreview(); + } +} diff --git a/declarative/mode.h b/declarative/mode.h index 95925d8..07ef32d 100644 --- a/declarative/mode.h +++ b/declarative/mode.h @@ -37,6 +37,7 @@ class Mode : public QObject { Q_PROPERTY(bool canCapture READ canCapture NOTIFY canCaptureChanged); Q_PROPERTY(bool active READ isActive NOTIFY activeChanged); Q_PROPERTY(bool ready READ isReady NOTIFY isReadyChanged); + Q_PROPERTY(bool enablePreview READ isPreviewEnabled WRITE setPreviewEnabled NOTIFY enablePreviewChanged); public: Mode(QObject *parent = 0); @@ -51,6 +52,9 @@ public: bool isReady() const; + bool isPreviewEnabled(); + void setPreviewEnabled(bool enabled); + signals: void cameraChanged(); void canCaptureChanged(); @@ -58,6 +62,7 @@ signals: void previewAvailable(const QString& preview, const QString& fileName); void saved(const QString& fileName); void isReadyChanged(); + void enablePreviewChanged(); private slots: void gotPreview(const QImage& image, const QString& fileName); @@ -73,7 +78,10 @@ protected: QPointer m_mode; private: + void setPreviewState(); + unsigned long long m_seq; + bool m_previewEnabled; }; #endif /* MODE_H */ -- 2.25.1