// -*- qml -*-
-import QtQuick 1.1
-import com.nokia.meego 1.1
-import QtCamera 1.0
-
-Selector {
- id: button
-
- property alias value: scene.value
-
- iconSource: sceneIcon(scene.value);
- title: qsTr("Scene mode");
-
- Scene {
- id: scene
- camera: cam
- // TODO: hardcoding
- value: Scene.Auto
- }
+/*!
+ * 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 2.0
+import QtCamera 1.0
- function sceneIcon(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;
- }
- }
+CameraToolIcon {
+ id: button
+
+ iconSource: cameraTheme.imageSceneModeIcon(settings.imageSceneMode)
+ property list<ToolsModelItem> toolsModel: [
+ ToolsModelItem {icon: cameraTheme.imageSceneModeAutoIconId; value: Scene.Auto},
+ ToolsModelItem {icon: cameraTheme.imageSceneModeCloseupIconId; value: Scene.Closeup},
+ ToolsModelItem {icon: cameraTheme.imageSceneModeLandscapeIconId; value: Scene.Landscape},
+ ToolsModelItem {icon: cameraTheme.imageSceneModePortraitIconId; value: Scene.Portrait},
+ ToolsModelItem {icon: cameraTheme.imageSceneModeNightIconId; value: Scene.Night},
+ ToolsModelItem {icon: cameraTheme.imageSceneModeSportIconId; value: Scene.Sport}
+ ]
+
+ property CameraToolBarTools tools: CameraToolBarTools {
+ CameraLabel {
+ height: parent ? parent.height : 0
+ text: qsTr("Scene")
+ 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/icon-m-camera-scene-auto"
- checkedIcon: "image://theme/icon-m-camera-scene-auto-selected"
- controller: scene
- value: Scene.Auto
- }
-
- CheckButton {
- normalIcon: "image://theme/icon-m-camera-scene-macro"
- checkedIcon: "image://theme/icon-m-camera-scene-macro-selected"
- controller: scene
- value: Scene.Closeup
- }
-
- CheckButton {
- normalIcon: "image://theme/icon-m-camera-scene-landscape"
- checkedIcon: "image://theme/icon-m-camera-scene-landscape-selected"
- controller: scene
- value: Scene.Landscape
- }
-
- CheckButton {
- normalIcon: "image://theme/icon-m-camera-scene-portrait"
- checkedIcon: "image://theme/icon-m-camera-scene-portrait-selected"
- controller: scene
- value: Scene.Portrait
- }
-
- CheckButton {
- normalIcon: "image://theme/icon-m-camera-night"
- checkedIcon: "image://theme/icon-m-camera-night-selected"
- controller: scene
- value: Scene.Night
- }
+ Repeater {
+ model: parent != null && parent.visible ? toolsModel : undefined
- CheckButton {
- normalIcon: "image://theme/icon-m-camera-scene-sports"
- checkedIcon: "image://theme/icon-m-camera-scene-sports-selected"
- controller: scene
- value: Scene.Sport
- }
+ delegate: CheckButton {
+ iconSource: icon
+ onClicked: settings.imageSceneMode = value
+ checked: settings.imageSceneMode == value
+ visible: !(value == Scene.Night && overlay.cam.quirks.hasQuirk(Quirks.NoNightSceneMode))
+ }
}
+ }
}