diff -r 824471cb468a -r 21fe8338c6bf videocollection/videocollectionwrapper/src/videolistdatamodel.cpp --- a/videocollection/videocollectionwrapper/src/videolistdatamodel.cpp Fri Jul 23 11:10:06 2010 +0300 +++ b/videocollection/videocollectionwrapper/src/videolistdatamodel.cpp Fri Aug 06 09:43:48 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: 52 % +// Version : %version: 52.1.2 % // INCLUDE FILES #include @@ -99,13 +99,6 @@ return -1; } - if(connectSignals() == -1) - { - ERROR(-1, "VideoListDataModel::initialize() failed to connect signals."); - disconnectSignals(); - return -1; - } - mInitialized = true; return 0; } @@ -124,34 +117,16 @@ // connectSignals() // ----------------------------------------------------------------------------- // -int VideoListDataModel::connectSignals() +void VideoListDataModel::connectSignals() { FUNC_LOG; - if(!connect(d_ptr, SIGNAL(dataChanged(const QModelIndex&, const QModelIndex&)), - this, SIGNAL(dataChanged(const QModelIndex&, const QModelIndex&)))) - { - return -1; - } - if(!connect(d_ptr, SIGNAL(videoDetailsReady(QVariant&)), - this, SIGNAL(fullVideoDetailsReady(QVariant&)))) - { - return -1; - } - if(!connect(this, SIGNAL(modelChanged()), mDeleteWorker, SLOT(continueSlot()))) - { - return -1; - } - if(!connect(this, SIGNAL(modelReady()), mDeleteWorker, SLOT(continueSlot()))) - { - return -1; - } - if(!connect(mDeleteWorker, SIGNAL(deleteStartupFailed(QList)), - this, SLOT(deleteStartingFailsSlot(QList)))) - { - return -1; - } - - return 0; + + connect(this, SIGNAL(modelChanged()), mDeleteWorker, SLOT(continueSlot()), Qt::UniqueConnection); + + connect(this, SIGNAL(modelReady()), mDeleteWorker, SLOT(continueSlot()), Qt::UniqueConnection); + + connect(mDeleteWorker, SIGNAL(deleteStartupFailed(QList&)), + this, SLOT(deleteStartingFailsSlot(QList&)), Qt::UniqueConnection); } // ----------------------------------------------------------------------------- @@ -161,37 +136,26 @@ void VideoListDataModel::disconnectSignals() { FUNC_LOG; - disconnect(d_ptr, SIGNAL(dataChanged(const QModelIndex&, const QModelIndex&)), - this, SIGNAL(dataChanged(const QModelIndex&, const QModelIndex&))); - disconnect(d_ptr, SIGNAL(videoDetailsReady(QVariant&)), - this, SIGNAL(fullVideoDetailsReady(QVariant&))); disconnect(this, SIGNAL(modelChanged()), mDeleteWorker, SLOT(continueSlot())); disconnect(this, SIGNAL(modelReady()), mDeleteWorker, SLOT(continueSlot())); - disconnect(mDeleteWorker, SIGNAL(deleteStartupFailed(QList)), - this, SLOT(deleteStartingFailsSlot(QList))); + disconnect(mDeleteWorker, SIGNAL(deleteStartupFailed(QList&)), + this, SLOT(deleteStartingFailsSlot(QList&))); } // ----------------------------------------------------------------------------- // mediaIdAtIndex() // ----------------------------------------------------------------------------- // -TMPXItemId VideoListDataModel::mediaIdAtIndex(int index) const +const TMPXItemId& VideoListDataModel::mediaIdAtIndex(const int &index) const { - TMPXItemId mpxId =TMPXItemId::InvalidId(); - - if(index >= 0 && index < d_ptr->getVideoCount()) - { - mpxId = d_ptr->getMediaIdFromIndex(index); - } - - return mpxId; + return d_ptr->getMediaIdFromIndex(index); } // ----------------------------------------------------------------------------- // indexOfId() // ----------------------------------------------------------------------------- // -QModelIndex VideoListDataModel::indexOfId(TMPXItemId id) +QModelIndex VideoListDataModel::indexOfId(const TMPXItemId &id) { int rowIndex = d_ptr->mMediaData.indexOfId(id); return index(rowIndex, 0, QModelIndex()); @@ -201,12 +165,9 @@ // mediaFilePathForId() // ----------------------------------------------------------------------------- // -QString VideoListDataModel::mediaFilePathForId(TMPXItemId mediaId) const +QString VideoListDataModel::mediaFilePathForId(const TMPXItemId &mediaId) const { - QString filePath; - filePath = d_ptr->getFilePathForId(mediaId); - - return filePath; + return d_ptr->getFilePathForId(mediaId);; } // ----------------------------------------------------------------------------- @@ -248,7 +209,7 @@ // prepareDetailRow() // ----------------------------------------------------------------------------- // -QString VideoListDataModel::prepareDetailRow(int index) const +QString VideoListDataModel::prepareDetailRow(int &index) const { // TODO: download -status? @@ -271,7 +232,7 @@ // prepareVideoCountString() // ----------------------------------------------------------------------------- // -QString VideoListDataModel::prepareVideoCountString(int index) const +QString VideoListDataModel::prepareVideoCountString(int &index) const { QString videoCountString(""); @@ -292,7 +253,7 @@ // prepareSizeString() // ----------------------------------------------------------------------------- // -QString VideoListDataModel::prepareSizeString(int index) const +QString VideoListDataModel::prepareSizeString(int &index) const { QString sizeStr(""); @@ -306,7 +267,7 @@ // VideoListDataModel::doDetailRow() // ----------------------------------------------------------------------------- // -QString VideoListDataModel::doDetailRow(int index) const +QString VideoListDataModel::doDetailRow(int &index) const { QString detailStr(""); @@ -512,7 +473,8 @@ } emit modelChanged(); if(removedIds.count() > 0 ) - { + { + connectSignals(); mDeleteWorker->requestDelete(removedIds); return true; } @@ -533,7 +495,7 @@ // setAlbumInUse() // ----------------------------------------------------------------------------- // -void VideoListDataModel::setAlbumInUse(TMPXItemId albumId) +void VideoListDataModel::setAlbumInUse(const TMPXItemId &albumId) { FUNC_LOG; d_ptr->setAlbumInUse(albumId); @@ -543,7 +505,7 @@ // albumInUse() // ----------------------------------------------------------------------------- // -TMPXItemId VideoListDataModel::albumInUse() +const TMPXItemId& VideoListDataModel::albumInUse() const { FUNC_LOG; return d_ptr->mCurrentAlbum; @@ -553,7 +515,7 @@ // removeItemsFromAlbum() // ----------------------------------------------------------------------------- // -int VideoListDataModel::removeItemsFromAlbum(TMPXItemId &albumId, const QList &items) +int VideoListDataModel::removeItemsFromAlbum(const TMPXItemId &albumId, const QList &items) { FUNC_LOG; int removeCount = d_ptr->removeItemsFromAlbum(albumId, items); @@ -573,7 +535,7 @@ // deleteStartingFailsSlot() // ----------------------------------------------------------------------------- // -void VideoListDataModel::deleteStartingFailsSlot(QList ids) +void VideoListDataModel::deleteStartingFailsSlot(QList& ids) { FUNC_LOG; if(ids.count()) @@ -610,6 +572,7 @@ report = true; // delete procedure ends, reset statuses mDeleteWorker->clearStatus(); + disconnectSignals(); } } if(report)