diff -r 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/src/EapGtcUiView.cpp --- a/wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/src/EapGtcUiView.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,457 +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 GTC UI settings dialog -* -*/ - -/* -* %version: 28 % -*/ - -// INCLUDE FILES -#include -#include -#include -#include -#include -#include -#include -#include // TEMPORARY, for info message... -#include -#include -#include - -#include "EapGtcUiView.h" -#include "EapGtcUi.hrh" -#include "EapGtcUiSettingArray.h" - -#include -#include -#include - - -// CONSTANTS -// UID of general settings app, in which help texts are included -const TUid KHelpUidPlugin = { 0x100058EC }; - -_LIT( KEmptyString, "" ); - -// MODULE DATA STRUCTURES -enum - { - EUsernameItem = 0 - }; - - -// ============================ MEMBER FUNCTIONS =============================== - -// ----------------------------------------------------------------------------- -// CEapGtcUiDialog::CEapGtcUiDialog -// ----------------------------------------------------------------------------- -// -CEapGtcUiDialog::CEapGtcUiDialog( CEapGtcUiConnection* aConnection, - TInt& aButtonId ) -: CAknDialog(), - iConnection( aConnection ), - iDataConnection( 0 ), - iSettingArray( 0 ), - iSettingListBox( 0 ), - iSettingListItemDrawer( 0 ), - iNaviPane( 0 ), - iNaviDecorator( 0 ), - iPreviousText( 0 ), - iButtonId( &aButtonId ), - iIsUIConstructionCompleted( EFalse ) - { - } - - -// --------------------------------------------------------- -// CEapGtcUiDialog::ConstructAndRunLD -// --------------------------------------------------------- -// -TInt CEapGtcUiDialog::ConstructAndRunLD( TInt aResourceId ) - { - CleanupStack::PushL( this ); - iSettingArray = CEapGtcSettingItemArray::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_GTC_MENUBAR ); - - // ExecuteLD will PushL( this ), so we have to Pop it... - CleanupStack::Pop( this ); // this - - return CAknDialog::ExecuteLD( aResourceId ); - } - - -// ----------------------------------------------------------------------------- -// CEapGtcUiDialog::~CEapGtcUiDialog -// ----------------------------------------------------------------------------- -// -CEapGtcUiDialog::~CEapGtcUiDialog() - { - if ( iNaviDecorator ) - { - delete iNaviDecorator; - iNaviDecorator = NULL; - } - - if ( iSettingArray ) - { - iSettingArray->Array()->ResetAndDestroy(); - delete iSettingArray; - } - - if ( iSettingListBox ) - { - iSettingListBox = 0; - } - - if ( iSettingListItemDrawer ) - { - iSettingListItemDrawer = 0; - } - - if ( iDataConnection ) - { - iDataConnection->Close(); - delete iDataConnection; - } - - if ( iConnection ) - { - iConnection->Close(); - } - - delete iPreviousText; - - FeatureManager::UnInitializeLib(); - } - -// --------------------------------------------------------- -// CEapGtcUiDialog::HandleListBoxEventL -// --------------------------------------------------------- -// -void CEapGtcUiDialog::HandleListBoxEventL( CEikListBox* /*aListBox*/, - TListBoxEvent aEventType ) - { - switch ( aEventType ) - { - case EEventEnterKeyPressed: - case EEventItemSingleClicked: - { - OkToExitL( EGtcUiCmdChange ); - break; - } - - case EEventItemActioned: - case EEventEditingStarted: - case EEventEditingStopped: - case EEventPenDownOnItem: - case EEventItemDraggingActioned: - { - break; - } - - default: - { - break; - }; - }; - } - - -// ----------------------------------------------------------------------------- -// CEapGtcUiDialog::PreLayoutDynInitL -// ----------------------------------------------------------------------------- -// -void CEapGtcUiDialog::PreLayoutDynInitL() - { - 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 ); - } - - // Change title - ChangeTitleL( ETrue ); - - iSettingListBox = static_cast( - ControlOrNull( EGtcSettingsListBox ) ); - iSettingListItemDrawer = static_cast( - iSettingListBox->ItemDrawer() ); - iSettingListBox->SetMopParent( this ); - iSettingListBox->CreateScrollBarFrameL( ETrue ); - iSettingListBox->ScrollBarFrame()->SetScrollBarVisibilityL( - CEikScrollBarFrame::EOff, - CEikScrollBarFrame::EAuto ); - iSettingListBox->SetListBoxObserver( this ); - DrawSettingsListL(); - - iIsUIConstructionCompleted = ETrue; - } - - -// ----------------------------------------------------------------------------- -// CEapGtcUiDialog::ShowSettingPageL -// ----------------------------------------------------------------------------- -// -void CEapGtcUiDialog::ShowSettingPageL( TInt aCalledFromMenu ) - { - TInt index = iSettingListBox->CurrentItemIndex(); - CAknSettingItem* item = iSettingArray->Array()->At( index ); - item->EditItemL( aCalledFromMenu ); - item->StoreL(); - DrawSettingsListL(); - } - - -// ----------------------------------------------------------------------------- -// CEapGtcUiDialog::OkToExitL -// ----------------------------------------------------------------------------- -// -TBool CEapGtcUiDialog::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("CEapGtcUiDialog::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 EGtcUiCmdChange: - { - if( iIsUIConstructionCompleted ) - { - ShowSettingPageL( EFalse ); - } - else - { - #if defined(_DEBUG) || defined(DEBUG) - RDebug::Print(_L("CEapGtcUiDialog::ProcessCommandL - UI not ready - Ignoring key press.\n") ); - #endif - } - break; - } - - default: - { - break; - } - } - - if ( ret ) - { - *iButtonId = aButtonId; - } - - return ret; - } - - -// ----------------------------------------------------------------------------- -// CEapGtcUiDialog::DrawSettingsListL -// ----------------------------------------------------------------------------- -// -void CEapGtcUiDialog::DrawSettingsListL() - { - iSettingArray->Array()->ResetAndDestroy(); - TInt ordinal = 0; - iSettingArray->AddTextItemL( iUiData->GetIdentity(), - EGtcSettingPageUsername, - R_GTC_USERNAME_STRING, - R_GTC_USERNAME_PAGE, - NULL, - ordinal++ ); - - iSettingListBox->Model()->SetItemTextArray( iSettingArray->Array() ); - iSettingListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray ); - iSettingArray->Array()->RecalculateVisibleIndicesL(); - iSettingListBox->HandleItemAdditionL(); - iSettingListBox->UpdateScrollBarsL(); - } - - -// ----------------------------------------------------------------------------- -// CEapGtcUiDialog::ChangeTitleL -// ----------------------------------------------------------------------------- -// -void CEapGtcUiDialog::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_GTC_SETTINGS_TITLE ); - titlePane->SetTextL( *titleText ); - CleanupStack::PopAndDestroy( titleText ); - } - else - { - // Set calling application title text back - titlePane->SetTextL( *iPreviousText ); - iNaviPane->Pop( iNaviDecorator ); - } - } - } - - -// ----------------------------------------------------------------------------- -// CEapGtcUiDialog::DynInitMenuPaneL -// ----------------------------------------------------------------------------- -// -void CEapGtcUiDialog::DynInitMenuPaneL( TInt aResourceId, - CEikMenuPane* aMenuPane ) - { - CAknDialog::DynInitMenuPaneL( aResourceId, aMenuPane ); - - if ( aResourceId == R_GTC_MENU_PANE ) - { - if ( aMenuPane && !FeatureManager::FeatureSupported( KFeatureIdHelp ) ) - { - aMenuPane->DeleteMenuItem( EAknCmdHelp ); - } - } - } - - -// ----------------------------------------------------------------------------- -// CEapGtcUiDialog::ProcessCommandL -// ----------------------------------------------------------------------------- -// -void CEapGtcUiDialog::ProcessCommandL( TInt aCommand ) - { - if ( MenuShowing() ) - { - HideMenu(); - } - - switch( aCommand ) - { - case EAknCmdExit: - { - TryExitL( aCommand ); - break; - } - - case EAknCmdHelp: - { - HlpLauncher::LaunchHelpApplicationL( iEikonEnv->WsSession(), - iEikonEnv->EikAppUi()->AppHelpContextL() ); - break; - } - - case EGtcUiCmdChange: - { - if( iIsUIConstructionCompleted ) - { - ShowSettingPageL( ETrue ); - } - else - { - #if defined(_DEBUG) || defined(DEBUG) - RDebug::Print(_L("CEapGtcUiDialog::ProcessCommandL - UI not ready - Ignoring key press.\n") ); - #endif - } - break; - } - - default: - { - break; - } - } - } - - -// ----------------------------------------------------------------------------- -// CEapGtcUiDialog::GetHelpContext -// ----------------------------------------------------------------------------- -// -void CEapGtcUiDialog::GetHelpContext( TCoeHelpContext& aContext ) const - { - aContext.iMajor = KHelpUidPlugin; - aContext.iContext = KSET_HLP_WLAN_EAP_GTC; - } - - -// End of File