/*!
* This file is part of CameraPlus.
*
- * Copyright (C) 2012 Mohammed Sameer <msameer@foolab.org>
+ * 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
* 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<ToolsModelItem> 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)
+ }
}
+ }
}