--- a/memspyui/ui/avkon/src/MemSpyViewOpenFiles.cpp Tue Aug 31 15:15:20 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,274 +0,0 @@
-/*
-* 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 "MemSpyViewOpenFiles.h"
-
-// System includes
-#include <AknIconArray.h>
-#include <eikdef.h>
-#include <eikclbd.h>
-#include <aknconsts.h>
-#include <gulicon.h>
-#include <avkon.mbg>
-
-// Engine includes
-#include <memspy/engine/memspyengine.h>
-#include <memspy/engine/memspyengineobjectprocess.h>
-#include <memspy/engine/memspyengineobjectthread.h>
-#include <memspy/engine/memspyengineobjectcontainer.h>
-#include <memspy/engine/memspyengineobjectthreadinfoobjects.h>
-#include <memspy/engine/memspyengineobjectthreadinfocontainer.h>
-#include <memspy/engine/memspyenginehelperprocess.h>
-
-// User includes
-#include "MemSpyUiUtils.h"
-#include "MemSpyViewThreads.h"
-#include "MemSpyViewMainMenu.h"
-#include "MemSpyContainerObserver.h"
-
-
-
-
-CMemSpyViewOpenFiles::CMemSpyViewOpenFiles( CMemSpyEngine& aEngine, MMemSpyViewObserver& aObserver )
-: CMemSpyViewBase( aEngine, aObserver )
- {
- }
-
-
-CMemSpyViewOpenFiles::~CMemSpyViewOpenFiles()
- {
- iThreadIds.Close();
- iFileNames.Close();
- }
-
-
-void CMemSpyViewOpenFiles::ConstructL( const TRect& aRect, CCoeControl& aContainer, TAny* aSelectionRune )
- {
- _LIT( KTitle, "Open Files" );
- SetTitleL( KTitle );
- //
- CMemSpyViewBase::ConstructL( aRect, aContainer, aSelectionRune );
- }
-
-
-CEikListBox* CMemSpyViewOpenFiles::ConstructListBoxL()
- {
- delete iListBox;
- iListBox = NULL;
- CAknDoubleGraphicStyleListBox* listbox = new (ELeave) CAknDoubleGraphicStyleListBox();
- iListBox = listbox;
- //
- listbox->ConstructL( this, EAknListBoxSelectionList | EAknListBoxLoopScrolling );
- listbox->SetContainerWindowL( *this );
- listbox->CreateScrollBarFrameL( ETrue );
- SetListBoxModelL();
- listbox->ScrollBarFrame()->SetScrollBarVisibilityL( CEikScrollBarFrame::EOff, CEikScrollBarFrame::EAuto );
- listbox->SetListBoxObserver( this );
- listbox->SetObserver( this );
-
- // Create icon array
- CAknIconArray* iconArray = new (ELeave) CAknIconArray(1);
- CleanupStack::PushL( iconArray );
-
- // Create bitmap
- CFbsBitmap* bitmap = new(ELeave) CFbsBitmap();
- CleanupStack::PushL( bitmap );
- const TInt error1 = bitmap->Create( TSize(10,10), EColor16M );
- User::LeaveIfError( error1 );
-
- // Create mask
- CFbsBitmap* mask = new(ELeave) CFbsBitmap();
- CleanupStack::PushL( mask );
- const TInt error2 = mask->Create( TSize(10,10), EColor16M );
- User::LeaveIfError( error2 );
-
- // Create icon & transfer bitmap
- CGulIcon* icon = CGulIcon::NewL( bitmap, mask );
- CleanupStack::Pop( 2, bitmap );
- CleanupStack::PushL( icon );
-
- // Transfer icon to array
- iconArray->AppendL( icon );
- CleanupStack::Pop( icon );
-
- // Give icon array to listbox
- static_cast<CEikFormattedCellListBox*>(iListBox)->ItemDrawer()->FormattedCellData()->SetIconArrayL(iconArray);
- CleanupStack::Pop( iconArray );
- //
- return listbox;
- }
-
-
-void CMemSpyViewOpenFiles::RefreshL()
- {
- SetListBoxModelL();
- CMemSpyViewBase::RefreshL();
- }
-
-
-TMemSpyViewType CMemSpyViewOpenFiles::ViewType() const
- {
- return EMemSpyViewTypeOpenFiles;
- }
-
-
-TBool CMemSpyViewOpenFiles::HandleCommandL( TInt aCommand )
- {
- TBool handled = ETrue;
- //
- switch ( aCommand )
- {
- case EMemSpyCmdToolsListOpenFiles:
- OnCmdListOpenFilesL();
- break;
-
- default:
- handled = CMemSpyViewBase::HandleCommandL( aCommand );
- break;
- }
- //
- return handled;
- }
-
-
-void CMemSpyViewOpenFiles::OnCmdListOpenFilesL()
- {
- iEngine.ListOpenFilesL();
- }
-
-
-CMemSpyViewBase* CMemSpyViewOpenFiles::PrepareParentViewL()
- {
- CMemSpyViewMainMenu* parent = new(ELeave) CMemSpyViewMainMenu( iEngine, iObserver );
- CleanupStack::PushL( parent );
- parent->ConstructL( Rect(), *Parent(), (TAny*) ViewType() );
- CleanupStack::Pop( parent );
- return parent;
- }
-
-
-CMemSpyViewBase* CMemSpyViewOpenFiles::PrepareChildViewL()
- {
- CMemSpyViewBase* child = NULL;
-
- // First, try to find the selected thread
- if ( iActionedThreadId )
- {
- // Try to create a view of the thread in question
- CMemSpyProcess* process = NULL;
- CMemSpyThread* thread = NULL;
- const TInt error = iEngine.Container().ProcessAndThreadByThreadId( *iActionedThreadId, process, thread );
- if ( error == KErrNone && thread != NULL )
- {
- child = new(ELeave) CMemSpyViewThreads( iEngine, iObserver, thread->Process() );
- CleanupStack::PushL( child );
- child->ConstructL( Rect(), *Parent(), thread );
- CleanupStack::Pop( child );
- }
- }
- //
- return child;
- }
-
-
-void CMemSpyViewOpenFiles::SetListBoxModelL()
- {
- _LIT(KLineFormatSpec, "%d\t%S\t%S %S");
-
- CDesCArrayFlat* model = new(ELeave) CDesCArrayFlat(5);
- CleanupStack::PushL( model );
-
- TBuf<KMaxFullName + 50> item;
- TMemSpySizeText valueBuf;
- TBuf<64> timeBuf;
-
- iFileNames.Reset();
- iThreadIds.Reset();
- iActionedThreadId = NULL;
-
- RFs& fsSession = iCoeEnv->FsSession();
- TOpenFileScan scanner( fsSession );
-
- CFileList* list = NULL;
- scanner.NextL( list );
-
- TIdentityRelation<TEntry> comparer( CompareTEntryObjects );
-
- while( list != NULL )
- {
- CleanupStack::PushL( list );
-
- const TInt entryCount = list->Count();
- for(TInt i=0; i<entryCount; i++)
- {
- const TEntry& entry = (*list)[ i ];
-
- // Check for duplicates
- const TInt foundIndex = iFileNames.Find( entry, comparer );
- if ( foundIndex == KErrNotFound )
- {
- // Get time and size format strings
- valueBuf = MemSpyUiUtils::FormatSizeText( entry.iSize );
- MemSpyUiUtils::FormatTimeL( timeBuf, entry.iModified );
-
- // Get just file name
- TParsePtrC parser( entry.iName );
- const TPtrC pJustName( parser.NameAndExt() );
-
- // Create item
- item.Format( KLineFormatSpec, 0, &pJustName, &valueBuf, &timeBuf );
- model->AppendL( item );
- iThreadIds.AppendL( scanner.ThreadId() );
- iFileNames.AppendL( entry );
- }
- }
-
- CleanupStack::PopAndDestroy( list );
- list = NULL;
- scanner.NextL( list );
- }
-
- // Set up list box
- CAknSettingStyleListBox* listbox = static_cast< CAknSettingStyleListBox* >( iListBox );
- listbox->Model()->SetItemTextArray( model );
- listbox->Model()->SetOwnershipType( ELbmOwnsItemArray );
- CleanupStack::Pop( model );
- }
-
-
-void CMemSpyViewOpenFiles::HandleListBoxItemActionedL( TInt aCurrentIndex )
- {
- if ( aCurrentIndex >= 0 && aCurrentIndex < iThreadIds.Count() )
- {
- iActionedThreadId = &iThreadIds[ aCurrentIndex ];
- }
- else
- {
- iActionedThreadId = NULL;
- }
-
- // Notify observer about an item being 'fired'
- ReportEventL( MMemSpyViewObserver::EEventItemActioned );
- }
-
-
-TBool CMemSpyViewOpenFiles::CompareTEntryObjects( const TEntry& aLeft, const TEntry& aRight )
- {
- return ( aLeft.iName.CompareF( aRight.iName ) == 0 );
- }
-
-