diff -r fce0ae2e4223 -r 10852b179f64 locationsystemui/locationsysui/locsuplsettingsui/src/locsuplservereditor.cpp --- a/locationsystemui/locationsysui/locsuplsettingsui/src/locsuplservereditor.cpp Tue Sep 14 22:09:33 2010 +0300 +++ b/locationsystemui/locationsysui/locsuplsettingsui/src/locsuplservereditor.cpp Wed Sep 15 12:40:28 2010 +0300 @@ -69,7 +69,7 @@ TBool aIsEditable, CLocSUPLSettingsUiEngine& aEngine, TInt64 aSlpId - ):iIsEditMode( aIsEditable ), iEngine( aEngine ), iSlpId( aSlpId ) + ):iIsEditMode( aIsEditable ), iEngine( aEngine ), iSlpId( aSlpId ), iIsAccessPointDefined(EFalse) { if( aIsEditable ) { @@ -184,28 +184,10 @@ case ELocSuplServerIdServerAddr: { aMenuPane->SetItemDimmed( ELocServerEditorDefine, ETrue ); - aMenuPane->SetItemDimmed( ELocServerEditorChange, ETrue ); break; } case ELocSuplServerIdAccessPoint: { - TInt isIapChanged = EFalse; - CEikEdwin* apSelector = - static_cast < CEikEdwin* > ( ControlOrNull( IdOfFocusControl() ) ); - if( apSelector ) - { - if( iIap->Length() > 0 ) - isIapChanged = ETrue; - } - - if( isIapChanged ) - { - aMenuPane->SetItemDimmed( ELocServerEditorDefine, ETrue ); - } - else - { - aMenuPane->SetItemDimmed( ELocServerEditorChange, ETrue ); - } break; } case ELocSuplServerIdUsageInHomeNw: @@ -215,8 +197,6 @@ TBool editableFlag = ETrue; if( iSlpId ) TRAP_IGNORE( iEngine.GetEditableFlagL( iSlpId, editableFlag ) ); - if( editableFlag == EFalse ) - aMenuPane->SetItemDimmed( ELocServerEditorChange, ETrue ); break; } @@ -254,7 +234,6 @@ } aMenuPane->SetItemDimmed( ELocServerEditorDefine, ETrue ); - aMenuPane->SetItemDimmed( ELocServerEditorChange, ETrue ); aMenuPane->SetItemDimmed( ELocServerEditorRemove, ETrue ); } } @@ -300,27 +279,18 @@ TRAP_IGNORE( iEngine.SetServerEnabledFlagL( iSlpId, ETrue ) ); break; } - case ELocServerEditorDefine: - { - TRAP_IGNORE( iEngine.LaunchApConfiguratorL( iSlpId, this ) ); - break; - } - case ELocServerEditorChange: case ELocServerEditorMSKChange: { CEikEdwin* usageInHomeNWPopupFieldText = (CEikEdwin*) Control( ELocSuplServerIdUsageInHomeNw); - if (IdOfFocusControl() == ELocSuplServerIdAccessPoint) - { - TRAP_IGNORE( iEngine.LaunchApConfiguratorL( iSlpId, this ) ); - } - else - { + HBufC* string; + string = StringLoader::LoadLC( + R_LOC_SERVER_USAGEINHOMENETWORK_NO, iCoeEnv); if (iIsNewServer) { TBuf des; usageInHomeNWPopupFieldText->GetText(des); - if (!des.Compare(KNoUsageInHomeNetork)) + if (!des.CompareC(string->Des())) { SetUsageinHomeNetwork(ETrue); } @@ -337,7 +307,7 @@ { TBuf des; usageInHomeNWPopupFieldText->GetText(des); - if (!des.Compare(KNoUsageInHomeNetork)) + if (!des.CompareC(string->Des())) { SetUsageinHomeNetwork(ETrue); } @@ -346,8 +316,8 @@ SetUsageinHomeNetwork(EFalse); } } + CleanupStack::PopAndDestroy(string); } - } break; } case EAknCmdHelp: @@ -459,13 +429,6 @@ retVal = EFalse; break; } - case ELocServerEditorMSKDefine: - { - TRAP_IGNORE( iEngine.LaunchApConfiguratorL( iSlpId, this ) ); - //dont close editor - retVal = EFalse; - break; - } case ELocServerEditorMSKChange: { ProcessCommandL( ELocServerEditorMSKChange ); @@ -491,9 +454,11 @@ { if( iIsNewServer ) { + // iap name is always set as KNullDesC since defining the access point is + // not allowed while creating a new server manually TRAPD( err, iEngine.AddNewServerL( iServerAddress->Des(), - iIap->Des(), + KNullDesC, iUsageInHomeNw ) ); if( err == KErrNone ) { @@ -627,7 +592,7 @@ delete apText; HBufC* apString = StringLoader::LoadL( R_LOC_SERVER_NONE ); - if( apString->Compare( iIap->Des() ) == 0 ) + if (apString->CompareC(iIap->Des()) == 0) { iIap->Des().Copy( KNullDesC ); } @@ -640,15 +605,19 @@ if (usageInHomeNWPopupFieldText) { TBuf des; + HBufC* string; + string = StringLoader::LoadLC( + R_LOC_SERVER_USAGEINHOMENETWORK_NO, iCoeEnv); usageInHomeNWPopupFieldText->GetText(des); - if (!des.Compare(KNoUsageInHomeNetork)) + if (!des.CompareC(string->Des())) + { + iUsageInHomeNw = EFalse; + } + else { iUsageInHomeNw = ETrue; } - else - { - iUsageInHomeNw = EFalse; - } + CleanupStack::PopAndDestroy(string); } if( iServerAddress->Length() > 0 ) @@ -752,10 +721,18 @@ // ----------------------------------------------------------------------------- // TInt CLocSUPLServerEditor::ExecuteLD() - { - return CAknForm::ExecuteLD( R_SUPLSERVER_EDITOR_FORM_DIALOG ); + { + if (!iIsAccessPointDefined) + { + return CAknForm::ExecuteLD(R_SUPLSERVER_EDITOR_FORM_DIALOG_NOAP); + } + else + { + return CAknForm::ExecuteLD(R_SUPLSERVER_EDITOR_FORM_DIALOG); + } } + // ----------------------------------------------------------------------------- // CLocSUPLServerEditor::HandleControlStateChangeL // ----------------------------------------------------------------------------- @@ -808,15 +785,6 @@ DEBUG( + CLocSUPLServerEditor::LoadFormValuesFromDataL ); if( IsEditable() && iIsNewServer ) //if create new server { - CEikEdwin* apSelector = - static_cast < CEikEdwin* > ( ControlOrNull( ELocSuplServerIdAccessPoint ) ); - if( apSelector ) - { - HBufC* apString = StringLoader::LoadL( R_LOC_SERVER_NONE ); - apSelector->SetTextL( apString ); - delete apString; - } - apSelector->DrawNow(); CEikEdwin* usageInHNWPopupFieldText = (CEikEdwin*) Control( ELocSuplServerIdUsageInHomeNw); @@ -862,7 +830,7 @@ { // Error has occured } - + CEikEdwin* serverAddress = static_cast < CEikEdwin* > ( ControlOrNull( ELocSuplServerIdServerAddr ) ); if( serverAddress ) @@ -873,31 +841,24 @@ serverAddress->DrawDeferred(); iServerAddress->Des().Copy( hslpAddr->Des() ); } - - CEikEdwin* apSelector = - static_cast < CEikEdwin* > ( ControlOrNull( ELocSuplServerIdAccessPoint ) ); - if( apSelector ) - { - if( iapName->Length() > 0 ) - { - apSelector->SetTextL( iapName ); - } - else - { - HBufC* apString = StringLoader::LoadL( R_LOC_SERVER_NONE ); - apSelector->SetTextL( apString ); - delete apString; - } - - apSelector->DrawNow(); - iIap->Des().Copy( iapName->Des() ); - } - + + if (iIsAccessPointDefined) + { + CEikEdwin* apSelector = static_cast (ControlOrNull( + ELocSuplServerIdAccessPoint)); + if (apSelector) + { + apSelector->SetTextL(iapName); + apSelector->DrawNow(); + iIap->Des().Copy(iapName->Des()); + } + } + CEikEdwin* usageInHNWPopupFieldText = (CEikEdwin*) Control( ELocSuplServerIdUsageInHomeNw); if (usageInHNWPopupFieldText) { - if (usageInHomeNwFlag) + if (!usageInHomeNwFlag) SetUsageinHomeNetwork(EFalse); else SetUsageinHomeNetwork(ETrue); @@ -982,22 +943,6 @@ } case ELocSuplServerIdAccessPoint: { - TInt isIapChanged = EFalse; - CEikEdwin* apSelector = - static_cast < CEikEdwin* > ( ControlOrNull( IdOfFocusControl() ) ); - if( apSelector && iIap ) - { - if( iIap->Length() > 0 ) - isIapChanged = ETrue; - } - if( isIapChanged ) - { - cba->SetCommandSetL( R_SUPLSERVER_EDITOR_OPTIONS_CHANGE_DONE ); - } - else - { - cba->SetCommandSetL( R_SUPLSERVER_EDITOR_OPTIONS_DEFINE_DONE ); - } break; } case ELocSuplServerIdUsageInHomeNw: @@ -1139,10 +1084,12 @@ if (!IsEditable()) { if (focusControl == ELocSuplServerIdUsageInHomeNw - || ELocSuplServerIdServerAddr || ELocSuplServerIdAccessPoint) + || focusControl == ELocSuplServerIdServerAddr) { ProcessCommandL(EAknFormCmdEdit); } + else + return; } else if (aEventID == MEikDialogPageObserver::EDialogPageTapped) { @@ -1150,9 +1097,12 @@ { if (usageInHomeNWPopupFieldText) { + HBufC* string; + string = StringLoader::LoadLC( + R_LOC_SERVER_USAGEINHOMENETWORK_NO, iCoeEnv); TBuf des; usageInHomeNWPopupFieldText->GetText(des); - if (!des.Compare(KNoUsageInHomeNetork)) + if (!des.CompareC(string->Des())) { SetUsageinHomeNetwork(ETrue); } @@ -1164,17 +1114,10 @@ { iIsModified = ETrue; } + CleanupStack::PopAndDestroy(string); } return; } - if (focusControl == ELocSuplServerIdAccessPoint) - { - if (iapEditor) - { - //Launch IAP Dialog - TRAP_IGNORE( iEngine.LaunchApConfiguratorL( iSlpId, this ) ); - } - } }DEBUG( -CLocSUPLServerEditor::HandleDialogPageEventL ); } @@ -1205,4 +1148,15 @@ CleanupStack::PopAndDestroy(string); } +// ----------------------------------------------------------------------------- +// CLocSUPLServerEditor::SetAccessPointEnabled +// +// ----------------------------------------------------------------------------- +// +void CLocSUPLServerEditor::SetAccessPointEnabled (TBool aEnabled) + { + iIsAccessPointDefined = aEnabled; + } + + // End of file