Revision: 201039 RCL_3 PDK_3.0.4
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Wed, 13 Oct 2010 14:17:31 +0300
branchRCL_3
changeset 52 40fb776cbfb3
parent 45 6a0ceb387ac7
child 54 e5e9368908dc
Revision: 201039 Kit: 201041
deviceencryption/DevEncUi/src/DevEncUiDecrViewContainer.cpp
deviceencryption/DevEncUi/src/DevEncUiEncrViewContainer.cpp
deviceencryption/DevEncUi/src/DevEncUiSettingItemList.cpp
filemanager/App/data/FileManager.rss
filemanager/App/inc/CFileManagerContainerBase.h
filemanager/App/inc/CFileManagerFileListContainer.h
filemanager/App/inc/CFileManagerSettingListContainer.h
filemanager/App/inc/CFileManagerViewBase.h
filemanager/App/inc/FileManager.hrh
filemanager/App/src/CFileManagerContainerBase.cpp
filemanager/App/src/CFileManagerFileListContainer.cpp
filemanager/App/src/CFileManagerFoldersView.cpp
filemanager/App/src/CFileManagerMemoryStoreView.cpp
filemanager/App/src/CFileManagerRestoreView.cpp
filemanager/App/src/CFileManagerSettingListContainer.cpp
filemanager/App/src/CFileManagerViewBase.cpp
filemanager/App/src/Cfilemanagersearchresultsview.cpp
filemanager/Engine/src/CFileManagerUtils.cpp
filemanager/help/data/xhtml.zip
files_plat/memory_scan_popup_ui_api/inc/CMemStatePopup.h
filesystemuis/memstatepopup/src/cmemstatepopupimpl.cpp
--- a/deviceencryption/DevEncUi/src/DevEncUiDecrViewContainer.cpp	Wed Sep 15 11:58:56 2010 +0300
+++ b/deviceencryption/DevEncUi/src/DevEncUiDecrViewContainer.cpp	Wed Oct 13 14:17:31 2010 +0300
@@ -139,7 +139,7 @@
     {
     switch ( aEventType )
         {
-        case EEventItemSingleClicked: // FALLTHROUGH
+        case EEventItemDoubleClicked: // FALLTHROUGH
         case EEventEnterKeyPressed:
             {
             if ( iListBox->CurrentItemIndex() == 0 )
--- a/deviceencryption/DevEncUi/src/DevEncUiEncrViewContainer.cpp	Wed Sep 15 11:58:56 2010 +0300
+++ b/deviceencryption/DevEncUi/src/DevEncUiEncrViewContainer.cpp	Wed Oct 13 14:17:31 2010 +0300
@@ -141,7 +141,7 @@
     {
     switch ( aEventType )
         {
-        case EEventItemSingleClicked: // FALLTHROUGH
+        case EEventItemDoubleClicked: // FALLTHROUGH
         case EEventEnterKeyPressed:
             {
             if ( iListBox->CurrentItemIndex() == 0 )
--- a/deviceencryption/DevEncUi/src/DevEncUiSettingItemList.cpp	Wed Sep 15 11:58:56 2010 +0300
+++ b/deviceencryption/DevEncUi/src/DevEncUiSettingItemList.cpp	Wed Oct 13 14:17:31 2010 +0300
@@ -110,7 +110,7 @@
 //
 void CDevEncUiSettingItemList::HandleListBoxEventL(CEikListBox* aListBox, TListBoxEvent aEventType)
 	{
-    if ( aEventType == EEventItemSingleClicked )
+    if ( aEventType == EEventItemDoubleClicked )
         {
         TKeyEvent event;
         event.iCode = EKeyEnter;
--- a/filemanager/App/data/FileManager.rss	Wed Sep 15 11:58:56 2010 +0300
+++ b/filemanager/App/data/FileManager.rss	Wed Oct 13 14:17:31 2010 +0300
@@ -163,10 +163,6 @@
         MENU_TITLE
             {
             menu_pane = r_filemanager_memory_store_view_menu;
-            },
-        MENU_TITLE 
-            {
-            menu_pane = R_AVKON_MENUPANE_MARK_MULTIPLE;
             }
         };
     }
@@ -299,6 +295,12 @@
             },
         MENU_ITEM
             {
+            command = EFileManagerMark;
+            cascade = r_filemanager_mark_unmark_menu;
+            txt = qtn_options_list;
+            },
+        MENU_ITEM
+            {
             command = EFileManagerRename;
             txt = qtn_fldr_rename;
             flags = EEikMenuItemSpecific;
@@ -642,6 +644,12 @@
             },
         MENU_ITEM
             {
+            command = EFileManagerMark;
+            cascade = r_filemanager_context_sensitive_mark_unmark_menu;
+            txt = qtn_options_list;
+            },
+        MENU_ITEM
+            {
             command = EFileManagerUnlockMemoryCard;
             txt = qtn_memc_options_unlock;
             },
@@ -767,6 +775,61 @@
 
 #endif // RD_FILE_MANAGER_BACKUP
 
+RESOURCE MENU_PANE r_filemanager_mark_unmark_menu
+    {
+    items =
+        {
+        MENU_ITEM
+            {
+            command = EFileManagerMarkOne;
+            txt = qtn_options_list_mark_one;
+            flags = EEikMenuItemSpecific;
+            },
+        MENU_ITEM
+            {
+            command = EFileManagerUnmarkOne;
+            txt = qtn_options_list_unmark_one;
+            flags = EEikMenuItemSpecific;
+            },
+        MENU_ITEM
+            {
+            command = EFileManagerMarkAll;
+            txt = qtn_options_list_mark_all;
+            },
+        MENU_ITEM
+            {
+            command = EFileManagerUnmarkAll;
+            txt = qtn_options_list_unmark_all;
+            }
+        };
+    }
+RESOURCE MENU_PANE r_filemanager_context_sensitive_mark_unmark_menu
+    {
+    items =
+        {
+        MENU_ITEM
+            {
+            command = EFileManagerMarkOne;
+            txt = qtn_options_list_mark_one;
+            },
+        MENU_ITEM
+            {
+            command = EFileManagerUnmarkOne;
+            txt = qtn_options_list_unmark_one;
+            },
+        MENU_ITEM
+            {
+            command = EFileManagerMarkAll;
+            txt = qtn_options_list_mark_all;
+            },
+        MENU_ITEM
+            {
+            command = EFileManagerUnmarkAll;
+            txt = qtn_options_list_unmark_all;
+            }
+        };
+    }
+
 RESOURCE MEMORYSELECTIONDIALOG r_filemanager_copy_memory_selectiondialog
     {
     softkey_1 = text_softkey_ok;
--- a/filemanager/App/inc/CFileManagerContainerBase.h	Wed Sep 15 11:58:56 2010 +0300
+++ b/filemanager/App/inc/CFileManagerContainerBase.h	Wed Oct 13 14:17:31 2010 +0300
@@ -25,7 +25,6 @@
 #include <badesca.h>
 #include <eiklbo.h>
 #include <eikcmobs.h>
-#include <aknmarkingmodeobserver.h>
 
 
 // FORWARD DECLARATIONS
@@ -40,9 +39,7 @@
                                   public MEikListBoxObserver, 
                                   public MCoeControlObserver,
                                   public MEikCommandObserver,
-                                  public MListBoxSelectionObserver,
-                                  public MAknMarkingModeObserver
-
+                                  public MListBoxSelectionObserver
     {
     public:  // destructor
         /**
@@ -93,25 +90,6 @@
 		 */
         void ProcessCommandL( TInt aCommandId );
 
-    public: // From MAknMarkingModeObserver 
-        /**
-        * This method is called when marking mode is activated or deactivated.
-        *
-        * @since 5.2
-        * @param aActivated ETrue if marking mode is activated, EFalse
-        * if marking mode is deactivated.
-        */
-        void MarkingModeStatusChanged( TBool aActivated );
-
-        /**
-        * This method is called just before marking mode is closed. Client can 
-        * either accept or decline closing.
-        *
-        * @since 5.2
-        * @return ETrue if marking mode should be closed, otherwise EFalse.
-        */
-        TBool ExitMarkingMode() const;
-
     public: // New functions
         /**
          * Sets list empty and removes empty text until refreshed.
@@ -154,14 +132,6 @@
         TBool SelectionModeEnabled() const;
 
         /**
-        * Gets marking mode status.
-        *
-        * @since 5.2 
-        * @return ETrue if marking mode is activated, otherwise EFalse.
-        */
-        TBool IsMarkingModeActivated() const;
-
-        /**
          * Updates cba
          */
         virtual void UpdateCba();
@@ -263,24 +233,6 @@
          * @return index in listbox
          */
         virtual TInt SearchFieldToListBoxIndex( TInt aIndex );
-
-        /**
-        * Sets flag to indicate marking mode could exit or not 
-        * 
-        * @since 5.2 
-        * @param aAllowExit ETrue if allow marking mode exit, EFalse if not
-        */
-        virtual void AllowMarkingModeExit( TBool aAllowExit );
-        
-        /**
-        * Turns the marking mode on / off.
-        *
-        * @since 5.2
-        * @param aEnable ETrue to turn marking mode on,
-        *                EFalse to turn marking mode off.
-        */
-        virtual void SetMarkingMode( TBool aEnable );
-
     protected:
         /**
          * Standard C++ constructor.
@@ -315,10 +267,6 @@
         MDesCArray* iArray;
         // Own: Stores selection mode status
         TBool iSelectionModeEnabled;
-        // Own: Indicates marking mode is activated or not
-        TBool iMarkingModeActivated;
-        // Own: Indicates marking mode is allowed to exit or not
-        TBool iAllowMarkingModeExit;
 
     };
 
--- a/filemanager/App/inc/CFileManagerFileListContainer.h	Wed Sep 15 11:58:56 2010 +0300
+++ b/filemanager/App/inc/CFileManagerFileListContainer.h	Wed Oct 13 14:17:31 2010 +0300
@@ -58,6 +58,9 @@
          */
         ~CFileManagerFileListContainer();
 
+    private: // MCoeControlObserver
+        void HandleControlEventL(CCoeControl* aControl, TCoeEvent aEventType);
+
     private: // From CCoeControl
         TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent,TEventCode aType );
 
--- a/filemanager/App/inc/CFileManagerSettingListContainer.h	Wed Sep 15 11:58:56 2010 +0300
+++ b/filemanager/App/inc/CFileManagerSettingListContainer.h	Wed Oct 13 14:17:31 2010 +0300
@@ -58,6 +58,9 @@
         TKeyResponse OfferKeyEventL(
             const TKeyEvent& aKeyEvent, TEventCode aType );
 
+        void HandleControlEventL(
+            CCoeControl* aControl, TCoeEvent aEventType );
+
     private:
         /**
         * C++ default constructor.
--- a/filemanager/App/inc/CFileManagerViewBase.h	Wed Sep 15 11:58:56 2010 +0300
+++ b/filemanager/App/inc/CFileManagerViewBase.h	Wed Oct 13 14:17:31 2010 +0300
@@ -276,6 +276,21 @@
         void CmdDeleteL();
 
         /**
+         * Marks all markable items in list.
+         */
+        void CmdMarkAllL();
+
+        /**
+         * Unmarks all marked items in list.
+         */
+        void CmdUnmarkAllL();
+
+        /**
+         * Changes mark status of currently focused item.
+         */
+        void CmdToggleMarkL();
+
+        /**
          * Creates new folder to currently active directory.
          */
         void CmdNewFolderL();
--- a/filemanager/App/inc/FileManager.hrh	Wed Sep 15 11:58:56 2010 +0300
+++ b/filemanager/App/inc/FileManager.hrh	Wed Oct 13 14:17:31 2010 +0300
@@ -24,77 +24,85 @@
  *
  */
 enum TFileManagerViewIds
-    {
-    EFileManagerMainViewId = 1,
-    EFileManagerMemoryStoreViewId,
-    EFileManagerFoldersViewId,
-    EFileManagerSearchResultsViewId,
-    EFileManagerBackupViewId,
-    EFileManagerRestoreViewId
-    };
+	{
+	EFileManagerMainViewId = 1,
+	EFileManagerMemoryStoreViewId,
+	EFileManagerFoldersViewId,
+	EFileManagerSearchResultsViewId,
+	EFileManagerBackupViewId,
+	EFileManagerRestoreViewId
+	};
 
 /**
  * Command IDs of FileManager
  */
 enum TFileManagerCommands
-    {
-    EFileManagerOpen = 1,
-    EFileManagerSend,
-    EFileManagerDelete,
-    EFileManagerMoveToFolder,
-    EFileManagerCopyToFolder,
-    EFileManagerNewFolder,
-    EFileManagerRename,
-    EFileManagerFindFile,
-    EFileManagerReceiveViaIR,
-    EFileManagerViewInfo,
-    EFileManagerMemoryState,
-    EFileManagerFileDetails,
-    EFileManagerFolderDetails,
-    // Selection key
-    EFileManagerSelectionKey,
-    EFileManagerMoreInfoOnline,
-    EFileManagerBackup,
-    EFileManagerRestore,
-    EFileManagerEject,
-    EFileManagerDetails,
-    EFileManagerMemoryCardDetails,
-    EFileManagerOrganise,
-    EFileManagerConnectRemoveDrive,
-    EFileManagerDisconnectRemoveDrive,
-    EFileManagerRefreshRemoteDrive,
-    EFileManagerRemoveDrives, // Remove drives subcommands
-    EFileManagerRemoveDrivesSettings,
-    EFileManagerRemoveDrivesMapDrive,
-    EFileManagerRemoveDrivesDelete,
-    EFileManagerMemoryCard, // Memory card subcommands
-    EFileManagerMemoryCardName,
-    EFileManagerMemoryCardRename,
-    EFileManagerMemoryCardFormat,
-    EFileManagerMemoryCardPassword, // Memory card password subcommands
-    EFileManagerMemoryCardPasswordSet,
-    EFileManagerMemoryCardPasswordChange,
-    EFileManagerMemoryCardPasswordRemove,
-    EFileManagerUnlockMemoryCard,
-    EFileManagerFormatMassStorage,
-    EFileManagerSort,
-    EFileManagerSortByName,
-    EFileManagerSortByType,
-    EFileManagerSortMostRecentFirst,
-    EFileManagerSortLargestFirst,
-    EFileManagerSortByMatch,
-    EFileManagerSearchSort,
-    EFileManagerMemoryStorage, // Memory storage subcommands
-    EFileManagerMemoryStorageDetails,
-    EFileManagerMemoryStorageName,
-    EFileManagerMemoryStorageRename,
-    EFileManagerMemoryStorageSetPassword,
-    EFileManagerMemoryStorageChangePassword,
-    EFileManagerMemoryStorageRemovePassword,
-    EFileManagerMemoryStorageFormat,
-    EFileManagerMemoryStorageUnlock,
-    EFileManagerDeleteBackup
-    };
+	{
+	EFileManagerOpen = 1,
+	EFileManagerSend,
+	EFileManagerDelete,
+	EFileManagerMoveToFolder,
+	EFileManagerCopyToFolder,
+	EFileManagerNewFolder,
+	EFileManagerMark,
+	EFileManagerRename,
+	EFileManagerFindFile,
+	EFileManagerReceiveViaIR,
+	EFileManagerViewInfo,
+	EFileManagerMemoryState,
+	EFileManagerFileDetails,
+	EFileManagerFolderDetails,
+	// Mark / Unmark subcommands
+	EFileManagerMarkOne,
+	EFileManagerUnmarkOne,
+	EFileManagerToggleMark,
+	EFileManagerMarkAll,
+	EFileManagerUnmarkAll,
+	EFileManagerCheckMark,
+	// Selection key
+	EFileManagerSelectionKey,
+	EFileManagerMoreInfoOnline,
+	EFileManagerBackup,
+	EFileManagerRestore,
+	EFileManagerEject,
+	EFileManagerDetails,
+	EFileManagerMemoryCardDetails,
+	EFileManagerOrganise,
+	EFileManagerConnectRemoveDrive,
+	EFileManagerDisconnectRemoveDrive,
+	EFileManagerRefreshRemoteDrive,
+	EFileManagerRemoveDrives, // Remove drives subcommands
+	EFileManagerRemoveDrivesSettings,
+	EFileManagerRemoveDrivesMapDrive,
+	EFileManagerRemoveDrivesDelete,
+	EFileManagerMemoryCard, // Memory card subcommands
+	EFileManagerMemoryCardName,
+	EFileManagerMemoryCardRename,
+	EFileManagerMemoryCardFormat,
+	EFileManagerMemoryCardPassword, // Memory card password subcommands
+	EFileManagerMemoryCardPasswordSet,
+	EFileManagerMemoryCardPasswordChange,
+	EFileManagerMemoryCardPasswordRemove,
+	EFileManagerUnlockMemoryCard,
+	EFileManagerFormatMassStorage,
+	EFileManagerSort,
+	EFileManagerSortByName,
+	EFileManagerSortByType,
+	EFileManagerSortMostRecentFirst,
+	EFileManagerSortLargestFirst,
+	EFileManagerSortByMatch,
+	EFileManagerSearchSort,
+	EFileManagerMemoryStorage, // Memory storage subcommands
+	EFileManagerMemoryStorageDetails,
+	EFileManagerMemoryStorageName,
+	EFileManagerMemoryStorageRename,
+	EFileManagerMemoryStorageSetPassword,
+	EFileManagerMemoryStorageChangePassword,
+	EFileManagerMemoryStorageRemovePassword,
+	EFileManagerMemoryStorageFormat,
+	EFileManagerMemoryStorageUnlock,
+	EFileManagerDeleteBackup
+	};
 
 #endif // FILEMANAGER_HRH
 
--- a/filemanager/App/src/CFileManagerContainerBase.cpp	Wed Sep 15 11:58:56 2010 +0300
+++ b/filemanager/App/src/CFileManagerContainerBase.cpp	Wed Oct 13 14:17:31 2010 +0300
@@ -59,8 +59,6 @@
         CEikScrollBarFrame::EOff, CEikScrollBarFrame::EAuto );
     iListBox->SetObserver( this );
     iListBox->SetListBoxObserver( this );
-    iListBox->SetMarkingModeObserver( this );
-
     SetIndex( aFocusedIndex );
     iListBox->SetFocus( ETrue );
     iListBox->AddSelectionObserverL( this );
@@ -360,29 +358,22 @@
 // 
 // -----------------------------------------------------------------------------
 // 
-void CFileManagerContainerBase::ProcessCommandL( TInt /* aCommandId */ )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CFileManagerContainerBase::MarkingModeStatusChanged()
-//
-// -----------------------------------------------------------------------------
-//
-void CFileManagerContainerBase::MarkingModeStatusChanged( TBool aActivated )
+void CFileManagerContainerBase::ProcessCommandL( TInt aCommandId )
     {
-    // Set flag to indicate marking model is activated or not
-    iMarkingModeActivated = aActivated;
-    }
-
-// -----------------------------------------------------------------------------
-// CFileManagerContainerBase::ExitMarkingMode()
-//
-// -----------------------------------------------------------------------------
-//
-TBool CFileManagerContainerBase::ExitMarkingMode() const
-    {
-    return iAllowMarkingModeExit;
+    switch ( aCommandId )
+        {
+        case EAknSoftkeyShiftMSK:
+            {
+            static_cast< CAknAppUi* >( ControlEnv()->AppUi() )->
+                ProcessCommandL( EFileManagerToggleMark );
+            break;
+            }
+            
+        default:
+            {
+            break;
+            }
+        }
     }
 
 // -----------------------------------------------------------------------------
@@ -416,15 +407,6 @@
     }
 
 // -----------------------------------------------------------------------------
-// CFileManagerContainerBase::IsMarkingModeActivated
-// 
-// -----------------------------------------------------------------------------
-//
-TBool CFileManagerContainerBase::IsMarkingModeActivated() const
-    {
-    return iMarkingModeActivated;
-    }
-// -----------------------------------------------------------------------------
 // CFileManagerContainerBase::UpdateCba
 // 
 // -----------------------------------------------------------------------------
@@ -606,25 +588,4 @@
     {
     return 0;
     }
-
-// -----------------------------------------------------------------------------
-// CFileManagerContainerBase::AllowMarkingModeExit
-// 
-// -----------------------------------------------------------------------------
-//
-void CFileManagerContainerBase::AllowMarkingModeExit( TBool aAllowExit )
-    {
-    iAllowMarkingModeExit = aAllowExit;
-    }
-
-// -----------------------------------------------------------------------------
-// CFileManagerContainerBase::SetMarkingMode
-// 
-// -----------------------------------------------------------------------------
-//
-void CFileManagerContainerBase::SetMarkingMode( TBool aEnable )
-    {
-    iListBox->SetMarkingMode( aEnable );
-    }
-
 //  End of File  
--- a/filemanager/App/src/CFileManagerFileListContainer.cpp	Wed Sep 15 11:58:56 2010 +0300
+++ b/filemanager/App/src/CFileManagerFileListContainer.cpp	Wed Oct 13 14:17:31 2010 +0300
@@ -218,46 +218,22 @@
         }
     switch( aKeyEvent.iCode )
         {
+        case EKeyEnter: // FALLTHROUH
+        case EKeyOK:
+            {
+            if ( ( menuBar != NULL ) && menuBar->ItemSpecificCommandsEnabled() )
+                {
+                iAppUi->ProcessCommandL( EFileManagerSelectionKey );
+                response = EKeyWasConsumed;
+                }
+            break;
+            }
         case EKeyDelete:    // FALLTHROUGH
         case EKeyBackspace:
             {
-            TBool allowDelete ( ETrue );
-
-            // If there are some items marked, 
-            // delete will be executed on the marked items.
-            if ( ListBoxSelectionIndexesCount() <= 0 )
-                {
-                // If no item is marked,
-                // first check whether there is any highlighted item.
-                if ( menuBar && menuBar->ItemSpecificCommandsEnabled() )
-                    {
-                    TInt index = SearchFieldToListIndex( ListBoxCurrentItemIndex() );
-                    // Do not allow deleting folder while marking mode is activated.
-                    if ( IsMarkingModeActivated() &&
-                        iDocument->Engine().IsFolder( index ) ) 
-                        {
-                        allowDelete = EFalse;
-                        } 
-                    }
-                else
-                    {
-                    // Do not allow deleting any item without highlight if no item is marked
-                    allowDelete = EFalse;
-                    }
-                }
-            
-            if ( allowDelete )
+            if ( ( menuBar != NULL ) && menuBar->ItemSpecificCommandsEnabled() )
                 {
                 iAppUi->ProcessCommandL( EFileManagerDelete );
-                // Marking mode is exited automatically only when command has
-                // been selected from the options menu or stylus popup menu.
-                // Therefore, deactivate marking mode manually in case exiting marking 
-                // mode is required after a key event is processed.
-
-                if ( IsMarkingModeActivated() && ExitMarkingMode() )
-                    {
-                    SetMarkingMode( EFalse );
-                    }
                 response = EKeyWasConsumed;
                 }
             break;
@@ -340,6 +316,20 @@
         }
     }
 
+// -----------------------------------------------------------------------------
+// CFileManagerFileListContainer::HandleControlEventL
+// From MCoeControlObserver, called by current listbox
+// -----------------------------------------------------------------------------
+// 
+void CFileManagerFileListContainer::HandleControlEventL(
+        CCoeControl* /* aControl*/, TCoeEvent aEventType )
+    {
+    if ( aEventType == EEventStateChanged )
+        {
+        iAppUi->ProcessCommandL( EFileManagerCheckMark ); // Inform change
+        }
+    }
+
 //-----------------------------------------------------------------------------
 // CFileManagerFileListContainer::CItemDrawer::CItemDrawer
 //-----------------------------------------------------------------------------
@@ -818,12 +808,9 @@
         }
     // Open search field on alpha digit        
     TBool isVisible( iSearchField->IsVisible() );
-    // Do not allow activate find pane while marking model is already
-    // activated
     if ( !isVisible &&
          aType == EEventKeyDown &&
-         aKeyEvent.iScanCode != 0 &&
-         !IsMarkingModeActivated() )
+         aKeyEvent.iScanCode )
         {
         TChar ch( aKeyEvent.iScanCode );
         if ( ch.IsAlphaDigit() )
@@ -902,5 +889,4 @@
        }
     return SearchFieldToListIndex( aIndex );
     }
