/**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:FDL$ ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the ** Software or, alternatively, in accordance with the terms contained in ** a written agreement between you and Digia. For licensing terms and ** conditions see http://qt.digia.com/licensing. For further information ** use the contact form at http://qt.digia.com/contact-us. ** ** GNU Free Documentation License Usage ** Alternatively, this file may be used under the terms of the GNU Free ** Documentation License version 1.3 as published by the Free Software ** Foundation and appearing in the file included in the packaging of ** this file. Please review the following information to ensure ** the GNU Free Documentation License version 1.3 requirements ** will be met: http://www.gnu.org/copyleft/fdl.html. ** $QT_END_LICENSE$ ** ****************************************************************************/ /*! \group qml-systeminfo \title QML Systeminfo API Plugin QML Support for the QtMobility Project Systeminfo API. */ /*! \page qml-systeminfo.html \title SystemInfo QML Plugin \brief A QML plugin for the QtMobility Project Systeminfo API. \section1 Overview The System Information API gives the developer a convenient way to access various sources of information on a device within the powerful QtQuick environment. Many signals that you may wish to use require that a property with a name beginning with 'monitor' be used, for example setting \l {NetworkInfo::monitorStatusChanges}{monitorStatusChanges} to \i true will start status change events being emitted as signals (in the \l NetworkInfo element). \section2 AlignedTimer The \l {AlignedTimer} element allows timing functions in order to synchronize a number of activities. A one-shot feature is included as well as properties for minimum and maximum timer intervals. \section2 BatteryInfo The \l {BatteryInfo} element contains a set of functions and properties for interrogating and handling notifications of battery information. We will use the battery example, \i {battery2.qml}, to show how to use the element and the plugin. The following QML code enables a number of events and defines several handlers. \snippet ../../examples/declarative-systeminfo/battery2/battery2.qml battery2-info1 \dots 8 In particular, when the battery level changes the handler \snippet ../../examples/declarative-systeminfo/battery2/battery2.qml battery2-doBatteryLevelChange calls \snippet ../../examples/declarative-systeminfo/battery2/battery2.qml battery2-info2 which results in a change of State to \i {levelchange} being handled after the function. The \i levelchange state then causes a suitable animation to run and display the new level. \snippet ../../examples/declarative-systeminfo/battery2/battery2.qml battery2-level2 \dots 12 \snippet ../../examples/declarative-systeminfo/battery2/battery2.qml battery2-level3 \dots 12 \section2 DeviceInfo In the \i {battery2.qml} example above we saw a \l BatteryInfo element used to set up various signal handlers, one for battery level changes. BatteryInfo is a specialized wrapper of the same class used for \l DeviceInfo. \l DeviceInfo is an element that contains properties, signals and handlers for a variety of components of the device. So it not only caters for the battery but also manufacturer id, the thermal state, keyboard, whether the device locked and so forth. \section2 DisplayInfo The \l DisplayInfo element contains properties relating to the physical display such as width and height, and also resolution information given as the width and height in dpi. Only one signal is available, \l {DisplayInfo::orientationChanged}{orientationChanged}. The meaning of the values used in some of the properties and the reported orientation can be found in the \l QSystemDisplayInfo documentation. \section2 GeneralInfo This is a convenience class and is not expected to be used directly by developers. \section2 NetworkInfo The \l NetworkInfo element provides properties of a network connection and session and various signals. The QML plugin example, \i wifi.qml, gives a simple demonstration on how to use some of these properties. \snippet ../../examples/declarative-systeminfo/network/wifi.qml wifi-1 \dots 8 \snippet ../../examples/declarative-systeminfo/network/wifi.qml wifi-2 \dots 8 \snippet ../../examples/declarative-systeminfo/network/wifi.qml wifi-3 The Item element named \i wlan has its declared \i mode property set to the wireless lan mode enum. The NetworkInfo element \i {wlaninfo} also contains the connection status, represented by a string indicating a suitable image to display. The signal handler \i onStatusChanged will call the function that sets the image. Finally, in the NetworkInfo element we find a series of statements that enable signals for name changes, status changes, signal strength changes and mode changes. \section2 ScreenSaver The \l ScreenSaver element provides information about whether the screensaver has been delayed or inhibited and the ability to set the delayed boolean flag. \section1 QML Elements \annotatedlist qml-systeminfo \section2 Compatibility Notes \l DeviceInfo \l NetworkInfo */