summaryrefslogtreecommitdiffstats
path: root/src/imports
diff options
context:
space:
mode:
Diffstat (limited to 'src/imports')
-rw-r--r--src/imports/multimedia/multimedia.cpp6
-rw-r--r--src/imports/multimedia/plugins.qmltypes17
-rw-r--r--src/imports/multimedia/qdeclarativecamera.cpp9
-rw-r--r--src/imports/multimedia/qdeclarativecamera_p.h3
-rw-r--r--src/imports/multimedia/qdeclarativeradiodata.cpp38
5 files changed, 54 insertions, 19 deletions
diff --git a/src/imports/multimedia/multimedia.cpp b/src/imports/multimedia/multimedia.cpp
index f61f97253..7d34672a1 100644
--- a/src/imports/multimedia/multimedia.cpp
+++ b/src/imports/multimedia/multimedia.cpp
@@ -98,7 +98,7 @@ public:
trUtf8("CameraImageProcessing is provided by Camera"));
// 5.2 types
- qmlRegisterRevision<QDeclarativeVideoOutput, 2>(uri, 5, 2);
+ qmlRegisterType<QDeclarativeVideoOutput, 2>(uri, 5, 2, "VideoOutput");
// 5.3 types
// Nothing changed, but adding "import QtMultimedia 5.3" in QML will fail unless at
@@ -107,13 +107,13 @@ public:
// 5.4 types
qmlRegisterSingletonType<QDeclarativeMultimediaGlobal>(uri, 5, 4, "QtMultimedia", multimedia_global_object);
- qmlRegisterRevision<QDeclarativeCamera, 1>(uri, 5, 4);
+ qmlRegisterType<QDeclarativeCamera, 1>(uri, 5, 4, "Camera");
qmlRegisterUncreatableType<QDeclarativeCameraViewfinder>(uri, 5, 4, "CameraViewfinder",
trUtf8("CameraViewfinder is provided by Camera"));
// 5.5 types
qmlRegisterUncreatableType<QDeclarativeCameraImageProcessing, 1>(uri, 5, 5, "CameraImageProcessing", trUtf8("CameraImageProcessing is provided by Camera"));
- qmlRegisterRevision<QDeclarativeCamera, 2>(uri, 5, 5);
+ qmlRegisterType<QDeclarativeCamera, 2>(uri, 5, 5, "Camera");
// 5.6 types
qmlRegisterType<QDeclarativeAudio, 1>(uri, 5, 6, "Audio");
diff --git a/src/imports/multimedia/plugins.qmltypes b/src/imports/multimedia/plugins.qmltypes
index 4d529dece..fe1c68af2 100644
--- a/src/imports/multimedia/plugins.qmltypes
+++ b/src/imports/multimedia/plugins.qmltypes
@@ -270,8 +270,12 @@ Module {
Component {
name: "QDeclarativeCamera"
prototype: "QObject"
- exports: ["QtMultimedia/Camera 5.0"]
- exportMetaObjectRevisions: [0]
+ exports: [
+ "QtMultimedia/Camera 5.0",
+ "QtMultimedia/Camera 5.4",
+ "QtMultimedia/Camera 5.5"
+ ]
+ exportMetaObjectRevisions: [0, 1, 2]
Enum {
name: "Position"
values: {
@@ -543,7 +547,7 @@ Module {
name: "supportedViewfinderFrameRateRanges"
revision: 2
type: "QJSValue"
- Parameter { name: "resolution"; type: "QSize" }
+ Parameter { name: "resolution"; type: "QJSValue" }
}
Method { name: "supportedViewfinderFrameRateRanges"; revision: 2; type: "QJSValue" }
}
@@ -1654,8 +1658,11 @@ Module {
name: "QDeclarativeVideoOutput"
defaultProperty: "data"
prototype: "QQuickItem"
- exports: ["QtMultimedia/VideoOutput 5.0"]
- exportMetaObjectRevisions: [0]
+ exports: [
+ "QtMultimedia/VideoOutput 5.0",
+ "QtMultimedia/VideoOutput 5.2"
+ ]
+ exportMetaObjectRevisions: [0, 2]
Enum {
name: "FillMode"
values: {
diff --git a/src/imports/multimedia/qdeclarativecamera.cpp b/src/imports/multimedia/qdeclarativecamera.cpp
index 5930b20fb..eac1c0c9b 100644
--- a/src/imports/multimedia/qdeclarativecamera.cpp
+++ b/src/imports/multimedia/qdeclarativecamera.cpp
@@ -1013,12 +1013,17 @@ QJSValue QDeclarativeCamera::supportedViewfinderResolutions(qreal minimumFrameRa
\since 5.5
*/
-QJSValue QDeclarativeCamera::supportedViewfinderFrameRateRanges(const QSize &resolution)
+QJSValue QDeclarativeCamera::supportedViewfinderFrameRateRanges(const QJSValue &resolution)
{
QQmlEngine *engine = qmlEngine(this);
QCameraViewfinderSettings settings;
- settings.setResolution(resolution);
+ if (!resolution.isUndefined()) {
+ QJSValue width = resolution.property(QStringLiteral("width"));
+ QJSValue height = resolution.property(QStringLiteral("height"));
+ if (width.isNumber() && height.isNumber())
+ settings.setResolution(width.toInt(), height.toInt());
+ }
QList<QCamera::FrameRateRange> frameRateRanges = m_camera->supportedViewfinderFrameRateRanges(settings);
QJSValue supportedFrameRateRanges = engine->newArray(frameRateRanges.count());
diff --git a/src/imports/multimedia/qdeclarativecamera_p.h b/src/imports/multimedia/qdeclarativecamera_p.h
index 623460c59..b3f199a57 100644
--- a/src/imports/multimedia/qdeclarativecamera_p.h
+++ b/src/imports/multimedia/qdeclarativecamera_p.h
@@ -57,6 +57,7 @@
#include <QtCore/qdatetime.h>
#include <QtQml/qqmlparserstatus.h>
#include <QtQml/qqml.h>
+#include <QtQml/qjsvalue.h>
QT_BEGIN_NAMESPACE
@@ -297,7 +298,7 @@ public Q_SLOTS:
Q_REVISION(2) QJSValue supportedViewfinderResolutions(qreal minimumFrameRate = 0.0,
qreal maximumFrameRate = 0.0);
- Q_REVISION(2) QJSValue supportedViewfinderFrameRateRanges(const QSize &resolution = QSize());
+ Q_REVISION(2) QJSValue supportedViewfinderFrameRateRanges(const QJSValue &resolution = QJSValue());
Q_SIGNALS:
void errorChanged();
diff --git a/src/imports/multimedia/qdeclarativeradiodata.cpp b/src/imports/multimedia/qdeclarativeradiodata.cpp
index 51d3bb877..f272e8d09 100644
--- a/src/imports/multimedia/qdeclarativeradiodata.cpp
+++ b/src/imports/multimedia/qdeclarativeradiodata.cpp
@@ -129,7 +129,10 @@ QDeclarativeRadioData::~QDeclarativeRadioData()
*/
QDeclarativeRadioData::Availability QDeclarativeRadioData::availability() const
{
- return Availability(m_radioData->availability());
+ if (m_radioData)
+ return Availability(m_radioData->availability());
+
+ return Unavailable;
}
@@ -141,7 +144,10 @@ QDeclarativeRadioData::Availability QDeclarativeRadioData::availability() const
*/
QString QDeclarativeRadioData::stationId() const
{
- return m_radioData->stationId();
+ if (m_radioData)
+ return m_radioData->stationId();
+
+ return QString();
}
/*!
@@ -206,7 +212,10 @@ QString QDeclarativeRadioData::stationId() const
*/
QDeclarativeRadioData::ProgramType QDeclarativeRadioData::programType() const
{
- return static_cast<QDeclarativeRadioData::ProgramType>(m_radioData->programType());
+ if (m_radioData)
+ return static_cast<QDeclarativeRadioData::ProgramType>(m_radioData->programType());
+
+ return Undefined;
}
/*!
@@ -216,7 +225,10 @@ QDeclarativeRadioData::ProgramType QDeclarativeRadioData::programType() const
*/
QString QDeclarativeRadioData::programTypeName() const
{
- return m_radioData->programTypeName();
+ if (m_radioData)
+ return m_radioData->programTypeName();
+
+ return QString();
}
/*!
@@ -226,7 +238,10 @@ QString QDeclarativeRadioData::programTypeName() const
*/
QString QDeclarativeRadioData::stationName() const
{
- return m_radioData->stationName();
+ if (m_radioData)
+ return m_radioData->stationName();
+
+ return QString();
}
/*!
@@ -238,7 +253,10 @@ QString QDeclarativeRadioData::stationName() const
*/
QString QDeclarativeRadioData::radioText() const
{
- return m_radioData->radioText();
+ if (m_radioData)
+ return m_radioData->radioText();
+
+ return QString();
}
/*!
@@ -250,12 +268,16 @@ QString QDeclarativeRadioData::radioText() const
*/
bool QDeclarativeRadioData::alternativeFrequenciesEnabled() const
{
- return m_radioData->isAlternativeFrequenciesEnabled();
+ if (m_radioData)
+ return m_radioData->isAlternativeFrequenciesEnabled();
+
+ return false;
}
void QDeclarativeRadioData::setAlternativeFrequenciesEnabled(bool enabled)
{
- m_radioData->setAlternativeFrequenciesEnabled(enabled);
+ if (m_radioData)
+ m_radioData->setAlternativeFrequenciesEnabled(enabled);
}
void QDeclarativeRadioData::_q_programTypeChanged(QRadioData::ProgramType programType)