videocollection/videocollectionview/tsrc/testlistwidget/src/testlistwidget.cpp
changeset 62 0e1e938beb1a
parent 52 e3cecb93e76a
--- a/videocollection/videocollectionview/tsrc/testlistwidget/src/testlistwidget.cpp	Thu Sep 02 20:28:16 2010 +0300
+++ b/videocollection/videocollectionview/tsrc/testlistwidget/src/testlistwidget.cpp	Fri Sep 17 08:30:05 2010 +0300
@@ -15,7 +15,7 @@
 *
 */
 
-// Version : %version: 60 %
+// Version : %version: 62 %
 
 #include <qmap.h>
 #include <vcxmyvideosdefs.h>
@@ -24,7 +24,7 @@
 #include "hbglobal.h"
 #include "hblistview.h"
 #include "hbview.h"
-#include "videosortfilterproxymodel.h"
+#include "videoproxymodelgeneric.h"
 #include "hbscrollbar.h"
 #include "hbmenu.h"
 #include "hbmessagebox.h"
@@ -40,7 +40,7 @@
 #include "videothumbnailtestdata.h"
 #include "videolistdatamodel.h"
 #include "videolistdatamodeldata.h"
-#include "videosortfilterproxymodeldata.h"
+#include "videoproxymodeldata.h"
 #include "videocollectionuiloader.h"
 #include "videocollectionuiloaderdata.h"
 #include "videolistselectiondialog.h"
