Fixes for CheckButton API.
[harmattan/cameraplus] / qml / ImageSceneButton.qml
1 // -*- qml -*-
2 import QtQuick 1.1
3 import com.nokia.meego 1.1
4 import QtCamera 1.0
5
6 Selector {
7         id: button
8
9         property int value: settings.imageSceneMode
10
11         iconSource: sceneIcon(scene.value);
12
13         title: qsTr("Scene mode");
14
15         function sceneIcon(val) {
16                 var x = row.children.length;
17                 var i = 0;
18                 for (i = 0; i < x; i++) {
19                         if (row.children[i].value == val) {
20                                 return row.children[i].normalIcon;
21                         }
22                 }
23         }
24
25         widget: Row {
26                 id: row
27                 height: button.checked ? 64 : 0
28                 width: button.checked ? (children.length * height) +  (children.length - 1) * spacing : 0
29                 spacing: 10
30
31                 Behavior on width {
32                         // TODO: seems animation is not working
33                         PropertyAnimation { duration: 250; }
34                 }
35
36                 CheckButton {
37                         normalIcon: "image://theme/icon-m-camera-scene-auto"
38                         checkedIcon: "image://theme/icon-m-camera-scene-auto-selected"
39                         savedValue: settings.imageSceneMode
40                         onClicked: settings.imageSceneMode = value;
41                         value: Scene.Auto
42                 }
43
44                 CheckButton {
45                         normalIcon: "image://theme/icon-m-camera-scene-macro"
46                         checkedIcon: "image://theme/icon-m-camera-scene-macro-selected"
47                         savedValue: settings.imageSceneMode
48                         onClicked: settings.imageSceneMode = value;
49                         value: Scene.Closeup
50                 }
51
52                 CheckButton {
53                         normalIcon: "image://theme/icon-m-camera-scene-landscape"
54                         checkedIcon: "image://theme/icon-m-camera-scene-landscape-selected"
55                         savedValue: settings.imageSceneMode
56                         onClicked: settings.imageSceneMode = value;
57                         value: Scene.Landscape
58                 }
59
60                 CheckButton {
61                         normalIcon: "image://theme/icon-m-camera-scene-portrait"
62                         checkedIcon: "image://theme/icon-m-camera-scene-portrait-selected"
63                         savedValue: settings.imageSceneMode
64                         onClicked: settings.imageSceneMode = value;
65                         value: Scene.Portrait
66                 }
67
68                 CheckButton {
69                         normalIcon: "image://theme/icon-m-camera-night"
70                         checkedIcon: "image://theme/icon-m-camera-night-selected"
71                         savedValue: settings.imageSceneMode
72                         onClicked: settings.imageSceneMode = value;
73                         value: Scene.Night
74                 }
75
76                 CheckButton {
77                         normalIcon: "image://theme/icon-m-camera-scene-sports"
78                         checkedIcon: "image://theme/icon-m-camera-scene-sports-selected"
79                         savedValue: settings.imageSceneMode
80                         onClicked: settings.imageSceneMode = value;
81                         value: Scene.Sport
82                 }
83         }
84 }