c787f510ff6b459d3a5741b41be6da86f8775801
[harmattan/cameraplus] / imports / scene.cpp
1 #include "scene.h"
2 #include "camera.h"
3 #include <QDebug>
4
5 Scene::Scene(QObject *parent) :
6   Capability(parent),
7   m_scene(0) {
8
9 }
10
11 Scene::~Scene() {
12   if (m_scene) {
13     delete m_scene; m_scene = 0;
14   }
15 }
16
17 void Scene::deviceChanged() {
18   if (m_scene) {
19     delete m_scene; m_scene = 0;
20   }
21
22   if (m_cam->device()) {
23     m_scene = new QtCamScene(m_cam->device(), this);
24     QObject::connect(m_scene, SIGNAL(valueChanged()), this, SIGNAL(valueChanged()));
25   }
26
27   emit valueChanged();
28 }
29
30 Scene::SceneMode Scene::value() {
31   return m_scene ? (SceneMode)m_scene->value() : Scene::Auto;
32 }
33
34 void Scene::setValue(const Scene::SceneMode& mode) {
35   if (m_scene) {
36     m_scene->setValue((QtCamScene::SceneMode)mode);
37   }
38 }