We cannot use the Indicators component so let's copy and paste it whenever we need...
[harmattan/cameraplus] / imports / zoom.cpp
1 #include "zoom.h"
2 #include "camera.h"
3 #include "qtcamzoom.h"
4
5 Zoom::Zoom(QObject *parent) :
6   Capability(parent),
7   m_zoom(0) {
8
9 }
10
11 Zoom::~Zoom() {
12   if (m_zoom) {
13     delete m_zoom; m_zoom = 0;
14   }
15 }
16
17 void Zoom::deviceChanged() {
18   if (m_zoom) {
19     delete m_zoom; m_zoom = 0;
20   }
21
22   if (m_cam->device()) {
23     m_zoom = new QtCamZoom(m_cam->device(), this);
24     QObject::connect(m_zoom, SIGNAL(valueChanged()), this, SIGNAL(valueChanged()));
25     QObject::connect(m_zoom, SIGNAL(minimumValueChanged()), this, SIGNAL(minimumChanged()));
26     QObject::connect(m_zoom, SIGNAL(maximumValueChanged()), this, SIGNAL(maximunmChanged()));
27   }
28
29   emit valueChanged();
30   emit minimumChanged();
31   emit maximunmChanged();
32 }
33
34 qreal Zoom::value() {
35   return m_zoom ? m_zoom->value() : 1.0;
36 }
37
38 void Zoom::setValue(qreal val) {
39   if (m_zoom) {
40     m_zoom->setValue(val);
41   }
42 }
43
44 qreal Zoom::minimum() {
45   return m_zoom ? m_zoom->minimumValue() : 1.0;
46 }
47
48 qreal Zoom::maximum() {
49   return m_zoom ? m_zoom->maximumValue() : 1.0;
50 }