@@ -129,16 +129,15 @@
 // ---------------------------------------------------------------------------
 //
 void TestListWidget::setRowCount(int count,
-    VideoCollectionCommon::TModelType type,
+    VideoProxyModelGeneric *proxyModel,
     VideoListDataModel *model)
 {
     if (!model)
     {
-        VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
-        VideoSortFilterProxyModel *model = wrapper.getModel(type);
-        QVERIFY(model);
+        proxyModel = VideoCollectionWrapper::instance().getAllVideosModel();
+        QVERIFY(proxyModel);
         
-        VideoListDataModel *sourceModel = qobject_cast<VideoListDataModel*>(model->sourceModel());
+        VideoListDataModel *sourceModel = qobject_cast<VideoListDataModel*>(proxyModel->sourceModel());
         QVERIFY(sourceModel);
         
         VideoListDataModelData::setRowCount(*sourceModel, count);
@@ -195,7 +194,7 @@
     HbMenuData::reset();
     VideoThumbnailTestData::reset();
     VideoListDataModelData::reset();
-    VideoSortFilterProxyModelData::reset();
+    VideoProxyModelData::reset();
     HbMessageBoxData::reset();
 }
  
@@ -206,7 +205,7 @@
 void TestListWidget::testInitialize()
 {
     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
-    VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
+    VideoProxyModelGeneric *model = wrapper.getAllVideosModel();
 
     // succeed case ( new operator cannot be stubbed)
     QVERIFY(mTestWidget->initialize(*model) == 0);
@@ -230,7 +229,7 @@
 void TestListWidget::testActivate()
 {
     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
-    VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
+    VideoProxyModelGeneric *model = wrapper.getAllVideosModel();
 
     // no  model: fails
     QVERIFY(mTestWidget->activate() == -1);
@@ -254,7 +253,7 @@
     delete mTestWidget;
     mTestWidget = 0;
     mTestWidget = new ListWidgetTester(mTestUiLoader, mTempView);
-    model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
+    model = wrapper.getAllVideosModel();
     
     QVERIFY(mTestWidget->initialize(*model, 0, VideoCollectionCommon::ELevelVideos) == 0);
     hbInstance->allMainWindows().value(0)->addView(tmpView);
@@ -274,7 +273,7 @@
     delete mTestWidget;
     mTestWidget = 0;
     mTestWidget = new ListWidgetTester(mTestUiLoader, mTempView);
-    model = wrapper.getModel(VideoCollectionCommon::EModelTypeCollectionContent);
+    model = wrapper.getCollectionContentModel();
     tmpView->mNavigationAction = 0;
     QVERIFY(mTestWidget->initialize(*model) == 0);
     QVERIFY(mTestWidget->activate(VideoCollectionCommon::ELevelAlbum) == 0);
@@ -343,7 +342,7 @@
 void TestListWidget::testDeactivate()
 {
     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
-    VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
+    VideoProxyModelGeneric *model = wrapper.getAllVideosModel();
 
     HbListView::mLatestVisibility = true;
     VideoThumbnailTestData::mBackgroundThumbnailFetchingEnabled = 1;
@@ -392,7 +391,7 @@
 void TestListWidget::testGetLevel()
 {
     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
-    VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
+    VideoProxyModelGeneric *model = wrapper.getAllVideosModel();
 
     mTestWidget->initialize(*model);
     
@@ -407,7 +406,7 @@
 void TestListWidget::testGetModel()
 {
     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
-    VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
+    VideoProxyModelGeneric *model = wrapper.getAllVideosModel();
 
     QVERIFY(mTestWidget->getModel() == 0);
     
@@ -426,7 +425,7 @@
 {
     VideoServices *videoServices = VideoServices::instance();
     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
-    VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
+    VideoProxyModelGeneric *model = wrapper.getAllVideosModel();
 
     QSignalSpy spysignal(mTestWidget, SIGNAL(collectionOpened(bool, const QString&, const TMPXItemId&)));
     QSignalSpy spysignalFileUri(mTestWidget, SIGNAL(fileUri(const QString&)));
@@ -435,14 +434,14 @@
     mTestWidget->initialize(*model);
     mTestWidget->activate();
     
-    VideoSortFilterProxyModelData::mLastItemId = TMPXItemId::InvalidId();
+    VideoProxyModelData::mLastItemId = TMPXItemId::InvalidId();
     TMPXItemId savedId = TMPXItemId(1,1);
-    VideoSortFilterProxyModelData::mItemIds.clear();
-    VideoSortFilterProxyModelData::mItemIds.append(savedId);
+    VideoProxyModelData::mItemIds.clear();
+    VideoProxyModelData::mItemIds.append(savedId);
     QVariant data = QString("test");
     VideoListDataModelData::setData(VideoCollectionCommon::KeyTitle, data);
     setRowCount(2);
-    VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId(0,0));
+    VideoProxyModelData::mItemIds.append(TMPXItemId(0,0));
     
     QModelIndex fetchIndex = model->index(0, 0, QModelIndex());
     
@@ -452,7 +451,7 @@
     QVERIFY(spysignal.count() == 0);
     QVERIFY(spysignalFileUri.count() == 0);
     QVERIFY(spysignalActivated.count() == 1);
-    QVERIFY(VideoSortFilterProxyModelData::mLastItemId == TMPXItemId::InvalidId());
+    QVERIFY(VideoProxyModelData::mLastItemId == TMPXItemId::InvalidId());
     spysignal.clear();
     spysignalFileUri.clear();
     spysignalActivated.clear();
@@ -464,7 +463,7 @@
     QVERIFY(spysignal.count() == 0);
     QVERIFY(spysignalFileUri.count() == 0);
     QVERIFY(spysignalActivated.count() == 0);
-    QVERIFY(VideoSortFilterProxyModelData::mLastItemId == TMPXItemId::InvalidId());
+    QVERIFY(VideoProxyModelData::mLastItemId == TMPXItemId::InvalidId());
    
     // current level is ELevelCategory
     mTestWidget->mCurrentLevel = VideoCollectionCommon::ELevelCategory;
@@ -475,7 +474,7 @@
     QVERIFY(spysignal.count() == 0);
     QVERIFY(spysignalFileUri.count() == 0);
     QVERIFY(spysignalActivated.count() == 0);
-    QVERIFY(VideoSortFilterProxyModelData::mLastItemId == TMPXItemId::InvalidId());
+    QVERIFY(VideoProxyModelData::mLastItemId == TMPXItemId::InvalidId());
     
 
     // --> variant is valid, collectionOpened -signal should be emitted
@@ -485,7 +484,7 @@
     QVERIFY(spysignal.count() == 1);
     QVERIFY(spysignalFileUri.count() == 0);
     QVERIFY(spysignalActivated.count() == 0);
-    QVERIFY(VideoSortFilterProxyModelData::mLastItemId == TMPXItemId::InvalidId());
+    QVERIFY(VideoProxyModelData::mLastItemId == TMPXItemId::InvalidId());
   
     spysignal.clear();
     spysignalFileUri.clear();
@@ -502,7 +501,7 @@
     QVERIFY(spysignal.count() == 0);
     QVERIFY(spysignalFileUri.count() == 0);
     QVERIFY(spysignalActivated.count() == 0);
-    QVERIFY(VideoSortFilterProxyModelData::mLastItemId == TMPXItemId::InvalidId());
+    QVERIFY(VideoProxyModelData::mLastItemId == TMPXItemId::InvalidId());
     
     // current level is not ELevelCategory
     // mVideoServices, variant gotten is valid
@@ -513,7 +512,7 @@
     QVERIFY(spysignal.count() == 0);
     QVERIFY(spysignalFileUri.count() == 1);
     QVERIFY(spysignalActivated.count() == 0);
-    QVERIFY(VideoSortFilterProxyModelData::mLastItemId == TMPXItemId::InvalidId());
+    QVERIFY(VideoProxyModelData::mLastItemId == TMPXItemId::InvalidId());
     
     spysignal.clear();
     spysignalFileUri.clear();
@@ -527,7 +526,7 @@
     QVERIFY(spysignal.count() == 0);
     QVERIFY(spysignalFileUri.count() == 0);
     QVERIFY(spysignalActivated.count() == 0);
-    QVERIFY(VideoSortFilterProxyModelData::mLastItemId == savedId);
+    QVERIFY(VideoProxyModelData::mLastItemId == savedId);
     
     // context menu is visible
     if (!mTestWidget->mContextMenu)
@@ -535,13 +534,13 @@
         mTestWidget->mContextMenu = new HbMenu;
     }
     mTestWidget->mContextMenu->show();
-    VideoSortFilterProxyModelData::mLastItemId = TMPXItemId::InvalidId();
+    VideoProxyModelData::mLastItemId = TMPXItemId::InvalidId();
     fetchIndex = model->index(0, 0, QModelIndex());
     mTestWidget->callEmiteActivated(fetchIndex);
     QVERIFY(spysignal.count() == 0);
     QVERIFY(spysignalFileUri.count() == 0);
     QVERIFY(spysignalActivated.count() == 0);
-    QVERIFY(VideoSortFilterProxyModelData::mLastItemId == TMPXItemId::InvalidId());
+    QVERIFY(VideoProxyModelData::mLastItemId == TMPXItemId::InvalidId());
     
     // final cleanup
     videoServices->decreaseReferenceCount();
@@ -554,7 +553,7 @@
 void TestListWidget::testLongPressedSlot()
 {
     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
-    VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
+    VideoProxyModelGeneric *model = wrapper.getAllVideosModel();
 
     QVariant data = QString("test");
     // correct data to index 0
@@ -597,7 +596,7 @@
     mTestWidget->mItem->mModelIndex = HbListView::mCurrentIndex ;
     
     // model is null
-    VideoSortFilterProxyModel *tmp = mTestWidget->mModel;
+    VideoProxyModelGeneric *tmp = mTestWidget->mModel;
     mTestWidget->mModel = 0;
     mTestWidget->callLongPressedSlot(item, point);
     QVERIFY(HbMenuData::mExecPoint != point);
@@ -606,30 +605,30 @@
     VideoServices *videoServices = VideoServices::instance();
     
     // gotten id != KVcxMvcMediaTypeVideo, service exists true and id != KVcxMvcMediaTypeAlbum
-    VideoSortFilterProxyModelData::mItemIds.clear();
-    VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId(1,1));
+    VideoProxyModelData::mItemIds.clear();
+    VideoProxyModelData::mItemIds.append(TMPXItemId(1,1));
     mTestWidget->mVideoServices = videoServices;
     mTestWidget->callLongPressedSlot(item, point);
     QVERIFY(HbMenuData::mExecPoint == point);
     
     // gotten id != KVcxMvcMediaTypeVideo, service does not exists and id !=  KVcxMvcMediaTypeAlbum
-    VideoSortFilterProxyModelData::mItemIds.clear();
-    VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId(1,1));
+    VideoProxyModelData::mItemIds.clear();
+    VideoProxyModelData::mItemIds.append(TMPXItemId(1,1));
     mTestWidget->mVideoServices = 0;
     mTestWidget->callLongPressedSlot(item, point);
     QVERIFY(HbMenuData::mExecPoint == point);
     
     // gotten id != KVcxMvcMediaTypeVideo, service service does not exists and id ==  KVcxMvcMediaTypeAlbum
-    VideoSortFilterProxyModelData::mItemIds.clear();
-    VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId(1,2));
+    VideoProxyModelData::mItemIds.clear();
+    VideoProxyModelData::mItemIds.append(TMPXItemId(1,2));
     mTestWidget->mVideoServices = 0;
     mTestWidget->callLongPressedSlot(item, point);
     QVERIFY(HbMenuData::mExecPoint == point);
     HbMenuData::mExecPoint = QPointF();
     
     // gotten id == KVcxMvcMediaTypeVideo
-    VideoSortFilterProxyModelData::mItemIds.clear();
-    VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId(1,02));
+    VideoProxyModelData::mItemIds.clear();
+    VideoProxyModelData::mItemIds.append(TMPXItemId(1,02));
     mTestWidget->mVideoServices = 0;
     mTestWidget->callLongPressedSlot(item, point);
     QVERIFY(HbMenuData::mExecPoint == point);
@@ -734,9 +733,9 @@
 void TestListWidget::testSetContextMenu()
 {
     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
-    VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
+    VideoProxyModelGeneric *model = wrapper.getAllVideosModel();
     VideoListDataModel *sourceModel = qobject_cast<VideoListDataModel*>(model->sourceModel());
-    VideoSortFilterProxyModelData::mItemIds.clear();
+    VideoProxyModelData::mItemIds.clear();
     mTestWidget->initialize(*model);
     
     setRowCount(1);
@@ -746,7 +745,7 @@
     TMPXItemId itemId;
     QPointF point(1,1);
     itemId.iId2 = 0;
-    VideoSortFilterProxyModelData::mItemIds.append(itemId);
+    VideoProxyModelData::mItemIds.append(itemId);
 
     HbAbstractViewItem *item = new HbAbstractViewItem();
     item->mModelIndex = model->index(0, 0, QModelIndex());
@@ -818,7 +817,7 @@
     QVERIFY(visibleCount == 1);
     
     // service does not exists , mpxId.iId2 == KVcxMvcMediaTypeAlbum
-    VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId(1,KVcxMvcMediaTypeAlbum));
+    VideoProxyModelData::mItemIds.append(TMPXItemId(1,KVcxMvcMediaTypeAlbum));
     HbListView::mCurrentIndex = model->index(1, 0, QModelIndex());
     item->mModelIndex = model->index(1, 0, QModelIndex());
     mTestWidget->mVideoServices = 0;
@@ -860,7 +859,7 @@
     cleanup();
     init();
     setRowCount(1);
-    model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
+    model = wrapper.getAllVideosModel();
     mTestWidget->mVideoServices = videoServices;
     videoServices->mCurrentService = VideoServices::EUriFetcher;
     mTestWidget->initialize(*model, videoServices);
@@ -868,7 +867,7 @@
     mTestWidget->mItem->mModelIndex = HbListView::mCurrentIndex ;
     
     mTestWidget->mCurrentLevel = VideoCollectionCommon::ELevelAlbum;
-    VideoSortFilterProxyModelData::mItemIds.append(itemId);
+    VideoProxyModelData::mItemIds.append(itemId);
 
     mTestWidget->callLongPressedSlot(item, point);
     iter = mTestWidget->mContextMenuActions.begin();
@@ -909,7 +908,7 @@
     //dodelayed calls create context menu, which is already tested at
     // testSetContextMenu -method, these tests are just for coverity's sake
     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
-    VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
+    VideoProxyModelGeneric *model = wrapper.getAllVideosModel();
     mTestWidget->initialize(*model);
     
     delete mTestWidget->mContextMenu;
@@ -937,10 +936,10 @@
 void TestListWidget::testDeleteItemSlot()
 {
     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
-    VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
+    VideoProxyModelGeneric *model = wrapper.getAllVideosModel();
 
     HbMessageBoxData::mLatestTxt = "";
-    VideoSortFilterProxyModelData::mLastIndex = QModelIndex();
+    VideoProxyModelData::mLastIndex = QModelIndex();
     mTestWidget->initialize(*model);    
     connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(deleteItemSlot()));    
     
@@ -948,12 +947,12 @@
     
     // no model
     VideoListDataModelData::mDataAccessCount = 0;
-    VideoSortFilterProxyModel *tmp = mTestWidget->mModel;
+    VideoProxyModelGeneric *tmp = mTestWidget->mModel;
     mTestWidget->mModel = 0;
     emit testSignal();
     QVERIFY(VideoListDataModelData::dataAccessCount() == 0);
     QVERIFY(HbMessageBoxData::mLatestTxt.isEmpty());
-    QVERIFY(!VideoSortFilterProxyModelData::mLastIndex.isValid());
+    QVERIFY(!VideoProxyModelData::mLastIndex.isValid());
     setRowCount(1);
     mTestWidget->mModel = tmp;
     
@@ -964,7 +963,7 @@
     emit testSignal();
     QVERIFY(VideoListDataModelData::dataAccessCount() == 1);
     QVERIFY(HbMessageBoxData::mLatestTxt.isEmpty());
-    QVERIFY(!VideoSortFilterProxyModelData::mLastIndex.isValid());
+    QVERIFY(!VideoProxyModelData::mLastIndex.isValid());
     setRowCount(0);
     
     // data is valid
@@ -980,7 +979,7 @@
     box->emitDialogFinished(mTestWidget, SLOT(deleteItemDialogFinished(int)), HbMessageBox::No);
     QVERIFY(VideoListDataModelData::dataAccessCount() == 1);
     QVERIFY(!HbMessageBoxData::mLatestTxt.isEmpty());
-    QVERIFY(!VideoSortFilterProxyModelData::mLastIndex.isValid());
+    QVERIFY(!VideoProxyModelData::mLastIndex.isValid());
     HbMessageBoxData::mLatestTxt = "";
     setRowCount(1);
     data = QString("test");
@@ -988,13 +987,13 @@
     
     // messagebox question returns true
     VideoListDataModelData::mDataAccessCount = 0;
-    VideoSortFilterProxyModelData::mDeleteItemsFails = false;
+    VideoProxyModelData::mDeleteItemsFails = false;
     HbMessageBoxData::mQuestionReturnValue = true;
     emit testSignal();
     box->emitDialogFinished(mTestWidget, SLOT(deleteItemDialogFinished(int)), HbMessageBox::Yes);
     QVERIFY(VideoListDataModelData::dataAccessCount() == 1);
     QVERIFY(!HbMessageBoxData::mLatestTxt.isEmpty());
-    QVERIFY(VideoSortFilterProxyModelData::mLastIndex.row() == 0);
+    QVERIFY(VideoProxyModelData::mLastIndex.row() == 0);
     
     disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(deleteItemSlot()));
 }
