diff -r b3cee849fa46 -r fad26422216a filebrowser/src/FBFileListView.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/filebrowser/src/FBFileListView.cpp Wed Sep 01 12:30:35 2010 +0100 @@ -0,0 +1,763 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + +// INCLUDE FILES +#include +#include +#include +#include +#include +#include + +#include +#include "FB.hrh" +#include "FBFileListView.h" +#include "FBFileListContainer.h" +#include "FBDocument.h" +#include "FBModel.h" +#include "FBFileUtils.h" + + +// ================= MEMBER FUNCTIONS ======================= + +// --------------------------------------------------------- +// CFileBrowserFileListView::ConstructL(const TRect& aRect) +// EPOC two-phased constructor +// --------------------------------------------------------- +// +void CFileBrowserFileListView::ConstructL() + { + BaseConstructL( R_FILEBROWSER_VIEW_FILELIST ); + iModel = static_cast(reinterpret_cast(iEikonEnv->AppUi())->Document())->Model(); + + iRemConSelector = CRemConInterfaceSelector::NewL(); + iRemConTarget = CRemConCoreApiTarget::NewL(*iRemConSelector, *this); + iRemConSelector->OpenTargetL(); + } + +// --------------------------------------------------------- +// CFileBrowserFileListView::~CFileBrowserFileListView() +// ?implementation_description +// --------------------------------------------------------- +// +CFileBrowserFileListView::~CFileBrowserFileListView() + { + delete iRemConSelector; + + if ( iContainer ) + { + AppUi()->RemoveFromViewStack( *this, iContainer ); + } + + delete iContainer; + } + +// --------------------------------------------------------- +// TUid CFileBrowserFileListView::Id() +// ?implementation_description +// --------------------------------------------------------- +// +TUid CFileBrowserFileListView::Id() const + { + return KFileListViewUID; + } + +// --------------------------------------------------------- +// TUid CFileBrowserFileListView::DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane) +// ?implementation_description +// --------------------------------------------------------- +// + +void CFileBrowserFileListView::DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane) + { + TBool emptyListBox = iContainer->ListBoxNumberOfVisibleItems() == 0; + TBool driveListActive = iModel->FileUtils()->IsDriveListViewActive(); + TBool normalModeActive = iModel->FileUtils()->IsNormalModeActive(); + TBool currentDriveReadOnly = iModel->FileUtils()->IsCurrentDriveReadOnly(); + TBool currentItemDirectory = iModel->FileUtils()->IsCurrentItemDirectory(); + TBool listBoxSelections = iContainer->ListBoxSelectionIndexesCount() == 0; + TBool emptyClipBoard = iModel->FileUtils()->ClipBoardList()->Count() == 0; + TBool showSnapShot = iModel->FileUtils()->DriveSnapShotPossible(); + + TBool hideEditMenu(EFalse); + if (driveListActive) + { + if (!showSnapShot || emptyListBox && emptyClipBoard) + hideEditMenu = ETrue; + else + hideEditMenu = EFalse; + } + else + { + if (emptyListBox && emptyClipBoard) + hideEditMenu = ETrue; + else + hideEditMenu = EFalse; + } + + + if (aResourceId == R_FILEBROWSER_VIEW_FILELIST_MENU) + { + aMenuPane->SetItemDimmed(EFileBrowserCmdEdit, hideEditMenu); + aMenuPane->SetItemDimmed(EFileBrowserCmdDiskAdmin, !driveListActive); + } + + else if (aResourceId == R_FILEBROWSER_FILE_SUBMENU) + { + aMenuPane->SetItemDimmed(EFileBrowserCmdFileBack, driveListActive); + aMenuPane->SetItemDimmed(EFileBrowserCmdFileOpen, emptyListBox || driveListActive || currentItemDirectory); + aMenuPane->SetItemDimmed(EFileBrowserCmdFileOpenDrive, emptyListBox || !driveListActive); + aMenuPane->SetItemDimmed(EFileBrowserCmdFileOpenDirectory, emptyListBox || driveListActive || !currentItemDirectory); + aMenuPane->SetItemDimmed(EFileBrowserCmdFileView, emptyListBox || !listBoxSelections || currentItemDirectory || driveListActive); + aMenuPane->SetItemDimmed(EFileBrowserCmdFileEdit, emptyListBox || !listBoxSelections || currentItemDirectory || driveListActive); + aMenuPane->SetItemDimmed(EFileBrowserCmdFileSendTo, emptyListBox || driveListActive || currentItemDirectory); + aMenuPane->SetItemDimmed(EFileBrowserCmdFileNew, driveListActive || currentDriveReadOnly); + aMenuPane->SetItemDimmed(EFileBrowserCmdFileDelete, emptyListBox || driveListActive || currentDriveReadOnly); + aMenuPane->SetItemDimmed(EFileBrowserCmdFileRename, emptyListBox || driveListActive || currentDriveReadOnly || !listBoxSelections); + aMenuPane->SetItemDimmed(EFileBrowserCmdFileTouch, emptyListBox || driveListActive || currentDriveReadOnly); + aMenuPane->SetItemDimmed(EFileBrowserCmdFileProperties, emptyListBox || !listBoxSelections); + aMenuPane->SetItemDimmed(EFileBrowserCmdFileChecksums, emptyListBox || !listBoxSelections || currentItemDirectory || driveListActive); + aMenuPane->SetItemDimmed(EFileBrowserCmdFileSetAttributes, emptyListBox || driveListActive || currentDriveReadOnly); + aMenuPane->SetItemDimmed(EFileBrowserCmdFileCompress, currentDriveReadOnly || emptyListBox || !listBoxSelections || currentItemDirectory || driveListActive); + aMenuPane->SetItemDimmed(EFileBrowserCmdFileDecompress, currentDriveReadOnly || emptyListBox || !listBoxSelections || currentItemDirectory || driveListActive); + } + + else if (aResourceId == R_FILEBROWSER_EDIT_SUBMENU) + { + TBool currentSelected = iContainer->ListBox()->View()->ItemIsSelected(iContainer->ListBox()->View()->CurrentItemIndex()); + TBool allSelected = iContainer->ListBox()->SelectionIndexes()->Count() == iContainer->ListBox()->Model()->NumberOfItems(); + TBool noneSelected = iContainer->ListBox()->SelectionIndexes()->Count() == 0; + + aMenuPane->SetItemDimmed(EFileBrowserCmdSnapShot, !driveListActive); + aMenuPane->SetItemDimmed(EFileBrowserCmdEditCut, driveListActive || currentDriveReadOnly || emptyListBox); + aMenuPane->SetItemDimmed(EFileBrowserCmdEditCopy, driveListActive || emptyListBox); + aMenuPane->SetItemDimmed(EFileBrowserCmdEditPaste, driveListActive || emptyClipBoard || currentDriveReadOnly); + aMenuPane->SetItemDimmed(EFileBrowserCmdEditCopyToFolder, driveListActive || emptyListBox); + aMenuPane->SetItemDimmed(EFileBrowserCmdEditMoveToFolder, driveListActive || currentDriveReadOnly || emptyListBox); + aMenuPane->SetItemDimmed(EFileBrowserCmdEditSelect, driveListActive || currentSelected || emptyListBox); + aMenuPane->SetItemDimmed(EFileBrowserCmdEditUnselect, driveListActive || !currentSelected || emptyListBox); + aMenuPane->SetItemDimmed(EFileBrowserCmdEditSelectAll, driveListActive || allSelected || emptyListBox); + aMenuPane->SetItemDimmed(EFileBrowserCmdEditUnselectAll, driveListActive || noneSelected || emptyListBox); + } + + else if (aResourceId == R_FILEBROWSER_VIEW_SUBMENU) + { + aMenuPane->SetItemDimmed(EFileBrowserCmdViewSort, !normalModeActive || driveListActive || emptyListBox); + aMenuPane->SetItemDimmed(EFileBrowserCmdViewOrder, !normalModeActive || driveListActive || emptyListBox); + aMenuPane->SetItemDimmed(EFileBrowserCmdViewRefresh, !normalModeActive); + aMenuPane->SetItemDimmed(EFileBrowserCmdViewFilterEntries, emptyListBox); + } + + else if (aResourceId == R_FILEBROWSER_VIEW_SORT_SUBMENU) + { + aMenuPane->SetItemButtonState(iModel->FileUtils()->SortMode(), EEikMenuItemSymbolOn); + } + + else if (aResourceId == R_FILEBROWSER_VIEW_ORDER_SUBMENU) + { + aMenuPane->SetItemButtonState(iModel->FileUtils()->OrderMode(), EEikMenuItemSymbolOn); + } + + else if (aResourceId == R_FILEBROWSER_TOOLS_SUBMENU) + { + TBool noLocalCon = !iModel->FileUtils()->FileExists(KIRAppPath) && !iModel->FileUtils()->FileExists(KBTAppPath) && !iModel->FileUtils()->FileExists(KUSBAppPath); + + aMenuPane->SetItemDimmed(EFileBrowserCmdToolsDisableExtErrors, !iModel->FileUtils()->FileExists(KErrRdPath)); + aMenuPane->SetItemDimmed(EFileBrowserCmdToolsEnableExtErrors, iModel->FileUtils()->FileExists(KErrRdPath)); + aMenuPane->SetItemDimmed(EFileBrowserCmdToolsLocalConnectivity, noLocalCon); + } + + else if (aResourceId == R_FILEBROWSER_TOOLS_LOCALCONNECTIVITY_SUBMENU) + { + aMenuPane->SetItemDimmed(EFileBrowserCmdToolsLocalConnectivityActivateInfrared, !iModel->FileUtils()->FileExists(KIRAppPath)); + aMenuPane->SetItemDimmed(EFileBrowserCmdToolsLocalConnectivityLaunchBTUI, !iModel->FileUtils()->FileExists(KBTAppPath)); + aMenuPane->SetItemDimmed(EFileBrowserCmdToolsLocalConnectivityLaunchUSBUI, !iModel->FileUtils()->FileExists(KUSBAppPath)); + } + else + { + AppUi()->DynInitMenuPaneL(aResourceId, aMenuPane); + } + } + +// --------------------------------------------------------- +// CFileBrowserFileListView::MrccatoCommand(TRemConCoreApiOperationId aOperationId, TRemConCoreApiButtonAction aButtonAct) +// Used to handle multimedia keys +// --------------------------------------------------------- +// + +void CFileBrowserFileListView::MrccatoCommand(TRemConCoreApiOperationId aOperationId, TRemConCoreApiButtonAction /*aButtonAct*/) + { + switch(aOperationId) + { + case ERemConCoreApiVolumeUp: + { + // simulate a keyevent, so that it can be handled as all other key events + TKeyEvent keyEvent; + keyEvent.iCode = EKeyIncVolume; + keyEvent.iScanCode = 0; + keyEvent.iModifiers = 0; + keyEvent.iRepeats = 0; + + //TRAP_IGNORE( iContainer->OfferKeyEventL(keyEvent, EEventKey) ); + + //RWsSession& wsSession=iCoeEnv->WsSession(); + //wsSession.SimulateKeyEvent(keyEvent); + //wsSession.Flush(); + + iCoeEnv->SimulateKeyEventL(keyEvent,EEventKeyDown); + iCoeEnv->SimulateKeyEventL(keyEvent,EEventKey); + iCoeEnv->SimulateKeyEventL(keyEvent,EEventKeyUp); + + break; + } + case ERemConCoreApiVolumeDown: + { + // simulate a keyevent, so that it can be handled as all other key events + TKeyEvent keyEvent; + keyEvent.iCode = EKeyDecVolume; + keyEvent.iScanCode = 0; + keyEvent.iModifiers = 0; + keyEvent.iRepeats = 0; + + //TRAP_IGNORE( iContainer->OfferKeyEventL(keyEvent, EEventKey) ); + + //RWsSession& wsSession=iCoeEnv->WsSession(); + //wsSession.SimulateKeyEvent(keyEvent); + //wsSession.Flush(); + + iCoeEnv->SimulateKeyEventL(keyEvent,EEventKeyDown); + iCoeEnv->SimulateKeyEventL(keyEvent,EEventKey); + iCoeEnv->SimulateKeyEventL(keyEvent,EEventKeyUp); + + break; + } + } + } + + +// --------------------------------------------------------- +// CFileBrowserFileListView::HandleCommandL(TInt aCommand) +// ?implementation_description +// --------------------------------------------------------- +// +void CFileBrowserFileListView::HandleCommandL(TInt aCommand) + { + switch ( aCommand ) + { + + case EFileBrowserCmdFileBack: + { + iModel->FileUtils()->MoveUpOneLevelL(); + break; + } + + case EFileBrowserCmdFileOpenApparc: + { + iModel->FileUtils()->OpenWithApparcL(); + break; + } + + case EFileBrowserCmdFileOpenDocHandlerEmbed: + { + iModel->FileUtils()->OpenWithDocHandlerL(ETrue); + break; + } + + case EFileBrowserCmdFileOpenDocHandlerStandAlone: + { + iModel->FileUtils()->OpenWithDocHandlerL(EFalse); + break; + } + + case EFileBrowserCmdFileOpenFileService: + { + iModel->FileUtils()->OpenWithFileServiceL(); + break; + } + + case EFileBrowserCmdFileOpenDrive: + case EFileBrowserCmdFileOpenDirectory: + { + iModel->FileUtils()->MoveDownToDirectoryL(); + break; + } + + case EFileBrowserCmdFileViewText: + case EFileBrowserCmdFileViewHex: + case EFileBrowserCmdFileEditText: + case EFileBrowserCmdFileEditHex: + { + iModel->FileUtils()->FileEditorL(aCommand); + break; + } + + case EFileBrowserCmdFileSearch: + { + iModel->FileListContainer()->HideToolbar(); + iModel->FileUtils()->SearchL(); + break; + } + + case EFileBrowserCmdFileSendTo: + { + iModel->FileUtils()->SendToL(); + break; + } + + case EFileBrowserCmdFileNewFile: + { + iModel->FileUtils()->NewFileL(); + break; + } + + case EFileBrowserCmdFileNewDirectory: + { + iModel->FileUtils()->NewDirectoryL(); + break; + } + + case EFileBrowserCmdFileDelete: + { + iModel->FileUtils()->DeleteL(); + break; + } + + case EFileBrowserCmdFileRename: + { + iModel->FileUtils()->RenameL(); + break; + } + + case EFileBrowserCmdFileTouch: + { + iModel->FileUtils()->TouchL(); + break; + } + + case EFileBrowserCmdFileProperties: + { + iModel->FileUtils()->PropertiesL(); + break; + } + + case EFileBrowserCmdFileChecksumsMD5: + case EFileBrowserCmdFileChecksumsMD2: + case EFileBrowserCmdFileChecksumsSHA1: + { + iModel->FileUtils()->ShowFileCheckSumsL(aCommand); + break; + } + + case EFileBrowserCmdFileSetAttributes: + { + iModel->FileListContainer()->HideToolbar(); + iModel->FileUtils()->SetAttributesL(); + break; + } + + case EFileBrowserCmdFileCompress: + { + iModel->FileUtils()->CompressL(); + break; + } + + case EFileBrowserCmdFileDecompress: + { + iModel->FileUtils()->DecompressL(); + break; + } +/// + case EFileBrowserCmdSnapShot: + { + iModel->FileUtils()->DriveSnapShotL(); + break; + } + + case EFileBrowserCmdEditCut: + { + iModel->FileUtils()->ClipboardCutL(); + break; + } + + case EFileBrowserCmdEditCopy: + { + iModel->FileUtils()->ClipboardCopyL(); + break; + } + + case EFileBrowserCmdEditPaste: + { + iModel->FileUtils()->ClipboardPasteL(); + break; + } + + case EFileBrowserCmdEditCopyToFolder: + { + iModel->FileUtils()->CopyToFolderL(); + break; + } + + case EFileBrowserCmdEditMoveToFolder: + { + iModel->FileUtils()->CopyToFolderL(ETrue); + break; + } + + case EFileBrowserCmdEditSelect: + { + iModel->FileListContainer()->UpdateToolbar(); + AknSelectionService::HandleMarkableListProcessCommandL( EAknCmdMark, iContainer->ListBox() ); + break; + } + + case EFileBrowserCmdEditUnselect: + { + iModel->FileListContainer()->UpdateToolbar(); + AknSelectionService::HandleMarkableListProcessCommandL( EAknCmdUnmark, iContainer->ListBox() ); + break; + } + + case EFileBrowserCmdEditSelectAll: + { + iModel->FileListContainer()->UpdateToolbar(); + AknSelectionService::HandleMarkableListProcessCommandL( EAknMarkAll, iContainer->ListBox() ); + break; + } + + case EFileBrowserCmdEditUnselectAll: + { + iModel->FileListContainer()->UpdateToolbar(); + AknSelectionService::HandleMarkableListProcessCommandL( EAknUnmarkAll, iContainer->ListBox() ); + break; + } +/// + case EFileBrowserCmdViewSortByName: + case EFileBrowserCmdViewSortByExtension: + case EFileBrowserCmdViewSortByDate: + case EFileBrowserCmdViewSortBySize: + { + iModel->FileUtils()->SetSortModeL(aCommand); + break; + } + + case EFileBrowserCmdViewOrderAscending: + case EFileBrowserCmdViewOrderDescending: + { + iModel->FileUtils()->SetOrderModeL(aCommand); + break; + } + + case EFileBrowserCmdViewFilterEntries: + { + iContainer->EnableSearchFieldL(); + break; + } + + case EFileBrowserCmdViewRefresh: + { + iModel->FileUtils()->RefreshViewL(); + break; + } +/// + case EFileBrowserCmdDiskAdminSetDrivePassword: + { + iModel->FileUtils()->SetDrivePasswordL(); + break; + } + + case EFileBrowserCmdDiskAdminUnlockDrive: + { + iModel->FileUtils()->UnlockDriveL(); + break; + } + + case EFileBrowserCmdDiskAdminClearDrivePassword: + { + iModel->FileUtils()->ClearDrivePasswordL(); + break; + } + + case EFileBrowserCmdDiskAdminEraseDrivePassword: + { + iModel->FileUtils()->EraseDrivePasswordL(); + break; + } + + case EFileBrowserCmdDiskAdminFormatDrive: + { + iModel->FileUtils()->FormatDriveL(EFalse); + break; + } + + case EFileBrowserCmdDiskAdminQuickFormatDrive: + { + iModel->FileUtils()->FormatDriveL(ETrue); + break; + } + + case EFileBrowserCmdDiskAdminCheckDisk: + { + iModel->FileUtils()->CheckDiskL(); + break; + } + + case EFileBrowserCmdDiskAdminScanDrive: + { + iModel->FileUtils()->ScanDriveL(); + break; + } + + case EFileBrowserCmdDiskAdminSetDriveName: + { + iModel->FileUtils()->SetDriveNameL(); + break; + } + + case EFileBrowserCmdDiskAdminSetDriveVolumeLabel: + { + iModel->FileUtils()->SetDriveVolumeLabelL(); + break; + } + + case EFileBrowserCmdDiskAdminEjectDrive: + { + iModel->FileUtils()->EjectDriveL(); + break; + } + + case EFileBrowserCmdDiskAdminDismountFileSystem: + { + iModel->FileUtils()->DismountFileSystemL(); + break; + } + + case EFileBrowserCmdDiskAdminEraseMBR: + { + iModel->FileUtils()->EraseMBRL(); + break; + } + + case EFileBrowserCmdDiskAdminDrivePartition: + { + iModel->FileUtils()->PartitionDriveL(); + break; + } + +/// + case EFileBrowserCmdToolsAllFiles: + { + iModel->FileUtils()->WriteAllFilesL(); + break; + } + + case EFileBrowserCmdToolsAvkonIconCacheEnable: + { + iModel->FileUtils()->EnableAvkonIconCacheL(ETrue); + break; + } + + case EFileBrowserCmdToolsAvkonIconCacheDisable: + { + iModel->FileUtils()->EnableAvkonIconCacheL(EFalse); + break; + } + + case EFileBrowserCmdToolsEditDataTypes: + { + iModel->FileUtils()->EditDataTypesL(); + break; + } + + case EFileBrowserCmdToolsDisableExtErrors: + { + iModel->FileUtils()->SetErrRdL(EFalse); + break; + } + + case EFileBrowserCmdToolsEnableExtErrors: + { + iModel->FileUtils()->SetErrRdL(ETrue); + break; + } + + case EFileBrowserCmdToolsErrorSimulateLeave: + { + iModel->FileUtils()->SimulateLeaveL(); + break; + } + + case EFileBrowserCmdToolsErrorSimulatePanic: + { + iModel->FileUtils()->SimulatePanicL(); + break; + } + + case EFileBrowserCmdToolsErrorSimulateException: + { + iModel->FileUtils()->SimulateExceptionL(); + break; + } + + case EFileBrowserCmdToolsLocalConnectivityActivateInfrared: + { + iModel->FileUtils()->LaunchProgramL(KIRAppPath); + break; + } + + case EFileBrowserCmdToolsLocalConnectivityLaunchBTUI: + { + iModel->FileUtils()->LaunchProgramL(KBTAppPath); + break; + } + + case EFileBrowserCmdToolsLocalConnectivityLaunchUSBUI: + { + iModel->FileUtils()->LaunchProgramL(KUSBAppPath); + break; + } + + case EFileBrowserCmdToolsInstalledApps: + { + iModel->FileUtils()->WriteAllAppsL(); + break; + } + + case EFileBrowserCmdToolsOpenFiles: + { + iModel->FileUtils()->ListOpenFilesL(); + break; + } + + case EFileBrowserCmdToolsSetDebugMask: + { + iModel->FileUtils()->SetDebugMaskL(); + break; + } + + case EFileBrowserCmdToolsMsgAttachmentsInbox: + case EFileBrowserCmdToolsMsgAttachmentsDrafts: + case EFileBrowserCmdToolsMsgAttachmentsSentItems: + case EFileBrowserCmdToolsMsgAttachmentsOutbox: + { + iModel->FileUtils()->ListMessageAttachmentsL(aCommand); + break; + } + + case EFileBrowserCmdToolsMsgStoreWalk: + { + iModel->FileUtils()->WriteMsgStoreWalkL(); + break; + } + + case EFileBrowserCmdToolsMemoryInfo: + { + iModel->FileUtils()->MemoryInfoPopupL(); + break; + } + + case EFileBrowserCmdToolsSecureBackupStartBackup: + case EFileBrowserCmdToolsSecureBackupStartRestore: + case EFileBrowserCmdToolsSecureBackupStop: + { + iModel->FileUtils()->SecureBackupL(aCommand); + break; + } + +/// + case EFileBrowserCmdSettings: + { + if (iModel->LaunchSettingsDialogL() == EAknCmdExit) + AppUi()->HandleCommandL( EEikCmdExit ); + break; + } + + case EFileBrowserCmdAbout: + { + CAknMessageQueryDialog* dialog = new(ELeave) CAknMessageQueryDialog; + dialog->ExecuteLD(R_FILEBROWSER_ABOUT_DIALOG); + } + break; + + case EAknSoftkeyCancel: + { + iContainer->DisableSearchFieldL(); + break; + } + + case EAknSoftkeyExit: + { + AppUi()->HandleCommandL( EEikCmdExit ); + break; + } + + default: + { + AppUi()->HandleCommandL( aCommand ); + break; + } + } + } + +// --------------------------------------------------------- +// CFileBrowserFileListView::HandleClientRectChange() +// --------------------------------------------------------- +// +void CFileBrowserFileListView::HandleClientRectChange() + { + if ( iContainer ) + { + iContainer->SetRect( ClientRect() ); + } + } + +// --------------------------------------------------------- +// CFileBrowserFileListView::DoActivateL(...) +// ?implementation_description +// --------------------------------------------------------- +// +void CFileBrowserFileListView::DoActivateL( + const TVwsViewId& /*aPrevViewId*/,TUid /*aCustomMessageId*/, + const TDesC8& /*aCustomMessage*/) + { + if (!iContainer) + { + iContainer = new (ELeave) CFileBrowserFileListContainer; + iContainer->SetMopParent(this); + iContainer->ConstructL( ClientRect() ); + AppUi()->AddToStackL( *this, iContainer ); + } + } + +// --------------------------------------------------------- +// CFileBrowserFileListView::HandleCommandL(TInt aCommand) +// ?implementation_description +// --------------------------------------------------------- +// +void CFileBrowserFileListView::DoDeactivate() + { + if ( iContainer ) + { + AppUi()->RemoveFromViewStack( *this, iContainer ); + } + + delete iContainer; + iContainer = NULL; + } + +// End of File +