diff -r af3740e3753f -r c5b304f4d89b mpdata/inc/mpmpxcollectiondata_p.h --- a/mpdata/inc/mpmpxcollectiondata_p.h Wed Aug 18 09:46:20 2010 +0300 +++ b/mpdata/inc/mpmpxcollectiondata_p.h Thu Sep 02 20:24:03 2010 +0300 @@ -21,6 +21,8 @@ #include #include +#include +#include #include "mpmpxcollectiondata.h" #include "mpmpxcollectionviewdefs.h" @@ -40,7 +42,7 @@ int count() const; QString collectionTitle() const; - QString itemData( int index, MpMpxCollectionData::DataType type ) const; + QString itemData( int index, MpMpxCollectionData::DataType type ); bool isAutoPlaylist(); bool isAutoPlaylist( int index ); @@ -56,33 +58,46 @@ int currentAlbumIndex() const; int albumSongsCount() const; QString albumSongData( int index, MpMpxCollectionData::DataType type ) const; + bool hasItemProperty( int index, MpMpxCollectionData:: DataProperty type ) const; + bool hasAlbumSongProperty( int index, MpMpxCollectionData:: DataProperty type ) const; void setMpxMedia( const CMPXMedia& entries, bool reopen ); + void incrementalOpenUpdate(); const CMPXMedia& containerMedia(); void setContext( TCollectionContext context ); void setAlbumContent( const CMPXMedia& albumContent ); int itemIndex( int itemUniqueId ); int albumSongIndex( int songUniqueId ); + QList songIndex( int songUniqueId ); + void setCorruptValue( QModelIndex index, bool tBone ); + void setReloadAlbumContent( bool reloadAlbum ); private: + void loadAlbumsLookup(); void loadAlbumSongsLookup(); - void DoGetDataL( int index, MpMpxCollectionData::DataType type, QString& data ) const; + void setReloadRange( int index ); + int itemId2( int index); + void DoGetDataL( int index, MpMpxCollectionData::DataType type, QString& data ); bool DoIsAutoPlaylistL(); bool DoIsAutoPlaylistL( int index ); int DoGetItemCountL( int index ); int DoGetContainerIdL(); int DoGetItemIdL( int index ); + int DoGetItemId2L( int index ); int DoGetAlbumSongIdL( int index ); void DoRemoveItemL( int index ); bool DoTestCachedItemL( int itemId ); bool DoSetCurrentAlbumL( int index ); void DoGetAlbumSongDataL( int index, MpMpxCollectionData::DataType type, QString& data ) const; + bool DoHasItemPropertyL( int index, MpMpxCollectionData:: DataProperty type ) const; + bool DoHasAlbumSongPropertyL( int index, MpMpxCollectionData:: DataProperty type ) const; void SetCollectionContextL(); void DoSetMpxMediaL( const CMPXMedia& entries ); void DoSetAlbumContentL( const CMPXMedia& albumContent ); + void DoSetCorruptValueL( QModelIndex index, bool tBone ); private: @@ -96,9 +111,14 @@ int iCurrentAlbumIndex; int iAlbumSongCount; - QHash albumIdIndexMapping; - QHash albumSongIdIndexMapping; + QHash iAlbumIdIndexMapping; + QHash iAlbumSongIdIndexMapping; + QHash iSongIdIndexMapping; + bool iReloadAlbumContent; + bool iNeedReload; + QPair iReloadRange; + }; #endif // MPMPXCOLLECTIONDATA_P_H