diff options
author | Jonas Rabbe <jonas.rabbe@nokia.com> | 2011-08-31 13:09:47 +1000 |
---|---|---|
committer | Jonas Rabbe <jonas.rabbe@nokia.com> | 2011-08-31 13:09:47 +1000 |
commit | 6781063df647fcba3dd5ca6fdff8631579acb495 (patch) | |
tree | f505a6cadb9e8edd341b0105f47e051a6a597b5c /examples | |
parent | 3bf236cc23c2e67e1b5cbc01e05e61263528fc10 (diff) | |
parent | 8e954ee2462e827e88bbc27b1512d1e1422357fc (diff) | |
download | qtmultimedia-6781063df647fcba3dd5ca6fdff8631579acb495.tar.gz |
Merge branch 'radio' into 'master'
Change-Id: I86243b496b9fb42f828a67343dc576baa2c21ca0
Diffstat (limited to 'examples')
-rw-r--r-- | examples/declarative-radio/declarative-radio.pro | 10 | ||||
-rw-r--r-- | examples/declarative-radio/declarative-radio.qrc | 6 | ||||
-rw-r--r-- | examples/declarative-radio/main.cpp | 58 | ||||
-rw-r--r-- | examples/declarative-radio/view.qml | 199 | ||||
-rw-r--r-- | examples/examples.pro | 1 | ||||
-rw-r--r-- | examples/radio/radio.cpp | 5 |
6 files changed, 277 insertions, 2 deletions
diff --git a/examples/declarative-radio/declarative-radio.pro b/examples/declarative-radio/declarative-radio.pro new file mode 100644 index 000000000..f3dab6411 --- /dev/null +++ b/examples/declarative-radio/declarative-radio.pro @@ -0,0 +1,10 @@ +TEMPLATE = app +TARGET = declarative-radio +DEPENDPATH += . +INCLUDEPATH += . +QT += declarative multimediakit + +# Input +SOURCES += main.cpp +RESOURCES += declarative-radio.qrc + diff --git a/examples/declarative-radio/declarative-radio.qrc b/examples/declarative-radio/declarative-radio.qrc new file mode 100644 index 000000000..ed01a64f6 --- /dev/null +++ b/examples/declarative-radio/declarative-radio.qrc @@ -0,0 +1,6 @@ +<!DOCTYPE RCC><RCC version="1.0"> +<qresource> +<file>view.qml</file> +</qresource> +</RCC> + diff --git a/examples/declarative-radio/main.cpp b/examples/declarative-radio/main.cpp new file mode 100644 index 000000000..462fd829e --- /dev/null +++ b/examples/declarative-radio/main.cpp @@ -0,0 +1,58 @@ +/**************************************************************************** + ** + ** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). + ** All rights reserved. + ** Contact: Nokia Corporation (qt-info@nokia.com) + ** + ** This file is part of the demonstration applications of the Qt Toolkit. + ** + ** $QT_BEGIN_LICENSE:BSD$ + ** You may use this file under the terms of the 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 Nokia Corporation and its Subsidiary(-ies) 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 + ** OWNER 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." + ** $QT_END_LICENSE$ + ** + ****************************************************************************/ + +#include <QApplication> + +#include <qdeclarative.h> +#include <qsgview.h> + + +int main(int argc, char ** argv) +{ + QApplication app(argc, argv); + + QSGView view; + + view.setSource(QUrl("qrc:view.qml")); + view.show(); + + return app.exec(); +} + diff --git a/examples/declarative-radio/view.qml b/examples/declarative-radio/view.qml new file mode 100644 index 000000000..cb7623497 --- /dev/null +++ b/examples/declarative-radio/view.qml @@ -0,0 +1,199 @@ +/**************************************************************************** + ** + ** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). + ** All rights reserved. + ** Contact: Nokia Corporation (qt-info@nokia.com) + ** + ** This file is part of the examples of the Qt Toolkit. + ** + ** $QT_BEGIN_LICENSE:BSD$ + ** You may use this file under the terms of the 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 Nokia Corporation and its Subsidiary(-ies) 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 + ** OWNER 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." + ** $QT_END_LICENSE$ + ** + ****************************************************************************/ + +import QtQuick 2.0 +import Qt.multimediakit 4.0 + +Rectangle { + width: 400; height: 300; + + Radio { + id: radio + band: Radio.FM + } + + Column { + anchors.fill: parent + anchors.margins: 5 + spacing: 5 + + Row { + + Text { + id: freq + + width: 150 + height: 200 + + verticalAlignment: Text.AlignVCenter + text: "" + radio.frequency / 1000 + " kHz" + } + Text { + id: sig + + width: 200 + height: 200 + + verticalAlignment: Text.AlignVCenter + text: (radio.isAvailable() ? "No Signal " : "No Radio Found") + } + } + + Row { + spacing: 5 + + Rectangle { + width: 350 + height: 10 + + color: "black" + + Rectangle { + width: 5 + height: 10 + color: "red" + + y: 0 + x: (parent.width - 5) * ((radio.frequency - radio.minimumFrequency) / (radio.maximumFrequency - + radio.minimumFrequency)) + + } + } + } + + + Row { + spacing: 5 + + Rectangle { + id: scanDownButton + border.color: "black" + border.width: 1 + radius: 2 + + width: 90 + height: 40 + + Text { + anchors.fill: parent + verticalAlignment: Text.AlignVCenter + horizontalAlignment: Text.AlignHCenter + text: "Scan Down" + } + + MouseArea { + anchors.fill: parent + onClicked: radio.searchBackward(); + } + } + Rectangle { + id: freqDownButton + border.color: "black" + border.width: 1 + radius: 2 + + width: 90 + height: 40 + + Text { + anchors.fill: parent + verticalAlignment: Text.AlignVCenter + horizontalAlignment: Text.AlignHCenter + text: "Freq Down" + } + + MouseArea { + anchors.fill: parent + onClicked: { + var f = radio.frequency; + f = f - radio.frequencyStep; + radio.setFrequency(f); + } + } + } + Rectangle { + id: freqUpButton + border.color: "black" + border.width: 1 + radius: 2 + + width: 90 + height: 40 + + Text { + anchors.fill: parent + verticalAlignment: Text.AlignVCenter + horizontalAlignment: Text.AlignHCenter + text: "Freq Up" + } + + MouseArea { + anchors.fill: parent + onClicked: { + var f = radio.frequency; + f = f + radio.frequencyStep; + radio.setFrequency(f); + } + } + } + Rectangle { + id: scanUpButton + border.color: "black" + border.width: 1 + radius: 2 + + width: 90 + height: 40 + + Text { + anchors.fill: parent + verticalAlignment: Text.AlignVCenter + horizontalAlignment: Text.AlignHCenter + text: "Scan Up" + } + + MouseArea { + anchors.fill: parent + onClicked: radio.searchForward(); + } + } + } + } +} diff --git a/examples/examples.pro b/examples/examples.pro index 2a1a2338e..750d1f075 100644 --- a/examples/examples.pro +++ b/examples/examples.pro @@ -15,5 +15,6 @@ SUBDIRS += \ contains(QT_CONFIG, declarative) { disabled:SUBDIRS += declarative-camera + SUBDIRS += declarative-radio } diff --git a/examples/radio/radio.cpp b/examples/radio/radio.cpp index 0d4c33e93..34a034235 100644 --- a/examples/radio/radio.cpp +++ b/examples/radio/radio.cpp @@ -45,8 +45,6 @@ Radio::Radio() { radio = new QRadioTuner; - connect(radio,SIGNAL(frequencyChanged(int)),this,SLOT(freqChanged(int))); - connect(radio,SIGNAL(signalStrengthChanged(int)),this,SLOT(signalChanged(int))); connect(radio, SIGNAL(error(QRadioTuner::Error)), this, SLOT(error(QRadioTuner::Error))); if(radio->isBandSupported(QRadioTuner::FM)) @@ -62,6 +60,7 @@ Radio::Radio() freq = new QLabel; freq->setText(QString("%1 kHz").arg(radio->frequency()/1000)); topBar->addWidget(freq); + connect(radio,SIGNAL(frequencyChanged(int)),this,SLOT(freqChanged(int))); signal = new QLabel; if (radio->isAvailable()) @@ -69,6 +68,8 @@ Radio::Radio() else signal->setText(tr("No radio found")); topBar->addWidget(signal); + connect(radio,SIGNAL(signalStrengthChanged(int)),this,SLOT(signalChanged(int))); + volumeSlider = new QSlider(Qt::Vertical,this); volumeSlider->setRange(0,100); volumeSlider->setValue(50); |