mpviewplugins/mpcollectionviewplugin/src/mpcollectiondocumentloader.cpp
changeset 19 4e84c994a771
child 20 82baf59ce8dd
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpcollectionviewplugin/src/mpcollectiondocumentloader.cpp	Fri Mar 19 09:28:13 2010 +0200
@@ -0,0 +1,59 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Music Player collection view custom document loader.
+*
+*/
+
+// INCLUDE FILES
+#include "mpcollectiondocumentloader.h"
+#include "mpnowplayingwidget.h"
+#include "mpcollectioninfobar.h"
+#include "mpcommondefs.h"
+#include "mptrace.h"
+
+
+/*!
+    \class MpCollectionDocumentLoader
+    \brief Music Player collection view custom document loader.
+
+    Collection document loader extends Orbit document loader to enable
+    loading of custom widgets provided by the collection view.
+*/
+
+/*!
+ Creates and returns the object of the given \a type.
+
+ \reimp
+ */
+QObject *MpCollectionDocumentLoader::createObject(const QString& type, const QString &name)
+{
+    TX_ENTRY_ARGS("type=" << type << ", name=" << name);
+
+    if (type == MpNowPlayingWidget::staticMetaObject.className()) {
+        QObject *object = new MpNowPlayingWidget(MpCommon::KMusicPlayerUid);
+        object->setObjectName(name);
+        TX_EXIT
+        return object;
+    }
+    else if (type == MpCollectionInfoBar::staticMetaObject.className()) {
+        QObject *object = new MpCollectionInfoBar();
+        object->setObjectName(name);
+        TX_EXIT
+        return object;
+    }
+
+    TX_EXIT
+    return HbDocumentLoader::createObject(type, name);
+}
+