@@ -1006,23 +1005,23 @@
 void TestListWidget::testRenameSlot()
 {
     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
-    VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
+    VideoProxyModelGeneric *model = wrapper.getAllVideosModel();
     
     HbInputDialog *dialog = new HbInputDialog();
     
     connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(renameSlot()));
     
-    VideoSortFilterProxyModelData::reset();
-    VideoSortFilterProxyModelData::mLastIndex = QModelIndex();
+    VideoProxyModelData::reset();
+    VideoProxyModelData::mLastIndex = QModelIndex();
     mTestWidget->initialize(*model);
     
     // Good case
-    VideoSortFilterProxyModelData::mLastItemNameInRename = "";
+    VideoProxyModelData::mLastItemNameInRename = "";
     HbInputDialog::mValueReturnValue = "renamedVideo";
     HbInputDialog::mValueCallCount = 0;
     HbInputDialog::mOpenCallCount = 0;
     setRowCount(1);
-    VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId(0, KVcxMvcMediaTypeAlbum));
+    VideoProxyModelData::mItemIds.append(TMPXItemId(0, KVcxMvcMediaTypeAlbum));
     QVariant data = QString("albumName");
     VideoListDataModelData::setData(VideoCollectionCommon::KeyTitle, data);
     mTestWidget->mCurrentIndex = model->index(0, 0, QModelIndex());
