X-Git-Url: http://cgit.sxemacs.org/?p=harmattan%2Fcameraplus;a=blobdiff_plain;f=qml%2FFlashButton.qml;h=02029137b628a7beefd2f54f9c6bad295ccd060f;hp=08bfd9e6c0fa0df8c295eddf1493f5b4369df5cf;hb=e5ae33a4ee7a287d9790ea92e270a4d0fd4c4554;hpb=046b6743620b3703ca065b5707dcb6be06be582a diff --git a/qml/FlashButton.qml b/qml/FlashButton.qml index 08bfd9e..0202913 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,70 +20,37 @@ * 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 + iconSource: cameraTheme.flashIcon(settings.imageFlashMode) - iconSource: "image://theme/" + Data.flashIcon(settings.imageFlashMode) + property list toolsModel: [ + ToolsModelItem {icon: cameraTheme.flashAutoIconId; value: Flash.Auto }, + ToolsModelItem {icon: cameraTheme.flashOnIconId; value: Flash.On }, + ToolsModelItem {icon: cameraTheme.flashOffIconId; value: Flash.Off }, + ToolsModelItem {icon: cameraTheme.flashRedEyeIconId; value: Flash.RedEye } + ] - 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 } - 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/" + Data.flashIcon(value) - checkedIcon: "image://theme/" + Data.flashPressedIcon(value) - onClicked: settings.imageFlashMode = value; - value: Flash.Auto - savedValue: settings.imageFlashMode - } - - CheckButton { - normalIcon: "image://theme/" + Data.flashIcon(value) - checkedIcon: "image://theme/" + Data.flashPressedIcon(value) - onClicked: settings.imageFlashMode = value; - value: Flash.On - savedValue: settings.imageFlashMode - } - - CheckButton { - normalIcon: "image://theme/" + Data.flashIcon(value) - checkedIcon: "image://theme/" + Data.flashPressedIcon(value) - onClicked: settings.imageFlashMode = value; - value: Flash.Off - savedValue: settings.imageFlashMode - } + Repeater { + model: parent != null && parent.visible ? toolsModel : undefined - CheckButton { - normalIcon: "image://theme/" + Data.flashIcon(value) - checkedIcon: "image://theme/" + Data.flashPressedIcon(value) - onClicked: settings.imageFlashMode = value; - value: Flash.RedEye - savedValue: settings.imageFlashMode - } + delegate: CheckButton { + iconSource: icon + onClicked: settings.imageFlashMode = value + checked: settings.imageFlashMode == value + visible: !(overlay.cam.quirks.hasQuirk(Quirks.NoRedEyeFlash) && value == Flash.RedEye) + } } + } }