--- a/fep/aknfep/peninputplugins/PeninputPluginKr/src/PeninputPluginKr.cpp Wed Apr 14 16:18:34 2010 +0300
+++ b/fep/aknfep/peninputplugins/PeninputPluginKr/src/PeninputPluginKr.cpp Tue Apr 27 16:59:43 2010 +0300
@@ -41,6 +41,7 @@
#include "PluginKrFepManagerHwr.h"
#include "PluginKrFepManagerVkb.h"
#include "PluginKrFepManagerItut.h"
+#include "peninputpluginkrcombinelistquerydialog.h"
//_LIT(KFscImeName, "Korean FSC");
//_LIT(KHwrImeName, "Korean HWR");
@@ -127,13 +128,11 @@
BaflUtils::NearestLanguageFile(coeEnv->FsSession(), resourceName);
iResId = coeEnv->AddResourceFileL(resourceName);
- iRepository=CRepository::NewL(KCRUidAknFep);
-
}
CPeninputPluginKr::~CPeninputPluginKr()
{
- delete iRepository;
+
CCoeEnv::Static()->DeleteResourceFile(iResId);
DeActivate();
iUiLayoutImpIdList.Close();
@@ -322,18 +321,21 @@
{
LOG("FEP.IMEPLG.KR.HandleMenuCommandL");
TInt ret(EFalse);
+ CRepository* repository = CRepository::NewLC(KCRUidAknFep);
if (aCommandId==EPeninputPluginKrDoubleConsonentCmd)
{
TInt settingValue;
- iRepository->Get(KAknFepKoreanCombineWordFlag,settingValue);
+ repository ->Get(KAknFepKoreanCombineWordFlag,settingValue);
settingValue |= EKoreanWordCombineConsonantOnSetting;
- iRepository->Set(EKoreanWordCombineConsonantOnSetting,settingValue);
- TRAP_IGNORE(ShowListQueryL(R_AKNEXQUERY_MULTI_SELECTION_LIST_QUERY));
- iRepository->Get(KAknFepKoreanCombineWordFlag,settingValue);
+ repository ->Set(EKoreanWordCombineConsonantOnSetting,settingValue);
+ TRAP_IGNORE(ShowListQueryL(R_AKNEXQUERY_MULTI_SELECTION_LIST_QUERY,repository ));
+ repository ->Get(KAknFepKoreanCombineWordFlag,settingValue);
settingValue &= 0xFFFFFEFF;
- iRepository->Set(EKoreanWordCombineConsonantOnSetting,settingValue);
+ repository ->Set(EKoreanWordCombineConsonantOnSetting,settingValue);
ret=ETrue;
}
+
+ CleanupStack::PopAndDestroy(repository);
return ret;
}
@@ -575,19 +577,20 @@
}
}
-void CPeninputPluginKr::ShowListQueryL(const TInt aResourceId)
+void CPeninputPluginKr::ShowListQueryL(const TInt aResourceId, CRepository* aRepository)
{
CArrayFixFlat<TInt>* arraySelected=
new (ELeave) CArrayFixFlat<TInt>(7);
CleanupStack::PushL(arraySelected);
- CAknListQueryDialog* dlg=
- new (ELeave) CAknListQueryDialog(arraySelected);
+
+ CPeninputPluginKrCombineListQueryDialog* dlg =
+ new(ELeave)CPeninputPluginKrCombineListQueryDialog(arraySelected);
dlg->PrepareLC(aResourceId);
TInt settingValue;
- if( iRepository->Get( KAknFepKoreanCombineWordFlag, settingValue ) == KErrNone )
+ if( aRepository->Get( KAknFepKoreanCombineWordFlag, settingValue ) == KErrNone )
{
if( settingValue & EKoreanWordCombineConsonantSsangKiyeok )
{
@@ -636,7 +639,8 @@
{
settingValue &= 0xFFFFFF01;
- iRepository->Set( KAknFepKoreanCombineWordFlag, settingValue );
+
+ aRepository->Set( KAknFepKoreanCombineWordFlag, settingValue );
for (TInt i=0;i<arraySelected->Count();i++)
{
switch (arraySelected->At(i))
@@ -666,9 +670,11 @@
break;
}
}
- }
+
- iRepository->Set( KAknFepKoreanCombineWordFlag, settingValue );
+ aRepository->Set( KAknFepKoreanCombineWordFlag, settingValue );
+ }
+
CleanupStack::PopAndDestroy(arraySelected);
}