@@ -1036,13 +1035,13 @@
     HbInputDialog::mValueReturnValue = "albumName";
     HbInputDialog::mValueCallCount = 0;
     HbInputDialog::mOpenCallCount = 0;
-    VideoSortFilterProxyModelData::mLastItemNameInRename = "";
+    VideoProxyModelData::mLastItemNameInRename = "";
     data = QString("albumName");
     VideoListDataModelData::setData(VideoCollectionCommon::KeyTitle, data);
     mTestWidget->mCurrentIndex = model->index(0, 0, QModelIndex());
     emit testSignal();
     dialog->emitDialogFinished(mTestWidget, SLOT(renameDialogFinished(HbAction *)), 0);
-    QVERIFY(VideoSortFilterProxyModelData::mLastItemNameInRename == "");
+    QVERIFY(VideoProxyModelData::mLastItemNameInRename == "");
     QCOMPARE(HbInputDialog::mOpenCallCount, 1);
     QVERIFY(HbInputDialog::mValueCallCount == 1);
     
@@ -1050,18 +1049,18 @@
     HbInputDialog::mValueReturnValue = "";
     HbInputDialog::mValueCallCount = 0;
     HbInputDialog::mOpenCallCount = 0;
-    VideoSortFilterProxyModelData::mLastItemNameInRename = "";
+    VideoProxyModelData::mLastItemNameInRename = "";
     data = QString("albumName");
     VideoListDataModelData::setData(VideoCollectionCommon::KeyTitle, data);
     mTestWidget->mCurrentIndex = model->index(0, 0, QModelIndex());
     emit testSignal();
     dialog->emitDialogFinished(mTestWidget, SLOT(renameDialogFinished(HbAction *)), 1);
