X-Git-Url: http://cgit.sxemacs.org/?a=blobdiff_plain;f=imports%2Fevcomp.cpp;fp=imports%2Fevcomp.cpp;h=08d9029672132a14a73e1ac32a9dc007804052b1;hb=8f066a70efdef52c074af997925653c6e16d26ce;hp=0000000000000000000000000000000000000000;hpb=e99c541b410524b002f0040facc9041da1f4367d;p=harmattan%2Fcameraplus diff --git a/imports/evcomp.cpp b/imports/evcomp.cpp new file mode 100644 index 0000000..08d9029 --- /dev/null +++ b/imports/evcomp.cpp @@ -0,0 +1,50 @@ +#include "evcomp.h" +#include "camera.h" +#include "qtcamevcomp.h" + +EvComp::EvComp(QObject *parent) : + Capability(parent), + m_evComp(0) { + +} + +EvComp::~EvComp() { + if (m_evComp) { + delete m_evComp; m_evComp = 0; + } +} + +void EvComp::deviceChanged() { + if (m_evComp) { + delete m_evComp; m_evComp = 0; + } + + if (m_cam->device()) { + m_evComp = new QtCamEvComp(m_cam->device(), this); + QObject::connect(m_evComp, SIGNAL(valueChanged()), this, SIGNAL(valueChanged())); + QObject::connect(m_evComp, SIGNAL(minimumValueChanged()), this, SIGNAL(minimumChanged())); + QObject::connect(m_evComp, SIGNAL(maximumValueChanged()), this, SIGNAL(maximunmChanged())); + } + + emit valueChanged(); + emit minimumChanged(); + emit maximunmChanged(); +} + +qreal EvComp::value() { + return m_evComp ? m_evComp->value() : 0.0; +} + +void EvComp::setValue(qreal val) { + if (m_evComp) { + m_evComp->setValue(val); + } +} + +qreal EvComp::minimum() { + return m_evComp ? m_evComp->minimumValue() : 0.0; +} + +qreal EvComp::maximum() { + return m_evComp ? m_evComp->maximumValue() : 0.0; +}