diff -r 45e72b57a2fd -r e3cecb93e76a videocollection/videocollectionwrapper/src/videolistdatamodel_p.cpp --- a/videocollection/videocollectionwrapper/src/videolistdatamodel_p.cpp Tue Jul 06 14:17:50 2010 +0300 +++ b/videocollection/videocollectionwrapper/src/videolistdatamodel_p.cpp Wed Aug 18 09:50:14 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: 38.1.1 % +// Version : %version: 38.1.6 % // INCLUDE FILES #include @@ -26,6 +26,7 @@ #include #include #include +#include #include "videolistdatamodel.h" #include "videocollectionclient.h" @@ -91,8 +92,8 @@ return 0; } mVideoThumbnailData = &(VideoThumbnailData::instance()); - if(!connect( mVideoThumbnailData, SIGNAL(thumbnailsFetched( QList )), - this, SLOT(thumbnailsFetchedSlot( QList )))) + if(!connect( mVideoThumbnailData, SIGNAL(thumbnailsFetched( QList& )), + this, SLOT(thumbnailsFetchedSlot( QList& )))) { return -1; } @@ -114,7 +115,7 @@ // getMediaIdFromIndex // ----------------------------------------------------------------------------- // -TMPXItemId VideoListDataModelPrivate::getMediaIdFromIndex( int index ) const +const TMPXItemId& VideoListDataModelPrivate::getMediaIdFromIndex(const int &index ) const { return mMediaData.idFromIndex(index); } @@ -123,7 +124,7 @@ // getVideoNameFromIndex // ----------------------------------------------------------------------------- // -const QString VideoListDataModelPrivate::getVideoNameFromIndex( int index ) const +const QString VideoListDataModelPrivate::getVideoNameFromIndex(const int &index ) const { QString txt; CMPXMedia* media = mMediaData.fromIndex(index); @@ -135,7 +136,7 @@ // getVideoThumbnailFromIndex // ----------------------------------------------------------------------------- // -const QIcon* VideoListDataModelPrivate::getVideoThumbnailFromIndex( int index ) const +const QIcon* VideoListDataModelPrivate::getVideoThumbnailFromIndex(const int &index ) const { if(mVideoThumbnailData) { @@ -148,7 +149,7 @@ // getCategoryVideoCountFromIndex // ----------------------------------------------------------------------------- // -quint32 VideoListDataModelPrivate::getCategoryVideoCountFromIndex( int index ) const +quint32 VideoListDataModelPrivate::getCategoryVideoCountFromIndex(const int &index ) const { quint32 count(0); CMPXMedia *media = mMediaData.fromIndex(index); @@ -160,7 +161,7 @@ // getVideoSizeFromIndex // ----------------------------------------------------------------------------- // -quint32 VideoListDataModelPrivate::getVideoSizeFromIndex( int index ) const +quint32 VideoListDataModelPrivate::getVideoSizeFromIndex(const int &index ) const { quint32 size(0); CMPXMedia *media = mMediaData.fromIndex(index); @@ -172,7 +173,7 @@ // getVideoAgeProfileFromIndex // --------------------------------------------------------------------------- // -quint32 VideoListDataModelPrivate::getVideoAgeProfileFromIndex( int index ) const +quint32 VideoListDataModelPrivate::getVideoAgeProfileFromIndex(const int &index ) const { quint32 ageProfile(0); CMPXMedia *media = mMediaData.fromIndex(index); @@ -184,7 +185,7 @@ // getVideodurationFromIndex // ----------------------------------------------------------------------------- // -quint32 VideoListDataModelPrivate::getVideodurationFromIndex( int index ) const +quint32 VideoListDataModelPrivate::getVideodurationFromIndex(const int &index ) const { CMPXMedia *media = mMediaData.fromIndex(index); return getVideoDuration(media); @@ -207,7 +208,7 @@ // getVideoDateFromIndex // ----------------------------------------------------------------------------- // -QDateTime VideoListDataModelPrivate::getVideoDateFromIndex( int index ) const +QDateTime VideoListDataModelPrivate::getVideoDateFromIndex(const int &index ) const { return getVideoDate(mMediaData.fromIndex(index)); } @@ -234,7 +235,7 @@ // markVideosRemoved // ----------------------------------------------------------------------------- // -TMPXItemId VideoListDataModelPrivate::markVideoRemoved(const QModelIndex &itemIndex) +const TMPXItemId VideoListDataModelPrivate::markVideoRemoved(const QModelIndex &itemIndex) { return mMediaData.markItemRemoved(itemIndex.row()); } @@ -259,7 +260,7 @@ // getFilePathFromIndex // ----------------------------------------------------------------------------- // -const QString VideoListDataModelPrivate::getFilePathFromIndex(int index) const +const QString VideoListDataModelPrivate::getFilePathFromIndex(const int &index) const { QString filePath; VideoCollectionUtils::instance().mediaValue(mMediaData.fromIndex(index), @@ -271,7 +272,7 @@ // getFilePathForId // ----------------------------------------------------------------------------- // -const QString VideoListDataModelPrivate::getFilePathForId(TMPXItemId mediaId) const +const QString VideoListDataModelPrivate::getFilePathForId(const TMPXItemId &mediaId) { QString filePath; int index = mMediaData.indexOfId(mediaId); @@ -308,7 +309,7 @@ // setAlbumInUse // ----------------------------------------------------------------------------- // -void VideoListDataModelPrivate::setAlbumInUse(TMPXItemId albumId) +void VideoListDataModelPrivate::setAlbumInUse(const TMPXItemId &albumId) { FUNC_LOG; mCurrentAlbum = albumId; @@ -318,7 +319,7 @@ // removeItemsFromAlbum // ----------------------------------------------------------------------------- // -int VideoListDataModelPrivate::removeItemsFromAlbum(TMPXItemId &albumId, +int VideoListDataModelPrivate::removeItemsFromAlbum(const TMPXItemId &albumId, const QList &items) { FUNC_LOG; @@ -422,7 +423,7 @@ // albumDataChangedL // ----------------------------------------------------------------------------- // -void VideoListDataModelPrivate::albumDataChangedL(TMPXItemId albumId, +void VideoListDataModelPrivate::albumDataChangedL(TMPXItemId &albumId, CMPXMediaArray *videoArray) { FUNC_LOG; @@ -431,7 +432,9 @@ return; } QSet items; - + + int oldCount = mAlbumData[albumId].count(); + // remove existing mAlbumData.remove(albumId); @@ -450,11 +453,14 @@ mAlbumData[albumId] = items; - // signal that album has been updated - emit q_ptr->albumChanged(); + if(oldCount != items.count()) + { + // signal that album has been updated + emit q_ptr->albumChanged(); - // signal that model has changed. - emit q_ptr->modelChanged(); + // signal that model has changed. + emit q_ptr->modelChanged(); + } } @@ -462,7 +468,7 @@ // thumbnailsFetchedSlot // ----------------------------------------------------------------------------- // -void VideoListDataModelPrivate::thumbnailsFetchedSlot(QList mediaIds) +void VideoListDataModelPrivate::thumbnailsFetchedSlot(QList &mediaIds) { TMPXItemId id; QModelIndex rowIndex; @@ -473,7 +479,7 @@ rowIndex = q_ptr->index(mMediaData.indexOfId(id), 0); if(rowIndex.isValid()) { - emit dataChanged( rowIndex, rowIndex); + emit q_ptr->dataChanged( rowIndex, rowIndex); } } } @@ -573,7 +579,7 @@ // itemDeletedSlot // ----------------------------------------------------------------------------- // -void VideoListDataModelPrivate::itemDeletedSlot(TMPXItemId itemId) +void VideoListDataModelPrivate::itemDeletedSlot(TMPXItemId &itemId) { FUNC_LOG; if(itemId == TMPXItemId::InvalidId()) @@ -595,7 +601,7 @@ // albumRemoved // ----------------------------------------------------------------------------- // -void VideoListDataModelPrivate::albumRemoved(TMPXItemId albumId) +void VideoListDataModelPrivate::albumRemoved(TMPXItemId &albumId) { FUNC_LOG; if (albumId == TMPXItemId::InvalidId() || albumId.iId2 != KVcxMvcMediaTypeAlbum) @@ -639,7 +645,7 @@ // videoDeleted // ----------------------------------------------------------------------------- // -void VideoListDataModelPrivate::videoDeleted(TMPXItemId videoId) +void VideoListDataModelPrivate::videoDeleted(TMPXItemId &videoId) { FUNC_LOG; if(videoId == TMPXItemId::InvalidId()) @@ -688,7 +694,7 @@ if(failedMediaIds->count() > 0) { QString nameOfFirstFailed(""); - CMPXMedia *media = mMediaData.getRemovedMedia( TMPXItemId(failedMediaIds->at(0))); + CMPXMedia *media = mMediaData.getRemovedMedia(failedMediaIds->first()); VideoCollectionUtils::instance().mediaValue(media, KMPXMediaGeneralTitle, nameOfFirstFailed ); if(failedMediaIds->count() == 1) { @@ -722,7 +728,7 @@ if(failedMediaIds->count() > 0) { QString nameOfFirstFailed(""); - CMPXMedia *media = mMediaData.getRemovedMedia( TMPXItemId(failedMediaIds->at(0))); + CMPXMedia *media = mMediaData.getRemovedMedia(failedMediaIds->first()); VideoCollectionUtils::instance().mediaValue(media, KMPXMediaGeneralTitle, nameOfFirstFailed ); if(failedMediaIds->count() == 1) { @@ -856,15 +862,34 @@ map[MetaKeyFormat] = format; } + // MetaKeyFileName and MetaKeyFilePath + QString fileName; + if(VideoCollectionUtils::instance().mediaValue(media, KMPXMediaGeneralUri, fileName)) { + + QFileInfo fInfo(fileName); + if(fInfo.isFile()) + { + map[MetaKeyFileName] = fInfo.fileName(); + map[MetaKeyFilePath] = fInfo.absolutePath(); + } + } + + // Metakey video title + QString videoTitle; + if(VideoCollectionUtils::instance().mediaValue(media, KMPXMediaGeneralTitle, videoTitle)) { + map[MetaKeyVideoTitle] = videoTitle; + } + + QVariant variant = QVariant(map); - emit videoDetailsReady(variant); + emit q_ptr->fullVideoDetailsReady(variant); } // ----------------------------------------------------------------------------- // albumListAvailableSlot // ----------------------------------------------------------------------------- // -void VideoListDataModelPrivate::albumListAvailableSlot(TMPXItemId albumId, +void VideoListDataModelPrivate::albumListAvailableSlot(TMPXItemId &albumId, CMPXMediaArray *albumItems) { FUNC_LOG; @@ -884,20 +909,29 @@ { QModelIndex rowIndex = q_ptr->index(index, 0); if(rowIndex.isValid()) - { - emit dataChanged(rowIndex, rowIndex); - emit q_ptr->itemModified(itemId); + { + emit q_ptr->dataChanged(rowIndex, rowIndex); + emit q_ptr->modelChanged(); } } } // ----------------------------------------------------------------------------- -// listCompleteSlot +// videoListCompleteSlot // ----------------------------------------------------------------------------- // -void VideoListDataModelPrivate::listCompleteSlot() +void VideoListDataModelPrivate::videoListCompleteSlot() { emit q_ptr->modelReady(); } +// ----------------------------------------------------------------------------- +// albumListCompleteSlot +// ----------------------------------------------------------------------------- +// +void VideoListDataModelPrivate::albumListCompleteSlot() +{ + emit q_ptr->albumListReady(); +} + // End of file