diff -r 55d60436f00b -r d68a4b5d5885 clock2/clockui/uilayer/clkdatetimeview/src/clkdatetimeview.cpp --- a/clock2/clockui/uilayer/clkdatetimeview/src/clkdatetimeview.cpp Tue May 11 16:12:24 2010 +0300 +++ b/clock2/clockui/uilayer/clkdatetimeview/src/clkdatetimeview.cpp Tue May 25 12:41:10 2010 +0300 @@ -56,6 +56,7 @@ #include #include #include +#include // User Includes #include "clkuiclksrvmodel.h" @@ -2437,39 +2438,31 @@ // Set the flag to indicate that the tone selection list is in use. iExtension->SetAlarmToneListInUse( ETrue ); - // Open the resource file. - RConeResourceLoader resourceLoader( *( CCoeEnv::Static() ) ); - OpenFileListResourceLC( resourceLoader ); + CMediaFileList* list = CMediaFileList::NewL(); + CleanupStack::PushL( list ); + + TInt nullItem( KErrNotFound ); - // Launch filelist using your custom resource. - CFLDFileListContainer* alarmToneList = CFLDFileListContainer::NewLC( R_FILELIST_MODEL_NOVIDEO ); + // default tone + list->SetNullItemL( iDefaultToneTxt->Des(), iDefaultAlarmToneName, + CMediaFileList::EMediaFileTypeAudio, + CMediaFileList::ENullItemIconDefaultTone ); - // Populate the list with "Default" and "Off" strings. - alarmToneList->InsertNullItemL( iDefaultToneTxt->Des(), iDefaultAlarmToneName ); - alarmToneList->InsertEndNullItemL( iSoundOffTxt->Des(), iExtension->GetSilentToneStr()->Des() ); - // Do not show videos. - alarmToneList->AddExclusiveMediaTypeL( ECLFMediaTypeVideo ); - alarmToneList->SetAutomatedType( CDRMHelper::EAutomatedTypeClockAlarm ); - // Do not show items over the file size limit, if configured. - if ( CFeatureDiscovery::IsFeatureSupportedL( - KFeatureIdFfLimitedMessageAndAlarmToneSize ) ) - { - // Max file size allowed (in KB). 0 == no limit. - TInt fileSizeLimit = 0; - CRepository* profilesCenRep = CRepository::NewLC( KCRUidProfileEngine ); + // off + list->SetNullItemL( iSoundOffTxt->Des(), iExtension->GetSilentToneStr()->Des(), + CMediaFileList::EMediaFileTypeAudio, + CMediaFileList::ENullItemIconOff ); + - // Reading the repository should not fail, but if it does, the default - // value we have for the file size limit is acceptable. - profilesCenRep->Get( KProEngRingingToneMaxSize, fileSizeLimit ); // codescanner::crepository - CleanupStack::PopAndDestroy( profilesCenRep ); + list->SetAttrL( CMediaFileList::EAttrAutomatedType, CDRMHelper::EAutomatedTypeClockAlarm ); + list->SetAttrL( CMediaFileList::EAttrExcludeFolder, CMediaFileList::EMediaFileTypeVideo ); + + // Launch the list. ETrue is returned if OK is pressed. EFalse otherwise. + TBool ok( list->ShowMediaFileListL( &iAlarmToneName, &nullItem, NULL, NULL ) ); - if ( fileSizeLimit > 0 ) - { - alarmToneList->SetMaxFileSize( fileSizeLimit * KKilo ); - } - } - // Launch the list. ETrue is returned if OK is pressed. EFalse otherwise. - if( alarmToneList->LaunchL( iAlarmToneName, *iToneListHeader ) ) + // Cleanup. + CleanupStack::PopAndDestroy( list ); + if( ok ) { // User has selected the tone and pressed OK. // Holder for the old alarm tone. @@ -2489,12 +2482,7 @@ // Cleanup. CleanupStack::PopAndDestroy( cenRep ); } - // User pressed Cancel. - iExtension->SetAlarmToneListInUse( EFalse ); - - // Cleanup. - CleanupStack::PopAndDestroy( alarmToneList ); - CleanupStack::PopAndDestroy( &resourceLoader ); + iExtension->SetAlarmToneListInUse( EFalse ); } // ---------------------------------------------------------