X-Git-Url: http://cgit.sxemacs.org/?p=harmattan%2Fcameraplus;a=blobdiff_plain;f=qml%2FFlashButton.qml;h=8c504ec90874ac9c16c9b73c01a887db008c097b;hp=b965d0d889b75a4498559539b9156187e587305a;hb=3a0a63499a4a2f1b19e5f444fcab2d9a26640b1d;hpb=8fda608e8809c2b5c1b0db2a10e6099b73759ce8 diff --git a/qml/FlashButton.qml b/qml/FlashButton.qml index b965d0d..8c504ec 100644 --- a/qml/FlashButton.qml +++ b/qml/FlashButton.qml @@ -3,7 +3,7 @@ /*! * This file is part of CameraPlus. * - * Copyright (C) 2012 Mohammed Sameer + * 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 @@ -20,79 +20,44 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -import QtQuick 1.1 -import com.nokia.meego 1.1 +import QtQuick 2.0 import QtCamera 1.0 +import "data.js" as Data -Selector { - id: button +CameraToolIcon { + id: button - property alias value: flash.value + iconId: Data.flashIcon(settings.imageFlashMode) - iconSource: flashIcon(flash.value); - - title: qsTr("Flash mode"); - - Flash { - // TODO: move this out of here. - id: flash - camera: cam - value: settings.imageFlashMode - // TODO: scene modes can change flash value. what to do here ? - onValueChanged: settings.imageFlashMode = value; + property CameraToolBarTools tools: CameraToolBarTools { + CameraLabel { + height: parent ? parent.height : 0 + text: qsTr("Flash") + verticalAlignment: Text.AlignVCenter } - 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; - } - } + CheckButton { + iconId: Data.flashIcon(Flash.Auto) + onClicked: settings.imageFlashMode = Flash.Auto + checked: settings.imageFlashMode == Flash.Auto } - widget: Row { - id: row - height: button.checked ? 64 : 0 - width: button.checked ? (children.length * height) + (children.length - 1) * spacing : 0 - spacing: 10 - - Behavior on width { - // TODO: seems animation is not working - PropertyAnimation { duration: 250; } - } - - CheckButton { - normalIcon: "image://theme/icon-m-camera-flash-auto" - checkedIcon: "image://theme/icon-m-camera-flash-auto-pressed" - 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" - onClicked: settings.imageFlashMode = value; - value: Flash.On - savedValue: settings.imageFlashMode - } + CheckButton { + iconId: Data.flashIcon(Flash.On) + onClicked: settings.imageFlashMode = Flash.On + checked: settings.imageFlashMode == Flash.On + } - CheckButton { - normalIcon: "image://theme/icon-m-camera-flash-off" - checkedIcon: "image://theme/icon-m-camera-flash-off-pressed" - onClicked: settings.imageFlashMode = value; - value: Flash.Off - savedValue: settings.imageFlashMode - } + CheckButton { + iconId: Data.flashIcon(Flash.Off) + onClicked: settings.imageFlashMode = Flash.Off + checked: settings.imageFlashMode == Flash.Off + } - CheckButton { - normalIcon: "image://theme/icon-m-camera-flash-red-eye" - checkedIcon: "image://theme/icon-m-camera-flash-red-eye-pressed" - onClicked: settings.imageFlashMode = value; - value: Flash.RedEye - savedValue: settings.imageFlashMode - } + CheckButton { + iconId: Data.flashIcon(Flash.RedEye) + onClicked: settings.imageFlashMode = Flash.RedEye + checked: settings.imageFlashMode == Flash.RedEye } + } }