filemanager/Engine/src/CFileManagerItemFilter.cpp
branchRCL_3
changeset 20 491b3ed49290
parent 19 95243422089a
child 21 65326cf895ed
--- a/filemanager/Engine/src/CFileManagerItemFilter.cpp	Thu Aug 19 09:42:45 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,292 +0,0 @@
-/*
-* Copyright (c) 2005-2008 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:  Filter GFLM items
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "CFileManagerItemFilter.h"
-#include "CFileManagerEngine.h"
-#include "CGflmGroupItem.h"
-#include "CGflmFileSystemItem.h"
-#include "CGflmDriveItem.h"
-#include "CGflmGlobalActionItem.h"
-#include "CFileManagerCommonDefinitions.h"
-#include "FileManagerDebug.h"
-#include "TFileManagerDriveInfo.h"
-#include "CFileManagerFeatureManager.h"
-#include <filemanagerengine.rsg>
-#include <StringLoader.h>
-#include <pathinfo.h>
-#ifdef RD_MULTIPLE_DRIVE
-#include <driveinfo.h>
-#endif // RD_MULTIPLE_DRIVE
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ----------------------------------------------------------------------------
-// CFileManagerItemFilter::CFileManagerItemFilter
-// ----------------------------------------------------------------------------
-//
-CFileManagerItemFilter::CFileManagerItemFilter( CFileManagerEngine& aEngine )
-    : iEngine( aEngine )
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CFileManagerItemFilter::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CFileManagerItemFilter::ConstructL()
-    {
-    // Phone memory root path
-    iPhoneMemoryRootPath = PathInfo::PhoneMemoryRootPath().AllocL();
-    iInternalDefaultName =
-        StringLoader::LoadL( R_TEXT_PHONE_MEMORY );
-    iRemovableDefaultName =
-        StringLoader::LoadL( R_TEXT_MEMORY_CARD_DEFAULT );
-    }
-
-// ----------------------------------------------------------------------------
-// CFileManagerItemFilter::NewL
-// ----------------------------------------------------------------------------
-//
-CFileManagerItemFilter* CFileManagerItemFilter::NewL(
-        CFileManagerEngine& aEngine )
-    {
-    CFileManagerItemFilter* self = new( ELeave ) CFileManagerItemFilter(
-        aEngine );
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CFileManagerItemFilter::~CFileManagerItemFilter
-// ----------------------------------------------------------------------------
-// 
-CFileManagerItemFilter::~CFileManagerItemFilter()
-    {
-    delete iPhoneMemoryRootPath;
-    delete iInternalDefaultName;
-    delete iRemovableDefaultName;
-    }
-
-// ----------------------------------------------------------------------------
-// CFileManagerItemFilter::FilterItemL
-// ----------------------------------------------------------------------------
-// 
-TBool CFileManagerItemFilter::FilterItemL(
-        CGflmGroupItem* aItem,
-        TInt /*aGroupId*/,
-        CGflmDriveItem* /*aDrive*/ )
-    {
-    switch( aItem->Type() )
-        {
-        case CGflmGroupItem::EGlobalActionItem:
-			{
-            CGflmGlobalActionItem* actItem =
-                static_cast< CGflmGlobalActionItem* >( aItem );
-            switch( actItem->Id() )
-                {
-                case EFileManagerBackupAction:
-                    {
-                    // Disable backup in embedded mode, because it messes up 
-                    // backup and restore operations since embedded apps are closed.
-                    if ( iEngine.FeatureManager().IsEmbedded() )
-                        {
-                        return EFalse;
-                        }
-                    actItem->SetIconId( EFileManagerBackupMainIcon );
-                    break;
-                    }
-                default:
-                    {
-                    break;
-                    }
-                }
-            break;
-			}
-        case CGflmGroupItem::EDirectory:
-            {
-            CGflmFileSystemItem* fsItem =
-                static_cast< CGflmFileSystemItem* >( aItem );
-            fsItem->GetFullPath( iFileNameBuffer );
-            return !iEngine.IsSystemFolder( iFileNameBuffer );
-			}
-        case CGflmGroupItem::EDrive:
-            {
-            CGflmDriveItem* drvItem = static_cast< CGflmDriveItem* >( aItem );
-
-#ifndef RD_MULTIPLE_DRIVE
-            const TVolumeInfo& vol( drvItem->VolumeInfo() );
-            TInt drive( drvItem->Drive() );
-#endif // RD_MULTIPLE_DRIVE
-
-            INFO_LOG1( "CFileManagerItemFilter::FilterItemL()-drive=%d",
-                drvItem->Drive() )
-
-            INFO_LOG1( "CFileManagerItemFilter::FilterItemL()-driveAtt=%d",
-                drvItem->VolumeInfo().iDrive.iDriveAtt )
-
-            INFO_LOG1( "CFileManagerItemFilter::FilterItemL()-mediaAtt=%d",
-                drvItem->VolumeInfo().iDrive.iMediaAtt )
-
-            INFO_LOG1( "CFileManagerItemFilter::FilterItemL()-driveUniqueId=%u",
-                drvItem->VolumeInfo().iUniqueID )
-
-            INFO_LOG1( "CFileManagerItemFilter::FilterItemL()-driveSize=%lu",
-                drvItem->VolumeInfo().iSize )
-
-            INFO_LOG1( "CFileManagerItemFilter::FilterItemL()-VolumeStatus=%d",
-                drvItem->VolumeStatus() )
-
-            INFO_LOG1( "CFileManagerItemFilter::FilterItemL()-DriveStatus=%d",
-                drvItem->DriveStatus() )
-
-#ifdef RD_MULTIPLE_DRIVE
-            // Setup drive icon
-            TUint driveStatus( drvItem->DriveStatus() );
-            if ( !( driveStatus & DriveInfo::EDriveUserVisible ) )
-                {
-                ERROR_LOG( "CFileManagerItemFilter::FilterItemL()-Hidden-1" )
-                return EFalse;
-                }
-            TInt icon( 0 );
-            if ( driveStatus & DriveInfo::EDriveInternal )
-                {
-                icon = EFileManagerPhoneMemoryMainIcon;
-                if ( driveStatus & DriveInfo::EDriveExternallyMountable )
-                    {
-                    icon = EFileManagerMassStorageMainIcon;
-                    }
-                }
-            else if ( driveStatus & DriveInfo::EDriveUsbMemory )
-                {
-                icon = EFileManagerUsbMemoryMainIcon;
-                }
-            else if ( driveStatus & DriveInfo::EDriveRemovable )
-                {
-                icon = EFileManagerMemoryCardNotPresentMainIcon;
-                if ( driveStatus & DriveInfo::EDrivePresent )
-                    {
-                    icon = EFileManagerMemoryCardPresentMainIcon;
-                    }
-                }
-            else if ( driveStatus & DriveInfo::EDriveRemote )
-                {
-                icon = EFileManagerRemoteDriveMainIcon;
-                }
-            else
-                {
-                ERROR_LOG( "CFileManagerItemFilter::FilterItemL()-Hidden-2" )
-                return EFalse;
-                }
-            drvItem->SetIconId( icon );
-            // Setup root directory
-            if ( PathInfo::GetRootPath( iFileNameBuffer, drvItem->Drive() ) != KErrNone )
-                {
-                ERROR_LOG( "CFileManagerItemFilter::FilterItemL()-Hidden-3" )
-                return EFalse;
-                }
-            drvItem->SetRootDirectoryL( iFileNameBuffer );
-            INFO_LOG( "CFileManagerItemFilter::FilterItemL()-Visible" )
-
-#else // RD_MULTIPLE_DRIVE
-
-            TBool isPhoneMem( EFalse );
-            TPtrC root( drvItem->RootDirectory() );
-            TPtrC phoneMemRoot( *iPhoneMemoryRootPath );
-            TInt len( Min( root.Length(), phoneMemRoot.Length() ) );
-            if ( !root.CompareF( phoneMemRoot.Left( len ) ) )
-                {
-                // Drive is defined to phone memory
-                isPhoneMem = ETrue;
-                drvItem->SetRootDirectoryL( *iPhoneMemoryRootPath );
-                }
-            else if ( vol.iDrive.iDriveAtt & KDriveAttInternal )
-                {
-                if ( drive == KFmgrRamDrive || drive == KFmgrRomDrive )
-                    {
-                    // Drive is not allowed internal drive
-                    return EFalse;
-                    }
-                }
-            if ( vol.iDrive.iDriveAtt & KDriveAttSubsted )
-                {
-                // Substed drives are not allowed
-                return EFalse;
-                }
-            // Setup drive name
-            if ( !drvItem->Name().Length() )
-                {
-                if ( isPhoneMem )
-                    {
-                    drvItem->SetLocalizedNameL( *iInternalDefaultName );
-                    }
-                else if ( ( vol.iDrive.iDriveAtt & KDriveAttRemovable ) ||
-                        drive == KFmgrMemoryCardDrive )
-                    {
-                    drvItem->SetLocalizedNameL( *iRemovableDefaultName );
-                    }
-                else
-                    {
-                    drvItem->SetLocalizedNameL( drvItem->RootDirectory() );
-                    }
-                }
-            // Setup drive icon
-            if ( isPhoneMem )
-                {
-                drvItem->SetIconId( EFileManagerPhoneMemoryMainIcon );
-                }
-            else if ( ( vol.iDrive.iDriveAtt & KDriveAttRemovable ) ||
-                drive == KFmgrMemoryCardDrive )
-                {
-                if ( vol.iDrive.iType == EMediaNotPresent )
-                    {
-                    drvItem->SetIconId( EFileManagerMemoryCardNotPresentMainIcon );
-                    }
-                else
-                    {
-                    drvItem->SetIconId( EFileManagerMemoryCardPresentMainIcon );
-                    }
-                }
-            else if ( vol.iDrive.iDriveAtt & KDriveAttRemote )
-                {
-                drvItem->SetIconId( EFileManagerRemoteDriveMainIcon );
-                }
-            else
-                {
-                return EFalse;
-                }
-            INFO_LOG( "CFileManagerItemFilter::FilterItemL()-driveAllowed" )
-
-#endif // RD_MULTIPLE_DRIVE
-            break;
-            }
-        default:
-            {
-            break;
-            }
-        }
-    return ETrue;
-    }
-
-//  End of File