-    QVERIFY(VideoSortFilterProxyModelData::mLastItemNameInRename == "");
+    QVERIFY(VideoProxyModelData::mLastItemNameInRename == "");
     QCOMPARE(HbInputDialog::mOpenCallCount, 1);
     QVERIFY(HbInputDialog::mValueCallCount == 0);
     
     // New name is empty.
-    VideoSortFilterProxyModelData::mLastItemNameInRename = "";
+    VideoProxyModelData::mLastItemNameInRename = "";
     HbInputDialog::mValueReturnValue = "";
     HbInputDialog::mValueCallCount = 0;
     HbInputDialog::mOpenCallCount = 0;
@@ -1070,14 +1069,14 @@
     mTestWidget->mCurrentIndex = model->index(0, 0, QModelIndex());
     emit testSignal();
     dialog->emitDialogFinished(mTestWidget, SLOT(renameDialogFinished(HbAction *)), 0);
-    QVERIFY(VideoSortFilterProxyModelData::mLastItemNameInRename == "");
+    QVERIFY(VideoProxyModelData::mLastItemNameInRename == "");
     QCOMPARE(HbInputDialog::mOpenCallCount, 1);
     QVERIFY(HbInputDialog::mValueCallCount == 1);
     
     // Item is video
-    VideoSortFilterProxyModelData::mItemIds.clear();
-    VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId(0, KVcxMvcMediaTypeVideo));
-    VideoSortFilterProxyModelData::mLastItemNameInRename = "";
+    VideoProxyModelData::mItemIds.clear();
+    VideoProxyModelData::mItemIds.append(TMPXItemId(0, KVcxMvcMediaTypeVideo));
+    VideoProxyModelData::mLastItemNameInRename = "";
     HbInputDialog::mValueReturnValue = "renamedVideo";
     HbInputDialog::mValueCallCount = 0;
     HbInputDialog::mOpenCallCount = 0;
@@ -1088,37 +1087,67 @@
     dialog->emitDialogFinished(mTestWidget, SLOT(renameDialogFinished(HbAction *)), 0);
     QCOMPARE(HbInputDialog::mOpenCallCount, 1);
     QVERIFY(HbInputDialog::mValueCallCount == 1);
-    QVERIFY(VideoSortFilterProxyModelData::mLastItemNameInRename == "renamedVideo");
+    QVERIFY(VideoProxyModelData::mLastItemNameInRename == "renamedVideo");
 
+    // Item is album
+    VideoProxyModelData::mItemIds.clear();
+    VideoProxyModelData::mItemIds.append(TMPXItemId(0, KVcxMvcMediaTypeAlbum));
+    VideoProxyModelData::mLastItemNameInRename = "";
+    HbInputDialog::mValueReturnValue = "renamedAlbum";
+    HbInputDialog::mValueCallCount = 0;
+    HbInputDialog::mOpenCallCount = 0;
+    data = QString("oldAlbumName");
+    VideoListDataModelData::setData(VideoCollectionCommon::KeyTitle, data);
+    mTestWidget->mCurrentIndex = model->index(0, 0, QModelIndex());
+    emit testSignal();
+    dialog->emitDialogFinished(mTestWidget, SLOT(renameDialogFinished(HbAction *)), 0);
+    QCOMPARE(HbInputDialog::mOpenCallCount, 1);
+    QVERIFY(HbInputDialog::mValueCallCount == 1);
+    QVERIFY(VideoProxyModelData::mLastItemNameInRename == "renamedAlbum");
+    
+    // Item is category
+    VideoProxyModelData::mItemIds.clear();
+    VideoProxyModelData::mItemIds.append(TMPXItemId(0, KVcxMvcMediaTypeCategory));
+    VideoProxyModelData::mLastItemNameInRename = "";
+    HbInputDialog::mValueReturnValue = "notallowed";
+    HbInputDialog::mValueCallCount = 0;
+    HbInputDialog::mOpenCallCount = 0;
+    data = QString("oldCategoryName");
+    VideoListDataModelData::setData(VideoCollectionCommon::KeyTitle, data);
+    mTestWidget->mCurrentIndex = model->index(0, 0, QModelIndex());
+    emit testSignal();
+    QCOMPARE(HbInputDialog::mOpenCallCount, 0);
+    QVERIFY(VideoProxyModelData::mLastItemNameInRename == "");    
+    
     // No model
-    VideoSortFilterProxyModelData::mLastItemNameInRename = "";
+    VideoProxyModelData::mLastItemNameInRename = "";
     HbInputDialog::mValueReturnValue = "";
     HbInputDialog::mValueCallCount = 0;
     HbInputDialog::mOpenCallCount = 0;
-    VideoSortFilterProxyModelData::mItemIds.clear();
-    VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId(0, KVcxMvcMediaTypeAlbum));
+    VideoProxyModelData::mItemIds.clear();
+    VideoProxyModelData::mItemIds.append(TMPXItemId(0, KVcxMvcMediaTypeAlbum));
     data = QString("albumName");
     VideoListDataModelData::setData(VideoCollectionCommon::KeyTitle, data);
     mTestWidget->mCurrentIndex = model->index(0, 0, QModelIndex());
-    VideoSortFilterProxyModel *tmp = mTestWidget->mModel;
+    VideoProxyModelGeneric *tmp = mTestWidget->mModel;
     mTestWidget->mModel = 0;    
     emit testSignal();
     mTestWidget->mModel = tmp;    
