From 3d88a055d03dc680ef0960aba872d2c9f67301fb Mon Sep 17 00:00:00 2001
From: Jonas Rabbe <jonas.rabbe@nokia.com>
Date: Wed, 11 Jan 2012 12:12:55 +1000
Subject: [PATCH] Updated QtMultimedia declarative module to version 5.0

The QtMultimedia module should have version 5.0 to align with
Qt 5 in general. This change updates the version, but keeps
4.0 versions of the elements for compatability purposes.

Documentation and examples has also been updated to reflect
this version change.

Change-Id: Ica10c1a5ecc2c7233192a65e04ff77eb33a77e30
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
---
 doc/src/examples/qmlvideofx.qdoc              |  2 +-
 doc/src/plugins/qml-multimedia.qdoc           | 12 +++++-----
 .../multimedia-snippets/soundeffect.qml       |  4 ++--
 examples/declarative-camera/CameraButton.qml  |  2 +-
 .../CameraPropertyButton.qml                  |  4 ++--
 .../CameraPropertyPopup.qml                   |  2 +-
 .../declarative-camera/CaptureControls.qml    |  4 ++--
 .../ExposureCompensationButton.qml            |  2 +-
 examples/declarative-camera/FlickableList.qml |  2 +-
 examples/declarative-camera/FocusButton.qml   |  4 ++--
 examples/declarative-camera/PhotoPreview.qml  |  4 ++--
 examples/declarative-camera/ZoomControl.qml   |  4 ++--
 .../declarative-camera/declarative-camera.qml |  4 ++--
 examples/declarative-radio/view.qml           |  2 +-
 .../qmlvideo/qml/qmlvideo/CameraItem.qml      |  2 +-
 .../qmlvideo/qml/qmlvideo/VideoFillMode.qml   |  2 +-
 .../video/qmlvideo/qml/qmlvideo/VideoItem.qml |  2 +-
 .../qml/qmlvideofx/ContentCamera.qml          |  2 +-
 .../qml/qmlvideofx/ContentVideo.qml           |  2 +-
 src/imports/multimedia/Video.qml              |  2 +-
 src/imports/multimedia/multimedia.cpp         | 24 +++++++++++++++++++
 src/imports/multimedia/qdeclarativeaudio.cpp  |  6 ++---
 src/imports/multimedia/qdeclarativecamera.cpp |  6 ++---
 .../multimedia/qdeclarativecameraexposure.cpp |  6 ++---
 .../multimedia/qdeclarativecameraflash.cpp    |  6 ++---
 .../multimedia/qdeclarativecamerafocus.cpp    |  6 ++---
 src/imports/multimedia/qdeclarativevideo.cpp  |  6 ++---
 .../multimedia/qdeclarativevideooutput.cpp    |  5 ++--
 src/imports/multimedia/qmldir                 |  2 +-
 src/multimedia/audio/qsoundeffect.cpp         |  2 +-
 30 files changed, 79 insertions(+), 54 deletions(-)

diff --git a/doc/src/examples/qmlvideofx.qdoc b/doc/src/examples/qmlvideofx.qdoc
index af0a5d367..5705ba9d1 100644
--- a/doc/src/examples/qmlvideofx.qdoc
+++ b/doc/src/examples/qmlvideofx.qdoc
@@ -77,7 +77,7 @@ a wiggly effect to the content:
 
 \code
 import QtQuick 2.0
