--- 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<KMaxUsageTextSize> des;
usageInHomeNWPopupFieldText->GetText(des);
- if (!des.Compare(KNoUsageInHomeNetork))
+ if (!des.CompareC(string->Des()))
{
SetUsageinHomeNetwork(ETrue);
}
@@ -337,7 +307,7 @@
{
TBuf<KMaxUsageTextSize> 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<KMaxUsageTextSize> 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<CEikEdwin*> (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<KMaxUsageTextSize> 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