-
-//  End of File
+//  End of File  
--- a/filemanager/App/src/CFileManagerFoldersView.cpp	Wed Sep 15 11:58:56 2010 +0300
+++ b/filemanager/App/src/CFileManagerFoldersView.cpp	Wed Oct 13 14:17:31 2010 +0300
@@ -260,13 +260,7 @@
             TFileManagerDriveInfo& drvInfo( DriveInfo() );
             if ( !( drvInfo.iState & TFileManagerDriveInfo::EDrivePresent ) )
                 {
-                // Manually deactivate marking mode if folder path
-                // does not exist.
-                if ( iContainer->IsMarkingModeActivated() )
-                    {
-                    iContainer->SetMarkingMode( EFalse );
-                    }
-                User::Leave( KErrPathNotFound );
+                User::Leave(KErrPathNotFound);
                 }
             else
                 {
--- a/filemanager/App/src/CFileManagerMemoryStoreView.cpp	Wed Sep 15 11:58:56 2010 +0300
+++ b/filemanager/App/src/CFileManagerMemoryStoreView.cpp	Wed Oct 13 14:17:31 2010 +0300
@@ -146,12 +146,6 @@
         else
             {
             iIndex = 0;
-            // Manually deactivate marking mode if current drive
-            // is not available.
-            if ( iContainer->IsMarkingModeActivated() )
-                {
-                iContainer->SetMarkingMode( EFalse );
-                }
             }
         RefreshTitleL();
         }
