void CFileSelectionSettingItem::EditItemL(TBool /*aCalledFromMenu*/) { // Select drive CAknMemorySelectionDialogMultiDrive* memSelectionDialog = CAknMemorySelectionDialogMultiDrive::NewL (ECFDDialogTypeNormal, /*aShowUnavailableDrives*/EFalse); CleanupStack::PushL(memSelectionDialog); TDriveNumber mem; TFileName memRootPath; TInt ret = memSelectionDialog->ExecuteL(mem, &iOwnedFileName, NULL); CleanupStack::PopAndDestroy(memSelectionDialog); if (!ret) return; // Select file on the selected drive CAknFileSelectionDialog* fileSelectionDialog = CAknFileSelectionDialog::NewL(iDialogType); CleanupStack::PushL(fileSelectionDialog); fileSelectionDialog->SetTitleL(_L("Download files to")); fileSelectionDialog->SetLeftSoftkeyFileL(_L("Select")); // launch file select dialog TBool result = fileSelectionDialog->ExecuteL(iOwnedFileName); CleanupStack::PopAndDestroy(fileSelectionDialog); if (result) iFileName = iOwnedFileName; }
// --------------------------------------------------------------------------- // CAknMemorySelectionDialogMultiDrive::RunL // --------------------------------------------------------------------------- // TBool CAknMemorySelectionDialogMultiDrive::RunL( TInt aResourceId, TDriveNumber& aSelectedDrive, TDes* aRootPath, TDes* aDefaultFolder, const TDesC& aTitle ) { CAknMemorySelectionDialogMultiDrive* self = CAknMemorySelectionDialogMultiDrive::NewL( ECFDDialogTypeNormal, aResourceId, ETrue ); CleanupStack::PushL( self ); self->SetTitleL( aTitle ); TBool returnValue( self->ExecuteL( aSelectedDrive, aRootPath, aDefaultFolder ) ); CleanupStack::PopAndDestroy(); return returnValue; }