cmmanager/cmmgr/Framework/Src/selectdestination.cpp
changeset 20 9c97ad6591ae
parent 18 fcbbe021d614
child 21 b8e8e15e80f2
child 23 7ec726f93df1
child 28 860702281757
--- a/cmmanager/cmmgr/Framework/Src/selectdestination.cpp	Fri Apr 16 15:21:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,285 +0,0 @@
-/*
-* Copyright (c) 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:  Shows the "Select destination:" dialog, where the user can 
-*                select one of the available destinations.
-*
-*/
-
-#include <AknUtils.h>
-#include <badesca.h>
-#include <StringLoader.h>
-#include <cmmanager.rsg>
-#include "selectdestinationdlg.h"
-#include <cmcommonconstants.h>
-#include <cmcommonui.h>
-#include "cmdestinationimpl.h"
-#include "cmlogger.h"
-#include "cmmanagerimpl.h"
-
-#include <cmmanagerdef.h>
-
-// ----------------------------------------------------------------------------
-// CSelectDestinationDlg::CSelectDestinationDlg
-// ----------------------------------------------------------------------------
-//
-CSelectDestinationDlg::CSelectDestinationDlg( TInt aDummyIndex,
-                                              TUint32& aDestinationId )
-    : CAknListQueryDialog( &aDummyIndex )
-    , iDestinationId( aDestinationId )
-    , iDestinations( KCmArrayMediumGranularity )
-    {
-    CLOG_CREATE;
-    }
-
-// ----------------------------------------------------------------------------
-// CSelectDestinationDlg::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CSelectDestinationDlg::ConstructL( CCmManagerImpl& aCmManager,
-                                        RArray<TUint32>* aDestArray )
-    {
-    LOGGER_ENTERFN( "CSelectDestinationDlg::ConstructL" );
-    RArray<TUint32> destinations( KCmArrayMediumGranularity );
-    CleanupClosePushL( destinations );
-
-    aCmManager.AllDestinationsL( destinations );
-
-    TBool mmsFound = EFalse;
-    for ( TInt i = 0; i < destinations.Count(); i++ )
-        {
-        CCmDestinationImpl* dest = aCmManager.DestinationL( destinations[i] );
-        CleanupStack::PushL( dest );   
-             
-        // Don't count the current destination
-        if ( dest->Id() == iDestinationId )
-            {
-            CleanupStack::PopAndDestroy( dest );
-            continue;
-            }
-               
-        // Do not give the option to copy into a Level 1 Protected Destination
-        if ( dest->ProtectionLevel() == CMManager::EProtLevel1 )
-            {
-            CleanupStack::PopAndDestroy( dest );
-            continue;
-            }
-
-        // check if the destination is valid as parent (e.g. for VPN)
-        if ( aDestArray && aDestArray->Find( dest->Id() ) == KErrNotFound )
-            {
-            CleanupStack::PopAndDestroy( dest );
-            continue;
-            }
-        
-        // Skip the MMS Snap, it it not shown in the list
-        if ( !mmsFound )
-            {
-            TInt snapMetadata = 0;
-            TRAPD(metaErr, snapMetadata = dest->MetadataL( CMManager::ESnapMetadataPurpose ));
-            if ( metaErr == KErrNone && snapMetadata == CMManager::ESnapPurposeMMS )
-                {
-                CleanupStack::PopAndDestroy( dest );
-                mmsFound = ETrue;
-                continue;
-                }
-            }
-        
-        iDestinations.AppendL( dest );
-        CleanupStack::Pop( dest );
-        }
-    CleanupStack::PopAndDestroy( &destinations );
-    }
-    
-// ----------------------------------------------------------------------------
-// CSelectDestinationDlg::~CSelectDestinationDlg
-// ----------------------------------------------------------------------------
-//
-CSelectDestinationDlg::~CSelectDestinationDlg()
-    {
-    for ( TInt i = 0; i < iDestinations.Count(); i++ )
-        {
-        delete iDestinations[i];
-        }
-    iDestinations.Close();
-    CLOG_CLOSE;
-    }
-
-// ----------------------------------------------------------------------------
-// CSelectDestinationDlg::NewL
-// ----------------------------------------------------------------------------
-//
-CSelectDestinationDlg* CSelectDestinationDlg::NewL( TUint32& aDestinationId,
-                                                    CCmManagerImpl& aCmManager,
-                                                    RArray<TUint32>* aDestArray )
-    {
-    CSelectDestinationDlg* self = NewLC( aDestinationId, aCmManager, aDestArray );
-
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CSelectDestinationDlg::NewLC
-// ----------------------------------------------------------------------------
-//
-CSelectDestinationDlg* CSelectDestinationDlg::NewLC( TUint32& aDestinationId,
-                                                     CCmManagerImpl& aCmManager,
-                                                     RArray<TUint32>* aDestArray )
-    {
-    CSelectDestinationDlg* self =
-                    new (ELeave) CSelectDestinationDlg( 0, aDestinationId );
-
-    CleanupStack::PushL( self );
-
-    self->ConstructL( aCmManager, aDestArray );
-
-    return self;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CSelectDestinationDlg::OkToExitL
-// ----------------------------------------------------------------------------
-//
-TBool CSelectDestinationDlg::OkToExitL( TInt aButtonId )
-    {
-    TBool result = EFalse;
-    
-    if ( aButtonId == EAknSoftkeySelect || aButtonId == EAknSoftkeyOk )
-        {
-        iDestinationId = iDestinations[ ListBox()->CurrentItemIndex() ]->Id();
-
-        result = ETrue;
-        }
-    else if ( aButtonId == EAknSoftkeyCancel )
-        {
-        iDestinationId = 0;
-
-        result = ETrue;
-        }
-
-    CLOG_WRITE_2( "CSelectDestinationDlg::OkToExitL dest ID: [%d], result: [%d]",
-                   iDestinationId, result );
-
-    return result;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CSelectDestinationDlg::PreLayoutDynInitL
-// ----------------------------------------------------------------------------
-//
-void CSelectDestinationDlg::PreLayoutDynInitL()
-    {
-    LOGGER_ENTERFN( "CSelectDestinationDlg::PreLayoutDynInitL" );
-    // Let the base class do its job first
-    CAknListQueryDialog::PreLayoutDynInitL();
-
-    // Set the description field on the query
-    HBufC* desc =
-              StringLoader::LoadLC( R_CMWIZARD_SELECT_DESTINATION_DESCRIPTION );
-
-    MessageBox()->SetMessageTextL( desc );
-    CleanupStack::PopAndDestroy( desc );
-
-    // Specify the item text array
-    CDesCArrayFlat* itemArray =
-                      new (ELeave) CDesCArrayFlat( KCmArrayMediumGranularity );
-    SetItemTextArray( itemArray );
-    SetOwnershipType( ELbmOwnsItemArray );
-
-    // Note: we don't have to put 'itemArray' on to the cleanup stack, as the
-    // model has already taken this object over.
-    
-    for ( TInt i = 0; i < iDestinations.Count(); i++ )
-        {       
-        // Here we take advantage of the fact that our icon array is ordered.
-        // That is, the indices of the icons in the array will always be
-        // in sync with those in the item text array (i.e. each bearer will
-        // have the right icon associated with it).
-        HBufC* destName = iDestinations[i]->NameLC();
-        HBufC* lineText =
-            TCmCommonUi::FormattedTextForListBoxLC( i, *destName );
-
-        itemArray->AppendL( *lineText );
-        CleanupStack::PopAndDestroy( 2, destName ); // destName, lineText
-        }
-
-    // Icons ...
-    SetIconsL();
-    }
-
-
-// ----------------------------------------------------------------------------
-// CSelectDestinationDlg::SetIconsL()
-// ----------------------------------------------------------------------------
-//
-void CSelectDestinationDlg::SetIconsL()
-    {
-    CArrayPtr<CGulIcon>* icons =
-             new (ELeave) CArrayPtrFlat<CGulIcon>( KCmArrayMediumGranularity );
-    CleanupStack::PushL( icons );
-
-    for ( TInt i = 0; i < iDestinations.Count(); i++ )
-        {
-        CGulIcon* icon = iDestinations[i]->IconL();
-        CleanupStack::PushL( icon );
-
-        icons->AppendL( icon );
-
-        CleanupStack::Pop( icon );  // icon array took over ownership
-        }
-
-    SetIconArrayL( icons ); // ownership passed, too
-
-    CleanupStack::Pop( icons );
-    }
-
-
-// ----------------------------------------------------------------------------
-// void CSelectDestinationDlg::HandleResourceChange
-// ----------------------------------------------------------------------------
-//
-void CSelectDestinationDlg::HandleResourceChange( TInt aType )
-    {
-    if ( aType == KAknsMessageSkinChange )
-        {
-        CAknListQueryDialog::HandleResourceChange( aType );
-
-        TRAP_IGNORE( SetIconsL() );
-
-        SizeChanged();
-        }
-    else
-        {
-        if ( aType == KEikDynamicLayoutVariantSwitch )
-            {
-            TRect mainPaneRect;
-            AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane,
-                                               mainPaneRect );
-
-            TAknLayoutRect layoutRect;
-            layoutRect.LayoutRect( TRect( TPoint( 0, 0 ), 
-                                   mainPaneRect.Size() ),
-                                   AKN_LAYOUT_WINDOW_list_gen_pane( 0 ) );
-
-            ListBox()->SetRect( layoutRect.Rect() );
-            }
-
-        // Base call
-        CAknListQueryDialog::HandleResourceChange( aType );
-        }
-    }