mpdata/src/mpcollectiondatamodel.cpp
changeset 37 eb79a7c355bf
parent 35 fdb31ab341af
child 51 560ce2306a17
equal deleted inserted replaced
36:a0afa279b8fe 37:eb79a7c355bf
    19 #include <QList>
    19 #include <QList>
    20 #include <QMimeData>
    20 #include <QMimeData>
    21 #include <hbicon.h>
    21 #include <hbicon.h>
    22 #include <hbnamespace.h>
    22 #include <hbnamespace.h>
    23 
    23 
       
    24 #include <hgwidgets.h>
       
    25 
       
    26 
    24 #include "mpcollectiondatamodel.h"
    27 #include "mpcollectiondatamodel.h"
    25 #include "mpcollectionalbumartmanager.h"
    28 #include "mpcollectionalbumartmanager.h"
    26 #include "mpmpxcollectiondata.h"
    29 #include "mpmpxcollectiondata.h"
    27 #include "mptrace.h"
    30 #include "mptrace.h"
    28 
    31 
    63 
    66 
    64 /*!
    67 /*!
    65  Constructs the collection data model.
    68  Constructs the collection data model.
    66  */
    69  */
    67 MpCollectionDataModel::MpCollectionDataModel( MpMpxCollectionData *data, QObject *parent )
    70 MpCollectionDataModel::MpCollectionDataModel( MpMpxCollectionData *data, QObject *parent )
    68     : QAbstractListModel(parent),
    71     : QAbstractListModel( parent ),
    69       mCollectionData(data),
    72       mCollectionData( data ),
    70       mRowCount(0),
    73       mRowCount( 0 ),
    71       mAlbumIndexOffset(0)
    74       mAlbumIndexOffset( 0 ),
       
    75       mHiddenItemIndex( -1 )
    72 {
    76 {
    73     TX_ENTRY
    77     TX_ENTRY
    74     connect( mCollectionData, SIGNAL(contextChanged(TCollectionContext)), this, SLOT(setContext(TCollectionContext)) );
    78     connect( mCollectionData, SIGNAL(contextChanged(TCollectionContext)), this, SLOT(setContext(TCollectionContext)) );
    75     connect( mCollectionData, SIGNAL(dataChanged()), this, SLOT(reloadData()) );
    79     connect( mCollectionData, SIGNAL(dataChanged()), this, SLOT(reloadData()) );
    76     mAlbumArtManager = new MpCollectionAlbumArtManager(mCollectionData);
    80     mAlbumArtManager = new MpCollectionAlbumArtManager(mCollectionData);
   240             default:
   244             default:
   241                 break;
   245                 break;
   242         }
   246         }
   243         returnValue = feedbackIndex;
   247         returnValue = feedbackIndex;
   244     }
   248     }
       
   249     else if ( role == HgWidget::HgVisibilityRole 
       
   250         && context == ECollectionContextAlbumsMediaWall) {
       
   251         returnValue = !( row == mHiddenItemIndex );
       
   252         }
   245     TX_EXIT
   253     TX_EXIT
   246     return returnValue;
   254     return returnValue;
   247 }
   255 }
   248 
   256 
   249 /*!
   257 /*!
   342     emit orderChanged( mpxContainerId, mpxItemId, rowFrom, row );
   350     emit orderChanged( mpxContainerId, mpxItemId, rowFrom, row );
   343     mCollectionData->insertCachedItem( row );
   351     mCollectionData->insertCachedItem( row );
   344     mRowCount++;
   352     mRowCount++;
   345     endInsertRows();
   353     endInsertRows();
   346     return true;
   354     return true;
       
   355 }
       
   356 
       
   357 /*! 
       
   358  Sets the item visibility, model will report \a visible value as 
       
   359  HgWidget::HgVisibilityRole for the item at \a index. 
       
   360  datachanged() signal is emited when calling this function.
       
   361  Currently this is only used by Media Wall View.
       
   362 */
       
   363 void MpCollectionDataModel::setItemVisibility(const QModelIndex &index, bool visible)
       
   364 {
       
   365     mHiddenItemIndex = visible ? -1 : index.row();
       
   366     emit dataChanged(index, index);
   347 }
   367 }
   348 
   368 
   349 /*!
   369 /*!
   350  Returns pointer to MpMpxCollectionData, which is the collection data.
   370  Returns pointer to MpMpxCollectionData, which is the collection data.
   351  */
   371  */