3 import com.nokia.meego 1.1
7 // TODO: metadata creator name, gps, geotags
8 // 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");
40 // Stolen from https://qt.gitorious.org/qt-components/qt-components/blobs/master/examples/meego/QmlComponentGallery/qml/ListPage.qml
41 function replacePage(file) {
42 var component = Qt.createComponent(file)
44 if (component.status == Component.Ready) {
45 pageStack.replace(component, {cam: cam}, true);
48 console.log("Error loading component:", component.errorString());
52 function openFile(file) {
53 var component = Qt.createComponent(file)
55 if (component.status == Component.Ready) {
56 pageStack.push(component, {cam: cam});
59 console.log("Error loading component:", component.errorString());
63 platformStyle: PageStackWindowStyle {
69 target: platformWindow
71 if (platformWindow.active) {
75 // TODO: only stop if idle.
83 if (platformWindow.active) {
91 // TODO: hardcoding device id
92 Component.onCompleted: { cam.deviceId = 0; mode = settings.mode; }
109 value: ready ? camera.mode == Camera.VideoMode ? settings.videoSceneMode : settings.imageSceneMode : 0
113 id: colorToneController
115 value: ready ? camera.mode == Camera.VideoMode ? settings.videoColorFilter : settings.imageColorFilter : 0
119 id: whiteBalanceController
121 value: ready ? camera.mode == Camera.VideoMode ? settings.videoWhiteBalance : settings.imageWhiteBalance : 0
133 if (cam.mode == Camera.VideoMode) {
134 replacePage("VideoPage.qml");
137 replacePage("ImagePage.qml");