--- a/filemanager/App/src/CFileManagerRestoreView.cpp	Wed Sep 15 11:58:56 2010 +0300
+++ b/filemanager/App/src/CFileManagerRestoreView.cpp	Wed Oct 13 14:17:31 2010 +0300
@@ -170,6 +170,7 @@
         case EAknSoftkeyMark: // FALLTHROUGH
         case EAknSoftkeyUnmark: // FALLTHROUGH
         case EFileManagerSelectionKey: // FALLTHROUGH
+        case EFileManagerToggleMark: // FALLTHROUGH
         case EFileManagerOpen:
             {
             CmdSelectL();
@@ -186,6 +187,11 @@
             CmdCancelL();
             break;
             }
+        case EFileManagerCheckMark:
+            {
+            CmdCheckMarkL();
+            break;
+            }
         default:
             {
             break;
@@ -425,5 +431,5 @@
     cba->MakeCommandVisible( EAknSoftkeyOk, hasSelecttionItem );
     cba->DrawDeferred();
     }
-
+    
 //  End of File  
--- a/filemanager/App/src/CFileManagerSettingListContainer.cpp	Wed Sep 15 11:58:56 2010 +0300
+++ b/filemanager/App/src/CFileManagerSettingListContainer.cpp	Wed Oct 13 14:17:31 2010 +0300
@@ -265,4 +265,23 @@
     return response;
     }
 
