equal
deleted
inserted
replaced
171 RPointerArray<MCLFItem>& aUndefinedItemArray, |
171 RPointerArray<MCLFItem>& aUndefinedItemArray, |
172 const TArray<MCLFItem*>& aItemArray, |
172 const TArray<MCLFItem*>& aItemArray, |
173 const TArray<TCLFFieldId> aSortFields, |
173 const TArray<TCLFFieldId> aSortFields, |
174 TCLFItemDataType aSortingDataType ) |
174 TCLFItemDataType aSortingDataType ) |
175 { |
175 { |
176 MG_DEBUG1( MSI1, "MakeSortingItemsL start" ); |
|
177 |
|
178 const TInt sortingFieldsCount( aSortFields.Count() ); |
176 const TInt sortingFieldsCount( aSortFields.Count() ); |
179 const TInt count( aItemArray.Count() ); |
177 const TInt count( aItemArray.Count() ); |
180 for( TInt i = 0 ; i < count ; ++i ) |
178 for( TInt i = 0 ; i < count ; ++i ) |
181 { |
179 { |
182 MCLFItem* seItem = aItemArray[i]; |
180 MCLFItem* seItem = aItemArray[i]; |
216 else |
214 else |
217 { // field not found -> undefined item |
215 { // field not found -> undefined item |
218 aUndefinedItemArray.AppendL( seItem ); |
216 aUndefinedItemArray.AppendL( seItem ); |
219 } |
217 } |
220 } |
218 } |
221 |
|
222 MG_DEBUG1( MSI2, "MakeSortingItemsL end" ); |
|
223 } |
219 } |
224 |
220 |
225 // ----------------------------------------------------------------------------- |
221 // ----------------------------------------------------------------------------- |
226 // SortSortingItemsL |
222 // SortSortingItemsL |
227 // Select correct sortign operation |
223 // Select correct sortign operation |
388 // ----------------------------------------------------------------------------- |
384 // ----------------------------------------------------------------------------- |
389 // |
385 // |
390 void CCLFDefaultOperation::GroupItemsL( const TArray<MCLFItem*>& aSourceList, |
386 void CCLFDefaultOperation::GroupItemsL( const TArray<MCLFItem*>& aSourceList, |
391 RPointerArray<MCLFItem>& aGroupedList ) |
387 RPointerArray<MCLFItem>& aGroupedList ) |
392 { |
388 { |
393 MG_DEBUG1( GI1, "CCLFDefaultOperation::GroupItemsL start" ); |
|
394 |
|
395 iGroupedItemList.ResetAndDestroy(); |
389 iGroupedItemList.ResetAndDestroy(); |
396 switch ( iGrouping ) |
390 switch ( iGrouping ) |
397 { |
391 { |
398 case ECLFMusicAlbumGrouping: |
392 case ECLFMusicAlbumGrouping: |
399 { |
393 { |
405 { |
399 { |
406 AppendItemsToArrayL( aSourceList, aGroupedList ); |
400 AppendItemsToArrayL( aSourceList, aGroupedList ); |
407 break; |
401 break; |
408 } |
402 } |
409 } |
403 } |
410 |
|
411 MG_DEBUG1( GI2, "CCLFDefaultOperation::GroupItemsL end" ); |
|
412 } |
404 } |
413 |
405 |
414 // ----------------------------------------------------------------------------- |
406 // ----------------------------------------------------------------------------- |
415 // CCLFDefaultOperation::SortItemsL |
407 // CCLFDefaultOperation::SortItemsL |
416 // ----------------------------------------------------------------------------- |
408 // ----------------------------------------------------------------------------- |
482 // |
474 // |
483 void CCLFDefaultOperation::DoMusicAlbumGroupingL( |
475 void CCLFDefaultOperation::DoMusicAlbumGroupingL( |
484 const TArray<MCLFItem*>& aSourceList, |
476 const TArray<MCLFItem*>& aSourceList, |
485 RPointerArray<MCLFItem>& aGroupedList ) |
477 RPointerArray<MCLFItem>& aGroupedList ) |
486 { |
478 { |
487 MG_DEBUG1( DMAG1, "CCLFDefaultOperation::DoMusicAlbumGroupingL start" ); |
|
488 |
|
489 CDesCArray* tempAlbumNameArray = |
479 CDesCArray* tempAlbumNameArray = |
490 new (ELeave) CDesCArraySeg( KCLFGroupedItemArrayGranularity ); |
480 new (ELeave) CDesCArraySeg( KCLFGroupedItemArrayGranularity ); |
491 CleanupStack::PushL( tempAlbumNameArray ); |
481 CleanupStack::PushL( tempAlbumNameArray ); |
492 |
482 |
493 const TInt count( aSourceList.Count() ); |
483 const TInt count( aSourceList.Count() ); |
496 const MCLFItem* item = aSourceList[i]; |
486 const MCLFItem* item = aSourceList[i]; |
497 TPtrC albumName; |
487 TPtrC albumName; |
498 if( item->GetField( ECLFFieldIdAlbum, albumName ) == KErrNone ) |
488 if( item->GetField( ECLFFieldIdAlbum, albumName ) == KErrNone ) |
499 { |
489 { |
500 TInt pos( 0 ); |
490 TInt pos( 0 ); |
501 if( tempAlbumNameArray->Find( albumName, pos ) ) |
491 if( tempAlbumNameArray->FindIsq( albumName, pos ) ) |
502 { |
492 { |
503 // not found |
493 // not found |
504 tempAlbumNameArray->AppendL( albumName ); |
494 tempAlbumNameArray->InsertIsqL( albumName ); |
505 |
495 |
506 // make new item |
496 // make new item |
507 MCLFModifiableItem* newItem = |
497 MCLFModifiableItem* newItem = |
508 ContentListingFactory::NewModifiableItemLC(); |
498 ContentListingFactory::NewModifiableItemLC(); |
509 newItem->AddFieldL( ECLFFieldIdAlbum, albumName ); |
499 newItem->AddFieldL( ECLFFieldIdAlbum, albumName ); |
520 aGroupedList.AppendL( newItem ); |
510 aGroupedList.AppendL( newItem ); |
521 } |
511 } |
522 } |
512 } |
523 } |
513 } |
524 CleanupStack::PopAndDestroy( tempAlbumNameArray ); |
514 CleanupStack::PopAndDestroy( tempAlbumNameArray ); |
525 |
|
526 MG_DEBUG1( DMAG2, "CCLFDefaultOperation::DoMusicAlbumGroupingL end" ); |
|
527 } |
515 } |
528 |
516 |
529 // End of File |
517 // End of File |