videocollection/videocollectionwrapper/src/videolistdatamodel.cpp
changeset 50 21fe8338c6bf
parent 37 4eb2df7f7cbe
child 63 4707a0db12f6
--- 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 <hbglobal.h>
@@ -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<TMPXItemId>)), 
-            this, SLOT(deleteStartingFailsSlot(QList<TMPXItemId>))))
-    {
-        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<TMPXItemId>&)), 
+            this, SLOT(deleteStartingFailsSlot(QList<TMPXItemId>&)), 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<TMPXItemId>)), 
-                this, SLOT(deleteStartingFailsSlot(QList<TMPXItemId>)));
+    disconnect(mDeleteWorker, SIGNAL(deleteStartupFailed(QList<TMPXItemId>&)), 
+                this, SLOT(deleteStartingFailsSlot(QList<TMPXItemId>&)));
 }
 
 // -----------------------------------------------------------------------------
 // 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<TMPXItemId> &items)
+int VideoListDataModel::removeItemsFromAlbum(const TMPXItemId &albumId, const QList<TMPXItemId> &items)
 {
 	FUNC_LOG;
     int removeCount = d_ptr->removeItemsFromAlbum(albumId, items);
@@ -573,7 +535,7 @@
 // deleteStartingFailsSlot()
 // -----------------------------------------------------------------------------
 //
-void VideoListDataModel::deleteStartingFailsSlot(QList<TMPXItemId> ids)
+void VideoListDataModel::deleteStartingFailsSlot(QList<TMPXItemId>& ids)
 {
 	FUNC_LOG;
     if(ids.count())
@@ -610,6 +572,7 @@
             report = true;
             // delete procedure ends, reset statuses
             mDeleteWorker->clearStatus();
+            disconnectSignals();
         }
     }
     if(report)