filemanager/View/src/CFileManagerIconArray.cpp
branchRCL_3
changeset 38 491b3ed49290
parent 36 95243422089a
child 39 65326cf895ed
--- a/filemanager/View/src/CFileManagerIconArray.cpp	Thu Aug 19 09:42:45 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,273 +0,0 @@
-/*
-* Copyright (c) 2002-2006 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:  All the files and folders icons are stored here
-*
-*/
-
-
-// INCLUDE FILES
-#include <FileManagerEngine.hrh>
-#include <barsread.h>
-#include <coemain.h>
-#include <gulicon.h>
-#include <AknsItemID.h>
-#include <AknsUtils.h>
-#include <filemanagerview.rsg>
-#include "CFileManagerIconArray.h"
-#include "FileManagerView.hrh"
-
-
-
-// CONSTANTS
-const TInt KGranularity = 1;
-
-// needed because _LIT macro does not expand parameter, which is also macro
-#define _CREATE_LIT( a, b ) _LIT( a, b )
-
-_CREATE_LIT( KFileManagerMifFile, filemanager_mbm_file_location );
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CFileManagerIconArray::CFileManagerIconArray
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CFileManagerIconArray::CFileManagerIconArray() :
-        CArrayPtrFlat( KGranularity )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CFileManagerIconArray::NewL
-// 
-// -----------------------------------------------------------------------------
-// 
-EXPORT_C CFileManagerIconArray* CFileManagerIconArray::NewL()
-    {
-    CFileManagerIconArray* self = new (ELeave) CFileManagerIconArray();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CFileManagerIconArray::ConstructL
-// 
-// -----------------------------------------------------------------------------
-// 
-void CFileManagerIconArray::ConstructL()
-    {
-    TResourceReader reader;
-    CCoeEnv::Static()->CreateResourceReaderLC(
-        reader, R_FILEMANAGER_ICON_ARRAY );
-
-    TInt count( reader.ReadInt16() );
-    iIconInfo.ReserveL( count );
-    SetReserveL( count );
-
-    // Get File Manager mif drive from exe location
-    TFileName exeFileName( RProcess().FileName() );
-
-    // Load icon info now and actual icon data later when needed to decrease
-    // construction time
-    for( TInt i( 0 ); i < count; i++ )
-        {
-        TIconInfo info;
-
-        info.iId = reader.ReadInt8();
-        info.iFile = reader.ReadHBufCL();
-        info.iIconId = reader.ReadInt16();
-
-        TPtr ptr( info.iFile->Des() );
-        if ( !ptr.CompareF( KFileManagerMifFile ) )
-            {
-            // Set correct File Manager mif drive
-            ptr[ 0 ] = exeFileName[ 0 ];
-            }
-
-        info.iMaskId =  reader.ReadInt16();
-        info.iMajorSkinId = reader.ReadInt32();
-        info.iMinorSkinId = reader.ReadInt32();
-        info.iIconType = reader.ReadInt8();
-        info.iIndex = KErrNotFound;
-
-        CleanupStack::PushL( info.iFile );
-        iIconInfo.AppendL( info );
-        CleanupStack::Pop( info.iFile );
-        }
-
-    CleanupStack::PopAndDestroy(); // reader
-
-    LoadMandatoryIconsL();
-    }
-
-// -----------------------------------------------------------------------------
-// CFileManagerIconArray::~CFileManagerIconArray
-// Destructor
-// -----------------------------------------------------------------------------
-// 
-EXPORT_C CFileManagerIconArray::~CFileManagerIconArray()
-    {
-    TInt count( iIconInfo.Count() );
-    for( TInt i( 0 ); i < count; i++ )
-        {
-        TIconInfo& info = iIconInfo[ i ];
-        delete info.iFile;
-        info.iFile = NULL;
-        }
-    iIconInfo.Close();
-    }
-
-// -----------------------------------------------------------------------------
-// CFileManagerIconArray::UpdateIconsL
-//
-// -----------------------------------------------------------------------------
-// 
-EXPORT_C void CFileManagerIconArray::UpdateIconsL()
-    {
-    // Remove icon data and set info to load icon data again when needed
-    ResetAndDestroy();
-
-    TInt count( iIconInfo.Count() );
-    SetReserveL( count );
-
-    for( TInt i( 0 ); i < count; i++ )
-        {
-        TIconInfo& info = iIconInfo[ i ];
-        info.iIndex = KErrNotFound;
-        }
-
-    LoadMandatoryIconsL();
-    }
-
-// -----------------------------------------------------------------------------
-// CFileManagerIconArray::FindIcon
-//
-// -----------------------------------------------------------------------------
-// 
-EXPORT_C TInt CFileManagerIconArray::FindIcon( TInt aIconId )
-    {
-    TInt count( iIconInfo.Count() );
-    for( TInt i( 0 ); i < count; i++ )
-        {
-        TIconInfo& info = iIconInfo[ i ];
-        if ( info.iId == aIconId )
-            {
-            if ( info.iIndex == KErrNotFound )
-                {
-                TRAPD( err, LoadIconL( info ) );
-                if ( err != KErrNone )
-                    {
-                    return err;
-                    }
-                }
-            return info.iIndex;
-            }
-        }
-    return KErrNotFound;
-    }
-
-// -----------------------------------------------------------------------------
-// CFileManagerIconArray::LoadIconL
-//
-// -----------------------------------------------------------------------------
-// 
-void CFileManagerIconArray::LoadIconL( TIconInfo& aInfo )
-    {
-    CGulIcon* icon = LoadIconL(
-        *aInfo.iFile,
-        aInfo.iIconId,
-        aInfo.iMaskId,
-        aInfo.iMajorSkinId,
-        aInfo.iMinorSkinId,
-        aInfo.iIconType == EFileManagerIconColorIcon );
-    CleanupStack::PushL( icon );
-    TInt index( Count() );
-    AppendL( icon );
-    CleanupStack::Pop( icon );
-    aInfo.iIndex = index;
-    }
-
-// -----------------------------------------------------------------------------
-// CFileManagerIconArray::LoadMandatoryIconsL
-// 
-// -----------------------------------------------------------------------------
-// 
-void CFileManagerIconArray::LoadMandatoryIconsL()
-    {
-    // At least these icons must be loaded on startup.
-    // Other icons can be loaded first time when needed.
-
-    // Make sure that selection icon is always loaded to first index.
-    // Required by list control.
-    User::LeaveIfError( FindIcon( EFileManagerMarkIcon ) );
-
-    }
-
-// -----------------------------------------------------------------------------
-// CFileManagerIconArray::LoadIconL
-//
-// -----------------------------------------------------------------------------
-// 
-EXPORT_C CGulIcon* CFileManagerIconArray::LoadIconL(
-        const TDesC& aIconFile,
-        TInt aIconId,
-        TInt aMaskId,
-        TInt aMajorSkin,
-        TInt aMinorSkin,
-        TBool aIsColorIcon )
-    {
-    TAknsItemID aknsItemId;
-    aknsItemId.Set( aMajorSkin, aMinorSkin );
-    MAknsSkinInstance* aknsSkin = AknsUtils::SkinInstance();
-    CGulIcon* ret = NULL;
-    if ( aIsColorIcon )
-        {
-        TRgb defaultColour( KRgbBlack );
-        CFbsBitmap* bmap = NULL;
-        CFbsBitmap* mask = NULL;
-        AknsUtils::GetCachedColor(
-            aknsSkin,
-            defaultColour,
-            KAknsIIDQsnIconColors,
-            EAknsCIQsnIconColorsCG13 );
-        AknsUtils::CreateColorIconLC(
-            aknsSkin,
-            aknsItemId,
-            KAknsIIDQsnIconColors,
-            EAknsCIQsnIconColorsCG13,
-            bmap,
-            mask,
-            aIconFile,
-            aIconId,
-            aMaskId,
-            defaultColour );
-        ret = CGulIcon::NewL( bmap, mask );
-        ret->SetBitmapsOwnedExternally( EFalse );
-        CleanupStack::Pop( 2 ); // icon owns the bitmaps now
-        }
-    else
-        {
-        ret = AknsUtils::CreateGulIconL(
-            aknsSkin, aknsItemId, aIconFile, aIconId, aMaskId );
-        ret->SetBitmapsOwnedExternally( EFalse );
-        }
-    return ret;
-    }
-
-//  End of File