apengine/apsettingshandlerui/src/ApSelPopupList.cpp
changeset 61 8b0c979bbe8c
parent 59 2709c04a4af5
child 70 ac5daea24fb0
--- a/apengine/apsettingshandlerui/src/ApSelPopupList.cpp	Fri Sep 03 09:38:26 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,955 +0,0 @@
-/*
-* Copyright (c) 2002 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: 
-*     Defines CApSelPopupList for access point selection.
-*
-*/
-
-
-// INCLUDE FILES
-#include "APSettingsHandlerUIVariant.hrh"
-
-#include <ApListItem.h>
-#include <apsetui.rsg>
-#include <featmgr.h>
-
-#include "ApSelectorListBoxModel.h"
-#include "ApSettingsModel.h"
-#include "ApSettingsHandlerUI.hrh"
-#include "ApSelPopupList.h"
-#include "ApsettingshandleruiImpl.h"
-
-
-#include "ApSettingsHandlerLogger.h"
-
-#include <ApProtHandler.h>  // for protection of settings
-
-#include <AknsUtils.h>
-#include <apsettings.mbg>
-#include <data_caging_path_literals.hrh>
-
-
-// CONSTANTS
-// Drive and file name of the MBM file containing icons for Protection
-_LIT( KFileIcons, "z:ApSettings.mbm" );
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CApSelPopupList::NewL
-// ---------------------------------------------------------
-//
-CApSelPopupList* CApSelPopupList::NewL( CApSettingsModel& aModel,
-                                       CApSettingsHandlerImpl& aHandler,
-                                       TInt& aCurrentSelectionIndex,
-                                       TInt& aPreferredUid,
-                                       TSelectionMenuType aSelMenuType,
-                                       TInt aIspFilter, TInt aBearerFilter,
-                                       TInt aSortType, TUint32& aEventStore,
-                                       CDesCArrayFlat* aItemArray,
-                                       TBool aNeedsNone,
-                                       TBool aNoEdit,
-                                       TInt aReqIpvType,
-                                       TVpnFilterType aVpnFilterType
-                                       )
-    {
-    APSETUILOGGER_ENTERFN( EListbox,"SelPopupList::NewL")
-    CApSelPopupList* self = 
-        new ( ELeave ) CApSelPopupList( aModel, aHandler,
-                                        aCurrentSelectionIndex,
-                                        aPreferredUid, aSelMenuType,
-                                        aIspFilter, aBearerFilter,
-                                        aSortType, aItemArray,
-                                        aEventStore, aNeedsNone,
-                                        aNoEdit,
-                                        aReqIpvType,
-                                        aVpnFilterType
-                                        );
-//  till that point, object is only partially constructed!
-    
-    APSETUILOGGER_LEAVEFN( EListbox,"SelPopupList::NewL")
-    return self;
-    }
-
-
-
-
-
-// ---------------------------------------------------------
-// CApSelPopupList::NewL
-// ---------------------------------------------------------
-//
-CApSelPopupList* CApSelPopupList::NewL( CApSettingsModel& aModel,
-                                       CApSettingsHandlerImpl& aHandler,
-                                       TInt& aCurrentSelectionIndex,
-                                       TInt& aPreferredUid,
-                                       TSelectionMenuType aSelMenuType,
-                                       TInt aIspFilter, TInt aBearerFilter,
-                                       TInt aSortType, TUint32& aEventStore,
-                                       CDesCArrayFlat* aItemArray,
-                                       TBool aNeedsNone,
-                                       TInt aReqIpvType,
-                                       TVpnFilterType aVpnFilterType,
-                                       TBool aIncludeEasyWlan,
-                                       TBool aNoEdit
-                                       )
-    {
-    APSETUILOGGER_ENTERFN( EListbox,"SelPopupList::NewL2")
-    
-    CApSelPopupList* self = 
-        new ( ELeave ) CApSelPopupList( aModel, aHandler,
-                                        aCurrentSelectionIndex,
-                                        aPreferredUid, aSelMenuType,
-                                        aIspFilter, aBearerFilter,
-                                        aSortType, aItemArray,
-                                        aEventStore, aNeedsNone,
-                                        aReqIpvType,
-                                        aVpnFilterType,
-                                        aIncludeEasyWlan,
-                                        aNoEdit
-                                        );
-//  till that point, object is only partially constructed!
-    
-    APSETUILOGGER_LEAVEFN( EListbox,"SelPopupList::NewL2")
-    return self;
-    }
-    
-    
-
-// ---------------------------------------------------------
-// CApSelPopupList::ConstructL
-// ---------------------------------------------------------
-//
-void CApSelPopupList::ConstructL()
-    {
-    APSETUILOGGER_ENTERFN( EListbox,"SelPopupList::ConstructL")
-
-    FeatureManager::InitializeLibL();
-    iHelpSupported = FeatureManager::FeatureSupported( KFeatureIdHelp );
-    iProtectionSupported = FeatureManager::FeatureSupported( 
-                                           KFeatureIdSettingsProtection );
-    FeatureManager::UnInitializeLib();
-    
-    CAknRadioButtonSettingPage::ConstructL();
-    iList = ListBoxControl();
-    iModel = new( ELeave )CApSelectorListboxModel(
-                          CApSelectorListboxModel::EGraphicOnOff );
-    iList->Model()->SetItemTextArray( iModel );
-    if ( iProtectionSupported )
-        {
-        TInt offset = LoadIconsL();
-        iModel->SetOwnIconOffset( offset );
-        }
-    FillListBoxWithDataL();
-    iDataModel->Database()->AddObserverL( this );
-        
-    if ( !iModel->Count() )
-        {
-        // no ap defined, ask query if editable,
-        // show note if not
-        if ( iNoEdit )
-            {
-            // show note first, 
-            ShowNoteL( R_APUI_VIEW_NO_IAP_DEFINED_INFO );
-            // then simply go back:
-            iDoExit = ETrue;
-            }
-        else
-            {
-            if ( !AskQueryL( R_APUI_IAP_CREATE_NEW ) )
-                { // do not create, simply go back
-                iDoExit = ETrue;
-                }
-            else
-                { // create new AP
-                // just ket it pass, later in it will be handled in CheckIfEmptyL()
-                }                        
-            }
-        }    
-    
-    APSETUILOGGER_LEAVEFN( EListbox,"SelPopupList::ConstructL")
-    }
-
-
-
-// Destructor
-CApSelPopupList::~CApSelPopupList()
-    {
-    APSETUILOGGER_ENTERFN( EListbox,"SelPopupList::~CApSelPopupList")
-    
-    if ( iDataModel )
-        {
-        if ( iDataModel->Database() )
-            {
-            // must remove observer here as there is a chance that we do not exit
-            // through the standard way but through Leave(KErrLeaveWithoutAlert)...
-            iDataModel->Database()->RemoveObserver( this );
-            }
-        }
-
-    if ( iModel )
-        {
-        iModel->ResetAndDestroy();
-        delete iModel;
-        }
-    
-    APSETUILOGGER_LEAVEFN( EListbox,"SelPopupList::~CApSelPopupList")
-    }
-
-
-
-// Constructor
-CApSelPopupList::CApSelPopupList(
-                                 CApSettingsModel& aModel,
-                                 CApSettingsHandlerImpl& aHandler,
-                                 TInt& aIndex, TInt& aPreferredUid,
-                                 TSelectionMenuType aSelMenuType,
-                                 TInt aIspFilter, TInt aBearerFilter,
-                                 TInt aSortType, CDesCArrayFlat* aItemArray,
-                                 TUint32& aEventStore, TBool aNeedsNone,
-                                 TBool aNoEdit,
-                                 TInt aReqIpvType,
-                                 TVpnFilterType aVpnFilterType
-                                 )
-:CAknRadioButtonSettingPage( R_POPUP_LIST_SETTING_PAGE,
-                             aIndex, aItemArray ),
-iDataModel( &aModel ),
-iSelected( &aPreferredUid ),
-iBearerFilter( aBearerFilter ),
-iIspFilter( aIspFilter ),
-iSortType( aSortType ),
-iSelMenuType( aSelMenuType ),
-iHandler( &aHandler ),
-iEventStore( &aEventStore ),
-iPreferredUid( aPreferredUid ),
-iNeedsNone( aNeedsNone ),
-iNeedUnlock( EFalse ),
-iReqIpvType( aReqIpvType ),
-iVpnFilterType( aVpnFilterType ),
-iVariant( aHandler.iExt->iVariant ),
-iIncludeEasyWlan( EFalse ),
-iNoEdit( aNoEdit )
-    {
-    }
-
-
-
-
-CApSelPopupList::CApSelPopupList(
-                                 CApSettingsModel& aModel,
-                                 CApSettingsHandlerImpl& aHandler,
-                                 TInt& aIndex, TInt& aPreferredUid,
-                                 TSelectionMenuType aSelMenuType,
-                                 TInt aIspFilter, TInt aBearerFilter,
-                                 TInt aSortType, CDesCArrayFlat* aItemArray,
-                                 TUint32& aEventStore, TBool aNeedsNone,
-                                 TInt aReqIpvType,
-                                 TVpnFilterType aVpnFilterType,
-                                 TBool aIncludeEasyWlan,
-                                 TBool aNoEdit
-                                 )
-:CAknRadioButtonSettingPage( R_POPUP_LIST_SETTING_PAGE,
-                             aIndex, aItemArray ),
-iDataModel( &aModel ),
-iSelected( &aPreferredUid ),
-iBearerFilter( aBearerFilter ),
-iIspFilter( aIspFilter ),
-iSortType( aSortType ),
-iSelMenuType( aSelMenuType ),
-iHandler( &aHandler ),
-iEventStore( &aEventStore ),
-iPreferredUid( aPreferredUid ),
-iNeedsNone( aNeedsNone ),
-iNeedUnlock( EFalse ),
-iReqIpvType( aReqIpvType ),
-iVpnFilterType( aVpnFilterType ),
-iVariant( aHandler.iExt->iVariant ),
-iIncludeEasyWlan( aIncludeEasyWlan ),
-iInitialised( EFalse ),
-iNoEdit( aNoEdit )
-    {
-    }
-
-
-
-
-// ---------------------------------------------------------
-// CApSelPopupList::SetHighlighted()
-// called when needs to change the highlighting
-// ---------------------------------------------------------
-//
-void CApSelPopupList::SetHighlighted()
-    {
-    APSETUILOGGER_ENTERFN( EListbox,"SelPopupList::SetHighlighted")
-    
-    TInt err( KErrNone );
-    TInt idx = iModel->Item4Uid( iPreferredUid, err );
-    
-    // if UID exists, set as current, else set 0 as current.
-    iList->SetCurrentItemIndexAndDraw( err == KErrNone ? idx : 0);
-    
-    APSETUILOGGER_LEAVEFN( EListbox,"SelPopupList::SetHighlighted")
-    }
-
-
-// ---------------------------------------------------------
-// CApSelPopupList::GetHelpContext()
-// ---------------------------------------------------------
-//
-void CApSelPopupList::GetHelpContext(TCoeHelpContext& aContext) const
-    {
-    APSETUILOGGER_ENTERFN( EListbox,"SelPopupList::GetHelpContext")
-    
-    aContext.iMajor = iHandler->iHelpMajor;
-    
-    APSETUILOGGER_LEAVEFN( EListbox,"SelPopupList::GetHelpContext")
-    }
-
-
-// ---------------------------------------------------------
-// CApSelPopupList::HandleApDbEventL
-// called by the active access point framework
-// ---------------------------------------------------------
-//
-void CApSelPopupList::HandleApDbEventL( TEvent anEvent )
-    {
-    APSETUILOGGER_ENTERFN( EListbox,"SelPopupList::HandleApDbEventL")
-    
-    switch ( anEvent )
-        {
-        case EDbChanged:
-            {
-            FillListBoxWithDataL();
-            break;
-            }
-        case EDbClosing:
-            {
-            break;
-            }
-        case EDbAvailable:
-            {
-            if ( iNeedUnlock )
-                {
-                FillListBoxWithDataL();
-                }
-            break;
-            }
-        default:
-            {
-            __ASSERT_DEBUG( EFalse, Panic( EUnknownCase ) );
-            break;
-            }
-        }
-    
-    APSETUILOGGER_LEAVEFN( EListbox,"SelPopupList::HandleApDbEventL")
-    }
-
-
-// ---------------------------------------------------------
-// CApSelPopupList::ActivateL()
-// called after the dialog is shown
-// used to handle empty list - query
-// ---------------------------------------------------------
-//
-void CApSelPopupList::ActivateL()
-    {
-    APSETUILOGGER_ENTERFN( EListbox,"SelPopupList::ActivateL")
-    
-    CAknRadioButtonSettingPage::ActivateL();
-
-    if (iDoExit)
-        {
-        User::Leave(KErrNone);
-        return;
-        }
-
-    // put empty list checking & required actions here.
-    CheckIfEmptyL();
-    
-    APSETUILOGGER_LEAVEFN( EListbox,"SelPopupList::ActivateL")
-    }
-
-
-
-// ---------------------------------------------------------
-// CApSelPopupList::SelectCurrentItemL()
-// called after the setting had been changed
-// ---------------------------------------------------------
-//
-void CApSelPopupList::SelectCurrentItemL()
-    {
-    APSETUILOGGER_ENTERFN( EListbox,"SelPopupList::SelectCurrentItemL")
-    
-    CAknRadioButtonSettingPage::SelectCurrentItemL();
-    TInt idx = iList->CurrentItemIndex();
-    if ( idx >= 0 )
-        {
-        *iSelected = iModel->At( idx )->Uid();
-        }
-    
-    APSETUILOGGER_LEAVEFN( EListbox,"SelPopupList::SelectCurrentItemL")
-    }
-
-
-
-// ---------------------------------------------------------
-// CApSelPopupList::OkToExitL( TInt aButtonId )
-// called by framework when the OK button is pressed
-// ---------------------------------------------------------
-//
-TBool CApSelPopupList::OkToExitL( TInt aButtonId )
-    {
-    APSETUILOGGER_ENTERFN( EListbox,"SelPopupList::OkToExitL")
-    
-    // Translate the button presses into commands for the appui & current
-    // view to handle.
-    // This is a very good thing, that aButtonId is a TInt,
-    // but the caller ( CAknSettingPage ) simply uses a TBool.
-    // The value of ETrue means the button usually for Yes, Ok, Options, etc
-    // and EFalse means Back, Cancel, etc.
-    // so we must act according to a boolean value and not
-    // according to the real button id...
-    TBool IsAccepted = aButtonId;
-
-    if ( IsAccepted )
-        {
-        TInt idx = iList->CurrentItemIndex();
-        if ( idx >= 0 )
-            {
-            *iSelected = iModel->At( idx )->Uid();
-            }
-        }
-    
-    APSETUILOGGER_LEAVEFN( EListbox,"SelPopupList::OkToExitL")
-    return ETrue;
-    }
-
-
-
-// ---------------------------------------------------------
-// CApSelPopupList::FillListBoxWithDataL()
-// called when listbox needs to be filled with data
-// ---------------------------------------------------------
-//
-void CApSelPopupList::FillListBoxWithDataL()
-    {
-    APSETUILOGGER_ENTERFN( EListbox,"SelPopupList::FillListBoxWithDataL")
-    
-    iPreferredLine = iList->CurrentItemIndex();
-    if ( iPreferredLine < 0 )
-        {
-        iPreferredLine = 0;
-        }
-
-    TBool isLocked(EFalse);
-    iNeedUnlock = EFalse;
-    iDataModel->AllListItemDataL( isLocked, *iModel, iIspFilter, 
-                                  iBearerFilter, iSortType, iReqIpvType,
-                                  iVpnFilterType, iIncludeEasyWlan );
-    if ( isLocked )
-        {
-        iNeedUnlock = ETrue;
-        }
-
-    iList->View()->SetDisableRedraw( ETrue );
-
-    if ( iNeedsNone )
-        {
-        HBufC* buf = iEikonEnv->AllocReadResourceLC( R_APUI_VIEW_AP_NONE );
-        CApListItem* NoneItem = CApListItem::NewLC
-                        (
-                        EIspTypeInternetAndWAP, KApNoneUID,
-                        *buf,
-                        EApBearerTypeHSCSD
-                        );
-        iModel->InsertL( 0, NoneItem );
-        // as InsertL passes ownership of item to array,
-        // remove from cleanupstack
-        CleanupStack::Pop(); // NoneItem, as ownership is passed to array
-        CleanupStack::PopAndDestroy(); // buf, as item has copied it...
-        }
-
-    iList->HandleItemAdditionL();
-
-    iList->View()->SetDisableRedraw( EFalse );
-    iList->HandleItemAdditionL();
-
-    SetSelectedL();
-    iPreferredUid = *iSelected;
-    
-    SetHighlighted();
-
-    SizeChanged();
-    DrawNow();
-    
-    CheckAndSetDataValidity();
-    UpdateCbaL();
-    
-    APSETUILOGGER_LEAVEFN( EListbox,"SelPopupList::FillListBoxWithDataL")
-    }
-
-
-// ---------------------------------------------------------
-// CApSelPopupList::SetSelectedL()
-// ---------------------------------------------------------
-//
-void CApSelPopupList::SetSelectedL()
-    {
-    APSETUILOGGER_ENTERFN( EListbox,"SelPopupList::SetSelectedL")
-    
-    TInt i( 0 );
-    TInt idx( 0 );//set something that does no harm...
-    TInt count = iModel->Count(); 
-    for( i=0; i<count; i++ )
-        {
-        if ( iModel->At( i )->Uid() == TUint32( *iSelected ) )
-            {
-            idx = i;
-            i = count;
-            }
-        }
-    iList->SetCurrentItemIndexAndDraw( idx );
-    SelectCurrentItemL();
-    
-    APSETUILOGGER_LEAVEFN( EListbox,"SelPopupList::SetSelectedL")
-    }
-
-
-// ---------------------------------------------------------
-// CApSelPopupList::CheckIfEmptyL()
-// ---------------------------------------------------------
-//
-void CApSelPopupList::CheckIfEmptyL()
-    {
-    APSETUILOGGER_ENTERFN( EListbox,"SelPopupList::CheckIfEmptyL")
-    
-    if ( !iModel->Count() )
-        {
-        // no ap defined, create new AP
-        ProcessCommandL( EApSelCmdNewBlank );
-        }
-    iInitialised = ETrue;
-    
-    APSETUILOGGER_LEAVEFN( EListbox,"SelPopupList::CheckIfEmptyL")
-    }
-
-
-
-// ---------------------------------------------------------
-// CApSelPopupList::DynInitMenuPaneL
-// ---------------------------------------------------------
-//
-void CApSelPopupList::DynInitMenuPaneL( TInt aResourceId,
-                                        CEikMenuPane* aMenuPane )
-    {
-    APSETUILOGGER_ENTERFN( EListbox,"SelPopupList::DynInitMenuPaneL")
-    
-    CAknSettingPage::DynInitMenuPaneL( aResourceId, aMenuPane );
-
-    TInt itemCount = iList->Model()->NumberOfItems();
-    TInt idx = iList->CurrentItemIndex();
-    TUint32 itemUid(0);
-    if ( itemCount )
-        {
-        itemUid = iModel->At( idx )->Uid();
-        }
-
-    if ( iHandler->iModel->Need2DeleteSelect( aResourceId, itemCount ) )
-        {
-        aMenuPane->DeleteMenuItem( EApSelCmdSelect );
-        }
-
-    if ( iHandler->iModel->Need2DeleteOpen( aResourceId, itemCount, 
-                                            itemUid, iNeedsNone ) )
-        {
-        aMenuPane->DeleteMenuItem( EApSelCmdOpen );
-        }
-    if ( iHandler->iModel->Need2DeleteDeleteL( aResourceId, itemCount, 
-                                              itemUid, iNeedsNone ) )
-        {
-        aMenuPane->DeleteMenuItem( EApSelCmdDelete );
-        }
-
-    if ( iHandler->iModel->Need2DeleteNewUseExisting( 
-                        aResourceId, itemCount ) )
-        {
-        aMenuPane->DeleteMenuItem( EApSelCmdNewUseExisting );
-        }
-    if ( iHandler->iModel->Need2DeleteNewL( aResourceId ) )
-        {
-        aMenuPane->DeleteMenuItem( EApSelCmdNewBlank );
-        }
-
-    if ( iHandler->iModel->Need2DeleteHelp( aResourceId ) )
-        {
-        aMenuPane->DeleteMenuItem( EAknCmdHelp );                
-        }
-
-    if ( aResourceId == R_APSETTINGSUI_MENU_SELECT_NORMAL )
-        {
-        if ( iSelMenuType == EApSettingsSelMenuSelectOnly )
-            {
-            // Disallow other menues by deleting them
-            aMenuPane->DeleteMenuItem( EApSelCmdExit );
-            }
-        }
-    
-    APSETUILOGGER_LEAVEFN( EListbox,"SelPopupList::DynInitMenuPaneL")
-    }
-
-
-// From MEikCommandObserver
-// ---------------------------------------------------------
-// CApSelPopupList::ProcessCommandL
-// ---------------------------------------------------------
-//
-void CApSelPopupList::ProcessCommandL( TInt aCommandId )
-    {
-    APSETUILOGGER_ENTERFN( EListbox,"SelPopupList::ProcessCommandL")
-    
-    if ( MenuShowing() )
-        {
-        HideMenu();
-        }
-
-    switch ( aCommandId )
-        {
-        case EAknSoftkeyOptions:
-            {
-            DisplayMenuL();
-            break;
-            }
-        case EAknSoftkeyBack:
-            {
-            AttemptExitL( EFalse );
-            break;
-            }
-        case EAknSoftkeyCancel:
-            {
-            *iEventStore |= KApUiEventShutDownRequested;
-            AttemptExitL( EFalse );
-            break;
-            }
-        case EAknSoftkeyOk:
-        case EApSelCmdSelect:
-            {
-            *iEventStore |= KApUiEventSelected;
-            
-            TUint32 currUid = iModel->At( iList->CurrentItemIndex() )->Uid();
-            if( iPreferredUid != currUid )
-                {
-                iPreferredUid = currUid;
-                SetHighlighted();
-                }
-
-            CAknRadioButtonSettingPage::SelectCurrentItemL();
-            AttemptExitL( ETrue );
-            break;
-            }
-        case EApSelCmdOpen:
-            {// as we must be standing on an item, it must exist...
-            // So no problem on iModel->At( ...)
-            iPreferredUid = iModel->At( iList->CurrentItemIndex() )->Uid();
-            iHandler->DoRunViewerL( iPreferredUid );
-            SetHighlighted();
-            break;
-            }
-        case EApSelCmdNew:
-            {
-            break; // starts a submenu, nothing to do here
-            }
-        case EApSelCmdNewBlank:
-            {
-            iPreferredUid = iHandler->HandleApBlankNewL(
-                                            iBearerFilter, iIspFilter );
-            SetHighlighted();
-            break;
-            }
-        case EApSelCmdNewUseExisting:
-            {
-            TUint32 currid = iModel->At( iList->CurrentItemIndex() )->Uid();
-            iPreferredUid = iHandler->HandleDuplicateL( currid );
-            SetHighlighted();
-            break;
-            }
-        case EApSelCmdDelete:
-            {
-            // As it might have been started by the Clear key,
-            // we must check if there is any...
-            TInt cnt = iModel->Count();
-            if ( ( iNeedsNone & ( cnt > 1 ) ) || ( !iNeedsNone && cnt ) )
-                {
-                // as we must be standing on an item, it must exists...
-                // So no problem on iModel->At( ...)
-                if ( iList->CurrentItemIndex() < ( iModel->Count()-1 ) )
-                    {// move to next one if possible
-                    iPreferredUid = iModel->At(
-                            iList->CurrentItemIndex()+1 )->Uid();
-                    }
-                else
-                    { // if it is the last, move to previous if possible.
-                    // if not, set to 0
-                    if ( iModel->Count()> 1 )
-                        {// move to prev. one if possible
-                        iPreferredUid = iModel->At(
-                            iList->CurrentItemIndex()-1 )->Uid();
-                        }
-                    else
-                        {
-                        iPreferredUid = 0;
-                        }
-                    }
-                iHandler->HandleApDeleteCmdL(
-                            iModel->At( iList->CurrentItemIndex() )->Uid(),
-                            iModel->Count() == (1+iNeedsNone) );
-                }
-            break;
-            }
-        case EAknCmdHelp:
-            {
-			if ( iHelpSupported )
-				{
-            	iDataModel->LaunchHelpL();
-				}
-            break;
-            }
-        default:
-            {
-            // silently ignore it
-            break;
-            }
-        }
-    // check if user wants to Exit....
-    if ( *iEventStore & KApUiEventExitRequested )
-        {
-        if ( iInitialised )
-            {                        
-            AttemptExitL( EFalse );
-            }
-        else
-            {
-            *iEventStore |= KApUiEventInternal;
-            User::Leave(KLeaveWithoutAlert);
-            }            
-        }
-    else
-        {
-        switch ( aCommandId )
-            {
-            case EApSelCmdExit:
-                {
-                *iEventStore |= KApUiEventExitRequested;
-                AttemptExitL( EFalse );
-                break;
-                }
-            case EEikCmdExit:
-                {
-                *iEventStore |= KApUiEventShutDownRequested;
-                AttemptExitL( EFalse );
-                break;
-                }
-            default:
-                {
-                break;
-                }
-            }
-        }
-    
-    APSETUILOGGER_LEAVEFN( EListbox,"SelPopupList::ProcessCommandL")
-    }
-
-
-    // From MEikListBoxObserver
-void CApSelPopupList::HandleListBoxEventL( CEikListBox* aListBox,
-                        MEikListBoxObserver::TListBoxEvent aEventType )
-    {
-    APSETUILOGGER_ENTERFN( EListbox,"SelPopupList::HandleListBoxEventL")
-    
-    switch ( aEventType )
-        {
-        case EEventEnterKeyPressed:
-        case EEventItemDoubleClicked:
-        case EEventItemSingleClicked:
-            {
-            ProcessCommandL( EApSelCmdSelect );
-            break;
-            }
-        case EEventEditingStarted:
-            {
-            break;
-            }
-        case EEventEditingStopped:
-            {
-            break;
-            }
-        default:
-            {
-            CAknRadioButtonSettingPage::HandleListBoxEventL( aListBox, aEventType );
-            };
-        };
-    
-    APSETUILOGGER_LEAVEFN( EListbox,"SelPopupList::HandleListBoxEventL")
-    }
-
-
-// From CCoeControl
-// ---------------------------------------------------------
-// CApSelPopupList::OfferKeyEventL
-// ---------------------------------------------------------
-//
-TKeyResponse CApSelPopupList::OfferKeyEventL( const TKeyEvent& aKeyEvent,
-                                              TEventCode aType)
-    {
-    APSETUILOGGER_ENTERFN( EListbox,"SelPopupList::OfferKeyEventL")
-    
-    TKeyResponse retval;
-    
-    if ( aType == EEventKey )
-        {
-        if ( ( aKeyEvent.iCode == EKeyDelete ) ||
-            ( aKeyEvent.iCode == EKeyBackspace ) )
-            {
-            if (!iNoEdit)
-                {            
-                ProcessCommandL( EApSelCmdDelete );
-                }
-            retval = EKeyWasConsumed;
-            }
-        else
-            {
-            if ( ( aKeyEvent.iCode == EKeyOK || aKeyEvent.iCode == EKeyEnter ) &&
-                ( ( iSelMenuType == EApSettingsSelMenuSelectOnly ) ||
-                    ( iSelMenuType == EApSettingsSelMenuSelectNormal ) ) )
-                { // process only if command is available...
-                ProcessCommandL( EApSelCmdSelect );
-                retval = EKeyWasConsumed;
-                }
-            else
-                {
-                retval = CAknRadioButtonSettingPage::OfferKeyEventL(
-                                        aKeyEvent, aType );
-                }
-            }
-        }
-    else
-        {
-        retval = CAknRadioButtonSettingPage::OfferKeyEventL( aKeyEvent, aType );
-        }
-        
-    APSETUILOGGER_LEAVEFN( EListbox,"SelPopupList::OfferKeyEventL")
-    return retval;
-    }
-
-
-
-
-// ---------------------------------------------------------
-// CApSelPopupList::LoadIconsL
-// ---------------------------------------------------------
-//
-TInt CApSelPopupList::LoadIconsL()
-    {
-    APSETUILOGGER_ENTERFN( EListbox,"SelPopupList::LoadIconsL")
-    
-    CArrayPtr< CGulIcon >* icons = 
-                        iList->ItemDrawer()->FormattedCellData()->IconArray();
-
-    TInt count = icons->Count();
-
-    MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance();
-
-    TParse mbmFile;
-    User::LeaveIfError( mbmFile.Set( KFileIcons, &KDC_APP_BITMAP_DIR, NULL ) );
-
-    icons->AppendL( AknsUtils::CreateGulIconL( 
-                            skinInstance, 
-                            KAknsIIDQgnPropWmlGprs,
-                            mbmFile.FullName(), 
-                            EMbmApsettingsQgn_prop_wml_gprs, 
-                            EMbmApsettingsQgn_prop_wml_gprs_mask ) );
-
-    icons->AppendL( AknsUtils::CreateGulIconL( 
-                            skinInstance, 
-                            KAknsIIDQgnPropWmlCsd,
-                            mbmFile.FullName(), 
-                            EMbmApsettingsQgn_prop_wml_csd, 
-                            EMbmApsettingsQgn_prop_wml_csd_mask ) );
-
-    icons->AppendL( AknsUtils::CreateGulIconL( 
-                            skinInstance, 
-                            KAknsIIDQgnPropWmlHscsd,
-                            mbmFile.FullName(), 
-                            EMbmApsettingsQgn_prop_wml_hscsd, 
-                            EMbmApsettingsQgn_prop_wml_hscsd_mask ) );
-
-    icons->AppendL( AknsUtils::CreateGulIconL( 
-                            skinInstance, 
-                            KAknsIIDQgnPropWmlSms,
-                            mbmFile.FullName(), 
-                            EMbmApsettingsQgn_prop_wml_sms, 
-                            EMbmApsettingsQgn_prop_wml_sms_mask ) );
-
-    icons->AppendL( AknsUtils::CreateGulIconL( 
-                            skinInstance, 
-                            KAknsIIDQgnPropWlanBearer,
-                            mbmFile.FullName(), 
-                            EMbmApsettingsQgn_prop_wlan_bearer, 
-                            EMbmApsettingsQgn_prop_wlan_bearer_mask ) );
-
-    icons->AppendL( AknsUtils::CreateGulIconL( 
-                            skinInstance, 
-                            KAknsIIDQgnPropWlanBearer,
-                            mbmFile.FullName(), 
-                            EMbmApsettingsQgn_prop_wlan_easy, 
-                            EMbmApsettingsQgn_prop_wlan_easy_mask ) );
-
-    icons->AppendL( AknsUtils::CreateGulIconL( 
-                            skinInstance, 
-                            KAknsIIDQgnIndiSettProtectedAdd,
-                            mbmFile.FullName(), 
-                            EMbmApsettingsQgn_indi_sett_protected_add, 
-                            EMbmApsettingsQgn_indi_sett_protected_add_mask ) );
-
-    APSETUILOGGER_LEAVEFN( EListbox,"SelPopupList::LoadIconsL")
-    return count;
-    }
-
-
-
-
-// ---------------------------------------------------------
-// CApSelPopupList::HandleResourceChange
-// ---------------------------------------------------------
-//
-void CApSelPopupList::HandleResourceChange(TInt aType)
-    {
-    APSETUILOGGER_ENTERFN( EListbox,"SelPopupList::HandleResourceChange")
-    
-    if ( aType == KAknsMessageSkinChange )
-        {
-        iList->HandleResourceChange( aType );
-        if ( iProtectionSupported )
-            {
-            TRAP_IGNORE( LoadIconsL() );
-            }
-        SizeChanged();
-        }    
-        
-    CAknRadioButtonSettingPage::HandleResourceChange( aType );          
-    
-    APSETUILOGGER_LEAVEFN( EListbox,"SelPopupList::HandleResourceChange")
-    }
-
-// End of File