-import QtMultimedia 4.0
+import QtMultimedia 5.0
 
 Rectangle {
     width: 300
diff --git a/doc/src/plugins/qml-multimedia.qdoc b/doc/src/plugins/qml-multimedia.qdoc
index b539cf499..84020efa1 100644
--- a/doc/src/plugins/qml-multimedia.qdoc
+++ b/doc/src/plugins/qml-multimedia.qdoc
@@ -54,8 +54,8 @@
 
     \qml
 
-    import Qt 4.7
-    import QtMultimedia 4.0
+    import QtQuick 2.0
+    import QtMultimedia 5.0
     // ...
 
     Audio {
@@ -237,8 +237,8 @@
 
     \qml
 
-    import Qt 4.7
-    import QtMultimedia 4.0
+    import QtQuick 2.0
+    import QtMultimedia 5.0
 
 
         SoundEffect {
@@ -264,8 +264,8 @@
     including white balance, exposure compensation and flash mode, and control zoom.
 
     \qml
-    import Qt 4.7
-    import QtMultimedia 4.0
+    import QtQuick 2.0
+    import QtMultimedia 5.0
 
     Camera {
         focus : visible // to receive focus and capture key events when visible
diff --git a/doc/src/snippets/multimedia-snippets/soundeffect.qml b/doc/src/snippets/multimedia-snippets/soundeffect.qml
index 8acd7c257..dc42369ec 100644
--- a/doc/src/snippets/multimedia-snippets/soundeffect.qml
+++ b/doc/src/snippets/multimedia-snippets/soundeffect.qml
@@ -40,8 +40,8 @@
 ****************************************************************************/
 
 //! [complete snippet]
-import Qt 4.7
-import QtMultimedia 4.0
+import QtQuick 2.0
+import QtMultimedia 5.0
 
 Text {
     text: "Click Me!";
diff --git a/examples/declarative-camera/CameraButton.qml b/examples/declarative-camera/CameraButton.qml
index 4b2c663e9..7fb4999e9 100644
--- a/examples/declarative-camera/CameraButton.qml
+++ b/examples/declarative-camera/CameraButton.qml
@@ -38,7 +38,7 @@
 **
 ****************************************************************************/
 
-import Qt 4.7
+import QtQuick 2.0
 
 Item {
     id: button
diff --git a/examples/declarative-camera/CameraPropertyButton.qml b/examples/declarative-camera/CameraPropertyButton.qml
index 152bb9375..537a96fd1 100644
--- a/examples/declarative-camera/CameraPropertyButton.qml
+++ b/examples/declarative-camera/CameraPropertyButton.qml
@@ -38,8 +38,8 @@
 **
 ****************************************************************************/
 
-import Qt 4.7
-import QtMultimedia 4.0
+import QtQuick 2.0
+import QtMultimedia 5.0
 
 Item {
     id: propertyButton
diff --git a/examples/declarative-camera/CameraPropertyPopup.qml b/examples/declarative-camera/CameraPropertyPopup.qml
index f101b69ce..c86db3bf8 100644
--- a/examples/declarative-camera/CameraPropertyPopup.qml
+++ b/examples/declarative-camera/CameraPropertyPopup.qml
@@ -38,7 +38,7 @@
 **
 ****************************************************************************/
 
-import Qt 4.7
+import QtQuick 2.0
 
 Rectangle {
     id: propertyPopup
diff --git a/examples/declarative-camera/CaptureControls.qml b/examples/declarative-camera/CaptureControls.qml
index 6120dad01..6c345611d 100644
--- a/examples/declarative-camera/CaptureControls.qml
+++ b/examples/declarative-camera/CaptureControls.qml
@@ -38,8 +38,8 @@
 **
 ****************************************************************************/
 
-import Qt 4.7
-import QtMultimedia 4.0
+import QtQuick 2.0
+import QtMultimedia 5.0
 
 FocusScope {
     property Camera camera
diff --git a/examples/declarative-camera/ExposureCompensationButton.qml b/examples/declarative-camera/ExposureCompensationButton.qml
index cf6fc5db7..7fb4fbeba 100644
--- a/examples/declarative-camera/ExposureCompensationButton.qml
+++ b/examples/declarative-camera/ExposureCompensationButton.qml
@@ -38,7 +38,7 @@
 **
 ****************************************************************************/
 
-import Qt 4.7
+import QtQuick 2.0
 
 Item {
     id: exposureCompensation
diff --git a/examples/declarative-camera/FlickableList.qml b/examples/declarative-camera/FlickableList.qml
index d39519e4e..b59e03cda 100644
--- a/examples/declarative-camera/FlickableList.qml
+++ b/examples/declarative-camera/FlickableList.qml
@@ -38,7 +38,7 @@
 **
 ****************************************************************************/
 
-import Qt 4.7
+import QtQuick 2.0
 
 Item {
     id: flickableList
diff --git a/examples/declarative-camera/FocusButton.qml b/examples/declarative-camera/FocusButton.qml
index 6a54c8d22..995560107 100644
--- a/examples/declarative-camera/FocusButton.qml
+++ b/examples/declarative-camera/FocusButton.qml
@@ -38,8 +38,8 @@
 **
 ****************************************************************************/
 
-import Qt 4.7
-import QtMultimedia 4.0
+import QtQuick 2.0
+import QtMultimedia 5.0
 
 CameraButton {
     property Camera camera
diff --git a/examples/declarative-camera/PhotoPreview.qml b/examples/declarative-camera/PhotoPreview.qml
index 6cd7f35b0..9945c029c 100644
--- a/examples/declarative-camera/PhotoPreview.qml
+++ b/examples/declarative-camera/PhotoPreview.qml
@@ -38,8 +38,8 @@
 **
 ****************************************************************************/
 
-import Qt 4.7
-import QtMultimedia 4.0
+import QtQuick 2.0
+import QtMultimedia 5.0
 
 Item {
     property alias source : preview.source
diff --git a/examples/declarative-camera/ZoomControl.qml b/examples/declarative-camera/ZoomControl.qml
index b141523c1..8af9e77f2 100644
--- a/examples/declarative-camera/ZoomControl.qml
+++ b/examples/declarative-camera/ZoomControl.qml
@@ -38,8 +38,8 @@
 **
 ****************************************************************************/
 
-import Qt 4.7
-import QtMultimedia 4.0
+import QtQuick 2.0
+import QtMultimedia 5.0
 
 Item {
     id : zoomControl
diff --git a/examples/declarative-camera/declarative-camera.qml b/examples/declarative-camera/declarative-camera.qml
index fdc210de6..03713fb43 100644
--- a/examples/declarative-camera/declarative-camera.qml
+++ b/examples/declarative-camera/declarative-camera.qml
@@ -38,8 +38,8 @@
 **
 ****************************************************************************/
 
-import Qt 4.7
-import QtMultimedia 4.0
+import QtQuick 2.0
+import QtMultimedia 5.0
 
 Rectangle {
     id : cameraUI
diff --git a/examples/declarative-radio/view.qml b/examples/declarative-radio/view.qml
index e1fcb7130..0c7736106 100644
--- a/examples/declarative-radio/view.qml
+++ b/examples/declarative-radio/view.qml
@@ -39,7 +39,7 @@
  ****************************************************************************/
 
 import QtQuick 2.0
-import Qt.multimedia 4.0
+import QtMultimedia 5.0
 
 Rectangle {
     width: 400; height: 300;
diff --git a/examples/video/qmlvideo/qml/qmlvideo/CameraItem.qml b/examples/video/qmlvideo/qml/qmlvideo/CameraItem.qml
index cb157b77b..a898b842b 100644
--- a/examples/video/qmlvideo/qml/qmlvideo/CameraItem.qml
+++ b/examples/video/qmlvideo/qml/qmlvideo/CameraItem.qml
@@ -40,7 +40,7 @@
 ****************************************************************************/
 
 import QtQuick 2.0
-import QtMultimedia 4.0
+import QtMultimedia 5.0
 
 VideoOutput {
     id: root
diff --git a/examples/video/qmlvideo/qml/qmlvideo/VideoFillMode.qml b/examples/video/qmlvideo/qml/qmlvideo/VideoFillMode.qml
index 9c5fb7444..cb8314d6a 100644
--- a/examples/video/qmlvideo/qml/qmlvideo/VideoFillMode.qml
+++ b/examples/video/qmlvideo/qml/qmlvideo/VideoFillMode.qml
@@ -40,7 +40,7 @@
 ****************************************************************************/
 
 import QtQuick 2.0
-import QtMultimedia 4.0
+import QtMultimedia 5.0
 
 Scene {
     id: root
diff --git a/examples/video/qmlvideo/qml/qmlvideo/VideoItem.qml b/examples/video/qmlvideo/qml/qmlvideo/VideoItem.qml
index 632f8f3a9..a4c37b283 100644
--- a/examples/video/qmlvideo/qml/qmlvideo/VideoItem.qml
+++ b/examples/video/qmlvideo/qml/qmlvideo/VideoItem.qml
@@ -40,7 +40,7 @@
 ****************************************************************************/
 
 import QtQuick 2.0
-import QtMultimedia 4.0
+import QtMultimedia 5.0
 
 VideoOutput {
     id: root
diff --git a/examples/video/qmlvideofx/qml/qmlvideofx/ContentCamera.qml b/examples/video/qmlvideofx/qml/qmlvideofx/ContentCamera.qml
index cfb0e574a..3d9cec1ed 100644
--- a/examples/video/qmlvideofx/qml/qmlvideofx/ContentCamera.qml
+++ b/examples/video/qmlvideofx/qml/qmlvideofx/ContentCamera.qml
@@ -40,7 +40,7 @@
 ****************************************************************************/
 
 import QtQuick 2.0
-import QtMultimedia 4.0
+import QtMultimedia 5.0
 
 VideoOutput {
     source: camera
diff --git a/examples/video/qmlvideofx/qml/qmlvideofx/ContentVideo.qml b/examples/video/qmlvideofx/qml/qmlvideofx/ContentVideo.qml
index 4e7f37b44..9f9684f39 100644
--- a/examples/video/qmlvideofx/qml/qmlvideofx/ContentVideo.qml
+++ b/examples/video/qmlvideofx/qml/qmlvideofx/ContentVideo.qml
@@ -40,7 +40,7 @@
 ****************************************************************************/
 
 import QtQuick 2.0
-import QtMultimedia 4.0
+import QtMultimedia 5.0
 
 VideoOutput {
     source: mediaPlayer
diff --git a/src/imports/multimedia/Video.qml b/src/imports/multimedia/Video.qml
index 3c96bcd7e..4fafc0ea4 100644
--- a/src/imports/multimedia/Video.qml
+++ b/src/imports/multimedia/Video.qml
@@ -40,7 +40,7 @@
 ****************************************************************************/
 
 import QtQuick 2.0
-import QtMultimedia 4.0
+import QtMultimedia 5.0
 
 Item {
     id: video
diff --git a/src/imports/multimedia/multimedia.cpp b/src/imports/multimedia/multimedia.cpp
index 6766f5871..9e6e0c177 100644
--- a/src/imports/multimedia/multimedia.cpp
+++ b/src/imports/multimedia/multimedia.cpp
@@ -92,6 +92,30 @@ public:
                                 trUtf8("CameraFlash is only provided by Camera element"));
         qmlRegisterUncreatableType<QDeclarativeCameraImageProcessing>(uri, 4, 0, "CameraImageProcessing",
                                 trUtf8("CameraImageProcessing is only provided by Camera element"));
+
+        // Introduced to help transition from QtMultimedia 4.0 to 5.0 (official for Qt 5)
+        // the 4.0 versioned types will be removed once all clients have made the transition.
+        qmlRegisterType<QSoundEffect>(uri, 5, 0, "SoundEffect");
+        qmlRegisterType<QDeclarativeAudio>(uri, 5, 0, "Audio");
+        qmlRegisterType<QDeclarativeAudio>(uri, 5, 0, "MediaPlayer");
+        qmlRegisterType<QDeclarativeVideoOutput>(uri, 5, 0, "VideoOutput");
+        qmlRegisterType<QDeclarativeRadio>(uri, 5, 0, "Radio");
+        qmlRegisterType<QDeclarativeRadioData>(uri, 5, 0, "RadioData");
+        qmlRegisterType<QDeclarativeBackgroundAudio>(uri, 5, 0, "BackgroundAudio");
+        qmlRegisterType<QDeclarativeCamera>(uri, 5, 0, "Camera");
+        qmlRegisterUncreatableType<QDeclarativeCameraCapture>(uri, 5, 0, "CameraCapture",
+                                trUtf8("CameraCapture is only provided by Camera element"));
+        qmlRegisterUncreatableType<QDeclarativeCameraRecorder>(uri, 5, 0, "CameraRecorder",
+                                trUtf8("CameraRecorder is only provided by Camera element"));
+        qmlRegisterUncreatableType<QDeclarativeCameraExposure>(uri, 5, 0, "CameraExposure",
+                                trUtf8("CameraExposure is only provided by Camera element"));
+        qmlRegisterUncreatableType<QDeclarativeCameraFocus>(uri, 5, 0, "CameraFocus",
+                                trUtf8("CameraFocus is only provided by Camera element"));
+        qmlRegisterUncreatableType<QDeclarativeCameraFlash>(uri, 5, 0, "CameraFlash",
+                                trUtf8("CameraFlash is only provided by Camera element"));
+        qmlRegisterUncreatableType<QDeclarativeCameraImageProcessing>(uri, 5, 0, "CameraImageProcessing",
+                                trUtf8("CameraImageProcessing is only provided by Camera element"));
+
         qmlRegisterType<QDeclarativeMediaMetaData>();
     }
 
diff --git a/src/imports/multimedia/qdeclarativeaudio.cpp b/src/imports/multimedia/qdeclarativeaudio.cpp
index 79709ba18..8153db0ac 100644
--- a/src/imports/multimedia/qdeclarativeaudio.cpp
+++ b/src/imports/multimedia/qdeclarativeaudio.cpp
@@ -52,11 +52,11 @@ QT_BEGIN_NAMESPACE
 
     \ingroup qml-multimedia
 
-    This element is part of the \bold{QtMultimedia 4.0} module.
+    This element is part of the \bold{QtMultimedia 5.0} module.
 
     \qml
-    import Qt 4.7
-    import QtMultimedia 4.0
+    import QtQuick 2.0
+    import QtMultimedia 5.0
 
     Text {
         text: "Click Me!";
diff --git a/src/imports/multimedia/qdeclarativecamera.cpp b/src/imports/multimedia/qdeclarativecamera.cpp
index 71b3b0697..96251a1ed 100644
--- a/src/imports/multimedia/qdeclarativecamera.cpp
+++ b/src/imports/multimedia/qdeclarativecamera.cpp
@@ -75,11 +75,11 @@ void QDeclarativeCamera::_q_updateState(QCamera::State state)
     \ingroup qml-multimedia
     \inherits Item
 
-    This element is part of the \bold{QtMultimedia 4.0} module.
+    This element is part of the \bold{QtMultimedia 5.0} module.
 
     \qml
-    import Qt 4.7
-    import QtMultimedia 4.0
+    import QtQuick 2.0
+    import QtMultimedia 5.0
 
     Camera {
         id: camera
diff --git a/src/imports/multimedia/qdeclarativecameraexposure.cpp b/src/imports/multimedia/qdeclarativecameraexposure.cpp
index 79d939e83..e9f04de2c 100644
--- a/src/imports/multimedia/qdeclarativecameraexposure.cpp
+++ b/src/imports/multimedia/qdeclarativecameraexposure.cpp
@@ -46,17 +46,17 @@ QT_BEGIN_NAMESPACE
 
 /*!
     \qmlclass CameraExposure QDeclarativeCameraExposure
-    \since 4.0
+    \since 5.0
     \brief The CameraExposure element provides interface for exposure related camera settings.
     \ingroup qml-multimedia
 
-    This element is part of the \bold{QtMultimedia 4.0} module.
+    This element is part of the \bold{QtMultimedia 5.0} module.
 
     It should not be constructed separately but provided by Camera.exposure.
 
     \qml
     import QtQuick 2.0
-    import QtMultimedia 4.0
+    import QtMultimedia 5.0
 
     Camera {
         id: camera
diff --git a/src/imports/multimedia/qdeclarativecameraflash.cpp b/src/imports/multimedia/qdeclarativecameraflash.cpp
index 08cbc81ef..b630bdaea 100644
--- a/src/imports/multimedia/qdeclarativecameraflash.cpp
+++ b/src/imports/multimedia/qdeclarativecameraflash.cpp
@@ -46,17 +46,17 @@ QT_BEGIN_NAMESPACE
 
 /*!
     \qmlclass CameraFlash QDeclarativeCameraFlash
-    \since 4.0
+    \since 5.0
     \brief The CameraFlash element provides interface for flash related camera settings.
     \ingroup qml-multimedia
 
-    This element is part of the \bold{QtMultimedia 4.0} module.
+    This element is part of the \bold{QtMultimedia 5.0} module.
 
     It should not be constructed separately but provided by Camera.flash.
 
     \qml
     import QtQuick 2.0
-    import QtMultimedia 4.0
+    import QtMultimedia 5.0
 
     Camera {
         id: camera
diff --git a/src/imports/multimedia/qdeclarativecamerafocus.cpp b/src/imports/multimedia/qdeclarativecamerafocus.cpp
index 4a74165ff..d0ff64474 100644
--- a/src/imports/multimedia/qdeclarativecamerafocus.cpp
+++ b/src/imports/multimedia/qdeclarativecamerafocus.cpp
@@ -46,17 +46,17 @@ QT_BEGIN_NAMESPACE
 
 /*!
     \qmlclass CameraFocus QDeclarativeCameraFocus
-    \since 4.0
+    \since 5.0
     \brief The CameraFocus element provides interface for focus related camera settings.
     \ingroup qml-multimedia
 
-    This element is part of the \bold{QtMultimedia 4.0} module.
+    This element is part of the \bold{QtMultimedia 5.0} module.
 
     It should not be constructed separately but provided by Camera.focus.
 
     \qml
     import QtQuick 2.0
-    import QtMultimedia 4.0
+    import QtMultimedia 5.0
 
     Camera {
         id: camera
diff --git a/src/imports/multimedia/qdeclarativevideo.cpp b/src/imports/multimedia/qdeclarativevideo.cpp
index 956d1d796..1e57ad788 100644
--- a/src/imports/multimedia/qdeclarativevideo.cpp
+++ b/src/imports/multimedia/qdeclarativevideo.cpp
@@ -72,11 +72,11 @@ void QDeclarativeVideo::_q_error(int errorCode, const QString &errorString)
     \inherits Item
     \ingroup qml-multimedia
 
-    This element is part of the \bold{QtMultimedia 4.0} module.
+    This element is part of the \bold{QtMultimedia 5.0} module.
 
     \qml
-    import Qt 4.7
-    import QtMultimedia 4.0
+    import QtQuick 2.0
+    import QtMultimedia 5.0
 
     Video {
         id: video
diff --git a/src/imports/multimedia/qdeclarativevideooutput.cpp b/src/imports/multimedia/qdeclarativevideooutput.cpp
index 6e2e8c88d..51e74998f 100644
--- a/src/imports/multimedia/qdeclarativevideooutput.cpp
+++ b/src/imports/multimedia/qdeclarativevideooutput.cpp
@@ -118,14 +118,15 @@ private:
 /*!
     \qmlclass VideoOutput QDeclarativeVideoOutput
     \brief The VideoOutput element allows you to render video or camera viewfinder.
+    \since 5.0.0
 
     \ingroup qml-multimedia
 
-    This element is part of the \bold{QtMultimedia 4.0} module.
+    This element is part of the \bold{QtMultimedia 5.0} module.
 
     \qml
     import QtQuick 2.0
-    import QtMultimedia 4.0
+    import QtMultimedia 5.0
 
     Rectangle {
         width: 800
diff --git a/src/imports/multimedia/qmldir b/src/imports/multimedia/qmldir
index 8eff6b7ff..369d6a651 100644
--- a/src/imports/multimedia/qmldir
+++ b/src/imports/multimedia/qmldir
@@ -1,2 +1,2 @@
 plugin declarative_multimedia
-Video 4.0 Video.qml
+Video 5.0 Video.qml
diff --git a/src/multimedia/audio/qsoundeffect.cpp b/src/multimedia/audio/qsoundeffect.cpp
index b1c359ef0..ee1b99ce8 100644
--- a/src/multimedia/audio/qsoundeffect.cpp
+++ b/src/multimedia/audio/qsoundeffect.cpp
@@ -56,7 +56,7 @@ QT_BEGIN_NAMESPACE
 
     \inmodule QtMultimedia
 
-    This element is part of the \bold{QtMultimedia 4.0} module.
+    This element is part of the \bold{QtMultimedia 5.0} module.
 
     The following example plays a WAV file on mouse click.
 
-- 
GitLab