// -*- qml -*-
+
+/*!
+ * This file is part of CameraPlus.
+ *
+ * Copyright (C) 2012-2013 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
-MouseArea {
- id: mouse
- anchors.fill: parent
- enabled: false
- onClicked: enabled = !enabled;
- onEnabledChanged: button.checked = enabled;
-
- function flashIcon(val) {
- var x = row.children.length;
- var i = 0;
- for (i = 0; i < x; i++) {
- if (row.children[i].value == val) {
- return row.children[i].normalIcon;
- }
- }
- }
-
- Timer {
- interval: 2000
- running: mouse.enabled
- repeat: false
- onTriggered: mouse.enabled = !mouse.enabled
- }
-
- Flash {
- id: flash
- camera: cam
- // TODO: hardcoding
- value: Flash.Auto
- }
+ToolIcon {
+ id: button
- Button {
- anchors.left: parent.left
- id: button
- width: 64
- height: 64
- opacity: 0.5
- onClicked: mouse.enabled = !mouse.enabled;
- checkable: true
- iconSource: flashIcon(flash.value);
- }
-
- Row {
- id: row
- height: mouse.enabled ? 64 : 0
- width: mouse.enabled ? (children.length * height) + (children.length - 1) * spacing : 0
- anchors.left: button.right
- anchors.leftMargin: 20
- spacing: 10
-
- Behavior on width {
- // TODO: seems animation is not working
- PropertyAnimation { duration: 250; }
- }
+ iconSource: "image://theme/" + Data.flashIcon(settings.imageFlashMode)
+ property list<Item> items: [
+ Label {
+ height: parent ? parent.height : 0
+ text: qsTr("Flash");
+ verticalAlignment: Text.AlignVCenter
+ },
CheckButton {
- normalIcon: "/usr/share/themes/blanco/meegotouch/icons/icon-m-camera-flash-auto.png"
- checkedIcon: "/usr/share/themes/blanco/meegotouch/icons/icon-m-camera-flash-auto-pressed.png"
- controller: flash
+ normalIcon: "image://theme/" + Data.flashIcon(value)
+ checkedIcon: "image://theme/" + Data.flashPressedIcon(value)
+ onClicked: settings.imageFlashMode = value;
value: Flash.Auto
- fader: mouse
- }
-
+ savedValue: settings.imageFlashMode
+ },
CheckButton {
- normalIcon: "/usr/share/themes/blanco/meegotouch/icons/icon-m-camera-flash-always.png"
- checkedIcon: "/usr/share/themes/blanco/meegotouch/icons/icon-m-camera-flash-always-pressed.png"
- controller: flash
+ normalIcon: "image://theme/" + Data.flashIcon(value)
+ checkedIcon: "image://theme/" + Data.flashPressedIcon(value)
+ onClicked: settings.imageFlashMode = value;
value: Flash.On
- fader: mouse
- }
-
+ savedValue: settings.imageFlashMode
+ },
CheckButton {
- normalIcon: "/usr/share/themes/blanco/meegotouch/icons/icon-m-camera-flash-off.png"
- checkedIcon: "/usr/share/themes/blanco/meegotouch/icons/icon-m-camera-flash-off-pressed.png"
- controller: flash
+ normalIcon: "image://theme/" + Data.flashIcon(value)
+ checkedIcon: "image://theme/" + Data.flashPressedIcon(value)
+ onClicked: settings.imageFlashMode = value;
value: Flash.Off
- fader: mouse
- }
-
+ savedValue: settings.imageFlashMode
+ },
CheckButton {
- normalIcon: "/usr/share/themes/blanco/meegotouch/icons/icon-m-camera-flash-red-eye.png"
- checkedIcon: "/usr/share/themes/blanco/meegotouch/icons/icon-m-camera-flash-red-eye-pressed.png"
- controller: flash
+ normalIcon: "image://theme/" + Data.flashIcon(value)
+ checkedIcon: "image://theme/" + Data.flashPressedIcon(value)
+ onClicked: settings.imageFlashMode = value;
value: Flash.RedEye
- fader: mouse
- }
- }
+ savedValue: settings.imageFlashMode
+ }]
}