-    QVERIFY(VideoSortFilterProxyModelData::mLastItemNameInRename == "");
+    QVERIFY(VideoProxyModelData::mLastItemNameInRename == "");
     QCOMPARE(HbInputDialog::mOpenCallCount, 0);
     
     // Variant data is invalid
-    VideoSortFilterProxyModelData::mLastItemNameInRename = "";
+    VideoProxyModelData::mLastItemNameInRename = "";
     HbInputDialog::mValueReturnValue = "renamedVideo";
     HbInputDialog::mValueCallCount = 0;
     HbInputDialog::mOpenCallCount = 0;
-    VideoSortFilterProxyModelData::mItemIds.clear();
-    VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId(0, KVcxMvcMediaTypeAlbum));
+    VideoProxyModelData::mItemIds.clear();
+    VideoProxyModelData::mItemIds.append(TMPXItemId(0, KVcxMvcMediaTypeAlbum));
     data = QVariant();
     VideoListDataModelData::setData(VideoCollectionCommon::KeyTitle, data);
     mTestWidget->mCurrentIndex = model->index(0, 0, QModelIndex());
     emit testSignal();
-    QVERIFY(VideoSortFilterProxyModelData::mLastItemNameInRename == "");
+    QVERIFY(VideoProxyModelData::mLastItemNameInRename == "");
     QCOMPARE(HbInputDialog::mOpenCallCount, 0);
     
     disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(renameSlot()));
@@ -1134,13 +1163,13 @@
     // Just verify here, that the openItemSlot calls doEmitActivated.
     
     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
-    VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
+    VideoProxyModelGeneric *model = wrapper.getAllVideosModel();
     mTestWidget->initialize(*model);
     connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(openItemSlot()));
     setRowCount(1);
     TMPXItemId savedId = TMPXItemId(1,1);
-    VideoSortFilterProxyModelData::mItemIds.clear();
-    VideoSortFilterProxyModelData::mItemIds.append(savedId);
+    VideoProxyModelData::mItemIds.clear();
+    VideoProxyModelData::mItemIds.append(savedId);
     HbListView::mCurrentIndex = model->index(0, 0, QModelIndex());
     
     // Making the context menu visible ensures that the doEmitActivated is called
@@ -1154,7 +1183,7 @@
     
     emit testSignal();
     
-    QVERIFY(VideoSortFilterProxyModelData::mLastItemId == savedId);
+    QVERIFY(VideoProxyModelData::mLastItemId == savedId);
     
     disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(openItemSlot()));    
 }
@@ -1166,18 +1195,18 @@
 void TestListWidget::testPlayItemSlot()
 {
     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
-    VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
+    VideoProxyModelGeneric *model = wrapper.getAllVideosModel();
     mTestWidget->initialize(*model);
     connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(playItemSlot()));
     setRowCount(1);
     TMPXItemId savedId = TMPXItemId(1,1);
-    VideoSortFilterProxyModelData::mItemIds.clear();
-    VideoSortFilterProxyModelData::mItemIds.append(savedId);
+    VideoProxyModelData::mItemIds.clear();
+    VideoProxyModelData::mItemIds.append(savedId);
     HbListView::mCurrentIndex = model->index(0, 0, QModelIndex());
     
     emit testSignal();
     
-    QVERIFY(VideoSortFilterProxyModelData::mLastItemId == savedId);
+    QVERIFY(VideoProxyModelData::mLastItemId == savedId);
     
     disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(playItemSlot()));    
 }
@@ -1189,7 +1218,7 @@
 void TestListWidget::testAddToCollectionSlot()
 {
     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
-    VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
+    VideoProxyModelGeneric *model = wrapper.getAllVideosModel();
 
     VideoListSelectionDialogData::mSelectionType = -1;
     VideoListSelectionDialogData::mSettedMpxId = TMPXItemId::InvalidId();
@@ -1197,8 +1226,8 @@
     connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(addToCollectionSlot()));
     setRowCount(1);
     TMPXItemId savedId = TMPXItemId(1,1);
-    VideoSortFilterProxyModelData::mItemIds.clear();
-    VideoSortFilterProxyModelData::mItemIds.append(savedId);
+    VideoProxyModelData::mItemIds.clear();
+    VideoProxyModelData::mItemIds.append(savedId);
     HbListView::mCurrentIndex = model->index(0, 0, QModelIndex());
     
     // no model
@@ -1215,15 +1244,15 @@
     VideoCollectionUiLoaderData::mFindFailureNameList.clear();
     
     // invalid id at current index
-    VideoSortFilterProxyModelData::mItemIds.clear();
-    VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId::InvalidId());
+    VideoProxyModelData::mItemIds.clear();
+    VideoProxyModelData::mItemIds.append(TMPXItemId::InvalidId());
     emit testSignal();
     QVERIFY(VideoListSelectionDialogData::mSelectionType == -1 );
     QVERIFY(VideoListSelectionDialogData::mSettedMpxId == TMPXItemId::InvalidId());
     
     // valid id at current index
-    VideoSortFilterProxyModelData::mItemIds.clear();
-    VideoSortFilterProxyModelData::mItemIds.append(savedId);
+    VideoProxyModelData::mItemIds.clear();
+    VideoProxyModelData::mItemIds.append(savedId);
     emit testSignal();
     QVERIFY(VideoListSelectionDialogData::mSelectionType == VideoListSelectionDialog::ESelectCollection );
     QVERIFY(VideoListSelectionDialogData::mSettedMpxId == savedId);
