#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"
#include "videomute.h"
#include "videotorch.h"
#include "cameraconfig.h"
+#include "quirks.h"
-Camera::Camera(QDeclarativeItem *parent) :
- QDeclarativeItem(parent),
+Camera::Camera(QObject *parent) :
+ QObject(parent),
m_cam(new QtCamera(this)),
m_dev(0),
m_mode(Camera::UnknownMode),
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();
}
delete m_roi;
delete m_videoMute;
delete m_videoTorch;
-}
-
-void Camera::componentComplete() {
- QDeclarativeItem::componentComplete();
-
- emit deviceCountChanged();
+ delete m_quirks;
}
int Camera::deviceCount() const {
return false;
}
- if (!isComponentComplete()) {
- qmlInfo(this) << "Component is still not ready";
- return false;
- }
-
QVariant oldId = m_id;
Camera::CameraMode oldMode = m_mode;
}
if (m_dev && m_dev->stop(false)) {
+ emit prepareForDeviceChange();
delete m_dev;
}
else if (m_dev) {
return m_id;
}
-void Camera::geometryChanged(const QRectF& newGeometry, const QRectF& oldGeometry) {
- QDeclarativeItem::geometryChanged(newGeometry, oldGeometry);
-}
-
QtCamDevice *Camera::device() const {
return m_dev;
}
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 {
CameraConfig *Camera::cameraConfig() const {
return m_config;
}
+
+Quirks *Camera::quirks() const {
+ return m_quirks;
+}