Not a member of Pastebin yet?
                        Sign Up,
                        it unlocks many cool features!                    
                - /*
 - Copyright (C) 2013 Jolla Ltd.
 - Contact: Thomas Perl <[email protected]>
 - All rights reserved.
 - You may use this file under the terms of BSD license as follows:
 - Redistribution and use in source and binary forms, with or without
 - modification, are permitted provided that the following conditions are met:
 - * Redistributions of source code must retain the above copyright
 - notice, this list of conditions and the following disclaimer.
 - * Redistributions in binary form must reproduce the above copyright
 - notice, this list of conditions and the following disclaimer in the
 - documentation and/or other materials provided with the distribution.
 - * Neither the name of the Jolla Ltd nor the
 - names of its contributors may be used to endorse or promote products
 - derived from this software without specific prior written permission.
 - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 - ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR
 - ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 - */
 - import QtQuick 2.0
 - import Sailfish.Silica 1.0
 - import QtMultimedia 5.0
 - Page {
 - id: page
 - // To enable PullDownMenu, place our content in a SilicaFlickable
 - SilicaFlickable {
 - anchors.fill: parent
 - // PullDownMenu and PushUpMenu must be declared in SilicaFlickable, SilicaListView or SilicaGridView
 - PullDownMenu {
 - MenuItem {
 - text: "Show Page 2"
 - onClicked: pageStack.push(Qt.resolvedUrl("SecondPage.qml"))
 - }
 - }
 - Camera {
 - id: camera
 - flash.mode: Camera.FlashOff
 - flash.onReadyChanged: {
 - log("cam ready changed to " + flash.ready)
 - }
 - flash.onModeChanged: {
 - log("cam mode changed to " + flash.mode)
 - }
 - }
 - Torch {
 - id: realTorch
 - enabled: false // app starting state
 - power: powerSlider.value
 - onEnabledChanged: {
 - log("rT enabled changed to " + enabled)
 - }
 - onPowerChanged: {
 - log("rT power changed to " + power)
 - }
 - }
 - // Tell SilicaFlickable the height of its content.
 - contentHeight: column.height
 - // Place our content in a Column. The PageHeader is always placed at the top
 - // of the page, followed by our content.
 - Column {
 - id: column
 - width: page.width
 - spacing: Theme.paddingLarge
 - PageHeader {
 - title: "Test flashlight control APIs"
 - }
 - TextArea {
 - id: logArea
 - height: 200
 - width: parent.width
 - }
 - Button {
 - text: "On via Torch!"
 - onClicked: {
 - realTorch.enabled = true
 - }
 - }
 - Button {
 - text: "Off via Torch!"
 - onClicked: {
 - realTorch.enabled = false
 - }
 - }
 - Button {
 - text: "On via Camera!"
 - onClicked: {
 - camera.flash.mode = Camera.FlashTorch
 - }
 - }
 - Button {
 - text: "Off via Camera!"
 - onClicked: {
 - camera.flash.mode = Camera.FlashOff
 - }
 - }
 - Slider {
 - id: powerSlider
 - minimumValue: 0
 - maximumValue: 100
 - value: 50
 - height: 150
 - width: 300
 - }
 - }
 - }
 - Component.onCompleted: {
 - log("cam mode is " + camera.flash.mode)
 - }
 - function log(msg) {
 - console.log(msg)
 - logArea.text = msg + "\n" + logArea.text
 - }
 - }
 
Advertisement
 
                    Add Comment                
                
                        Please, Sign In to add comment