+// -----------------------------------------------------------------------------
+// CFileManagerSettingListContainer::HandleControlEventL
+//
+// -----------------------------------------------------------------------------
+//
+void CFileManagerSettingListContainer::HandleControlEventL(
+        CCoeControl* aControl, TCoeEvent aEventType )
+    {
+    if ( iType == EListRestore &&
+        aEventType == EEventStateChanged )
+        {
+        static_cast< CAknAppUi* >( ControlEnv()->AppUi() )->
+            ProcessCommandL( EFileManagerCheckMark );
+        }
+
+    CFileManagerContainerBase::HandleControlEventL(
+        aControl, aEventType );
+    }
+
 //  End of File  
--- a/filemanager/App/src/CFileManagerViewBase.cpp	Wed Sep 15 11:58:56 2010 +0300
+++ b/filemanager/App/src/CFileManagerViewBase.cpp	Wed Oct 13 14:17:31 2010 +0300
@@ -353,9 +353,6 @@
     {
     if ( !iContainer ) return;
 
-    // Initialization, do not allow marking mode exit as default.
-    iContainer->AllowMarkingModeExit( EFalse );
-
     TBool updateCba( !iContainer->SelectionModeEnabled() );
 
     switch( aCommand )
@@ -385,6 +382,23 @@
             CmdNewFolderL();
             break;
             }
