3 import com.nokia.meego 1.1
4 import com.nokia.extras 1.1
8 // TODO: metadata creator name, gps, geotags
9 // TODO: resolutions and aspect ratios
11 // TODO: battery low state
13 // TODO: flash not ready
14 // TODO: focus, caf, ...
16 // TODO: portrait/landscape
17 // TODO: record in a hidden directory and then copy the video to avoid tracker indexing it.
22 property alias dimmer: camDimmer
26 Component.onCompleted: {
27 theme.inverted = true;
28 if (settings.mode == 0) {
29 openFile("ImagePage.qml");
32 openFile("VideoPage.qml");
36 function showError(msg) {
51 imageSuffix: cam.imageSuffix
52 videoSuffix: cam.videoSuffix
55 // Stolen from https://qt.gitorious.org/qt-components/qt-components/blobs/master/examples/meego/QmlComponentGallery/qml/ListPage.qml
56 function replacePage(file) {
57 var component = Qt.createComponent(file)
59 if (component.status == Component.Ready) {
60 pageStack.replace(component, {cam: cam}, true);
63 console.log("Error loading component:", component.errorString());
67 function openFile(file) {
68 var component = Qt.createComponent(file)
70 if (component.status == Component.Ready) {
71 pageStack.push(component, {cam: cam});
74 console.log("Error loading component:", component.errorString());
78 platformStyle: PageStackWindowStyle {
84 target: platformWindow
86 if (platformWindow.active) {
88 showError("Camera failed to start. Please restart the camera.");
92 // This is a noop if camera is not idle so calling it will not hurt
100 if (idle && !platformWindow.active) {
106 if (platformWindow.active) {
114 // TODO: hardcoding device id
115 Component.onCompleted: { cam.deviceId = 0; mode = settings.mode; }
132 value: ready ? camera.mode == Camera.VideoMode ? settings.videoSceneMode : settings.imageSceneMode : 0
136 id: colorToneController
138 value: ready ? camera.mode == Camera.VideoMode ? settings.videoColorFilter : settings.imageColorFilter : 0
142 id: whiteBalanceController
144 value: ready ? camera.mode == Camera.VideoMode ? settings.videoWhiteBalance : settings.imageWhiteBalance : 0
156 if (cam.mode == Camera.VideoMode) {
157 replacePage("VideoPage.qml");
160 replacePage("ImagePage.qml");