--- a/filemanager/App/src/Cfilemanagersearchresultsview.cpp Wed Sep 01 12:31:07 2010 +0100
+++ b/filemanager/App/src/Cfilemanagersearchresultsview.cpp Tue Sep 14 20:57:31 2010 +0300
@@ -90,17 +90,34 @@
// -----------------------------------------------------------------------------
//
void CFileManagerSearchResultsView::DirectoryChangedL()
- {
+ {
FUNC_LOG
RefreshTitleL();
- if ( iContainer )
+ if ( !iContainer )
{
- iContainer->RefreshListL( iIndex );
- UpdateCbaL();
+ return;
}
+ // Get current drive's drive info cache.
+ TFileManagerDriveInfo& drvInfo( DriveInfo() );
+ // Ensure drive info is updated.
+ iEngine.GetDriveInfoL( drvInfo.iDrive, drvInfo );
+ // Manually deactivate marking mode if current drive
+ // is not available.
+ if ( drvInfo.iState & TFileManagerDriveInfo::EDriveInUse ||
+ !( drvInfo.iState & TFileManagerDriveInfo::EDrivePresent ) )
+ {
+ if (iContainer->IsMarkingModeActivated() )
+ {
+ iContainer->SetMarkingMode( EFalse );
+ }
+ }
+
+ iContainer->RefreshListL( iIndex );
+ UpdateCbaL();
}
+
// -----------------------------------------------------------------------------
// CFileManagerSearchResultsView::Id
//