Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Copyright (C) 2013 Jolla Ltd.
- Contact: Thomas Perl <thomas.perl@jollamobile.com>
- 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
Advertisement