+        case EFileManagerMarkOne:   // FALLTHROUGH
+        case EFileManagerUnmarkOne: // FALLTHROUGH
+        case EFileManagerToggleMark:
+            {
+            CmdToggleMarkL();
+            break;
+            }
+        case EFileManagerMarkAll:
+            {
+            CmdMarkAllL();
+            break;
+            }
+        case EFileManagerUnmarkAll:
+            {
+            CmdUnmarkAllL();
+            break;
+            }
         case EFileManagerRename:
             {
             CmdRenameL();
@@ -412,6 +426,10 @@
             CmdReceiveViaIRL();
             break;
             }
+        case EFileManagerCheckMark: // Suppress
+            {
+            break;
+            }
         case EAknSoftkeyContextOptions: // FALLTHROUGH
         case EFileManagerSelectionKey:
             {
@@ -521,10 +539,8 @@
 // 
 void CFileManagerViewBase::SendUiQueryL()
     {
-    // Do not allow marking mode exit during send.
-    // No need to call iContainer->AllowMarkingModeExit( EFalse ).
-    // Already done in CFileManagerViewBase::HandleCommandL().
-    
+    //iSendUiPopupOpened = ETrue;	
+    	
     CSendUi& sendUi( static_cast< CFileManagerAppUi* >( AppUi() )->SendUiL() );
     CMessageData* msgData = CMessageData::NewL();
     CleanupStack::PushL( msgData );
@@ -577,10 +593,26 @@
 // 
 void CFileManagerViewBase::MarkMenuFilteringL( CEikMenuPane& aMenuPane )
     {
+    TInt index( iContainer->ListBoxCurrentItemIndex() );
+
+    if ( iEngine.IsFolder( index ) )
+        {
+        aMenuPane.SetItemDimmed( EFileManagerMarkOne, ETrue );
+        aMenuPane.SetItemDimmed( EFileManagerUnmarkOne, ETrue );
+        }
+    else
+        {
+        if ( iContainer->ListBoxIsItemSelected( index ) )
+            {
+            aMenuPane.SetItemDimmed( EFileManagerMarkOne, ETrue );
+            }
+        else
+            {
+            aMenuPane.SetItemDimmed( EFileManagerUnmarkOne, ETrue );
+            }
+        }
     TInt files( 0 );
-    // Get file count in current view, first check whether there is a
-    // filter rule working.
-    if ( iContainer->IsSearchFieldVisible() )
+    if( iContainer->IsSearchFieldVisible() )
         {
         files = FilesCountInSearchField();
         }
@@ -589,22 +621,14 @@
         files = iEngine.FilesInFolderL();
         }  
     TInt count( iContainer->ListBoxSelectionIndexesCount() );
-    // if all the files are marked or no file eixists,
-    // dim MarkAll.
     if ( count == files )
         {
-        aMenuPane.SetItemDimmed( EAknCmdMarkingModeMarkAll, ETrue );
-        }
-    // if no file marked, dim UnmarkAll.
-    if ( count == 0 )
-        {
-        aMenuPane.SetItemDimmed( EAknCmdMarkingModeUnmarkAll, ETrue );
-        }
-    // Dim MarkAll and UnMarkAll if the list is empty.
-    if ( iContainer->ListBoxNumberOfItems() == 0 )
-        {
-        aMenuPane.SetItemDimmed( EAknCmdMarkingModeMarkAll, ETrue );
-        aMenuPane.SetItemDimmed( EAknCmdMarkingModeUnmarkAll, ETrue );
+        aMenuPane.SetItemDimmed( EFileManagerMarkAll, ETrue );
+        }
+
+    if ( !count )
+        {
+        aMenuPane.SetItemDimmed( EFileManagerUnmarkAll, ETrue );
         }
     }
 
@@ -701,12 +725,6 @@
     TRAPD( err, ret = FileManagerDlgUtils::ShowConfirmQueryWithYesNoL( *prompt ) );
     DenyDirectoryRefresh( EFalse );
     User::LeaveIfError( err );
-
-    // Set flag to indicate marking mode could exit or not.
-    // Do not allow Marking mode exit when leave occurs.
-    iContainer->AllowMarkingModeExit( ret );
-
-
     if ( ret )
         {
         if( IsDriveAvailable( DriveInfo().iDrive ) )
@@ -766,9 +784,6 @@
     DenyDirectoryRefresh( EFalse );
     CleanupStack::PopAndDestroy( filter );
 
-    // Set flag to indicate marking mode could exit or not
-    iContainer->AllowMarkingModeExit( ret );
-
     if ( ret && ptrFileName.Length() )
         {
         if ( !DriveReadOnlyMmcL( ptrFileName ) )
@@ -817,9 +832,6 @@
     DenyDirectoryRefresh( EFalse );
     CleanupStack::PopAndDestroy( filter );
 
-    // Set flag to indicate marking mode could exit or not
-    iContainer->AllowMarkingModeExit( ret );
-
     if ( ret && ptrFileName.Length() )
         {
         if ( !DriveReadOnlyMmcL( ptrFileName ) )
@@ -889,6 +901,44 @@
     }
 
 // -----------------------------------------------------------------------------
+// CFileManagerViewBase::CmdToggleMarkL
+// 
+// -----------------------------------------------------------------------------
+// 
+void CFileManagerViewBase::CmdToggleMarkL()
+    {
+    const TInt index( iContainer->ListBoxCurrentItemIndex() );
+    if ( iEngine.IsFolder( index ) )
+        {
+        iContainer->ListBoxDeselectItem( index );
+        }
+    else
+        {
+        iContainer->ListBoxToggleItemL( index );
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CFileManagerViewBase::CmdMarkAllL
+// 
+// -----------------------------------------------------------------------------
+// 
+void CFileManagerViewBase::CmdMarkAllL()
+    {
+    iContainer->ListBoxSelectAllL();
+    }
+
+// -----------------------------------------------------------------------------
+// CFileManagerViewBase::CmdUnmarkAllL
+// 
+// -----------------------------------------------------------------------------
+// 
+void CFileManagerViewBase::CmdUnmarkAllL()
+    {
+    iContainer->ListBoxClearSelection();
+    }
+
+// -----------------------------------------------------------------------------
 // CFileManagerViewBase::CmdRenameL
 // 
 // -----------------------------------------------------------------------------
@@ -1134,8 +1184,8 @@
             MemoryStoreMenuFilteringL( *aMenuPane );
             break;
             }
-        // Marking mode menu
-        case R_AVKON_MENUPANE_MARK_MULTIPLE:
+        case R_FILEMANAGER_MARK_UNMARK_MENU:
+        case R_FILEMANAGER_CONTEXT_SENSITIVE_MARK_UNMARK_MENU:
             {
             MarkMenuFilteringL( *aMenuPane );
             break;
@@ -1408,14 +1458,7 @@
 
     if ( iPeriodic && iProgressInfo && iTotalTransferredBytes )
         {
-        if ( iActiveProcess == ECopyProcess || iActiveProcess == EMoveProcess )
-            {
-            iProgressInfo->SetAndDraw( iTotalTransferredBytes / KMinificationFactor );
-            }
-        else
-            {
-            iProgressInfo->SetAndDraw( iTotalTransferredBytes );
-            }
+        iProgressInfo->SetAndDraw( iTotalTransferredBytes );
         }
     if ( IsSystemProcess( iActiveProcess ) )
         {
@@ -2609,8 +2652,16 @@
         }
     if ( ret )
         {
+#ifdef RD_MULTIPLE_DRIVE
+        HBufC* text = iEngine.GetFormattedDriveNameLC(
+            aDrive,
+            R_QTN_MEMC_MULTIPLE_MEMC_READ_ONLY );
+        FileManagerDlgUtils::ShowErrorNoteL( *text );
+        CleanupStack::PopAndDestroy( text );
+#else // RD_MULTIPLE_DRIVE
         FileManagerDlgUtils::ShowErrorNoteL(
             R_QTN_MEMC_MEMORYCARD_READ_ONLY );
+#endif // RD_MULTIPLE_DRIVE
         }
 
     return ret;
@@ -2679,15 +2730,8 @@
     CleanupStack::PopAndDestroy( indexArray );
     TSendingCapabilities caps(
         0, msgSize, TSendingCapabilities::ESupportsAttachments );
-    TBool addMenuResult = EFalse;
-    sendUi.AddSendMenuItemToMenuPaneL( addMenuResult, aMenuPane, pos, EFileManagerSend, caps );
-    // EFileManagerSend is added by CSendUI, existence checking
-    // should be taken before setting the properties of command.
-    // Try to set properties of a none-existing command will cause panic. 
-    if ( addMenuResult )
-        {
-        aMenuPane.SetItemSpecific( EFileManagerSend, ETrue );
-        }
+    sendUi.AddSendMenuItemL( aMenuPane, pos, EFileManagerSend, caps );
+    aMenuPane.SetItemSpecific(EFileManagerSend, ETrue);
     }
 
 // ------------------------------------------------------------------------------
@@ -3171,18 +3215,10 @@
 
     // Common remote drive filtering
     RemoteDriveCommonFilteringL( aMenuPane );
-    
-    // Used while checking EAknCmdMarkingModeEnter's existance
-    TInt pos ( 0 );
-    // No file exists after find pane filtering,
-    // disable enter marking mode
-    if ( iContainer->IsSearchFieldVisible() && 
-            FilesCountInSearchField() == 0 )
-        {
-        if ( aMenuPane.MenuItemExists( EAknCmdMarkingModeEnter, pos ) )
-            {
-            aMenuPane.SetItemDimmed( EAknCmdMarkingModeEnter, ETrue );
-            }
+    if( iContainer->IsSearchFieldVisible() && 
+            !FilesCountInSearchField() )
+        {
+        aMenuPane.SetItemDimmed( EFileManagerMark, ETrue );
         }
     if ( iContainer->ListBoxNumberOfItems() )
         {
@@ -3203,11 +3239,7 @@
         }
     TInt index(iContainer->ListBoxCurrentItemIndex());
     TUint32 fileType(iEngine.FileTypeL(index));
-    // Do not dim move to folder command in option menu and stylus popup
-    // menu while marking mode is activated.
-    // At least one item is marked.
-    if ( !(fileType & CFileManagerItemProperties::EFolder )
-            && iContainer->ListBoxSelectionIndexesCount() == 0 )
+    if (!(fileType & CFileManagerItemProperties::EFolder))
         {
         aMenuPane.SetItemDimmed(EFileManagerMoveToFolder, ETrue);
         }
@@ -3246,6 +3278,9 @@
         aMenuPane.SetItemDimmed( EFileManagerRename, ETrue );
         aMenuPane.SetItemDimmed( EFileManagerReceiveViaIR, ETrue );
         aMenuPane.SetItemDimmed( EFileManagerOrganise, ETrue );
+//        aMenuPane.SetItemDimmed( EFileManagerMemoryCard, ETrue );
+//        aMenuPane.SetItemDimmed( EFileManagerMemoryCardPassword, ETrue );
+        //aMenuPane.SetItemDimmed( EFileManagerUnlockMemoryCard, ETrue );
         aMenuPane.SetItemDimmed( EFileManagerRefreshRemoteDrive, ETrue );
 #ifdef RD_MULTIPLE_DRIVE
         aMenuPane.SetItemDimmed( EFileManagerFormatMassStorage, ETrue );
@@ -3264,6 +3299,8 @@
         aMenuPane.SetItemDimmed( EFileManagerRename, ETrue );
         aMenuPane.SetItemDimmed( EFileManagerDelete, ETrue );
         aMenuPane.SetItemDimmed( EFileManagerReceiveViaIR, ETrue );
+//        aMenuPane.SetItemDimmed( EFileManagerMemoryCard, ETrue );
+//        aMenuPane.SetItemDimmed( EFileManagerMemoryCardPassword, ETrue );
 #ifdef RD_MULTIPLE_DRIVE
         aMenuPane.SetItemDimmed( EFileManagerFormatMassStorage, ETrue );
 #endif // RD_MULTIPLE_DRIVE
@@ -3273,6 +3310,8 @@
     if ( drvInfo.iState & TFileManagerDriveInfo::EDriveMassStorage )
         {
         // Mass storage item dimming
+//        aMenuPane.SetItemDimmed( EFileManagerMemoryCard, ETrue );
+//        aMenuPane.SetItemDimmed( EFileManagerMemoryCardPassword, ETrue );
         aMenuPane.SetItemDimmed( EFileManagerUnlockMemoryCard, ETrue );
 
         if ( !( drvInfo.iState & TFileManagerDriveInfo::EDrivePresent ) )
@@ -3289,6 +3328,7 @@
              ( drvInfo.iState & ( TFileManagerDriveInfo::EDriveCorrupted |
                                   TFileManagerDriveInfo::EDriveLocked ) ) )
             {
+//            aMenuPane.SetItemDimmed( EFileManagerMemoryCardPassword, ETrue );
             aMenuPane.SetItemDimmed( EFileManagerDetails, ETrue );
             }
         if ( ( drvInfo.iState & TFileManagerDriveInfo::EDriveCorrupted ) ||
@@ -3296,8 +3336,13 @@
             {
             aMenuPane.SetItemDimmed( EFileManagerUnlockMemoryCard, ETrue );
             }
+//        if ( !( drvInfo.iState & TFileManagerDriveInfo::EDriveLockable ) )
+//            {
+//            aMenuPane.SetItemDimmed( EFileManagerMemoryCardPassword, ETrue );
+//            }
         if ( !featureManager.IsMmcPassWdSupported() )
             {
+            //aMenuPane.SetItemDimmed( EFileManagerMemoryCardPassword, ETrue );
             aMenuPane.SetItemDimmed( EFileManagerUnlockMemoryCard, ETrue );
             }
 #ifdef RD_MULTIPLE_DRIVE
@@ -3307,12 +3352,15 @@
     else
         {
         // No mass storage or memory card item dimming
+//        aMenuPane.SetItemDimmed( EFileManagerMemoryCard, ETrue );
+//        aMenuPane.SetItemDimmed( EFileManagerMemoryCardPassword, ETrue );
         aMenuPane.SetItemDimmed( EFileManagerUnlockMemoryCard, ETrue );
 #ifdef RD_MULTIPLE_DRIVE
         aMenuPane.SetItemDimmed( EFileManagerFormatMassStorage, ETrue );
 #endif // RD_MULTIPLE_DRIVE
         }
-    
+
+//    CEikListBox& listBox = iContainer->ListBox();
     TBool dimSend( EFalse );
 
     if ( iContainer->ListBoxSelectionIndexesCount() )
@@ -3338,32 +3386,24 @@
             }
         
         if ( !( drvInfo.iState & TFileManagerDriveInfo::EDrivePresent ) || 
-             ( drvInfo.iState & TFileManagerDriveInfo::EDriveInUse ) ||
-             ( ( drvInfo.iState & TFileManagerDriveInfo::EDriveRemote ) &&
+        	 ( ( drvInfo.iState & TFileManagerDriveInfo::EDriveRemote ) &&
              !( drvInfo.iState & TFileManagerDriveInfo::EDriveConnected ) ) )
            {
-           // Handle unavailable drive or disconnected remote drive
+           // Handle unavailable drive OR  disconnected remote drive
            dimSend = ETrue;
            aMenuPane.SetItemDimmed( EFileManagerSort, ETrue );
            aMenuPane.SetItemDimmed( EFileManagerOrganise, ETrue );
-           aMenuPane.SetItemDimmed( EFileManagerDelete, ETrue );
-           if ( aMenuPane.MenuItemExists( EAknCmdMarkingModeEnter, pos ) )
-               {
-               aMenuPane.SetItemDimmed( EAknCmdMarkingModeEnter, ETrue );
-               }
+           aMenuPane.SetItemDimmed( EFileManagerMark, ETrue );             
            }
         }
     else if ( iContainer->ListBoxNumberOfItems() )
         {
-        // Check whether there is file on the list
+        // Check if there is files on the list
         TInt files( iEngine.FilesInFolderL() );
-        if ( files == 0 ) 
+        if ( !files ) 
             {
             dimSend = ETrue;
-            if ( aMenuPane.MenuItemExists( EAknCmdMarkingModeEnter, pos ) )
-                {
-                aMenuPane.SetItemDimmed( EAknCmdMarkingModeEnter, ETrue );
-                }
+            aMenuPane.SetItemDimmed( EFileManagerMark, ETrue );
             }
         
         // There is items in list, check selection type
@@ -3403,10 +3443,7 @@
         // List is empty
         aMenuPane.SetItemDimmed( EFileManagerOpen, ETrue );
         aMenuPane.SetItemDimmed( EFileManagerDelete, ETrue );
-        if ( aMenuPane.MenuItemExists( EAknCmdMarkingModeEnter, pos ) )
-            {
-            aMenuPane.SetItemDimmed( EAknCmdMarkingModeEnter, ETrue );
-            }
+        aMenuPane.SetItemDimmed( EFileManagerMark, ETrue );
         aMenuPane.SetItemDimmed( EFileManagerRename, ETrue );
         aMenuPane.SetItemDimmed( EFileManagerSort, ETrue );
         aMenuPane.SetItemDimmed( EFileManagerSearchSort, ETrue );
@@ -3430,6 +3467,7 @@
             // Handle disconnected remote drive
             aMenuPane.SetItemDimmed( EFileManagerReceiveViaIR, ETrue );
             aMenuPane.SetItemDimmed( EFileManagerOrganise, ETrue );
+//            aMenuPane.SetItemDimmed( EFileManagerDetails, ETrue );
             }
         else if ( !( drvInfo.iState & TFileManagerDriveInfo::EDrivePresent ) ||  
                  ( drvInfo.iState & (
@@ -3437,8 +3475,10 @@
                     TFileManagerDriveInfo::EDriveLocked ) ) )
             {
             // Handle unavailable drive
+//            aMenuPane.SetItemDimmed( EFileManagerDetails, ETrue );
             aMenuPane.SetItemDimmed( EFileManagerReceiveViaIR, ETrue );
             aMenuPane.SetItemDimmed( EFileManagerOrganise, ETrue );
+//            aMenuPane.SetItemDimmed( EFileManagerMemoryCardPassword, ETrue );
             
             if ( drvInfo.iState & TFileManagerDriveInfo::EDriveRemovable &&
                  !( drvInfo.iState & TFileManagerDriveInfo::EDriveLocked ) )
@@ -3455,7 +3495,10 @@
                 {
                 aMenuPane.SetItemDimmed( EFileManagerReceiveViaIR, ETrue );
                 aMenuPane.SetItemDimmed( EFileManagerOrganise, ETrue );
+//                aMenuPane.SetItemDimmed( EFileManagerMemoryCardPassword, ETrue );
+//                aMenuPane.SetItemDimmed( EFileManagerMemoryCard, ETrue );
                 aMenuPane.SetItemDimmed( EFileManagerUnlockMemoryCard, ETrue );
+//                aMenuPane.SetItemDimmed( EFileManagerDetails, ETrue );
                 }
             else
                 {
--- a/filemanager/App/src/Cfilemanagersearchresultsview.cpp	Wed Sep 15 11:58:56 2010 +0300
+++ b/filemanager/App/src/Cfilemanagersearchresultsview.cpp	Wed Oct 13 14:17:31 2010 +0300
@@ -90,34 +90,17 @@
 // -----------------------------------------------------------------------------
 // 
 void CFileManagerSearchResultsView::DirectoryChangedL()
-    {
+	{
     FUNC_LOG
 
     RefreshTitleL();
 
-    if ( !iContainer )
+    if ( iContainer )
         {
-        return;
+        iContainer->RefreshListL( iIndex );
+        UpdateCbaL();
         }
-    // 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
 // 
--- a/filemanager/Engine/src/CFileManagerUtils.cpp	Wed Sep 15 11:58:56 2010 +0300
+++ b/filemanager/Engine/src/CFileManagerUtils.cpp	Wed Oct 13 14:17:31 2010 +0300
@@ -885,62 +885,58 @@
         const TInt aDrive,
         const TInt aTextIdForDefaultName,
         const TInt aTextIdForName ) const
-    {  
-    // get drive letter and drive name
+    {
     TUint driveStatus( 0 );
+    HBufC* ret = NULL;
     CDesCArray* array = GetDriveNameArrayLC( aDrive, driveStatus );
-    
-    // get the format string for drive name
-    HBufC* ret = NULL; 
     if ( aTextIdForName && array->MdcaCount() > 1 )
         {
-        // named resource is available
-        // resource needs two paraments
-        ret = StringLoader::LoadL( aTextIdForName,*array );
+        ret = StringLoader::LoadL(
+            aTextIdForName,
+            *array );
         }
-    // default resource is available
     else if ( aTextIdForDefaultName )
         {
-        // USB memory 
-        if ( driveStatus & DriveInfo::EDriveUsbMemory )
-            {
-            // alloc array for usb letter name and drive name
-            CDesCArray* usbLetterAndName = new ( ELeave ) CDesCArrayFlat( KDriveNameArrayLen );
-            CleanupStack::PushL( usbLetterAndName );
-            
-            // append driver letter 
-            TPtrC16 driveLetter = array->MdcaPoint( KDriveLetterIndex );
-            usbLetterAndName->AppendL( driveLetter );
-            
-            // USB is already named, just append it 
-            if ( array->MdcaCount() > 1 )
-                {
-                TPtrC16 drivename=array->MdcaPoint( KDriveNameIndex );
-                usbLetterAndName->AppendL( drivename );
-                }
-            // USB is still not named,append default name
-            else
-                {
-                HBufC* usbDefaultName = StringLoader::LoadLC( R_QTN_FMGR_USB_MEMORY_DEFAULT_NAME );
-                usbLetterAndName->AppendL( *usbDefaultName );
-                CleanupStack::PopAndDestroy( usbDefaultName );
-                }
-            ret = StringLoader::LoadL( aTextIdForDefaultName,*usbLetterAndName );
-            // pop and destory the array for usb letter name and drive name
-            CleanupStack::PopAndDestroy( usbLetterAndName );
-            }
-        // other drives
-        else
-            {
-            ret = StringLoader::LoadL( aTextIdForDefaultName, array->MdcaPoint( KDriveLetterIndex ) );
-            }
+			if( driveStatus & DriveInfo::EDriveUsbMemory )
+				{
+				CDesCArray* usbLetterName = new ( ELeave ) CDesCArrayFlat( KDriveNameArrayLen );
+				CleanupStack::PushL( usbLetterName );
+				
+				TPtrC16 driveletter=array->MdcaPoint( KDriveLetterIndex );
+				usbLetterName->AppendL( driveletter );							
+				HBufC* usbDriveDefaultName = NULL;			
+				if(array->MdcaCount() > 1 )
+					{
+					TPtrC16 drivename=array->MdcaPoint( KDriveNameIndex );
+					usbLetterName->AppendL( drivename );
+					}
+				else
+					{
+				    usbDriveDefaultName = StringLoader::LoadLC( R_QTN_FMGR_USB_MEMORY_DEFAULT_NAME );
+				    TPtrC16 drivename = usbDriveDefaultName->Des();
+				    usbLetterName->AppendL( drivename );
+					}
+				
+				
+				ret = StringLoader::LoadL(
+				aTextIdForDefaultName,*usbLetterName );
+	
+				CleanupStack::PopAndDestroy( usbLetterName );
+				if ( usbDriveDefaultName )
+				    {
+				    CleanupStack::PopAndDestroy( usbDriveDefaultName );
+				    }
+			    }
+		    else
+			    {
+			    ret = StringLoader::LoadL(aTextIdForDefaultName, array->MdcaPoint(
+					KDriveLetterIndex));
+            	}
         }
-    // drive name is available
     else if (  array->MdcaCount() > 1 )
         {
         ret = array->MdcaPoint( KDriveNameIndex ).AllocL();
         }
-    // others
     else
         {
         User::Leave( KErrNotFound );
Binary file filemanager/help/data/xhtml.zip has changed
--- a/files_plat/memory_scan_popup_ui_api/inc/CMemStatePopup.h	Wed Sep 15 11:58:56 2010 +0300
+++ b/files_plat/memory_scan_popup_ui_api/inc/CMemStatePopup.h	Wed Oct 13 14:17:31 2010 +0300
@@ -25,7 +25,7 @@
 #include <e32base.h>
 
 // USER INCLUDES
-#include "msputil.h"
+#include "MSPUtil.h"
 
 //  CONSTANTS
 const TText KRightToLeftMark = 0x200F;
--- a/filesystemuis/memstatepopup/src/cmemstatepopupimpl.cpp	Wed Sep 15 11:58:56 2010 +0300
+++ b/filesystemuis/memstatepopup/src/cmemstatepopupimpl.cpp	Wed Oct 13 14:17:31 2010 +0300
@@ -249,7 +249,6 @@
     iListBox->Model( )->SetItemTextArray( iListModel );
     iListBox->Model( )->SetOwnershipType( ELbmDoesNotOwnItemArray );
     iListBox->ItemDrawer()->ColumnData()->EnableMarqueeL( ETrue );
-    iListBox->ItemDrawer()->ClearFlags( CListItemDrawer::ESingleClickDisabledHighlight );
     }
 
 // ---------------------------------------------------------------------------