ipsservices/ipssossettings/src/ipssetuidialog.cpp
branchRCL_3
changeset 33 da5135c61bad
parent 8 e1b6206813b4
child 29 6b8f3b30d0ec
--- a/ipsservices/ipssossettings/src/ipssetuidialog.cpp	Mon Mar 15 12:39:10 2010 +0200
+++ b/ipsservices/ipssossettings/src/ipssetuidialog.cpp	Wed Mar 31 21:08:33 2010 +0300
@@ -666,9 +666,9 @@
     iData->SetMailServerL(
         GetItem( TUid::Uid( EIpsSetUiIncomingMailServer ) )->Text(),
         GetItem( TUid::Uid( EIpsSetUiOutgoingMailServer ) )->Text() );
-    iData->SetIapL(
-        GetIapChoiceL( TUid::Uid( EIpsSetUiIncomingIap ) ),
-        GetIapChoiceL( TUid::Uid( EIpsSetUiOutgoingIap ) ) );
+	iData->SetIapL(
+    	GetIapPrefsL(  TUid::Uid( EIpsSetUiIncomingIap ) ),
+    	GetIapPrefsL(  TUid::Uid( EIpsSetUiOutgoingIap ) ) ); 
     iData->SetSecurity(
         GetItem( TUid::Uid( EIpsSetUiIncomingSecurity ) )->Value(),
         GetItem( TUid::Uid( EIpsSetUiOutgoingSecurity ) )->Value() );
@@ -685,6 +685,7 @@
         GetItem( TUid::Uid( EIpsSetUiWhatDownloadSize ) )->Value(),
         GetItem( TUid::Uid( EIpsSetUiWhatDownloadSizeEditPlus ) )->Value() );
     StoreRetrievalLimit();
+
     iData->SetSchedule(
         GetItem( TUid::Uid( EIpsSetUiWhenSchedule ) )->Value(), EFalse );
     iData->SetDays(
@@ -745,6 +746,22 @@
     }
 
 // ---------------------------------------------------------------------------
+// CIpsSetUiDialogCtrl::GetIapPrefsL()
+// ---------------------------------------------------------------------------
+//
+CImIAPPreferences& CIpsSetUiDialogCtrl::GetIapPrefsL(const TUid& aId)
+	{
+	FUNC_LOG;
+	
+	CIpsSetUiItemAccessPoint* ap =
+		static_cast<CIpsSetUiItemAccessPoint*>( GetItem( aId ) );
+	
+	CImIAPPreferences& prefs = ap->GetExtendedIapPreferencesL(); 
+	
+	return prefs;
+	}
+
+// ---------------------------------------------------------------------------
 // CIpsSetUiDialogCtrl::OfferKeyEventL()
 // ---------------------------------------------------------------------------
 //
@@ -1360,8 +1377,11 @@
     FUNC_LOG;
     CIpsSetUiItemAccessPoint* iapItem =
         static_cast<CIpsSetUiItemAccessPoint*>( &aBaseItem );
-    iapItem->InitL( iData->Iap(
-        aBaseItem.iItemId.iUid == EIpsSetUiIncomingIap ) );
+    //check which iap we are initializing
+    if ( aBaseItem.iItemId.iUid == EIpsSetUiIncomingIap )
+    	iapItem->InitL( iData->IncomingIapPref() );
+    else
+    	iapItem->InitL( iData->OutgoingIapPref() );
     }
 
 // ---------------------------------------------------------------------------