summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonas Rabbe <jonas.rabbe@nokia.com>2011-08-30 10:46:19 +1000
committerQt by Nokia <qt-info@nokia.com>2011-08-30 07:40:43 +0200
commit8e954ee2462e827e88bbc27b1512d1e1422357fc (patch)
tree88b73d9ce7ce22fd34eab11fc86e795446273e97
parent7535629ecb4a4af6c003ea0b3ba7e5eca6f1d847 (diff)
Added QML API for getting the limits for a specific radio band.
Using properties for the frequency step, minimum and maximum frequency of the currently selected band. Also updated the declarative-radio example to use the minimum and maximum frequencies to show a tuner band for the radio. Change-Id: I9f28f10e98e008c14b10bdc12b0727086cd45f0b Reviewed-on: http://codereview.qt.nokia.com/3829 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
-rw-r--r--examples/declarative-radio/view.qml30
-rw-r--r--src/imports/multimedia/qdeclarativeradio.cpp18
-rw-r--r--src/imports/multimedia/qdeclarativeradio_p.h8
3 files changed, 48 insertions, 8 deletions
diff --git a/examples/declarative-radio/view.qml b/examples/declarative-radio/view.qml
index e598cb354..cb7623497 100644
--- a/examples/declarative-radio/view.qml
+++ b/examples/declarative-radio/view.qml
@@ -46,11 +46,13 @@ Rectangle {
Radio {
id: radio
+ band: Radio.FM
}
Column {
anchors.fill: parent
anchors.margins: 5
+ spacing: 5
Row {
@@ -61,7 +63,7 @@ Rectangle {
height: 200
verticalAlignment: Text.AlignVCenter
- text: "" + radio.frequency / 1000 + " kHz";
+ text: "" + radio.frequency / 1000 + " kHz"
}
Text {
id: sig
@@ -74,6 +76,28 @@ Rectangle {
}
}
+ 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
@@ -119,7 +143,7 @@ Rectangle {
anchors.fill: parent
onClicked: {
var f = radio.frequency;
- f = f - radio.frequencyStep(Radio.FM);
+ f = f - radio.frequencyStep;
radio.setFrequency(f);
}
}
@@ -144,7 +168,7 @@ Rectangle {
anchors.fill: parent
onClicked: {
var f = radio.frequency;
- f = f + radio.frequencyStep(Radio.FM);
+ f = f + radio.frequencyStep;
radio.setFrequency(f);
}
}
diff --git a/src/imports/multimedia/qdeclarativeradio.cpp b/src/imports/multimedia/qdeclarativeradio.cpp
index 3de5a46fd..5debda7ba 100644
--- a/src/imports/multimedia/qdeclarativeradio.cpp
+++ b/src/imports/multimedia/qdeclarativeradio.cpp
@@ -111,14 +111,24 @@ bool QDeclarativeRadio::searching() const
return m_radioTuner->isSearching();
}
-bool QDeclarativeRadio::isAvailable() const
+int QDeclarativeRadio::frequencyStep() const
{
- return m_radioTuner->isAvailable();
+ return m_radioTuner->frequencyStep(m_radioTuner->band());
+}
+
+int QDeclarativeRadio::minimumFrequency() const
+{
+ return m_radioTuner->frequencyRange(m_radioTuner->band()).first;
}
-int QDeclarativeRadio::frequencyStep(QDeclarativeRadio::Band band) const
+int QDeclarativeRadio::maximumFrequency() const
{
- return m_radioTuner->frequencyStep(static_cast<QRadioTuner::Band>(band));
+ return m_radioTuner->frequencyRange(m_radioTuner->band()).second;
+}
+
+bool QDeclarativeRadio::isAvailable() const
+{
+ return m_radioTuner->isAvailable();
}
void QDeclarativeRadio::setBand(QDeclarativeRadio::Band band)
diff --git a/src/imports/multimedia/qdeclarativeradio_p.h b/src/imports/multimedia/qdeclarativeradio_p.h
index 89385a51d..498e60fe3 100644
--- a/src/imports/multimedia/qdeclarativeradio_p.h
+++ b/src/imports/multimedia/qdeclarativeradio_p.h
@@ -72,6 +72,9 @@ class QDeclarativeRadio : public QObject
Q_PROPERTY(int volume READ volume WRITE setVolume NOTIFY volumeChanged)
Q_PROPERTY(bool muted READ muted WRITE setMuted NOTIFY mutedChanged)
Q_PROPERTY(bool searching READ searching NOTIFY searchingChanged)
+ Q_PROPERTY(int frequencyStep READ frequencyStep NOTIFY bandChanged)
+ Q_PROPERTY(int minimumFrequency READ minimumFrequency NOTIFY bandChanged)
+ Q_PROPERTY(int maximumFrequency READ maximumFrequency NOTIFY bandChanged)
Q_ENUMS(State)
Q_ENUMS(Band)
Q_ENUMS(Error)
@@ -118,8 +121,11 @@ public:
int signalStrength() const;
bool searching() const;
+ int frequencyStep() const;
+ int minimumFrequency() const;
+ int maximumFrequency() const;
+
Q_INVOKABLE bool isAvailable() const;
- Q_INVOKABLE int frequencyStep(QDeclarativeRadio::Band band) const;
public Q_SLOTS:
void setBand(QDeclarativeRadio::Band band);