diff -r 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/src/EapAkaUiView.cpp --- a/wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/src/EapAkaUiView.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,463 +0,0 @@ -/* -* Copyright (c) 2001-2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of the License "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: Implementation of EAP AKA UI settings dialog -* -*/ - -/* -* %version: 29 % -*/ - -// INCLUDE FILES -#include -#include -#include -#include "EapAkaUiView.h" -#include "EapAkaUi.hrh" -#include -#include -#include -#include "EapAkaUiSettingArray.h" -#include -#include -#include - -#include -#include -#include - - -// LOCAL CONSTANTS AND MACROS -// UID of general settings app, in which help texts are included -const TUid KHelpUidPlugin = { 0x100058EC }; - -_LIT( KEmptyString, "" ); - - -// MODULE DATA STRUCTURES -enum - { - EUsernameInUseItem = 0, - EUsernameItem, - ERealmInUseItem, - ERealmItem - }; - - -// ============================ MEMBER FUNCTIONS =============================== - -// ----------------------------------------------------------------------------- -// CEapAkaUiDialog::CEapAkaUiDialog -// ----------------------------------------------------------------------------- -// -CEapAkaUiDialog::CEapAkaUiDialog( CEapAkaUiConnection* aConnection, - TInt& aButtonId ) -: CAknDialog(), - iConnection( aConnection ), - iDataConnection( 0 ), - iUiData( 0 ), - iSettingArray( 0 ), - iSettingListBox( 0 ), - iSettingListItemDrawer( 0 ), - iNaviPane( 0 ), - iNaviDecorator( 0 ), - iPreviousText( 0 ), - iButtonId( &aButtonId ), - iIsUIConstructionCompleted( EFalse ) - { - } - - -// --------------------------------------------------------- -// CEapAkaUiDialog::ConstructAndRunLD -// --------------------------------------------------------- -// -TInt CEapAkaUiDialog::ConstructAndRunLD( TInt aResourceId ) - { - CleanupStack::PushL( this ); - - iSettingArray = CEapAkaSettingItemArray::NewL(); - - User::LeaveIfError( iConnection->Connect() ); - iDataConnection = iConnection->GetDataConnection(); - if ( iDataConnection == 0 ) - { - User::Leave( KErrNoMemory ); - } - User::LeaveIfError( iDataConnection->Open() ); - User::LeaveIfError( iDataConnection->GetData( &iUiData ) ); - - FeatureManager::InitializeLibL(); - - ConstructL( R_AKA_MENUBAR ); - - // ExecuteLD will PushL( this ), so we have to Pop it... - CleanupStack::Pop( this ); // this - - return CAknDialog::ExecuteLD( aResourceId ); - } - - -// ----------------------------------------------------------------------------- -// CEapAkaUiDialog::~CEapAkaUiDialog -// ----------------------------------------------------------------------------- -// -CEapAkaUiDialog::~CEapAkaUiDialog() - { - if ( iSettingArray ) - { - iSettingArray->Array()->ResetAndDestroy(); - delete iSettingArray; - } - - delete iNaviDecorator; - iNaviDecorator = NULL; - - iSettingListBox = 0; - iSettingListItemDrawer = 0; - - iDataConnection->Close(); - delete iDataConnection; - iConnection->Close(); - delete iPreviousText; - - FeatureManager::UnInitializeLib(); - } - -// --------------------------------------------------------- -// CEapAkaUiDialog::HandleListBoxEventL -// --------------------------------------------------------- -// -void CEapAkaUiDialog::HandleListBoxEventL( CEikListBox* /*aListBox*/, - TListBoxEvent aEventType ) - { - switch ( aEventType ) - { - case EEventEnterKeyPressed: - case EEventItemSingleClicked: - { - OkToExitL( EAkaUiCmdChange ); - break; - } - - case EEventItemActioned: - case EEventEditingStarted: - case EEventEditingStopped: - case EEventPenDownOnItem: - case EEventItemDraggingActioned: - { - break; - } - - default: - { - break; - }; - }; - } - - - - -// ----------------------------------------------------------------------------- -// CEapAkaUiDialog::PreLayoutDynInitL -// ----------------------------------------------------------------------------- -// -void CEapAkaUiDialog::PreLayoutDynInitL() - { - ChangeTitleL( ETrue ); - - TUid naviPaneUid; - naviPaneUid.iUid = EEikStatusPaneUidNavi; - CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane(); - CEikStatusPaneBase::TPaneCapabilities subPane = - statusPane->PaneCapabilities( naviPaneUid ); - if ( subPane.IsPresent() && subPane.IsAppOwned() ) - { - iNaviPane = static_cast( - statusPane->ControlL( naviPaneUid ) ); - - // Set empty text to hide tabs. - iNaviDecorator = iNaviPane->CreateNavigationLabelL( KEmptyString ); - iNaviPane->PushL( *iNaviDecorator ); - } - - iSettingListBox = static_cast( - ControlOrNull( EAkaSettingsListBox ) ); - iSettingListItemDrawer=static_cast( - iSettingListBox->ItemDrawer() ); - iSettingListBox->SetMopParent( this ); - iSettingListBox->CreateScrollBarFrameL( ETrue ); - iSettingListBox->ScrollBarFrame()->SetScrollBarVisibilityL( - CEikScrollBarFrame::EOff, - CEikScrollBarFrame::EAuto ); - iSettingListBox->SetListBoxObserver( this ); - DrawSettingsListL(); - - iIsUIConstructionCompleted = ETrue; - } - - -// ----------------------------------------------------------------------------- -// CEapAkaUiDialog::ShowSettingPageL -// ----------------------------------------------------------------------------- -// -void CEapAkaUiDialog::ShowSettingPageL( TInt aCalledFromMenu ) - { - TInt index = iSettingListBox->CurrentItemIndex(); - CAknSettingItem* item = iSettingArray->Array()->At( index ); - item->EditItemL( aCalledFromMenu ); - item->StoreL(); - DrawNow(); - } - - -// ----------------------------------------------------------------------------- -// CEapAkaUiDialog::OkToExitL -// ----------------------------------------------------------------------------- -// -TBool CEapAkaUiDialog::OkToExitL( TInt aButtonId ) - { - TBool ret( EFalse ); - switch ( aButtonId ) - { - case EEikBidOk: - { - if( iIsUIConstructionCompleted ) - { - if ( iSettingListBox->IsFocused() ) - { - ShowSettingPageL( EFalse ); - } - } - else - { - #if defined(_DEBUG) || defined(DEBUG) - RDebug::Print(_L("CEapAkaUiDialog::OkToExitL - UI not ready - Ignoring key press.\n") ); - #endif - } - break; - } - - case EAknSoftkeyOptions: - { - DisplayMenuL(); - break; - } - - case EAknSoftkeyBack: - case EAknCmdExit: - { - if( iIsUIConstructionCompleted ) - { - iDataConnection->Update(); - ChangeTitleL( EFalse ); - ret = ETrue; - } - break; - } - case EAkaUiCmdChange: - { - if( iIsUIConstructionCompleted ) - { - ShowSettingPageL( EFalse ); - } - else - { - #if defined(_DEBUG) || defined(DEBUG) - RDebug::Print(_L("CEapAkaUiDialog::ProcessCommandL - UI not ready - Ignoring key press.\n") ); - #endif - } - break; - } - - default: - { - break; - } - } - - if ( ret ) - { - *iButtonId = aButtonId; - } - - return ret; - } - - -// ----------------------------------------------------------------------------- -// CEapAkaUiDialog::DrawSettingsListL -// ----------------------------------------------------------------------------- -// -void CEapAkaUiDialog::DrawSettingsListL() - { - iSettingArray->Array()->ResetAndDestroy(); - TInt ordinal = 0; - iSettingArray->AddBinarySettingItemL( R_AKA_DISPLAY_AUTOUSECONF_PAGE, - R_AKA_USERNAME_INUSESTRING, - R_AKA_USERNAME_AUTOUSECONF_TEXTS, - ordinal++, - *iUiData->GetUseManualUsername() ); - - iSettingArray->AddTextItemL( iUiData->GetManualUsername(), - EAkaSettingPageUsername, - R_AKA_USERNAME_STRING, - R_AKA_USERNAME_PAGE, - NULL, - ordinal++ ); - - - iSettingArray->AddBinarySettingItemL( R_AKA_DISPLAY_AUTOUSECONF_PAGE, - R_AKA_REALM_INUSESTRING, - R_AKA_REALM_AUTOUSECONF_TEXTS, - ordinal++, - *iUiData->GetUseManualRealm() ); - - iSettingArray->AddTextItemL( iUiData->GetManualRealm(), - EAkaSettingUsernameSettingId, - R_AKA_REALM_STRING, - R_AKA_REALM_PAGE, - NULL, - ordinal++ ); - - iSettingListBox->Model()->SetItemTextArray( iSettingArray->Array() ); - iSettingListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray ); - iSettingArray->Array()->RecalculateVisibleIndicesL(); - iSettingListBox->HandleItemAdditionL(); - iSettingListBox->UpdateScrollBarsL(); - } - - -// ----------------------------------------------------------------------------- -// CEapAkaUiDialog::ChangeTitleL -// ----------------------------------------------------------------------------- -// -void CEapAkaUiDialog::ChangeTitleL( TBool aIsStarted ) - { - TUid titlePaneUid; - titlePaneUid.iUid=EEikStatusPaneUidTitle; - - CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane(); - CEikStatusPaneBase::TPaneCapabilities subPane = - statusPane->PaneCapabilities( titlePaneUid ); - - if ( subPane.IsPresent() && subPane.IsAppOwned() ) - { - CAknTitlePane* titlePane = static_cast( - statusPane->ControlL( titlePaneUid ) ); - if ( aIsStarted ) - { - // Store previous application title text - const TDesC* prevText = titlePane->Text(); - - iPreviousText = HBufC::NewL( prevText->Length() ); - iPreviousText->Des().Append( *prevText ); - TDesC* titleText = iEikonEnv->AllocReadResourceLC( - R_AKA_SETTINGS_TITLE ); - titlePane->SetTextL( *titleText ); - CleanupStack::PopAndDestroy( titleText ); - } - else - { - // Set calling application title text back - titlePane->SetTextL( *iPreviousText ); - - // pop navidecorator when exiting - iNaviPane->Pop( iNaviDecorator ); - } - } - } - - -// ----------------------------------------------------------------------------- -// CEapAkaUiDialog::DynInitMenuPaneL -// ----------------------------------------------------------------------------- -// -void CEapAkaUiDialog::DynInitMenuPaneL( TInt aResourceId, - CEikMenuPane* aMenuPane ) - { - CAknDialog::DynInitMenuPaneL( aResourceId, aMenuPane ); - - if ( aResourceId == R_AKA_MENU_PANE ) - { - if ( aMenuPane && !FeatureManager::FeatureSupported( KFeatureIdHelp ) ) - { - aMenuPane->DeleteMenuItem( EAknCmdHelp ); - } - } - } - - -// ----------------------------------------------------------------------------- -// CEapAkaUiDialog::ProcessCommandL -// ----------------------------------------------------------------------------- -// -void CEapAkaUiDialog::ProcessCommandL( TInt aCommand ) - { - if ( MenuShowing() ) - { - HideMenu(); - } - - switch( aCommand ) - { - case EAknCmdExit: - { - TryExitL( aCommand ); - break; - } - - case EAknCmdHelp: - { - HlpLauncher::LaunchHelpApplicationL( iEikonEnv->WsSession(), - iEikonEnv->EikAppUi()->AppHelpContextL() ); - break; - } - - case EAkaUiCmdChange: - { - if( iIsUIConstructionCompleted ) - { - ShowSettingPageL( ETrue ); - } - else - { - #if defined(_DEBUG) || defined(DEBUG) - RDebug::Print(_L("CEapAkaUiDialog::ProcessCommandL - UI not ready - Ignoring key press.\n") ); - #endif - } - break; - } - - default: - { - break; - } - } - } - - -// ----------------------------------------------------------------------------- -// CEapAkaUiDialog::GetHelpContext -// ----------------------------------------------------------------------------- -// -void CEapAkaUiDialog::GetHelpContext( TCoeHelpContext& aContext ) const - { - aContext.iMajor = KHelpUidPlugin; - aContext.iContext = KSET_HLP_WLAN_EAP_AKA; - } - - -// End of File