X-Git-Url: http://cgit.sxemacs.org/?a=blobdiff_plain;f=qml%2FFlashButton.qml;h=9582323c19598fdcee099632ca9b55678bc8714b;hb=960eb792acde51e3e0b862c19d58acaf3082c500;hp=c9b3ae046c3faa7dc35c046da5787bb1d14bfad6;hpb=86e1c0d20f4ceb8eac527d91f3d372ed7fcb67ed;p=harmattan%2Fcameraplus diff --git a/qml/FlashButton.qml b/qml/FlashButton.qml index c9b3ae0..9582323 100644 --- a/qml/FlashButton.qml +++ b/qml/FlashButton.qml @@ -1,93 +1,67 @@ // -*- qml -*- + +/*! + * This file is part of CameraPlus. + * + * Copyright (C) 2012-2013 Mohammed Sameer + * + * 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 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 + }] }