Fixes for CheckButton API.
authorMohammed Sameer <msameer@foolab.org>
Wed, 5 Sep 2012 15:23:39 +0000 (18:23 +0300)
committerMohammed Sameer <msameer@foolab.org>
Wed, 5 Sep 2012 15:23:39 +0000 (18:23 +0300)
Move Scene declaration to main.qml instead of having 2 separate instances

qml/CheckButton.qml
qml/FlashButton.qml
qml/ImageSceneButton.qml
qml/VideoSceneButton.qml
qml/main.qml

index bdc0693..312cb59 100644 (file)
@@ -6,18 +6,16 @@ Button {
         id: button
         property string normalIcon: ""
         property string checkedIcon: ""
-        property QtObject controller: null
         property QtObject fader: null
         property int value: -1
         property bool doClose: true
+        property int savedValue: -1
 
         width: visible ? 56 : 0
         height: visible ? 56 : 0
-        iconSource: !visible ? "" : controller.value == value ? checkedIcon : normalIcon
+        iconSource: !visible ? "" : savedValue == value ? checkedIcon : normalIcon
 
         onClicked: {
-                controller.value = value;
-
                 if (doClose) {
                         close();
                 }
index 80034b0..d24f394 100644 (file)
@@ -15,8 +15,7 @@ Selector {
         Flash {
                 id: flash
                 camera: cam
-                // TODO: hardcoding
-                value: Flash.Auto
+                value: settings.imageFlashMode
         }
 
         function flashIcon(val) {
@@ -43,29 +42,33 @@ Selector {
                 CheckButton {
                         normalIcon: "image://theme/icon-m-camera-flash-auto"
                         checkedIcon: "image://theme/icon-m-camera-flash-auto-pressed"
-                        controller: flash
+                        onClicked: settings.imageFlashMode = value;
                         value: Flash.Auto
+                        savedValue: settings.imageFlashMode
                 }
 
                 CheckButton {
                         normalIcon: "image://theme/icon-m-camera-flash-always"
                         checkedIcon: "image://theme/icon-m-camera-flash-always-pressed"
-                        controller: flash
+                        onClicked: settings.imageFlashMode = value;
                         value: Flash.On
+                        savedValue: settings.imageFlashMode
                 }
 
                 CheckButton {
                         normalIcon: "image://theme/icon-m-camera-flash-off"
                         checkedIcon: "image://theme/icon-m-camera-flash-off-pressed"
-                        controller: flash
+                        onClicked: settings.imageFlashMode = value;
                         value: Flash.Off
+                        savedValue: settings.imageFlashMode
                 }
 
                 CheckButton {
                         normalIcon: "image://theme/icon-m-camera-flash-red-eye"
                         checkedIcon: "image://theme/icon-m-camera-flash-red-eye-pressed"
-                        controller: flash
+                        onClicked: settings.imageFlashMode = value;
                         value: Flash.RedEye
+                        savedValue: settings.imageFlashMode
                 }
         }
 }
index 5900492..78640ec 100644 (file)
@@ -6,19 +6,12 @@ import QtCamera 1.0
 Selector {
         id: button
 
-        property alias value: scene.value
+        property int value: settings.imageSceneMode
 
         iconSource: sceneIcon(scene.value);
 
         title: qsTr("Scene mode");
 
-        Scene {
-                id: scene
-                camera: cam
-                // TODO: hardcoding
-                value: Scene.Auto
-        }
-
         function sceneIcon(val) {
                 var x = row.children.length;
                 var i = 0;
@@ -43,42 +36,48 @@ Selector {
                 CheckButton {
                         normalIcon: "image://theme/icon-m-camera-scene-auto"
                         checkedIcon: "image://theme/icon-m-camera-scene-auto-selected"
-                        controller: scene
+                        savedValue: settings.imageSceneMode
+                        onClicked: settings.imageSceneMode = value;
                         value: Scene.Auto
                 }
 
                 CheckButton {
                         normalIcon: "image://theme/icon-m-camera-scene-macro"
                         checkedIcon: "image://theme/icon-m-camera-scene-macro-selected"
-                        controller: scene
+                        savedValue: settings.imageSceneMode
+                        onClicked: settings.imageSceneMode = value;
                         value: Scene.Closeup
                 }
 
                 CheckButton {
                         normalIcon: "image://theme/icon-m-camera-scene-landscape"
                         checkedIcon: "image://theme/icon-m-camera-scene-landscape-selected"
-                        controller: scene
+                        savedValue: settings.imageSceneMode
+                        onClicked: settings.imageSceneMode = value;
                         value: Scene.Landscape
                 }
 
                 CheckButton {
                         normalIcon: "image://theme/icon-m-camera-scene-portrait"
                         checkedIcon: "image://theme/icon-m-camera-scene-portrait-selected"
-                        controller: scene
+                        savedValue: settings.imageSceneMode
+                        onClicked: settings.imageSceneMode = value;
                         value: Scene.Portrait
                 }
 
                 CheckButton {
                         normalIcon: "image://theme/icon-m-camera-night"
                         checkedIcon: "image://theme/icon-m-camera-night-selected"
-                        controller: scene
+                        savedValue: settings.imageSceneMode
+                        onClicked: settings.imageSceneMode = value;
                         value: Scene.Night
                 }
 
                 CheckButton {
                         normalIcon: "image://theme/icon-m-camera-scene-sports"
                         checkedIcon: "image://theme/icon-m-camera-scene-sports-selected"
-                        controller: scene
+                        savedValue: settings.imageSceneMode
+                        onClicked: settings.imageSceneMode = value;
                         value: Scene.Sport
                 }
         }
index 5f11502..fea4a0a 100644 (file)
@@ -6,19 +6,12 @@ import QtCamera 1.0
 Selector {
         id: button
 
-        property alias value: scene.value
+        property int value: settings.videoSceneMode
 
         iconSource: sceneIcon(scene.value);
 
         title: qsTr("Scene mode");
 
-        Scene {
-                id: scene
-                camera: cam
-                // TODO: hardcoding
-                value: Scene.Auto
-        }
-
         function sceneIcon(val) {
                 var x = row.children.length;
                 var i = 0;
@@ -43,14 +36,16 @@ Selector {
                 CheckButton {
                         normalIcon: "image://theme/icon-m-camera-scene-auto"
                         checkedIcon: "image://theme/icon-m-camera-scene-auto-selected"
-                        controller: scene
+                        savedValue: settings.videoSceneMode
+                        onClicked: settings.videoSceneMode = value;
                         value: Scene.Auto
                 }
 
                 CheckButton {
                         normalIcon: "image://theme/icon-m-camera-video-night"
                         checkedIcon: "image://theme/icon-m-camera-video-night-selected"
-                        controller: scene
+                        savedValue: settings.videoSceneMode
+                        onClicked: settings.videoSceneMode = value;
                         value: Scene.Night
                 }
         }
index d6b23ca..885e958 100644 (file)
@@ -74,6 +74,12 @@ PageStackWindow {
                 }
         }
 
+        Scene {
+                id: sceneController
+                camera: cam
+                value: camera.mode == Camera.VideoMode ? settings.videoSceneMode : settings.imageSceneMode
+        }
+
         ModeController {
                 id: cameraMode
                 cam: cam