X-Git-Url: http://cgit.sxemacs.org/?a=blobdiff_plain;f=qml%2FImageSceneButton.qml;h=54ca4fbdcc7e0dfd3fa7b4efa3481d7f8392c433;hb=9f52b2df221f3716827a90a26f6015744168dc13;hp=3ce47c064756bc8055d3569b0f7e7c4029801ca1;hpb=82103013c64bd98cdef4ed35609fc2fcc7b225e1;p=harmattan%2Fcameraplus diff --git a/qml/ImageSceneButton.qml b/qml/ImageSceneButton.qml index 3ce47c0..54ca4fb 100644 --- a/qml/ImageSceneButton.qml +++ b/qml/ImageSceneButton.qml @@ -1,85 +1,57 @@ // -*- 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 + * + * 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 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: "/usr/share/themes/blanco/meegotouch/icons/icon-m-camera-scene-auto.png" - checkedIcon: "/usr/share/themes/blanco/meegotouch/icons/icon-m-camera-scene-auto-selected.png" - controller: scene - value: Scene.Auto - } - - CheckButton { - normalIcon: "/usr/share/themes/blanco/meegotouch/icons/icon-m-camera-scene-macro.png" - checkedIcon: "/usr/share/themes/blanco/meegotouch/icons/icon-m-camera-scene-macro-selected.png" - controller: scene - value: Scene.Closeup - } - - CheckButton { - normalIcon: "/usr/share/themes/blanco/meegotouch/icons/icon-m-camera-scene-landscape.png" - checkedIcon: "/usr/share/themes/blanco/meegotouch/icons/icon-m-camera-scene-landscape-selected.png" - controller: scene - value: Scene.Landscape - } - - CheckButton { - normalIcon: "/usr/share/themes/blanco/meegotouch/icons/icon-m-camera-scene-portrait.png" - checkedIcon: "/usr/share/themes/blanco/meegotouch/icons/icon-m-camera-scene-portrait-selected.png" - controller: scene - value: Scene.Portrait - } - - CheckButton { - normalIcon: "/usr/share/themes/blanco/meegotouch/icons/icon-m-camera-night.png" - checkedIcon: "/usr/share/themes/blanco/meegotouch/icons/icon-m-camera-night-selected.png" - controller: scene - value: Scene.Night - } + Repeater { + model: parent != null && parent.visible ? toolsModel : undefined - CheckButton { - normalIcon: "/usr/share/themes/blanco/meegotouch/icons/icon-m-camera-scene-sports.png" - checkedIcon: "/usr/share/themes/blanco/meegotouch/icons/icon-m-camera-scene-sports-selected.png" - 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)) + } } + } }