X-Git-Url: http://cgit.sxemacs.org/?p=harmattan%2Fcameraplus;a=blobdiff_plain;f=qml%2FZoomSlider.qml;h=0f0b74a2b21152464d7402b9d148abfc42f4f980;hp=38debe32b1904db7104b30a84f94da820c1105b7;hb=0cc3c29ff939adee6a1a4a8dc59042fcbd47118d;hpb=0c6a0abf8365ff30c43be3e95e68399e8216be6e diff --git a/qml/ZoomSlider.qml b/qml/ZoomSlider.qml index 38debe3..0f0b74a 100644 --- a/qml/ZoomSlider.qml +++ b/qml/ZoomSlider.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,55 +20,82 @@ * 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 -Slider { - id: slider - property Camera camera: null +CameraSlider { + id: slider + property Camera camera: null - platformStyle: SliderStyle { - handleBackground: "" - handleBackgroundPressed: "" - } + handleBackground: "" + handleBackgroundPressed: "" + + Binding { + target: camera ? camera.zoom : null + property: "value" + value: slider.value + when: camera != null + } + + Connections { + target: camera + onModeChanged: slider.value = camera.zoom.minimum; + } + + Connections { + target: keys + + onVolumeUpPressed: { + if (settings.zoomAsShutter) { + return; + } - Binding { - target: camera.zoom - property: "value" - value: slider.value + slider.value = Math.min(slider.value + slider.stepSize, slider.maximumValue) + hackTimer.running = true } - Connections { - target: camera - onModeChanged: slider.value = camera.zoom.minimum; + onVolumeDownPressed: { + if (settings.zoomAsShutter) { + return; + } + + slider.value = Math.max(slider.value - slider.stepSize, slider.minimumValue) + hackTimer.running = true } + } - orientation: Qt.Horizontal - width: 500 - height: 50 - stepSize:0.1 - minimumValue: camera.zoom.minimum - maximumValue: camera.zoom.maximum + orientation: Qt.Horizontal + width: 500 + height: 50 + stepSize:0.1 + value: camera ? camera.zoom.value : 0 + minimumValue: camera ? camera.zoom.minimum : 0 + maximumValue: camera ? camera.zoom.maximum : 0 - state: "hidden" - states: [ + state: "hidden" + states: [ State { - name: "visible" - when: slider.pressed - PropertyChanges { target: slider; opacity: 1.0 } + name: "visible" + when: slider.pressed || hackTimer.running + PropertyChanges { target: slider; opacity: 1.0 } }, State { - name: "hidden" - when: !slider.pressed - PropertyChanges { target: slider; opacity: 0.2 } - }] - - transitions: Transition { - to: "hidden" - SequentialAnimation { - PauseAnimation { duration: 2000 } - NumberAnimation { target: slider; property: "opacity"; duration: 250 } - } + name: "hidden" + when: !slider.pressed + PropertyChanges { target: slider; opacity: 0.2 } } + ] + + transitions: Transition { + to: "hidden" + SequentialAnimation { + PauseAnimation { duration: 2000 } + NumberAnimation { target: slider; property: "opacity"; duration: 250 } + } + } + + Timer { + id: hackTimer + interval: 1 + } }