@@ -1239,45 +1268,45 @@
 void TestListWidget::testRemoveFromCollectionSlot()
 {
     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
-    VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
+    VideoProxyModelGeneric *model = wrapper.getAllVideosModel();
 
-    VideoSortFilterProxyModelData::mRemoveItemsFromAlbumReturnValue = 0;
-    VideoSortFilterProxyModelData::mLastItemId = TMPXItemId::InvalidId();
-    VideoSortFilterProxyModelData::mItemIds.clear();
+    VideoProxyModelData::mRemoveItemsFromAlbumReturnValue = 0;
+    VideoProxyModelData::mLastItemId = TMPXItemId::InvalidId();
+    VideoProxyModelData::mItemIds.clear();
     
     connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(removeFromCollectionSlot()));
     setRowCount(2);
     TMPXItemId savedId = TMPXItemId(1,1);
-    VideoSortFilterProxyModelData::mItemIds.clear();
+    VideoProxyModelData::mItemIds.clear();
     // invalid id at index 0
-    VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId::InvalidId());
-    VideoSortFilterProxyModelData::mItemIds.append(savedId);
+    VideoProxyModelData::mItemIds.append(TMPXItemId::InvalidId());
+    VideoProxyModelData::mItemIds.append(savedId);
     HbListView::mCurrentIndex = model->index(1, 0, QModelIndex());
     
     // no model
     emit testSignal();
-    QVERIFY(VideoSortFilterProxyModelData::mLastItemId  == TMPXItemId::InvalidId());
+    QVERIFY(VideoProxyModelData::mLastItemId  == TMPXItemId::InvalidId());
     
     mTestWidget->initialize(*model);
-    VideoSortFilterProxyModelData::mOpenedItemId = TMPXItemId::InvalidId();
+    VideoProxyModelData::mOpenedItemId = TMPXItemId::InvalidId();
     
     // collection id is invalid
     emit testSignal();
-    QVERIFY(VideoSortFilterProxyModelData::mLastItemId  == TMPXItemId::InvalidId());
-    VideoSortFilterProxyModelData::mOpenedItemId = TMPXItemId(1,2);
+    QVERIFY(VideoProxyModelData::mLastItemId  == TMPXItemId::InvalidId());
+    VideoProxyModelData::mOpenedItemId = TMPXItemId(1,2);
     
     // media at current index is invalid
     HbListView::mCurrentIndex = model->index(0, 0, QModelIndex());
     emit testSignal();
-    QVERIFY(VideoSortFilterProxyModelData::mLastItemId  == TMPXItemId::InvalidId());
+    QVERIFY(VideoProxyModelData::mLastItemId  == TMPXItemId::InvalidId());
             
     // all is ok
     HbListView::mCurrentIndex = model->index(1, 0, QModelIndex());
     emit testSignal();
     
-    QVERIFY(VideoSortFilterProxyModelData::mLastItemId  == TMPXItemId(1,2));
-    // ids are to be saved at VideoSortFilterProxyModelData::mItemIds 
-    QVERIFY(VideoSortFilterProxyModelData::mItemIds.at(0) == savedId);
+    QVERIFY(VideoProxyModelData::mLastItemId  == TMPXItemId(1,2));
+    // ids are to be saved at VideoProxyModelData::mItemIds 
+    QVERIFY(VideoProxyModelData::mItemIds.at(0) == savedId);
     
     disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(removeFromCollectionSlot())); 
 }
@@ -1288,13 +1317,13 @@
 //
 void TestListWidget::testRemoveCollectionSlot()
 {
-    VideoSortFilterProxyModelData::mRemoveAlbumsFails = false;
+    VideoProxyModelData::mRemoveAlbumsFails = false;
     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
-    VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
+    VideoProxyModelGeneric *model = wrapper.getAllVideosModel();
     
     HbMessageBoxData::mQuestionReturnValue = true;
     HbMessageBoxData::mLatestTxt = "";
-    VideoSortFilterProxyModelData::mLastIndex = QModelIndex();
+    VideoProxyModelData::mLastIndex = QModelIndex();
     
     setRowCount(1);
     HbListView::mCurrentIndex = model->index(0, 0, QModelIndex());
@@ -1304,15 +1333,15 @@
     
     setRowCount(2);
     TMPXItemId savedId = TMPXItemId(1,1);
-    VideoSortFilterProxyModelData::mItemIds.clear();
+    VideoProxyModelData::mItemIds.clear();
     // invalid id at index 0
-    VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId::InvalidId());
-    VideoSortFilterProxyModelData::mItemIds.append(savedId);
+    VideoProxyModelData::mItemIds.append(TMPXItemId::InvalidId());
+    VideoProxyModelData::mItemIds.append(savedId);
     HbListView::mCurrentIndex = model->index(1, 0, QModelIndex());
     
     // no model
     emit testSignal();
-    QVERIFY(!VideoSortFilterProxyModelData::mLastIndex.isValid());
+    QVERIFY(!VideoProxyModelData::mLastIndex.isValid());
     QVERIFY(HbMessageBoxData::mLatestTxt.isEmpty());
     
     mTestWidget->initialize(*model);
@@ -1320,24 +1349,24 @@
     // invalid data    
     VideoListDataModelData::setData(VideoCollectionCommon::KeyTitle, QVariant());
     emit testSignal();
-    QVERIFY(!VideoSortFilterProxyModelData::mLastIndex.isValid());
+    QVERIFY(!VideoProxyModelData::mLastIndex.isValid());
     QVERIFY(HbMessageBoxData::mLatestTxt.isEmpty());
     
     // valid data 
     VideoListDataModelData::setData(VideoCollectionCommon::KeyTitle, "test");
     emit testSignal();
     box->emitDialogFinished(mTestWidget, SLOT(removeCollectionDialogFinished(int)), HbMessageBox::Yes);
