filemanager/App/src/Cfilemanagersearchresultsview.cpp
branchRCL_3
changeset 42 f5c50b8af68c
parent 39 65326cf895ed
child 52 40fb776cbfb3
--- 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
 //