Changelog for 0.0.8
[harmattan/cameraplus] / declarative / camera.cpp
index c04741b..3429832 100644 (file)
 #include "qtcammode.h"
 #include "qtcamimagemode.h"
 #include "qtcamvideomode.h"
-#include "qtcamgraphicsviewfinder.h"
 #include "qtcamconfig.h"
 #include "sounds.h"
 #include "notificationscontainer.h"
 #include "sounds.h"
+#if defined(QT4)
 #include <QDeclarativeInfo>
-
+#elif defined(QT5)
+#include <QQmlInfo>
+#endif
 #include "zoom.h"
 #include "flash.h"
 #include "scene.h"
@@ -49,6 +51,7 @@
 #include "videomute.h"
 #include "videotorch.h"
 #include "cameraconfig.h"
+#include "quirks.h"
 
 Camera::Camera(QObject *parent) :
   QObject(parent),
@@ -72,7 +75,8 @@ Camera::Camera(QObject *parent) :
   m_roi(0),
   m_videoMute(0),
   m_videoTorch(0),
-  m_config(new CameraConfig(this)) {
+  m_config(new CameraConfig(this)),
+  m_quirks(0) {
 
   m_config->componentComplete();
 }
@@ -104,6 +108,7 @@ Camera::~Camera() {
   delete m_roi;
   delete m_videoMute;
   delete m_videoTorch;
+  delete m_quirks;
 }
 
 int Camera::deviceCount() const {
@@ -151,6 +156,7 @@ bool Camera::setDeviceId(const QVariant& deviceId) {
   }
 
   if (m_dev && m_dev->stop(false)) {
+    emit prepareForDeviceChange();
     delete m_dev;
   }
   else if (m_dev) {
@@ -330,6 +336,10 @@ void Camera::resetCapabilities() {
   delete m_videoTorch;
   m_videoTorch = new VideoTorch(dev, this);
   emit videoTorchChanged();
+
+  delete m_quirks;
+  m_quirks = new Quirks(dev->config()->quirks(dev->id()), this);
+  emit quirksChanged();
 }
 
 Zoom *Camera::zoom() const {
@@ -399,3 +409,7 @@ VideoTorch *Camera::videoTorch() const {
 CameraConfig *Camera::cameraConfig() const {
   return m_config;
 }
+
+Quirks *Camera::quirks() const {
+  return m_quirks;
+}