-    QVERIFY(VideoSortFilterProxyModelData::mLastIndex.isValid());
-    QVERIFY(VideoSortFilterProxyModelData::mLastIndex.row() == 1);
+    QVERIFY(VideoProxyModelData::mLastIndex.isValid());
+    QVERIFY(VideoProxyModelData::mLastIndex.row() == 1);
     QVERIFY(!HbMessageBoxData::mLatestTxt.isEmpty());
     
     // msg box return false (for coverity)
-    VideoSortFilterProxyModelData::mLastIndex = QModelIndex();
+    VideoProxyModelData::mLastIndex = QModelIndex();
     HbMessageBoxData::mLatestTxt = "";
     HbMessageBoxData::mQuestionReturnValue = false;
     emit testSignal();
     box->emitDialogFinished(mTestWidget, SLOT(removeCollectionDialogFinished(int)), HbMessageBox::No);
-    QVERIFY(!VideoSortFilterProxyModelData::mLastIndex.isValid());
+    QVERIFY(!VideoProxyModelData::mLastIndex.isValid());
     QVERIFY(!HbMessageBoxData::mLatestTxt.isEmpty());
     
     disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(removeCollectionSlot()));
@@ -1350,21 +1379,21 @@
 void TestListWidget::testOpenDetailsSlot()
 {
     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
-    VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
+    VideoProxyModelGeneric *model = wrapper.getAllVideosModel();
 
     QSignalSpy spysignal(mTestWidget, SIGNAL(command(int)));
     HbMessageBoxData::mLatestTxt = "";
-    VideoSortFilterProxyModelData::mLastIndex = QModelIndex();
+    VideoProxyModelData::mLastIndex = QModelIndex();
     setRowCount(0);
     mTestWidget->initialize(*model);
     connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(openDetailsSlot())); 
 
     // no model
-    VideoSortFilterProxyModel *tmp = mTestWidget->mModel;
+    VideoProxyModelGeneric *tmp = mTestWidget->mModel;
     mTestWidget->mModel = 0;
     emit testSignal();
     QVERIFY(spysignal.count() == 0);
-    QVERIFY(!VideoSortFilterProxyModelData::mLastIndex.isValid());
+    QVERIFY(!VideoProxyModelData::mLastIndex.isValid());
     mTestWidget->mModel = tmp;
     
     // detail fetch fails
@@ -1372,24 +1401,24 @@
     QVariant data = QString("test");
     VideoListDataModelData::setData(Qt::DisplayRole, data);
     mTestWidget->mCurrentIndex = model->index(0, 0, QModelIndex());
-    VideoSortFilterProxyModelData::mDetailsReturnValue = -1;
+    VideoProxyModelData::mDetailsReturnValue = -1;
     
     emit testSignal();
     QVERIFY(spysignal.count() == 0);
-    QVERIFY(VideoSortFilterProxyModelData::mLastIndex.row() == 0);
+    QVERIFY(VideoProxyModelData::mLastIndex.row() == 0);
     
     // detail fetch succeeds
-    VideoSortFilterProxyModelData::mDetailsReturnValue = 0;
-    VideoSortFilterProxyModelData::mLastIndex = QModelIndex();
+    VideoProxyModelData::mDetailsReturnValue = 0;
+    VideoProxyModelData::mLastIndex = QModelIndex();
     emit testSignal();
     QVERIFY(spysignal.count() == 1);
     QVERIFY(spysignal.at(0).at(0).isValid());
     QVERIFY(spysignal.at(0).at(0).toInt() == MpxHbVideoCommon::ActivateVideoDetailsView);
-    QVERIFY(VideoSortFilterProxyModelData::mLastIndex.row() == 0);
+    QVERIFY(VideoProxyModelData::mLastIndex.row() == 0);
     
     disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(openDetailsSlot())); 
 }
- 
+
 // ---------------------------------------------------------------------------
 // testBack
 // ---------------------------------------------------------------------------
@@ -1397,7 +1426,7 @@
 void TestListWidget::testBack()
 {
     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
-    VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
+    VideoProxyModelGeneric *model = wrapper.getAllVideosModel();
 
     QSignalSpy spysignal(mTestWidget, SIGNAL(collectionOpened(bool, const QString&, const TMPXItemId&)));
     connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(back()));
@@ -1438,7 +1467,7 @@
 {
     VideoThumbnailTestData::mBackgroundThumbnailFetchingEnabled = true;
     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
-    VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
+    VideoProxyModelGeneric *model = wrapper.getAllVideosModel();
 
     mTestWidget->initialize(*model);
     connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(scrollingEndedSlot()));
@@ -1485,7 +1514,7 @@
 void TestListWidget::testScrollPositionChangedSlot()
 {
     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
-    VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
+    VideoProxyModelGeneric *model = wrapper.getAllVideosModel();
 
     mTestWidget->initialize(*model);
     const QPointF point;
@@ -1529,7 +1558,7 @@
 void TestListWidget::testRowsInsertedSlot()
 {
     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
-    VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
+    VideoProxyModelGeneric *model = wrapper.getAllVideosModel();
 
     mTestWidget->initialize(*model);
     
@@ -1555,7 +1584,7 @@
 void TestListWidget::testRowsRemovedSlot()
 {
     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
-    VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
+    VideoProxyModelGeneric *model = wrapper.getAllVideosModel();
 
     mTestWidget->initialize(*model);