diff -r 3738fe97f027 -r 8aed59de29f9 videocollection/tsrc/stubs/src/videocollectionuiloader.cpp --- a/videocollection/tsrc/stubs/src/videocollectionuiloader.cpp Thu Apr 01 23:32:44 2010 +0300 +++ b/videocollection/tsrc/stubs/src/videocollectionuiloader.cpp Fri Apr 16 18:13:14 2010 +0300 @@ -21,21 +21,27 @@ #include #include +#include "videocollectioncommon.h" #include "videocollectionuiloader.h" +#include "videocollectionuiloaderdef.h" #include "videolistview.h" #include "videolistwidget.h" #include "videohintwidget.h" #include "videolistselectiondialog.h" +#include "videocollectionwrapper.h" #include "videocollectionuiloaderdata.h" bool VideoCollectionUiLoaderData::mFindFailure = false; bool VideoCollectionUiLoaderData::mFailDialogLoad = false; QStringList VideoCollectionUiLoaderData::mFindFailureNameList; +QMap VideoCollectionUiLoaderData::mMenuActions; +int VideoCollectionUiLoaderData::mLastLoadPhasedData = -1; VideoCollectionUiLoader::VideoCollectionUiLoader(): HbDocumentLoader(), - mTimerId(0) + mTimerId(0), + mIsService(0) { // not stubbed } @@ -45,22 +51,50 @@ VideoCollectionUiLoaderData::reset(); } -void VideoCollectionUiLoader::startLoading(QSet uiSections, +void VideoCollectionUiLoader::loadPhase(int loadPhase) +{ + VideoCollectionUiLoaderData::mLastLoadPhasedData = loadPhase; +} + +void VideoCollectionUiLoader::addData(QList params, QObject *receiver, - const char *widgetSlot, - const char *objectSlot) + const char *slot) { - Q_UNUSED(uiSections); + Q_UNUSED(params); Q_UNUSED(receiver); - Q_UNUSED(widgetSlot); - Q_UNUSED(objectSlot); - // not stubbed + Q_UNUSED(slot); +} + +void VideoCollectionUiLoader::removeOrphanFromList(QObject *object) +{ + if (mOrphans.contains(object)) + { + mOrphans.removeOne(object); + } + + const QString &name = mObjects.key(object); + if (!name.isEmpty()) + { + // found from list, remove + mObjects.remove(name); + } } void VideoCollectionUiLoader::setIsService(bool isService) { - Q_UNUSED(isService); - // not stubbed + mIsService = isService; +} + +void VideoCollectionUiLoader::load(const QString &fileName, bool *ok) +{ + QObjectList list = HbDocumentLoader::load(fileName, ok); + storeOrphans(list); +} + +void VideoCollectionUiLoader::load(const QString &fileName, const QString §ion , bool *ok) +{ + QObjectList list = HbDocumentLoader::load(fileName, section, ok); + storeOrphans(list); } QGraphicsWidget* VideoCollectionUiLoader::doFindWidget(const QString &name) @@ -91,26 +125,69 @@ return object; } -void VideoCollectionUiLoader::addToQueue(Params ¶ms) -{ - Q_UNUSED(params); - // not stubbed -} - -void VideoCollectionUiLoader::initWidget(QGraphicsWidget *widget, - const QString &name) -{ - Q_UNUSED(widget); - Q_UNUSED(name); - // not stubbed -} - void VideoCollectionUiLoader::initObject(QObject *object, const QString &name) { - Q_UNUSED(object); - Q_UNUSED(name); - // not stubbed + VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance(); + + if (name == DOCML_NAME_VC_VIDEOLISTWIDGET || + name == DOCML_NAME_VC_COLLECTIONWIDGET || + name == DOCML_NAME_VC_COLLECTIONCONTENTWIDGET) + { + VideoCollectionCommon::TModelType type = VideoCollectionCommon::EModelTypeAllVideos; + if(name == DOCML_NAME_VC_COLLECTIONWIDGET) { + type = VideoCollectionCommon::EModelTypeCollections; + } else if (name == DOCML_NAME_VC_COLLECTIONCONTENTWIDGET) { + type = VideoCollectionCommon::EModelTypeCollectionContent; + } + VideoListWidget *videoList = qobject_cast(object); + VideoSortFilterProxyModel *model = wrapper.getModel(type); + videoList->initialize(*model, 0); + } + else if (name == DOCML_NAME_DIALOG) + { + + } + else if (name == DOCML_NAME_VC_VIDEOHINTWIDGET) + { + + } + else if (name == DOCML_NAME_OPTIONS_MENU) + { + + } + else if (name == DOCML_NAME_SORT_MENU) + { + VideoCollectionUiLoaderData::mMenuActions[EActionSortBy] = qobject_cast(object); + } + else if(name == DOCML_NAME_ADD_TO_COLLECTION) + { + VideoCollectionUiLoaderData::mMenuActions[EActionAddToCollection] = qobject_cast(object); + } + else if(name == DOCML_NAME_CREATE_COLLECTION) + { + VideoCollectionUiLoaderData::mMenuActions[EActionNewCollection] = qobject_cast(object); + } + else if(name == DOCML_NAME_DELETE_MULTIPLE) + { + VideoCollectionUiLoaderData::mMenuActions[EActionDelete] = qobject_cast(object); + } + else if(name == DOCML_NAME_SORT_BY_DATE) + { + VideoCollectionUiLoaderData::mMenuActions[EActionSortByDate] = qobject_cast(object); + } + else if(name == DOCML_NAME_SORT_BY_NAME) + { + VideoCollectionUiLoaderData::mMenuActions[EActionSortByName] = qobject_cast(object); + } + else if(name == DOCML_NAME_SORT_BY_NUMBER_OF_ITEMS) + { + VideoCollectionUiLoaderData::mMenuActions[EACtionSortByItemCount] = qobject_cast(object); + } + else if(name == DOCML_NAME_SORT_BY_SIZE) + { + VideoCollectionUiLoaderData::mMenuActions[EActionSortBySize] = qobject_cast(object); + } } void VideoCollectionUiLoader::timerEvent(QTimerEvent *event) @@ -134,6 +211,7 @@ name == DOCML_NAME_VC_VIDEOLISTWIDGET) { object = new VideoListWidget(this); + initObject(qobject_cast(object), name); } else if (name == DOCML_NAME_DIALOG) { @@ -153,11 +231,10 @@ if (object) { object->setObjectName(name); - - return object; } object = HbDocumentLoader::createObject(type, name); + initObject(object, name); } return object; @@ -168,9 +245,32 @@ // not stubbed } -bool VideoCollectionUiLoader::isValid(const Params ¶ms) +bool VideoCollectionUiLoader::isValid(const VideoCollectionUiLoaderParam ¶m) { - Q_UNUSED(params); + Q_UNUSED(param); // not stubbed return true; } + +// --------------------------------------------------------------------------- +// storeOrphans +// --------------------------------------------------------------------------- +// +void VideoCollectionUiLoader::storeOrphans(const QObjectList &list) +{ + foreach (QObject *object, list) + { + if (!mOrphans.contains(object)) + { + // add to list + mOrphans.append(object); + + // connect to "destroyed" signal + connect( + object, SIGNAL(destroyed(QObject*)), + this, SLOT(removeOrphanFromList(QObject*))); + } + } +} + +// end of file