diff -r c8fb4cf7b3ae -r 5e18d8c489d6 fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepPredictiveSettingDialog.cpp --- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepPredictiveSettingDialog.cpp Tue May 11 16:31:42 2010 +0300 +++ b/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepPredictiveSettingDialog.cpp Tue May 25 13:03:44 2010 +0300 @@ -42,7 +42,7 @@ #include #include "AknFepPredictiveSettingDialog.h" #include -#include +#include #include #include #include //CAknTitlePane @@ -69,6 +69,7 @@ CAknDialog::ConstructL(aMenuTitleResourceId); PrepareStatusPaneL(); iItemCloseEventCheck = CIdle::NewL(CActive::EPriorityStandard); + iSimuKey = EFalse; } CAknFepPredictiveSettingDialog ::CAknFepPredictiveSettingDialog(TInt aConfirmationQueryResId, TInt aTitlePaneResId): @@ -647,14 +648,18 @@ { if(iSettingItemInEditingState) { - // If we are currently editing the settings item then generate a cancel event - // and start the scheduler so as to close the settings page - // when the blocking call completes. - RWsSession& wsSession = CEikonEnv::Static()->WsSession(); - TKeyEvent escapeEvent = {EKeyEscape, EStdKeyEscape, 0, 0}; - TRAP_IGNORE(CEikonEnv::Static()->SimulateKeyEventL(escapeEvent, EEventKey)); - wsSession.Flush(); - iItemCloseEventCheck->Start( TCallBack(EventCheckCallback, this) ); + if (!iSimuKey) + { + // If we are currently editing the settings item then generate a cancel event + // and start the scheduler so as to close the settings page + // when the blocking call completes. + RWsSession& wsSession = CEikonEnv::Static()->WsSession(); + TKeyEvent escapeEvent = {EKeyEscape, EStdKeyEscape, 0, 0}; + TRAP_IGNORE(CEikonEnv::Static()->SimulateKeyEventL(escapeEvent, EEventKey)); + iSimuKey = ETrue; + wsSession.Flush(); + iItemCloseEventCheck->Start( TCallBack(EventCheckCallback, this) ); + } } else { @@ -786,3 +791,15 @@ } } } + +/** + * From CAknDialog + */ +void CAknFepPredictiveSettingDialog::SizeChanged() + { + if( iSettingsList != NULL && iSettingsList->ListBox() != NULL ) + { + iSettingsList->ListBox()->EnableStretching(EFalse); + } + CAknDialog::SizeChanged(); + }