242 return; |
242 return; |
243 } |
243 } |
244 StoreIndex(); |
244 StoreIndex(); |
245 CFileManagerBackupSettings& settings( iEngine.BackupSettingsL() ); |
245 CFileManagerBackupSettings& settings( iEngine.BackupSettingsL() ); |
246 TInt drive( settings.TargetDrive() ); |
246 TInt drive( settings.TargetDrive() ); |
247 TInt MemoryCardDriveF( KFmgrMemoryCardDrive + 1 ); |
247 TFileManagerDriveInfo drvInfo; |
248 //KFmgrMemoryCardDrive has been changed as Mass memory,MemoryCard is changed to F |
248 if( !IsDriveAvailable( drive ) ) |
249 |
249 { |
250 if( drive != MemoryCardDriveF && !IsDriveAvailable( drive ) ) |
250 for( TInt i ( EDriveA ) ; i <= EDriveZ ; i++ ) |
251 { |
251 { |
252 drive = MemoryCardDriveF; |
252 iEngine.GetDriveInfoL( i , drvInfo ); |
253 settings.SetTargetDrive( drive ); |
253 if( ( IsDriveAvailable( i ) ) && ( drvInfo.iState & TFileManagerDriveInfo::EDriveEjectable ) ) |
254 settings.SaveL(); |
254 { |
255 } |
255 drive = i; |
256 TFileManagerDriveInfo drvInfo; |
256 settings.SetTargetDrive( drive ); |
257 iEngine.GetDriveInfoL( drive, drvInfo ); |
257 settings.SaveL(); |
|
258 break; |
|
259 } |
|
260 } |
|
261 } |
258 RArray< CFileManagerRestoreSettings::TInfo > info; |
262 RArray< CFileManagerRestoreSettings::TInfo > info; |
259 CleanupClosePushL( info ); |
263 CleanupClosePushL( info ); |
260 iEngine.GetRestoreInfoArrayL( info, drive ); |
264 iEngine.GetRestoreInfoArrayL( info, drive ); |
261 TInt count( info.Count() ); |
265 TInt count( info.Count() ); |
262 CleanupStack::PopAndDestroy( &info ); |
266 CleanupStack::PopAndDestroy( &info ); |