diff -r 696bfeff199e -r fa1df4b99609 mobilemessaging/smum/src/SmumSettingsDialogGSM.cpp --- a/mobilemessaging/smum/src/SmumSettingsDialogGSM.cpp Thu Jul 15 18:34:37 2010 +0300 +++ b/mobilemessaging/smum/src/SmumSettingsDialogGSM.cpp Thu Aug 19 09:51:11 2010 +0300 @@ -150,6 +150,9 @@ // Prepare FeatureManager, read values to members and uninitialize FeatureManager FeatureManager::InitializeLibL(); iHelpFeatureSupported = FeatureManager::FeatureSupported( KFeatureIdHelp ); + // REQ:417-48417 Message forward with sender info + iForwardWithSenderSupported = FeatureManager::FeatureSupported(KFeatureIdMsgForwardWithSender); + // End REQ:417-48417 FeatureManager::UnInitializeLib(); // Read the supported settings iEmailFeatureSupported = SmumUtil::CheckEmailOverSmsSupportL(); @@ -624,6 +627,23 @@ SetItem( index, iSettings.ReplyPath() ? ESmumSettingsYes : ESmumSettingsNo ); } } + + // REQ:417-48417 Message forward with sender info + if (!iTypeOfSettings && iForwardWithSenderSupported) + { + if ( !iSettingsArrayIndex->Find ( ESmumForwardWithSenderInfoLBI, key, index ) ) + { + TInt forwardWithSenderInfo; + if ( iCentralRapository->Get( KForwardWithSenderInfo, forwardWithSenderInfo ) != KErrNone ) + { + //In case of any error,set the default value to 0 + forwardWithSenderInfo = 0; + } + SetItem(index, forwardWithSenderInfo? ESmumSettingsYes : ESmumSettingsNo); + } + } + // End REQ:417-48417 + SMUMLOGGER_LEAVEFN(" CSmumMainSettingsDialogGSM::OpeningDialogL"); } @@ -766,6 +786,17 @@ iSettings.SetReplyPath( Item( index ) == ESmumSettingsYes ); } } + + // REQ:417-48417 Message forward with sender info + if (!iTypeOfSettings && iForwardWithSenderSupported) + { + if (!iSettingsArrayIndex->Find ( ESmumForwardWithSenderInfoLBI, key, index )) + { + iCentralRapository->Set(KForwardWithSenderInfo , Item( index ) == ESmumSettingsYes); + } + } + // End REQ:417-48417 + SMUMLOGGER_LEAVEFN(" CSmumMainSettingsDialogGSM::ClosingDialogL"); } @@ -1091,6 +1122,15 @@ } // ServiceCentreInUseLBI are removed } } + // REQ:417-48417 Message forward with sender info + if (!iTypeOfSettings) + { + if (!iForwardWithSenderSupported && variatedValue >= ESmumForwardWithSenderInfoLBI) + { + variatedValue ++; // if not support this feature, ESmumForwardWithSenderInfoLBI is removed + } + } + // End REQ:417-48417 return variatedValue; } @@ -1150,6 +1190,21 @@ ESmumSendOptServiceCentreInUseLBI : ESmumServiceCentreInUseLBI ); needToBeCompressed = ETrue; } + + // REQ:417-48417 Message forward with sender info + if (!iForwardWithSenderSupported && !iTypeOfSettings) + { + TInt index; + TKeyArrayFix key(0, ECmpTInt); + TInt found = iSettingsArrayIndex->Find(ESmumForwardWithSenderInfoLBI, key, index); + if (0 == found) + { + DeleteSettingItemFromArrays(index); + needToBeCompressed = ETrue; + } + } + // End REQ:417-48417 + if ( needToBeCompressed ) { iSettingsArray->Compress();