Added ISO selector to CameraToolBar
authorMohammed Sameer <msameer@foolab.org>
Tue, 1 Jan 2013 17:08:33 +0000 (19:08 +0200)
committerMohammed Sameer <msameer@foolab.org>
Tue, 1 Jan 2013 17:08:33 +0000 (19:08 +0200)
qml/ImageIsoButton.qml [new file with mode: 0644]
qml/ImagePage.qml
qml/ImageSettingsPage.qml
qml/data.js
qml/qml.qrc

diff --git a/qml/ImageIsoButton.qml b/qml/ImageIsoButton.qml
new file mode 100644 (file)
index 0000000..0f1e88d
--- /dev/null
@@ -0,0 +1,79 @@
+// -*- qml -*-
+
+/*!
+ * This file is part of CameraPlus.
+ *
+ * Copyright (C) 2012 Mohammed Sameer <msameer@foolab.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ */
+
+import QtQuick 1.1
+import com.nokia.meego 1.1
+import QtCamera 1.0
+import "data.js" as Data
+
+ToolIcon {
+        id: button
+
+        iconSource: "image://theme/" + Data.isoIcon(settings.imageIso);
+
+        property list<Item> items: [
+                Label {
+                        height: parent ? parent.height : 0
+                        text: qsTr("ISO");
+                        verticalAlignment: Text.AlignVCenter
+                },
+                Button {
+                        property int value: 0
+                        onClicked: settings.imageIso = value;
+                        text: qsTr("Auto")
+                        width: 100
+                        checked: settings.imageIso == value
+                        anchors.verticalCenter: parent ? parent.verticalCenter : undefined
+                },
+                Button {
+                        property int value: 100
+                        onClicked: settings.imageIso = value;
+                        text: value
+                        width: 100
+                        checked: settings.imageIso == value
+                        anchors.verticalCenter: parent ? parent.verticalCenter : undefined
+                },
+                Button {
+                        property int value: 200
+                        onClicked: settings.imageIso = value;
+                        text: value
+                        width: 100
+                        checked: settings.imageIso == value
+                        anchors.verticalCenter: parent ? parent.verticalCenter : undefined
+                },
+                Button {
+                        property int value: 400
+                        onClicked: settings.imageIso = value;
+                        text: value
+                        width: 100
+                        checked: settings.imageIso == value
+                        anchors.verticalCenter: parent ? parent.verticalCenter : undefined
+                },
+                Button {
+                        property int value: 800
+                        onClicked: settings.imageIso = value;
+                        text: value
+                        width: 100
+                        checked: settings.imageIso == value
+                        anchors.verticalCenter: parent ? parent.verticalCenter : undefined
+                }]
+}
index 121429f..45b07ec 100644 (file)
@@ -215,6 +215,9 @@ CameraPage {
                 ImageColorFilterButton {
                         onClicked: toolBar.push(items);
                 },
+                ImageIsoButton {
+                        onClicked: toolBar.push(items);
+                },
                 ToolIcon {
                         iconSource: "image://theme/icon-m-toolbar-view-menu-white"
                         onClicked: openFile("ImageSettingsPage.qml");
index 301368e..0879de0 100644 (file)
@@ -83,44 +83,6 @@ CameraPage {
                                 Button { text: qsTr("10 seconds"); }
                         }
 */
-                        SectionHeader {
-                                text: qsTr("Light sensitivity");
-                        }
-
-                        ButtonRow {
-                                anchors.horizontalCenter: parent.horizontalCenter
-
-                                Button {
-                                        text: qsTr("Automatic");
-                                        checked: settings.imageIso == 0;
-                                        onClicked: settings.imageIso = 0;
-                                }
-
-                                Button {
-                                        text: qsTr("ISO 100");
-                                        checked: settings.imageIso == 100;
-                                        onClicked: settings.imageIso = 100;
-                                }
-
-                                Button {
-                                        text: qsTr("ISO 200");
-                                        checked: settings.imageIso == 200;
-                                        onClicked: settings.imageIso = 200;
-                                }
-
-                                Button {
-                                        text: qsTr("ISO 400");
-                                        checked: settings.imageIso == 400;
-                                        onClicked: settings.imageIso = 400;
-                                }
-
-                                Button {
-                                        text: qsTr("ISO 800");
-                                        checked: settings.imageIso == 800;
-                                        onClicked: settings.imageIso = 800;
-                                }
-                        }
-
                         SectionHeader {
                                 text: qsTr("Aspect ratio");
                         }
index 441eb15..0f9c730 100644 (file)
@@ -172,15 +172,7 @@ function vsmName(sm) {
 }
 
 function isoIcon(value) {
-    var x = 0;
-    var len = __iso.length;
-    for (x = 0; x < len; x++) {
-       if (__iso[x][0] == value) {
-           return __iso[x][1];
-       }
-    }
-
-    return "";
+    return filterData(value, __iso, 1);
 }
 
 function imageIcon(aspect, res) {
index 545b300..3dcc025 100644 (file)
@@ -24,6 +24,7 @@
        <file>ImageEvCompButton.qml</file>
        <file>ImageWhiteBalanceButton.qml</file>
        <file>ImageColorFilterButton.qml</file>
+       <file>ImageIsoButton.qml</file>
        <file>PreviewImage.qml</file>
        <file>CheckButton.qml</file>
        <file>VideoTorchButton.qml</file>