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