--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUiAvkonImpl.h Fri Mar 12 15:44:07 2010 +0200
+++ b/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUiAvkonImpl.h Mon Mar 15 12:42:02 2010 +0200
@@ -141,6 +141,9 @@
MEikCommandObserver* aCommandObserver,
TInt aResourceId );
+ // Embeded or not
+ TBool CbaEmbeddedInDialog( const TInt& aFlags );
+
/**
* Show cba of aResourceId using owns cba object(iCba)
*
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonImpl.cpp Fri Mar 12 15:44:07 2010 +0200
+++ b/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonImpl.cpp Mon Mar 15 12:42:02 2010 +0200
@@ -927,7 +927,7 @@
if ( dlg )
{
CEikButtonGroupContainer* currentCba = dlg->MopGetObject( currentCba );
- CEikCba* dlgcba = static_cast<CEikCba*>( currentCba->ButtonGroup());
+ //CEikCba* dlgcba = static_cast<CEikCba*>( currentCba->ButtonGroup());
if ( currentCba && iDialogCba == currentCba )
{
currentCba->RemoveCommandFromStack( ELeftSoftkeyIndex, -1 );
@@ -953,10 +953,10 @@
if ( eikAppUi!= NULL && eikAppUi->IsDisplayingDialog() && eikAppUi->TopFocusedControl())
{
CEikDialog* dlg = eikAppUi->TopFocusedControl()->MopGetObject( dlg );
- if ( dlg )
+ if ( dlg && CbaEmbeddedInDialog( dlg->DialogFlags()))
{
CEikButtonGroupContainer* currentCba = dlg->MopGetObject( currentCba );
- CEikCba* dlgcba = static_cast<CEikCba*>( currentCba->ButtonGroup());
+ //CEikCba* dlgcba = static_cast<CEikCba*>( currentCba->ButtonGroup());
if ( currentCba )
{
TUint flags( 0 );
@@ -972,7 +972,7 @@
CEikCba* cba = static_cast<CEikCba*>( iCba->ButtonGroup());
- CEikCba* dlgcba = static_cast<CEikCba*>( currentCba->ButtonGroup());
+ //CEikCba* dlgcba = static_cast<CEikCba*>( currentCba->ButtonGroup());
if( !isCbaEmded )
{
currentCba->AddCommandToStackL( ELeftSoftkeyIndex, -1, _L(""), NULL, NULL );
@@ -995,4 +995,11 @@
}
}
+TBool CAknFepUIAvkonImpl::CbaEmbeddedInDialog( const TInt& aFlags )
+ {
+ return AknLayoutUtils::PenEnabled() &&
+ !( aFlags & EEikDialogFlagFillAppClientRect ) &&
+ !( aFlags & EEikDialogFlagFillScreen ) &&
+ !( aFlags & EEikDialogFlagVirtualInput );
+ }
//End of File
Binary file fep/aknfep/conf/aknfep.confml has changed
Binary file fep/aknfep/conf/aknfep_101F876D.crml has changed
--- a/fep/aknfep/inc/AknFepManager.h Fri Mar 12 15:44:07 2010 +0200
+++ b/fep/aknfep/inc/AknFepManager.h Mon Mar 15 12:42:02 2010 +0200
@@ -64,7 +64,7 @@
#ifdef RD_INTELLIGENT_TEXT_INPUT
// Predictive QWERTY (XT9) changes ---->
class MAknFepUiWordPopupContent;
-#include "aknfepcandidatepopup.h"
+#include "AknFepCandidatePopup.h"
#include "AknFepCandidatePopupCallback.h"
// Predictive QWERTY (XT9) changes <----
#endif //RD_INTELLIGENT_TEXT_INPUT
@@ -1418,6 +1418,11 @@
TBool IsAbleToLaunchSCT() const;
/**
+ * Get SCT Chars' Length to judge it's null
+ */
+ TBool GetSctLengthL(TInt resourceId)const;
+
+ /**
* Get current editor's SCT resource id
*/
TInt GetCurrentEditorSCTResId() const;
--- a/fep/aknfep/inc/AknFepPluginManager.h Fri Mar 12 15:44:07 2010 +0200
+++ b/fep/aknfep/inc/AknFepPluginManager.h Mon Mar 15 12:42:02 2010 +0200
@@ -528,6 +528,15 @@
*/
inline TBool IsInMenuOpen();
+ /**
+ * Get current plugin input mode even if current window is close.
+ * The function is defferent from PluginInputMode(), PluginInputMode()
+ * return EPluginInputModeNone if current input window is closed
+ *
+ * @since 5.0
+ * @return current plugin input mode
+ */
+ inline TPluginInputMode CurrentPluginInputMode();
private:
/**
@@ -1212,6 +1221,11 @@
return iInMenu;
}
+inline TPluginInputMode CAknFepPluginManager::CurrentPluginInputMode()
+ {
+ return iPluginInputMode;
+ }
+
#endif //RD_SCALABLE_UI_V2
#endif // __AKN_FEP_PLUGIN_MANAGER__
--- a/fep/aknfep/peninputplugins/PeninputPluginKr/src/PeninputPluginKr.cpp Fri Mar 12 15:44:07 2010 +0200
+++ b/fep/aknfep/peninputplugins/PeninputPluginKr/src/PeninputPluginKr.cpp Mon Mar 15 12:42:02 2010 +0200
@@ -29,8 +29,9 @@
#include <peninputcmd.h>
#include <PeninputPluginKrRes.rsg>
#include <peninputclient.h>
+#include <AknFepInternalCRKeys.h>
-#include <PtiKoreanQwertyCoreCRDefs.h>
+
#include "PeninputPluginKrDbg.h"
#include "PeninputPluginKr.hrh" // CPeninputPluginKr
@@ -56,6 +57,19 @@
//const TInt KFSQUiEngIndex = 3;
const TInt KInvalidImplId = 0;
+enum TPeninputKoreanWordCombineFlags
+ {
+ EKoreanWordCombineVersion = 0x00000001,
+ EKoreanWordCombineConsonantSsangKiyeok = 0x00000002,
+ EKoreanWordCombineConsonantSsangTikeut = 0x00000004,
+ EKoreanWordCombineConsonantSsangPieup = 0x00000008,
+ EKoreanWordCombineConsonantSsangSios = 0x00000010,
+ EKoreanWordCombineConsonantCieuc = 0x00000020,
+ EKoreanWordCombineConsonantYaPlusI = 0x00000040,
+ EKoreanWordCombineConsonantYuPlusI = 0x00000080,
+ EKoreanWordCombineConsonantOnSetting = 0x00000100
+ };
+
LOCAL_C void Cleanup( TAny* aAny )
{
RImplInfoPtrArray* implArray =
@@ -113,7 +127,7 @@
BaflUtils::NearestLanguageFile(coeEnv->FsSession(), resourceName);
iResId = coeEnv->AddResourceFileL(resourceName);
- iRepository=CRepository::NewL(KCRUidPtiKoreanQwertyCore);
+ iRepository=CRepository::NewL(KCRUidAknFep);
}
@@ -308,9 +322,14 @@
TInt ret(EFalse);
if (aCommandId==EPeninputPluginKrDoubleConsonentCmd)
{
- iRepository->Set(EDblConsonentOnSetting,1);
+ TInt settingValue;
+ iRepository->Get(KAknFepKoreanCombineWordFlag,settingValue);
+ settingValue |= EKoreanWordCombineConsonantOnSetting;
+ iRepository->Set(EKoreanWordCombineConsonantOnSetting,settingValue);
TRAP_IGNORE(ShowListQueryL(R_AKNEXQUERY_MULTI_SELECTION_LIST_QUERY));
- iRepository->Set(EDblConsonentOnSetting,0);
+ iRepository->Get(KAknFepKoreanCombineWordFlag,settingValue);
+ settingValue &= 0xFFFFFEFF;
+ iRepository->Set(EKoreanWordCombineConsonantOnSetting,settingValue);
ret=ETrue;
}
return ret;
@@ -563,77 +582,91 @@
new (ELeave) CAknListQueryDialog(arraySelected);
dlg->PrepareLC(aResourceId);
- TInt set;
- if (iRepository->Get(EDblConsonentSsangKiyeok,set)==KErrNone)
- {
- if (set) arraySelected->AppendL(0);
- }
- if (iRepository->Get(EDblConsonentSsangTikeut,set)==KErrNone)
- {
- if (set) arraySelected->AppendL(1);
- }
- if (iRepository->Get(EDblConsonentSsangPieup,set)==KErrNone)
+
+ TInt settingValue;
+
+ if( iRepository->Get( KAknFepKoreanCombineWordFlag, settingValue ) == KErrNone )
{
- if (set) arraySelected->AppendL(2);
- }
- if (iRepository->Get(EDblConsonentSsangSios,set)==KErrNone)
- {
- if (set) arraySelected->AppendL(3);
- }
- if (iRepository->Get(EDblConsonentSsangCieuc,set)==KErrNone)
- {
- if (set) arraySelected->AppendL(4);
- }
- if (iRepository->Get(EDblConsonentYaPlusI,set)==KErrNone)
- {
- if (set) arraySelected->AppendL(5);
- }
- if (iRepository->Get(EDblConsonentYuPlusI,set)==KErrNone)
- {
- if (set) arraySelected->AppendL(6);
+ if( settingValue & EKoreanWordCombineConsonantSsangKiyeok )
+ {
+ arraySelected->AppendL(0);
+ }
+
+
+ if( settingValue & EKoreanWordCombineConsonantSsangTikeut )
+ {
+ arraySelected->AppendL(1);
+ }
+
+
+ if( settingValue & EKoreanWordCombineConsonantSsangPieup )
+ {
+ arraySelected->AppendL(2);
+ }
+
+
+ if( settingValue & EKoreanWordCombineConsonantSsangSios )
+ {
+ arraySelected->AppendL(3);
+ }
+
+
+ if( settingValue & EKoreanWordCombineConsonantCieuc )
+ {
+ arraySelected->AppendL(4);
+ }
+
+
+ if( settingValue & EKoreanWordCombineConsonantYaPlusI )
+ {
+ arraySelected->AppendL(5);
+ }
+
+
+ if( settingValue & EKoreanWordCombineConsonantYuPlusI )
+ {
+ arraySelected->AppendL(6);
+ }
}
dlg->ListBox()->SetSelectionIndexesL(arraySelected);
if (dlg->RunLD())
{
- iRepository->Set(EDblConsonentSsangKiyeok,0);
- iRepository->Set(EDblConsonentSsangTikeut,0);
- iRepository->Set(EDblConsonentSsangPieup,0);
- iRepository->Set(EDblConsonentSsangSios,0);
- iRepository->Set(EDblConsonentSsangCieuc,0);
- iRepository->Set(EDblConsonentYaPlusI,0);
- iRepository->Set(EDblConsonentYuPlusI,0);
+ settingValue &= 0xFFFFFF01;
+ iRepository->Set( KAknFepKoreanCombineWordFlag, settingValue );
for (TInt i=0;i<arraySelected->Count();i++)
{
switch (arraySelected->At(i))
{
case 0:
- iRepository->Set(EDblConsonentSsangKiyeok,1);
+ settingValue |= EKoreanWordCombineConsonantSsangKiyeok;
break;
case 1:
- iRepository->Set(EDblConsonentSsangTikeut,1);
+ settingValue |= EKoreanWordCombineConsonantSsangTikeut;
break;
case 2:
- iRepository->Set(EDblConsonentSsangPieup,1);
+ settingValue |= EKoreanWordCombineConsonantSsangPieup;
break;
case 3:
- iRepository->Set(EDblConsonentSsangSios,1);
+ settingValue |= EKoreanWordCombineConsonantSsangSios;
break;
case 4:
- iRepository->Set(EDblConsonentSsangCieuc,1);
+ settingValue |= EKoreanWordCombineConsonantCieuc;
break;
case 5:
- iRepository->Set(EDblConsonentYaPlusI,1);
+ settingValue |= EKoreanWordCombineConsonantYaPlusI;
break;
case 6:
- iRepository->Set(EDblConsonentYuPlusI,1);
+ settingValue |= EKoreanWordCombineConsonantYuPlusI;
break;
default:
break;
}
}
}
+
+ iRepository->Set( KAknFepKoreanCombineWordFlag, settingValue );
CleanupStack::PopAndDestroy(arraySelected);
}
--- a/fep/aknfep/src/AknFepManager.cpp Fri Mar 12 15:44:07 2010 +0200
+++ b/fep/aknfep/src/AknFepManager.cpp Mon Mar 15 12:42:02 2010 +0200
@@ -13524,10 +13524,11 @@
// The editor doesn't allow SCT.
return EFalse;
}
-
+
+ TInt numberModeSctId = NumericModeSCTResourceId();
if (iMode == ENumber || iMode == ENativeNumber)
{
- if (iPermittedInputModes == EAknEditorNumericInputMode || !NumericModeSCTResourceId())
+ if (iPermittedInputModes == EAknEditorNumericInputMode || !numberModeSctId)
{
// SCT is not launched if the number mode is the only input mode or
// if there is not keymap resource for the current numeric keymap mode.
@@ -13542,13 +13543,26 @@
// allowed and the keymap is EAknEditorAlphanumericNumberModeKeymap.
ableToLaunchSCT = ETrue;
}
+
+ if(R_AKNFEP_SCT_NUMERIC_MODE_CHARS_PLAIN == numberModeSctId)
+ {
+ TBool isEmpty = ETrue;
+ TRAP_IGNORE(isEmpty = GetSctLengthL(numberModeSctId));
+ if(isEmpty)
+ {
+ ableToLaunchSCT = EFalse;
+ }
+ }
+
}
if (!(EditorHasFreeSpace() && EditorState()
&& EditorState()->SpecialCharacterTableResourceId()))
{
ableToLaunchSCT = EFalse;
}
-
+
+
+
return ableToLaunchSCT;
}
@@ -20628,7 +20642,10 @@
iEditMenuBar = NULL;
}
#ifdef __ITI_VIRTUAL_TOUCH_FIRST_GENERATION_SUPPORT__
- if (iOptionsMenuBar)
+ // temporary solution for Entering key on virtual QWERTY not working
+ // like enter on virtual ITU-T or on external keyboard
+ if ( iOptionsMenuBar && !( iFepPluginManager &&
+ iFepPluginManager->CurrentPluginInputMode() == EPluginInputModeFSQ ) )
{
iOptionsMenuBar->StopDisplayingMenuBar();
iOptionsMenuBar = NULL;
@@ -20762,6 +20779,72 @@
aKey = ch;
}
+TBool CAknFepManager::GetSctLengthL(TInt resourceId)const
+ {
+ CCoeEnv* coeEnv = CCoeEnv::Static();
+ TResourceReader reader;
+ CEikonEnv::Static()->CreateResourceReaderLC(reader,resourceId);
+ TInt component_count=reader.ReadInt16();
+ TInt length = 0;
+ TBool isEmpty = ETrue;
+ HBufC* sctChar = NULL;
+
+ for (TInt ii=0;ii<component_count;ii++)
+ {
+ TInt component_id=reader.ReadInt16();
+ switch(component_id)
+ {
+ case EAknSCTLowerCase:
+ {
+ sctChar = reader.ReadHBufCL();
+ length += (sctChar != NULL)? sctChar->Length(): 0;
+ break;
+ }
+ case EAknSCTUpperCase:
+ {
+ sctChar = reader.ReadHBufCL();
+ length += (sctChar != NULL)? sctChar->Length(): 0;
+ break;
+ }
+ case EAknSCTNumeric:
+ {
+ sctChar = reader.ReadHBufCL();
+ length += (sctChar != NULL)? sctChar->Length(): 0;
+ break;
+ }
+ case EAknSCTFullCase:
+ {
+ sctChar = reader.ReadHBufCL();
+ length += (sctChar != NULL)? sctChar->Length(): 0;
+ break;
+ }
+ case EAknSCTHalfCase:
+ {
+ sctChar = reader.ReadHBufCL();
+ length += (sctChar != NULL)? sctChar->Length(): 0;
+ break;
+ }
+ case EAknSCTQwerty:
+ {
+ sctChar = reader.ReadHBufCL();
+ length += (sctChar != NULL)? sctChar->Length(): 0;
+ break;
+ }
+ default:
+ break;
+ }
+ delete sctChar;
+ sctChar = NULL;
+ if(length > 0)
+ {
+ isEmpty = EFalse;
+ break;
+ }
+ }
+ CleanupStack::PopAndDestroy(); //reader
+ return isEmpty;
+ }
+
// ---------------------------------------------------------------------------
// LOCAL METHODS
//
--- a/fep/aknfep/src/AknFepPluginManager.cpp Fri Mar 12 15:44:07 2010 +0200
+++ b/fep/aknfep/src/AknFepPluginManager.cpp Mon Mar 15 12:42:02 2010 +0200
@@ -290,7 +290,8 @@
if( !iPenInputSvrConnected || !iPenInputServer.IsVisible() || iPenInputServer.IsDimmed() )
{
if( iFepMan.FepAwareTextEditor() )
- {
+ {
+ iPreferredUiMode = ETrue;
TryChangePluginInputModeByModeL((TPluginInputMode)(iSharedData.PluginInputMode()),
EPenInputOpenManually,
ERangeInvalid);
@@ -1196,6 +1197,12 @@
iFepMan.UpdateCbaL( NULL );
}
+ if ( iFepMan.EditorState() )
+ {
+ iFepMan.EditorState()->SetFlags(
+ iFepMan.EditorState()->Flags() | EAknEditorFlagTouchInputModeOpened );
+ }
+
// Notify application touch window state
NotifyAppUiImeTouchWndStateL( ETrue );
@@ -1277,6 +1284,12 @@
iFepMan.UiInterface()->TouchPaneSetInputMethodIconActivated(EFalse);
+ if ( iFepMan.EditorState() )
+ {
+ iFepMan.EditorState()->SetFlags(
+ iFepMan.EditorState()->Flags() & ~EAknEditorFlagTouchInputModeOpened );
+ }
+
if ( prePluginInputMode == EPluginInputModeVkb )
{
iFepMan.UpdateIndicators();
@@ -1503,6 +1516,15 @@
ERangeInvalid);
}
break;
+ case EPeninputCmdHwr:
+ {
+ ClosePluginInputModeL(ETrue);
+ iFepMan.TryCloseUiL();
+ TryChangePluginInputModeByModeL( EPluginInputModeFingerHwr,
+ EPenInputOpenManually,
+ ERangeInvalid );
+ }
+ break;
case EFepInputCmdHelp:
{
if (iInMenu)
@@ -1852,17 +1874,23 @@
TInt curInputMode = iLangMan.CurrentImePlugin()->CurrentMode();
TBool isChinese = iFepMan.IsChineseInputLanguage();
- if ( !isChinese && ( curInputMode == EPluginInputModeItut ) &&
- !( disabledInputMode & EPluginInputModeFSQ ))
+ if ( !isChinese && ( curInputMode != EPluginInputModeFSQ )
+ && !( disabledInputMode & EPluginInputModeFSQ ))
{
aMenuPane->SetItemDimmed( EPeninputCmdFSQ, EFalse );
}
- if ( !isChinese && ( curInputMode == EPluginInputModeFSQ ) &&
- !( disabledInputMode & EPluginInputModeItut ))
+ if ( !isChinese && ( curInputMode != EPluginInputModeItut )
+ && !( disabledInputMode & EPluginInputModeItut ))
{
aMenuPane->SetItemDimmed(EPenInputCmdVITUT, EFalse);
}
+
+ if ( iFepMan.IsArabicInputLanguage() && ( curInputMode != EPluginInputModeFingerHwr )
+ && !( disabledInputMode & EPluginInputModeFingerHwr ))
+ {
+ aMenuPane->SetItemDimmed( EPeninputCmdHwr, EFalse );
+ }
//For arabic finger hwr input orientation.
TInt index = 0;
if(iPluginInputMode == EPluginInputModeFingerHwr
--- a/fep/frontendprocessor/test/group/BLD.INF Fri Mar 12 15:44:07 2010 +0200
+++ b/fep/frontendprocessor/test/group/BLD.INF Mon Mar 15 12:42:02 2010 +0200
@@ -29,7 +29,6 @@
../feps/tfep2be.mmp
../feps/TFEP2PlugIn.MMP
../feps/TFEP3PlugIn.MMP
-../feps/TFEP4PlugIn.MMP
--- a/fep/frontendprocessor/test/group/fepbasetest.iby Fri Mar 12 15:44:07 2010 +0200
+++ b/fep/frontendprocessor/test/group/fepbasetest.iby Mon Mar 15 12:42:02 2010 +0200
@@ -38,11 +38,8 @@
data=DATAZ_\resource\data\tfep1_ui.r01 resource\data\tfep1_ui.r01
data=DATAZ_\resource\data\tfep1_ui.r10 resource\data\tfep1_ui.r10
ECOM_PLUGIN(tfep3plugin.dll,tfep3plugin.rsc)
-ECOM_PLUGIN(tfep4plugin.dll,tfep4plugin.rsc)
data=DATAZ_\resource\data\tfep3_ui.r01 resource\data\tfep3_ui.r01
data=DATAZ_\resource\data\tfep3_ui.r10 resource\data\tfep3_ui.r10
-data=DATAZ_\resource\data\tfep4_ui.r01 resource\data\tfep4_ui.r01
-data=DATAZ_\resource\data\tfep4_ui.r10 resource\data\tfep4_ui.r10
data=DATAZ_\system\test\fepbasetest\tfep1testtarget.r01 System\test\fepbasetest\tfep1testtarget.r01
data=DATAZ_\system\test\fepbasetest\tfep1testtarget.r10 System\test\fepbasetest\tfep1testtarget.r10
--- a/fep/frontendprocessor/test/inc/TFEP1TESTTARGET.hrh Fri Mar 12 15:44:07 2010 +0200
+++ b/fep/frontendprocessor/test/inc/TFEP1TESTTARGET.hrh Mon Mar 15 12:42:02 2010 +0200
@@ -28,8 +28,7 @@
EControlIdNormalEdwin=1,
EControlIdNormalNumEdwin,
EControlIdHalfWidthKatakanaEdwin,
- EControlIdPhoneticAlphabetEdwin,
- EControlIdCJKEdwin
+ EControlIdPhoneticAlphabetEdwin
};
#endif
--- a/fep/frontendprocessor/test/src/TFEP1TESTTARGET.CPP Fri Mar 12 15:44:07 2010 +0200
+++ b/fep/frontendprocessor/test/src/TFEP1TESTTARGET.CPP Mon Mar 15 12:42:02 2010 +0200
@@ -40,7 +40,6 @@
const TUid KUidTFep1 = { 0x102024D0 };
-const TUid KUidTFep4 = { 0x1028716D };
// String literal to represent the language-specific resource file path.
_LIT(KFep1TestTargetResourceFilePath, "z:\\system\\test\\fepbasetest\\tfep1testtarget.r01");
@@ -50,14 +49,12 @@
TBuf<16> gTextNormalNumEdwin;
TBuf<16> gTextKatakanaEdwin;
TBuf<32> gTextPhoneticalEdwin;
-TBuf<32> gTextCJKEdwin;
// expected results (according to FEP1 settings and the actions performed in the CFep1TestTargetUi::RunTestStepL method below)
_LIT(KExpectedTextNormalEdwin, "ABCGHIJKLMQRST@");
_LIT(KExpectedTextNormalNumEdwin, "1230056");
_LIT(KExpectedTextKatakanaEdwin, "EFG");
_LIT(KExpectedTextPhoneticalEdwin, "JulietteKiloLimaMNO");
-_LIT(KExpectedTextCJKEdwin, "!\x0411\x0E02\x2E81\x303A\x4E19\xAD00\xD840\xDC00\xD87E\xDC00 !\"#");
/*************************************************************
@@ -103,10 +100,6 @@
CEikEdwin& phoneticAlphabetEdwin=*static_cast<CEikEdwin*>(Control(EControlIdPhoneticAlphabetEdwin));
inputCapabilities=phoneticAlphabetEdwin.InputCapabilities();
phoneticAlphabetEdwin.SetInputCapabilitiesL(TCoeInputCapabilities(TCoeInputCapabilities::EWesternAlphabetic|TCoeInputCapabilities::ENavigation, inputCapabilities.FepAwareTextEditor(), inputCapabilities.CaptionRetrieverForFep(), TUid::Uid(KTfep1Uid), this));
- CEikEdwin& cjkEdwin=*static_cast<CEikEdwin*>(Control(EControlIdCJKEdwin));
- inputCapabilities=cjkEdwin.InputCapabilities();
- inputCapabilities.SetCapabilities(TCoeInputCapabilities::EAllText|TCoeInputCapabilities::ENavigation);
- cjkEdwin.SetInputCapabilitiesL(inputCapabilities);
}
@@ -125,9 +118,6 @@
CEikEdwin* edwinPhonetical = static_cast<CEikEdwin*>(Control(EControlIdPhoneticAlphabetEdwin));
edwinPhonetical->GetText(gTextPhoneticalEdwin);
- CEikEdwin* edwinCJK = static_cast<CEikEdwin*>(Control(EControlIdCJKEdwin));
- edwinCJK->GetText(gTextCJKEdwin);
-
//It's always ok to return OK in our case...
return ETrue;
}
@@ -813,197 +803,13 @@
case 460:
{
- //INFO_PRINTF1(_L("...simulate Key Event Enter ---> Submits 'MNO' (not Fep installed --> No Alphabetical!"));
- //SendKey(EKeyEnter);
+ INFO_PRINTF1(_L("...simulate Key Event Enter ---> Submits 'MNO' (not Fep installed --> No Alphabetical!"));
+ SendKey(EKeyEnter);
RecordTestResultL();
}
break;
-//----------------------------------------------------------------------------------------------
-/**
- @SYMTestCaseID TI18N-FEPBASE-CIT-4001
- @SYMPREQ 2471
- @SYMTestCaseDesc Check FEPBASE Unicode 5.0 support.
- @SYMTestPriority High
- @SYMTestStatus Implemented
- @SYMTestActions 1. Pass BMP code points to WORD.exe
- 2. Pass non-BMP code points to WORD.exe
-
- @SYMTestExpectedResults When the dialog is dismissed, the text box reads as is expected.
- */
-
-//----------------------------------------------------------------------------------------------
-
- case 461:
- {
- SetTestStepID(_L("TI18N-FEPBASE-CIT-4001"));
- INFO_PRINTF1(_L("Send cursor down events to move the next dialog"));
- SendKey(EKeyDownArrow);
- INFO_PRINTF1(_L("Install the FEP 1"));
- iCoeEnv->InstallFepL(KUidTFep1);
- User::After(TTimeIntervalMicroSeconds32(2000000));
- }
- break;
-
- case 462:
- {
- INFO_PRINTF1(_L("...simulate Key Event 'Shift + M' ---> Changes to hex fep!"));
- SendKey('M', EModifierRightShift);
- TUint codes[] = {'0', '0', '2', '1'};
- for (int i = 0; i < sizeof(codes)/sizeof(TUint); i++)
- {
- INFO_PRINTF2(_L("...simulate Key Event '%d'"), codes[i]);
- SendKey(codes[i]);
- User::After(TTimeIntervalMicroSeconds32(200000));
- }
- INFO_PRINTF1(_L("...simulate Key Event Enter"));
- SendKey(EKeyEnter);
- }
- break;
- case 463:
- {
- TUint codes[] = {'0', '4', '1', '1'};
- for (int i = 0; i < sizeof(codes)/sizeof(TUint); i++)
- {
- INFO_PRINTF2(_L("...simulate Key Event '%d'"), codes[i]);
- SendKey(codes[i]);
- User::After(TTimeIntervalMicroSeconds32(200000));
- }
- INFO_PRINTF1(_L("...simulate Key Event Enter"));
- SendKey(EKeyEnter);
- }
- break;
- case 464:
- {
- TUint codes[] = {'0', 'E', '0', '2'};
- for (int i = 0; i < sizeof(codes)/sizeof(TUint); i++)
- {
- INFO_PRINTF2(_L("...simulate Key Event '%d'"), codes[i]);
- SendKey(codes[i]);
- User::After(TTimeIntervalMicroSeconds32(200000));
- }
- INFO_PRINTF1(_L("...simulate Key Event Enter"));
- SendKey(EKeyEnter);
- }
- break;
-
- case 465:
- {
- TUint codes[] = {'2', 'E', '8', '1'};
- for (int i = 0; i < sizeof(codes)/sizeof(TUint); i++)
- {
- INFO_PRINTF2(_L("...simulate Key Event '%d'"), codes[i]);
- SendKey(codes[i]);
- User::After(TTimeIntervalMicroSeconds32(1000000));
- }
- INFO_PRINTF1(_L("...simulate Key Event Enter"));
- SendKey(EKeyEnter);
- }
- break;
- case 466:
- {
- TUint codes[] = {'3', '0', '3', 'A'};
- for (int i = 0; i < sizeof(codes)/sizeof(TUint); i++)
- {
- INFO_PRINTF2(_L("...simulate Key Event '%d'"), codes[i]);
- SendKey(codes[i]);
- User::After(TTimeIntervalMicroSeconds32(1000000));
- }
- INFO_PRINTF1(_L("...simulate Key Event Enter"));
- SendKey(EKeyEnter);
- }
- break;
- case 467:
- {
- TUint codes[] = {'4', 'E', '1', '9'};
- for (int i = 0; i < sizeof(codes)/sizeof(TUint); i++)
- {
- INFO_PRINTF2(_L("...simulate Key Event '%d'"), codes[i]);
- SendKey(codes[i]);
- User::After(TTimeIntervalMicroSeconds32(1000000));
- }
- INFO_PRINTF1(_L("...simulate Key Event Enter"));
- SendKey(EKeyEnter);
- }
- break;
- case 468:
- {
- TUint codes[] = {'A', 'D', '0', '0'};
- for (int i = 0; i < sizeof(codes)/sizeof(TUint); i++)
- {
- INFO_PRINTF2(_L("...simulate Key Event '%d'"), codes[i]);
- SendKey(codes[i]);
- User::After(TTimeIntervalMicroSeconds32(1000000));
- }
- INFO_PRINTF1(_L("...simulate Key Event Enter"));
- SendKey(EKeyEnter);
- }
- break;
-
- case 469:
- {
- INFO_PRINTF1(_L("Uninstall the FEP"));
- iCoeEnv->InstallFepL(KNullUid);
- INFO_PRINTF1(_L("Install the FEP 4"));
- iCoeEnv->InstallFepL(KUidTFep4);
- User::After(TTimeIntervalMicroSeconds32(2000000));
- }
- break;
-
- case 471:
- {
- TUint codes[] = {'2', '0', '0', '0', '0'};
- for (int i = 0; i < sizeof(codes)/sizeof(TUint); i++)
- {
- INFO_PRINTF2(_L("...simulate Key Event '%d'"), codes[i]);
- SendKey(codes[i]);
- User::After(TTimeIntervalMicroSeconds32(1000000));
- }
- INFO_PRINTF1(_L("...simulate Key Event Enter"));
- SendKey(EKeyEnter);
- }
- break;
- case 472:
- {
- TUint codes[] = {'2', 'F', '8', '0', '0'};
- for (int i = 0; i < sizeof(codes)/sizeof(TUint); i++)
- {
- INFO_PRINTF2(_L("...simulate Key Event '%d'"), codes[i]);
- SendKey(codes[i]);
- User::After(TTimeIntervalMicroSeconds32(1000000));
- }
- INFO_PRINTF1(_L("...simulate Key Event Enter"));
- SendKey(EKeyEnter);
- }
- break;
-
- case 473:
- {
- INFO_PRINTF1(_L("...simulate Key Event 'Shift + X' ---> test SimulateKeyEventsL!"));
- SendKey('X', EModifierRightShift);
- User::After(TTimeIntervalMicroSeconds32(2000000));
- INFO_PRINTF1(_L("...simulate Key Event 'Shift + M' ---> Changes to Pinyin!"));
- SendKey('M', EModifierRightShift);
- User::After(TTimeIntervalMicroSeconds32(2000000));
- }
- break;
- case 474:
- {
- INFO_PRINTF1(_L("...simulate Key Event 'Shift + M' ---> Changes back to Plain!"));
- SendKey('M', EModifierRightShift);
- User::After(TTimeIntervalMicroSeconds32(2000000));
- }
- break;
- case 475:
- {
- INFO_PRINTF1(_L("Uninstall the FEP"));
- iCoeEnv->InstallFepL(KNullUid);
- SendKey(EKeyEnter);
- RecordTestResultL();
- }
- break;
-
//----------------------------------------------------------------------------------------------
/**
@@ -1043,13 +849,11 @@
INFO_PRINTF3(_L("gTextNormalNumEdwin was '%S' (expected '%S')"), &gTextNormalNumEdwin, &KExpectedTextNormalNumEdwin);
INFO_PRINTF3(_L("gTextKatakanaEdwin was '%S' (expected '%S')"), &gTextKatakanaEdwin, &KExpectedTextKatakanaEdwin);
INFO_PRINTF3(_L("gTextPhoneticalEdwin was '%S' (expected '%S')"), &gTextPhoneticalEdwin, &KExpectedTextPhoneticalEdwin);
- INFO_PRINTF3(_L("gTextCJKEdwin was '%S' (expected '%S')"), &gTextCJKEdwin, &KExpectedTextCJKEdwin);
TEST(gTextNormalEdwin == KExpectedTextNormalEdwin);
TEST(gTextNormalNumEdwin == KExpectedTextNormalNumEdwin);
TEST(gTextKatakanaEdwin == KExpectedTextKatakanaEdwin);
TEST(gTextPhoneticalEdwin == KExpectedTextPhoneticalEdwin);
- TEST(gTextCJKEdwin == KExpectedTextCJKEdwin);
RecordTestResultL();
CloseTMSGraphicsStep();
}
--- a/fep/frontendprocessor/test/src/TFEP1TESTTARGET.rss Fri Mar 12 15:44:07 2010 +0200
+++ b/fep/frontendprocessor/test/src/TFEP1TESTTARGET.rss Mon Mar 15 12:42:02 2010 +0200
@@ -63,16 +63,7 @@
prompt="Phonetic-alphabet edwin";
id=EControlIdPhoneticAlphabetEdwin;
control=EDWIN {width=15;};
- },
- DLG_LINE
- {
- type=EEikCtEdwin;
- prompt="CJK edwin";
- id=EControlIdCJKEdwin;
- control=EDWIN
- {width=15;};
}
-
};
}
--- a/inputmethods_plat/aknfep_settings_api/inc/AknFepInternalCRKeys.h Fri Mar 12 15:44:07 2010 +0200
+++ b/inputmethods_plat/aknfep_settings_api/inc/AknFepInternalCRKeys.h Mon Mar 15 12:42:02 2010 +0200
@@ -344,6 +344,23 @@
* 0 is for portrait and 1 is for landscape.
*/
const TUint32 KAknFepDefaultArabicFingerHwrOrientation = 0x00000023;
+
+/**
+ * This key is required for the Korean Combine Word flag. Korean
+ * peninputplugin uses it to store the user selection for Korean Combine
+ * Words settings.
+ * Korean Combining Version is 0x00000001,
+ * Korean ConsonantSsangKiyeok combining stage is 0x00000002,
+ * Korean ConsonantSsangTikeut combining stage is 0x00000004,
+ * Korean ConsonantSsangPieup combining stage is 0x00000008,
+ * Korean ConsonantSsangSios combining stage is 0x00000010,
+ * Korean ConsonantSsangCieuc combining stage is 0x00000020,
+ * Korean ConsonantYaPlusI combining stage is 0x00000040,
+ * Korean ConsonantYuPlusI combining stage is 0x00000080,
+ * Korean Combining Word Setting On is 0x00000100
+ *
+ */
+const TUint32 KAknFepKoreanCombineWordFlag = 0x00000024;
#endif
// End of file
--- a/inputmethods_plat/pen_input_server_api/inc/peninputcmd.h Fri Mar 12 15:44:07 2010 +0200
+++ b/inputmethods_plat/pen_input_server_api/inc/peninputcmd.h Mon Mar 15 12:42:02 2010 +0200
@@ -139,7 +139,8 @@
ESignalShowCandidate,
ESignalSelectCandidate,
ESignalAcceptTooltip,
- ESignalCommitITIInlineText,
+ ESignalCommitITIInlineText,
+ EPeninputOpSetDiscreeptPop,
ESignalUserEventBase = 2000
};
--- a/textinput/group/bld.inf Fri Mar 12 15:44:07 2010 +0200
+++ b/textinput/group/bld.inf Mon Mar 15 12:42:02 2010 +0200
@@ -34,8 +34,6 @@
#else
#include "../akninputlanguage/group/bld.inf"
#endif
-#include "../ptihangulcore/group/bld.inf"
-#include "../ptikoreanqwertycore/group/bld.inf"
#include "../peninputarc/group/bld.inf"
#include "../peninputcommonctrls/group/bld.inf"
#include "../peninputhwrboxcn/group/bld.inf"
--- a/textinput/peninputarc/inc/pensrvcliinc/peninputanim.h Fri Mar 12 15:44:07 2010 +0200
+++ b/textinput/peninputarc/inc/pensrvcliinc/peninputanim.h Mon Mar 15 12:42:02 2010 +0200
@@ -29,7 +29,6 @@
#include "peninputmsgqueue.h"
-class CSubscriber;
#include "peninputcmdparamext.h"
/**
* Animation DLL creation class.
@@ -294,11 +293,10 @@
#endif // RD_TACTILE_FEEDBACK
void SetDSAState(TBool aFlag);
+
//For discreetPop
- static TInt DiscreetPopChangeNotification(TAny* aObj);
- void HandleDiscreetPopNotification();
+ void SetDiscreeptPop(TRect aArea);
- void Refresh();
private: // Data
/**
* Current state
@@ -400,13 +398,21 @@
* Flag to detect primary touch device at startup
*/
TBool iPrimaryTouchPtDetected;
- CSubscriber* iDiscreetPopSubscriber;
- RProperty iDiscreetPopProperty;
+
+ /**
+ * Flag there is a discreept popped
+ */
TBool iDiscreetPoped;
+
+ /**
+ * Flag need capture for key event when discreept pop
+ */
TBool iDiscreetPopedCapture;
+
+ /**
+ * the discreept pop area
+ */
TRect iDiscreetPopArea;
- RAknUiServer iAknUiSrv;
- TBool iDirty;
/**
* Fix bug HMNN-82CDU5
@@ -417,23 +423,5 @@
-class CSubscriber : public CActive
- {
-public:
- CSubscriber(TCallBack aCallBack, RProperty& aProperty);
- ~CSubscriber();
-
-public: // New functions
- void SubscribeL();
- void StopSubscribe();
-
-private: // from CActive
- void RunL();
- void DoCancel();
-
-private:
- TCallBack iCallBack;
- RProperty& iProperty;
- };
#endif //C_CPENINPUTANIMDLL_H
// End of File
--- a/textinput/peninputarc/inc/pensrvcliinc/peninputanimclientobj.h Fri Mar 12 15:44:07 2010 +0200
+++ b/textinput/peninputarc/inc/pensrvcliinc/peninputanimclientobj.h Mon Mar 15 12:42:02 2010 +0200
@@ -223,6 +223,14 @@
void OnExiting();
void GetDSAState(TBool& aState);
+
+ /**
+ *
+ * @since S60 v4.0
+ * @aArea The rect of the discreet pop
+ * @return ETrue if command added successfully.
+ */
+ TBool SetDiscreetPopArea(const TRect& aArea);
private:
/**
* Default constructor.
--- a/textinput/peninputarc/inc/pensrvcliinc/peninputanimcommand.h Fri Mar 12 15:44:07 2010 +0200
+++ b/textinput/peninputarc/inc/pensrvcliinc/peninputanimcommand.h Mon Mar 15 12:42:02 2010 +0200
@@ -473,6 +473,27 @@
TBool iSpriteFlag;
};
+//class TAnimSetDiscreeptPopCmd
+/**
+ * Class for handling pop discreept window area command
+ *
+ *
+ * @since S60 v4.0
+ */
+class TAnimSetDiscreeptPopCmd : public TAnimCmd
+ {
+public:
+ TAnimSetDiscreeptPopCmd(RPeninputAnim& aAnim,TRect aArea);
+ /**
+ * Execute the command
+ *
+ * @since S60 v4.0
+ * @return ETrue if command has been executed successfully.
+ */
+ virtual TBool ExecuteAnimCommand() const;
+private:
+ TRect iArea;
+ };
#include "peninputanimcommand.inl"
#endif //C_CPENINPUTANIM_CMD_H
--- a/textinput/peninputarc/inc/pensrvcliinc/peninputserver.h Fri Mar 12 15:44:07 2010 +0200
+++ b/textinput/peninputarc/inc/pensrvcliinc/peninputserver.h Mon Mar 15 12:42:02 2010 +0200
@@ -31,6 +31,8 @@
#include "peninputcmdparamext.h"
+#include <AknCapServerClient.h>
+
// the maximum count of TUpdateArea that area pool can hold
const TInt KMaxRectNumInBuf = 100;
class CCoeControl;
@@ -75,6 +77,7 @@
class CEventQueue;
class CPtiEngine;
class CAknLayoutChangeWatcher;
+class CSubscriber;
// DESCRIPTION
/**
* Class MRawEventHandler
@@ -382,6 +385,9 @@
TInt HandleAppInfoChange(CPeninputServerSession* aSession,
const TDesC& aAppInfo, TPeninputAppInfo aType) const;
+ static TInt DiscreetPopChangeNotification(TAny* aObj);
+
+ void HandleDiscreetPopNotification();
protected: // New functions
/**
@@ -966,6 +972,12 @@
CRepository* iSensorRepository;
TInt iInputLanguage;
+
+ // Add for notify discreept pop
+ CSubscriber* iDiscreetPopSubscriber;
+ RProperty iDiscreetPopProperty;
+ RAknUiServer iAknUiSrv;
+ TRect iDiscreetPopArea;
};
/**
@@ -1148,4 +1160,28 @@
#endif //C_CPENINPUTSERVER_H
+/**
+ * CSubscriber
+ * Subscribe discreept state.
+ *
+ * @since S60 v4.0
+ */
+class CSubscriber : public CActive
+ {
+public:
+ CSubscriber(TCallBack aCallBack, RProperty& aProperty);
+ ~CSubscriber();
+
+public: // New functions
+ void SubscribeL();
+ void StopSubscribe();
+
+private: // from CActive
+ void RunL();
+ void DoCancel();
+
+private:
+ TCallBack iCallBack;
+ RProperty& iProperty;
+ };
// End of File
--- a/textinput/peninputarc/inc/pensrvcliinc/rpeninputanim.h Fri Mar 12 15:44:07 2010 +0200
+++ b/textinput/peninputarc/inc/pensrvcliinc/rpeninputanim.h Mon Mar 15 12:42:02 2010 +0200
@@ -184,6 +184,8 @@
void EnableSprite(TBool aFlag);
void GetDSAState(TBool& aState);
+
+ void SetDiscreeptPop(const TRect& aArea);
private:
/**
--- a/textinput/peninputarc/src/peninputanim/peninputanim.cpp Fri Mar 12 15:44:07 2010 +0200
+++ b/textinput/peninputarc/src/peninputanim/peninputanim.cpp Mon Mar 15 12:42:02 2010 +0200
@@ -131,13 +131,6 @@
// Modify for bug ETMA-7X2C5Y begin
delete iPointerEventSuppressor;
// Modify for bug ETMA-7X2C5Y end
- if (iDiscreetPopSubscriber)
- {
- iDiscreetPopSubscriber->StopSubscribe();
- }
- iDiscreetPopProperty.Close();
- delete iDiscreetPopSubscriber;
- iAknUiSrv.Close();
}
// ---------------------------------------------------------------------------
@@ -155,19 +148,6 @@
// Modify for bug ETMA-7X2C5Y begin
iPointerEventSuppressor = CPenPointerEventSuppressor::NewL();
// Modify for bug ETMA-7X2C5Y end
- User::LeaveIfError(iDiscreetPopProperty.Attach(KPSUidAvkonDomain,
- KAknGlobalDiscreetPopupNumChanged));
- iDiscreetPopSubscriber = new (ELeave) CSubscriber(
- TCallBack( DiscreetPopChangeNotification, this),
- iDiscreetPopProperty);
- iDiscreetPopSubscriber->SubscribeL();
-
- User::LeaveIfError(iAknUiSrv.Connect());
- iDiscreetPopArea = iAknUiSrv.GetInUseGlobalDiscreetPopupRect();
- if(iDiscreetPopArea.Size().iWidth > 0)
- {
- iDiscreetPoped = ETrue;
- }
}
@@ -704,6 +684,14 @@
}
break;
+ case EPeninputOpSetDiscreeptPop:
+ {
+ TRect area;
+ TPckg<TRect> msgData(area);
+ msg->ReadL(KMsgSlot1,msgData);
+ SetDiscreeptPop(area);
+ }
+ break;
default:
// unsupported opcode, panic the client
{
@@ -791,10 +779,6 @@
return EFalse;
}
- if(iDirty )
- {
- Refresh();
- }
if(iDiscreetPoped && iDiscreetPopArea.Contains(aRawEvent.Pos()))
{
@@ -1141,22 +1125,10 @@
return EFalse;
}
#endif // RD_TACTILE_FEEDBACK
-TInt CPeninputAnim::DiscreetPopChangeNotification(TAny* aObj)
- {
- if (aObj)
- {
- static_cast<CPeninputAnim*>(aObj)->HandleDiscreetPopNotification();
- return KErrNone;
- }
- else
- {
- return KErrArgument;
- }
- }
-void CPeninputAnim::Refresh()
- {
- iDiscreetPopArea = iAknUiSrv.GetInUseGlobalDiscreetPopupRect();
+void CPeninputAnim::SetDiscreeptPop(TRect aArea)
+ {
+ iDiscreetPopArea = aArea;
if(iDiscreetPopArea.Size().iWidth > 0)
{
iDiscreetPoped = ETrue;
@@ -1166,51 +1138,5 @@
iDiscreetPoped = EFalse;
iDiscreetPopedCapture = EFalse;
}
- iDirty = EFalse;
- }
-
-void CPeninputAnim::HandleDiscreetPopNotification()
- {
- iDirty = ETrue;
- }
-
-CSubscriber::CSubscriber(TCallBack aCallBack, RProperty& aProperty)
- :
- CActive(EPriorityNormal), iCallBack(aCallBack), iProperty(aProperty)
- {
- CActiveScheduler::Add(this);
- }
-
-CSubscriber::~CSubscriber()
- {
- Cancel();
- }
-
-void CSubscriber::SubscribeL()
- {
- if (!IsActive())
- {
- iProperty.Subscribe(iStatus);
- SetActive();
- }
- }
-
-void CSubscriber::StopSubscribe()
- {
- Cancel();
- }
-
-void CSubscriber::RunL()
- {
- if (iStatus.Int() == KErrNone)
- {
- iCallBack.CallBack();
- SubscribeL();
- }
- }
-
-void CSubscriber::DoCancel()
- {
- iProperty.Cancel();
- }
+ }
// End of File
--- a/textinput/peninputarc/src/peninputanim/peninputanim.mmp Fri Mar 12 15:44:07 2010 +0200
+++ b/textinput/peninputarc/src/peninputanim/peninputanim.mmp Mon Mar 15 12:42:02 2010 +0200
@@ -44,6 +44,3 @@
LIBRARY FeatMgr.lib // feature manager
LIBRARY tactileclickplugin.lib
#endif // RD_TACTILE_FEEDBACK
-LIBRARY akncapserverclient.lib
-LIBRARY apparc.lib
-LIBRARY EIKCORE.LIB
--- a/textinput/peninputarc/src/peninputclient/penclientimpl.cpp Fri Mar 12 15:44:07 2010 +0200
+++ b/textinput/peninputarc/src/peninputclient/penclientimpl.cpp Mon Mar 15 12:42:02 2010 +0200
@@ -29,6 +29,9 @@
#include <coemain.h>
#include <apgwgnam.h>
#include "peninputclient.h"
+#ifndef FIX_FOR_NGA
+#define FIX_FOR_NGA
+#endif
const TUint KDefaultMessageSlots = 4;
const TInt KMaxSupportLanguages = 100;
@@ -374,7 +377,16 @@
else //undim the window
{
if(iBackgroundCtrl)
- iBackgroundCtrl->Hide();
+#ifdef FIX_FOR_NGA
+ {
+ delete iBackgroundCtrl;
+ iBackgroundCtrl = 0;
+ }
+#else
+ {
+ iBackgroundCtrl->Hide();
+ }
+#endif
}
}
// ---------------------------------------------------------------------------
@@ -1498,11 +1510,14 @@
Window().SetOrdinalPosition(0,aPriority);
- Window().SetFaded(ETrue,RWindowTreeNode::EFadeWindowOnly);
+ // For fix ELLI-82JD3K for tb92.
+ // The code runs well on 5.0 platform, but on tb92,
+ // it will make the backgourd screen black purely.
+ //Window().SetFaded(ETrue,RWindowTreeNode::EFadeWindowOnly);
}
else
{
- Window().SetFaded(ETrue,RWindowTreeNode::EFadeWindowOnly);
+ Window().SetFaded(ETrue,RWindowTreeNode::EFadeWindowOnly);
}
Window().Invalidate();
--- a/textinput/peninputarc/src/peninputlayoutcontrol/peninputlayoutpopupwnd.cpp Fri Mar 12 15:44:07 2010 +0200
+++ b/textinput/peninputarc/src/peninputlayoutcontrol/peninputlayoutpopupwnd.cpp Mon Mar 15 12:42:02 2010 +0200
@@ -287,13 +287,11 @@
switch( aDisPostion )
{
case EDispBottomRight:
- rtPopup.SetRect( TPoint( offsetRect.iTl.iX, offsetRect.iBr.iY ), szPopup );
+ rtPopup.SetRect( TPoint( offsetRect.iTl.iX, offsetRect.iBr.iY ), szPopup );
if( rtPopup.iBr.iY > ptScreenSize.iPixelSize.iHeight )
{
- //we need move x also
- rtPopup.Move( aOffsetRect.Width(),
- ptScreenSize.iPixelSize.iHeight - rtPopup.iBr.iY );
- }
+ rtPopup.Move( 0, ptScreenSize.iPixelSize.iHeight - rtPopup.iBr.iY );
+ }
if(rtPopup.iBr.iX > ptScreenSize.iPixelSize.iWidth )
{
rtPopup.Move ( ptScreenSize.iPixelSize.iWidth - rtPopup.iBr.iX, 0 );
@@ -304,9 +302,8 @@
szPopup );
if( rtPopup.iBr.iY > ptScreenSize.iPixelSize.iHeight )
{
- //we need move x also
- rtPopup.Move( aOffsetRect.Width(),
- ptScreenSize.iPixelSize.iHeight - rtPopup.iBr.iY );
+ //we need move the pop wnd up to ensure it not to be out of screen
+ rtPopup.Move( 0, ptScreenSize.iPixelSize.iHeight - rtPopup.iBr.iY );
}
if( rtPopup.iTl.iX < 0 )
{
@@ -315,11 +312,11 @@
break;
case EDispTopRight:
rtPopup.SetRect( TPoint( offsetRect.iTl.iX, offsetRect.iTl.iY - szPopup.iHeight ),
- szPopup );
+ szPopup );
if( rtPopup.iTl.iY < 0 )
{
- rtPopup.Move ( aOffsetRect.Width(), -rtPopup.iTl.iY );
- }
+ rtPopup.Move ( 0, -rtPopup.iTl.iY );
+ }
if(rtPopup.iBr.iX > ptScreenSize.iPixelSize.iWidth )
{
rtPopup.Move ( ptScreenSize.iPixelSize.iWidth - rtPopup.iBr.iX, 0 );
@@ -332,7 +329,7 @@
if( rtPopup.iTl.iY < 0 )
{
- rtPopup.Move ( -aOffsetRect.Width(), -rtPopup.iTl.iY );
+ rtPopup.Move ( 0, -rtPopup.iTl.iY );
}
if( rtPopup.iTl.iX < 0 )
--- a/textinput/peninputarc/src/peninputserverapp/peninputanimclientobj.cpp Fri Mar 12 15:44:07 2010 +0200
+++ b/textinput/peninputarc/src/peninputserverapp/peninputanimclientobj.cpp Mon Mar 15 12:42:02 2010 +0200
@@ -494,4 +494,13 @@
{
iAnim.GetDSAState(aState);
}
+
+TBool CPeninputAnimObj::SetDiscreetPopArea(const TRect& aArea)
+ {
+ TAnimSetDiscreeptPopCmd* cmd = new TAnimSetDiscreeptPopCmd(iAnim,aArea);
+ if(!cmd)
+ return EFalse;
+ AddAnimCommand(cmd);
+ return ETrue;
+ }
//end of file
--- a/textinput/peninputarc/src/peninputserverapp/peninputanimcommand.cpp Fri Mar 12 15:44:07 2010 +0200
+++ b/textinput/peninputarc/src/peninputserverapp/peninputanimcommand.cpp Mon Mar 15 12:42:02 2010 +0200
@@ -352,4 +352,13 @@
iAnim.EnableSprite(iSpriteFlag);
return ETrue;
}
-
+TAnimSetDiscreeptPopCmd::TAnimSetDiscreeptPopCmd(RPeninputAnim& aAnim,TRect aArea)
+ :TAnimCmd(aAnim),iArea(aArea)
+ {
+ }
+
+TBool TAnimSetDiscreeptPopCmd :: ExecuteAnimCommand() const
+ {
+ iAnim.SetDiscreeptPop(iArea);
+ return ETrue;
+ }
--- a/textinput/peninputarc/src/peninputserverapp/peninputserver.cpp Fri Mar 12 15:44:07 2010 +0200
+++ b/textinput/peninputarc/src/peninputserverapp/peninputserver.cpp Mon Mar 15 12:42:02 2010 +0200
@@ -47,6 +47,7 @@
#include <aknappui.h>
#include "peninputcrpclient.h"
+#include <avkondomainpskeys.h>
//#define __WND_TEST_
// CONSTANTS
@@ -264,6 +265,19 @@
iCurScrMode = CCoeEnv::Static()->ScreenDevice()->CurrentScreenMode();
iCrpService = CPenInputCrpServiceClient::NewL();
iSensorRepository = CRepository::NewL(KCRUidSensorSettings);
+ User::LeaveIfError(iDiscreetPopProperty.Attach(KPSUidAvkonDomain,
+ KAknGlobalDiscreetPopupNumChanged));
+ iDiscreetPopSubscriber = new (ELeave) CSubscriber(
+ TCallBack( DiscreetPopChangeNotification, this),
+ iDiscreetPopProperty);
+ iDiscreetPopSubscriber->SubscribeL();
+ // Get the pop area
+ User::LeaveIfError(iAknUiSrv.Connect());
+ iDiscreetPopArea = iAknUiSrv.GetInUseGlobalDiscreetPopupRect();
+ if(iDiscreetPopArea.Size().iWidth > 0)
+ {
+ HandleDiscreetPopNotification();
+ }
}
void CPeninputServer::CleanAll()
@@ -332,6 +346,13 @@
#ifdef __LOG_WNDGROU__
iLogFile.Close();
#endif
+ if (iDiscreetPopSubscriber)
+ {
+ iDiscreetPopSubscriber->StopSubscribe();
+ }
+ iDiscreetPopProperty.Close();
+ delete iDiscreetPopSubscriber;
+ iAknUiSrv.Close();
delete iAnimObj;
iAnimObj = NULL;
@@ -2303,7 +2324,9 @@
*/
if(IsGlobalNotesApp(focusApp))
{
- iInGlobalNotesState = ETrue;
+ iInGlobalNotesState = ETrue;
+ // add this to enable global dim
+ DeactivatePenUiLayout(EFalse);
break;
}
@@ -2716,7 +2739,34 @@
}
return supportMode;
}
-
+
+// ---------------------------------------------------------------------------
+// CPeninputServer::DiscreetPopChangeNotification
+// handle notification of discreept pop changing
+// ---------------------------------------------------------------------------
+//
+TInt CPeninputServer::DiscreetPopChangeNotification(TAny* aObj)
+ {
+ if (aObj)
+ {
+ static_cast<CPeninputServer*>(aObj)->HandleDiscreetPopNotification();
+ return KErrNone;
+ }
+ else
+ {
+ return KErrArgument;
+ }
+ }
+// ---------------------------------------------------------------------------
+// CPeninputServer::HandleDiscreetPopNotification
+// handle notification of discreept pop changing
+// ---------------------------------------------------------------------------
+//
+void CPeninputServer::HandleDiscreetPopNotification()
+ {
+ iDiscreetPopArea = iAknUiSrv.GetInUseGlobalDiscreetPopupRect();
+ iAnimObj->SetDiscreetPopArea(iDiscreetPopArea);
+ }
// ======== class CEventQueue========
//
// ---------------------------------------------------------------------------
@@ -2926,5 +2976,47 @@
{
User::Panic( KPeninputServerName, aPanic );
}
+
+// ======== class CSubscriber========
+//
+CSubscriber::CSubscriber(TCallBack aCallBack, RProperty& aProperty)
+ :
+ CActive(EPriorityNormal), iCallBack(aCallBack), iProperty(aProperty)
+ {
+ CActiveScheduler::Add(this);
+ }
+
+CSubscriber::~CSubscriber()
+ {
+ Cancel();
+ }
+
+void CSubscriber::SubscribeL()
+ {
+ if (!IsActive())
+ {
+ iProperty.Subscribe(iStatus);
+ SetActive();
+ }
+ }
+
+void CSubscriber::StopSubscribe()
+ {
+ Cancel();
+ }
+
+void CSubscriber::RunL()
+ {
+ if (iStatus.Int() == KErrNone)
+ {
+ iCallBack.CallBack();
+ SubscribeL();
+ }
+ }
+
+void CSubscriber::DoCancel()
+ {
+ iProperty.Cancel();
+ }
// End of File
--- a/textinput/peninputarc/src/peninputserverapp/rpeninputanim.cpp Fri Mar 12 15:44:07 2010 +0200
+++ b/textinput/peninputarc/src/peninputserverapp/rpeninputanim.cpp Mon Mar 15 12:42:02 2010 +0200
@@ -324,5 +324,16 @@
CommandReply(EPeninputOpRequestDSAState,KNullDesC8,args);
//Command(EPeninputOpSimulateEvent,msgData);
}
-
+
+// ---------------------------------------------------------------------------
+// RPeniputAnim::SetDiscreeptPop
+// ---------------------------------------------------------------------------
+//
+void RPeninputAnim::SetDiscreeptPop(const TRect& aArea)
+ {
+ TIpcArgs args (TIpcArgs::ENothing);
+ TPckg<TRect> msgData(aArea);
+ args.Set(KMsgSlot1,&msgData);
+ CommandReply(EPeninputOpSetDiscreeptPop,KNullDesC8,args);
+ }
// End of File
--- a/textinput/peninputcommonctrls/src/peninputdropdownlist/peninputlistmultirowwithouticonwithbubble.cpp Fri Mar 12 15:44:07 2010 +0200
+++ b/textinput/peninputcommonctrls/src/peninputdropdownlist/peninputlistmultirowwithouticonwithbubble.cpp Mon Mar 15 12:42:02 2010 +0200
@@ -21,7 +21,7 @@
#include <AknLayoutDef.h>
#include <peninputdropdownlistcontext.h>
#include <peninputdropdownlist.h>
-#include <aknsdrawutils.h>
+#include <AknsDrawUtils.h>
#include "peninputlistmultirowwithouticonwithbubble.h"
#include "peninputlayout.h"
--- a/textinput/peninputfingerhwr/data/peninputfingerhwrcn.rss Fri Mar 12 15:44:07 2010 +0200
+++ b/textinput/peninputfingerhwr/data/peninputfingerhwrcn.rss Mon Mar 15 12:42:02 2010 +0200
@@ -180,7 +180,7 @@
{
colormajorskinid = EAknsMajorSkin;
textcolorgrp = EAknsMinorQsnTextColors;
- textcoloridx = 50;
+ textcoloridx = 59;
bordercolorgrp = EAknsMinorQsnOtherColors;
bordercoloridx = 8;
}
--- a/textinput/peninputfingerhwr/src/peninputfingerhwrrangeselector.cpp Fri Mar 12 15:44:07 2010 +0200
+++ b/textinput/peninputfingerhwr/src/peninputfingerhwrrangeselector.cpp Mon Mar 15 12:42:02 2010 +0200
@@ -230,7 +230,7 @@
//
CPeninputFingerHwrRangeSelector::CPeninputFingerHwrRangeSelector(
CFepUiLayout* aFepUiLayout, TInt aControlId )
- : CControlGroup( aFepUiLayout, aControlId )
+ : CControlGroup( aFepUiLayout, aControlId, EFalse )
{
}
--- a/textinput/peninputfingerhwr/src/peninputfingerhwrwnd.cpp Fri Mar 12 15:44:07 2010 +0200
+++ b/textinput/peninputfingerhwr/src/peninputfingerhwrwnd.cpp Mon Mar 15 12:42:02 2010 +0200
@@ -2250,7 +2250,7 @@
}
iContextField->SetBorderColor( icfframecolor );
- iContextField->SetBgImgSkinId( KAknsIIDQsnFrCall2Rect );
+ iContextField->SetBgImgSkinId( KAknsIIDQgnGrafFepInputBg );
CleanupStack::PopAndDestroy( 1 ); // icfreader
}
--- a/textinput/peninputfingerhwrar/data/peninputfingerhwrarwnd.rss Fri Mar 12 15:44:07 2010 +0200
+++ b/textinput/peninputfingerhwrar/data/peninputfingerhwrarwnd.rss Mon Mar 15 12:42:02 2010 +0200
@@ -180,7 +180,7 @@
{
colormajorskinid = EAknsMajorSkin;
textcolorgrp = EAknsMinorQsnTextColors;
- textcoloridx = 50;
+ textcoloridx = 59;
bordercolorgrp = EAknsMinorQsnOtherColors;
bordercoloridx = 8;
}
@@ -1195,7 +1195,7 @@
leftstr = <0x005D>;
scancode = 0x005D;
},
- PENINPUT_FINGERHWR_KEYPAD_KEY //half \
+ PENINPUT_FINGERHWR_KEYPAD_KEY //half revert /
{
leftstr = <0x005C>;
scancode = 0x005C;
--- a/textinput/peninputfingerhwrar/inc/peninputfingerhwrarlafmanager.h Fri Mar 12 15:44:07 2010 +0200
+++ b/textinput/peninputfingerhwrar/inc/peninputfingerhwrarlafmanager.h Mon Mar 15 12:42:02 2010 +0200
@@ -312,7 +312,8 @@
* @return font of candidate list.
*/
const CFont* CandidateFont();
-
+ TRect GetIndicatorRect();
+ TSize GetArrowPaddingSize();
public: //sct paging buttons
/**
* get text layout of sct paging button.
@@ -406,6 +407,8 @@
TAknTextLineLayout iPreviewWndText;
TSize iSymButtonSize;
TRect iRectOfSymbolTable;
+ TRect iIndicatorRect;
+ TSize iArrowPaddingSize;
};
#endif // C_PENINPUTFINGERHWRARLAFMANAGER_H
--- a/textinput/peninputfingerhwrar/src/peninputfingerhwrarindicator.cpp Fri Mar 12 15:44:07 2010 +0200
+++ b/textinput/peninputfingerhwrar/src/peninputfingerhwrarindicator.cpp Mon Mar 15 12:42:02 2010 +0200
@@ -105,8 +105,15 @@
}
CFbsBitmap* bmp;
- CFbsBitmap* bmpMask;
- AknsUtils::CreateColorIconL( AknsUtils::SkinInstance(),
+ CFbsBitmap* bmpMask;
+ AknsUtils::CreateIconL(AknsUtils::SkinInstance(),
+ id,
+ bmp,
+ bmpMask,
+ bmpFileName,
+ bmpId,
+ bmpMskId);
+ /*AknsUtils::CreateColorIconL( AknsUtils::SkinInstance(),
id,
KAknsIIDQsnIconColors,
colorGroup,
@@ -115,7 +122,7 @@
bmpFileName,
bmpId,
bmpMskId,
- TRgb() );
+ TRgb() );*/
SetBitmapL(bmp);
SetMaskBitmapL(bmpMask);
--- a/textinput/peninputfingerhwrar/src/peninputfingerhwrarlafmanager.cpp Fri Mar 12 15:44:07 2010 +0200
+++ b/textinput/peninputfingerhwrar/src/peninputfingerhwrarlafmanager.cpp Mon Mar 15 12:42:02 2010 +0200
@@ -381,6 +381,7 @@
AknLayoutScalable_Avkon::popup_fep_char_preview_window_t1(0).LayoutLine();
previewWndText.LayoutText(previewWndRect.Rect(), iPreviewWndText);
iBubbleFont = previewWndText.Font();
+ iArrowPaddingSize = TSize(10,10);
//==========================================================================
// going to be removed if the LAF data is ready
//
@@ -429,7 +430,7 @@
iRectBtnArrowRight.Move(TPoint(buttonWidth,0));
iSizeBtnPadding = TSize(6,6);
-
+ iArrowPaddingSize = TSize(8,8);
iRectSpase = iRectBtnClose;
iRectSpase.Move(TPoint(0,buttonHight));
@@ -450,6 +451,10 @@
// iwriting box
iRectWritingBox = TRect(TPoint(KMarginLayout,2*buttonHight+KMarginLayout),iLayoutRect.iBr-TPoint(KMarginLayout,KMarginLayout));
+ iIndicatorRect.iTl = iRectWritingBox.iTl;
+ iIndicatorRect.iTl = iIndicatorRect.iTl + TPoint(20,20);
+ iIndicatorRect.SetSize(TSize(80,80));
+
// construct symbol table
iRectOfSymbolTable = iRectWritingBox;
iRectOfSymbolTable.Move(TPoint(buttonWidth,-buttonHight));
@@ -513,6 +518,7 @@
// button padding
iSizeBtnPadding = TSize(6,6);
+ iArrowPaddingSize = TSize(12,12);
// candate position
iCandidateLTPos = iRectBtnClose.iTl + TPoint(0,buttonHight);
@@ -522,6 +528,10 @@
// HWR Box Rect
iRectWritingBox = TRect(TPoint(iRectBtnArrowUp.iTl.iX,iRectBtnArrowUp.iBr.iY),iLayoutRect.iBr-TPoint(KMarginLayout,KMarginLayout));
+ iIndicatorRect.iTl = iRectWritingBox.iTl;
+ iIndicatorRect.iTl = iIndicatorRect.iTl + TPoint(20,20);
+ iIndicatorRect.SetSize(TSize(80,80));
+
// construct symbol table
iRectOfSymbolTable = iRectWritingBox;
iRectOfSymbolTable.Move(TPoint(0,-buttonHight));
@@ -926,7 +936,18 @@
}
TSize CPeninputFingerHwrArLafManager::SymbolGroupButtonSize()
- {
- return iSymButtonSize;
- }
+ {
+ return iSymButtonSize;
+ }
+
+TRect CPeninputFingerHwrArLafManager::GetIndicatorRect()
+ {
+ return iIndicatorRect;
+ }
+
+TSize CPeninputFingerHwrArLafManager::GetArrowPaddingSize()
+ {
+ return iArrowPaddingSize;
+ }
+
// End Of File
--- a/textinput/peninputfingerhwrar/src/peninputfingerhwrarlayout.cpp Fri Mar 12 15:44:07 2010 +0200
+++ b/textinput/peninputfingerhwrar/src/peninputfingerhwrarlayout.cpp Mon Mar 15 12:42:02 2010 +0200
@@ -683,6 +683,7 @@
case EHwrCtrlIdLanguageOption:
{
SignalOwner( ESignalLaunchOptionMenu );
+ OnDeActivate();
}
break;
case EHwrCtrlIdSymbolButton:
@@ -1050,6 +1051,7 @@
//
void CPeninputFingerHwrArLayout::ChangeCurStateToStandby()
{
+ iHwrWnd->CancelWriting();
iStateMgr->SetState( CPeninputFingerHwrArStateManagerBase::EStateStandBy );
}
--- a/textinput/peninputfingerhwrar/src/peninputfingerhwrarsymboltable.cpp Fri Mar 12 15:44:07 2010 +0200
+++ b/textinput/peninputfingerhwrar/src/peninputfingerhwrarsymboltable.cpp Mon Mar 15 12:42:02 2010 +0200
@@ -163,11 +163,12 @@
CFepUiBaseCtrl* ctrl = CControlGroup::HandlePointerMoveEventL( aPoint );
if(ctrl)
{
+ HandlePointerEnter(aPoint);
ctrl->UpdateArea(ctrl->Rect(),EFalse);
}
else
{
- CControlGroup::HandlePointerLeave(aPoint);
+ HandlePointerLeave(aPoint);
UpdateArea(iRect,EFalse);
}
@@ -208,10 +209,12 @@
// relayout the button group
TRect spaceBtnRect(iRect.iTl,iRect.iTl+TPoint(aButtonSize.iWidth,aButtonSize.iHeight));
- MoveIconButton(iSpaceBtn,spaceBtnRect,KSymbolButtonInnerPadding,KSymbolButtonInnerPadding);
- TRect innerRect = spaceBtnRect;
- innerRect.Shrink(4*KSymbolButtonInnerPadding,KSymbolButtonInnerPadding);
+ TInt pdx = (spaceBtnRect.Size().iWidth/3)/2;
+ MoveIconButton(iSpaceBtn,spaceBtnRect,pdx,KSymbolButtonInnerPadding);
+
+ TRect pieceInnerRect = spaceBtnRect;
+ pieceInnerRect.Shrink(pdx*2,KSymbolButtonInnerPadding);
// that's a not good algrithm in funciton AknPenInputDrawUtils::Draw3PiecesColorIcon for drawing 3Pieces icons
// as when the outter rect's height was not equal to the inter rect's height, the target rects the left icons and right icons
@@ -221,11 +224,11 @@
TDraw3PiecesFrame(KAknsIIDQgnIndiInputSpaceL,
KAknsIIDQgnIndiInputSpaceMiddle,
KAknsIIDQgnIndiInputSpaceR,
- innerRect));
+ pieceInnerRect));
TRect enterBtnRect = spaceBtnRect;
enterBtnRect.Move(TPoint(aButtonSize.iWidth,0));
- MoveIconButton(iEnterBtn,enterBtnRect,KSymbolButtonInnerPadding,KSymbolButtonInnerPadding);
+ MoveIconButton(iEnterBtn,enterBtnRect,pdx,KSymbolButtonInnerPadding);
TRect pageBtnRect = enterBtnRect;
pageBtnRect.Move(TPoint(aButtonSize.iWidth,0));
@@ -278,6 +281,9 @@
AddControlL( iMutiPageKeypad );
iMutiPageKeypad->AddEventObserver( UiLayout() );
+ iMutiPageKeypad->SetKeySkinId( EKeyBmpNormal, KAknsIIDQsnFrKeypadButtonNormal );
+ iMutiPageKeypad->SetKeySkinId( EKeyBmpHighlight, KAknsIIDQsnFrKeypadButtonPressed );
+ iMutiPageKeypad->SetKeySkinId( EKeyBmpDim, KAknsIIDQsnFrKeypadButtonInactive );
iMutiPageKeypad->SetResourceId( KInvalidResId );
iMutiPageKeypad->SetKeyTextColorGroup( EAknsCIQsnTextColorsCG68 );
--- a/textinput/peninputfingerhwrar/src/peninputfingerhwrarwnd.cpp Fri Mar 12 15:44:07 2010 +0200
+++ b/textinput/peninputfingerhwrar/src/peninputfingerhwrarwnd.cpp Mon Mar 15 12:42:02 2010 +0200
@@ -839,14 +839,8 @@
iWritingBox->SetRect( rect );
//resize indicator
- TRect indicatorRect;
- indicatorRect.iTl = rect.iTl;
- indicatorRect.Move(TPoint(10,10));
-
- indicatorRect.SetSize(TSize(50,30));
-
iHandwritingIndicator->ConstructFromResourceL(R_AKN_FEP_HWR_INDICATOR_ICON);
- iHandwritingIndicator->SizeChanged(indicatorRect,ETrue);
+ iHandwritingIndicator->SizeChanged(iLafManager->GetIndicatorRect(),ETrue);
//Move buttons
TSize siBtnPadding = iLafManager->ButtonInnerPadding();
@@ -861,22 +855,25 @@
rect = iLafManager->CtrlRect( iBackspaceBtn->ControlId() );
MoveIconButton( iBackspaceBtn, rect, pdx, pdy, ETrue );
-
- rect = iLafManager->CtrlRect( iArrowUpBtn->ControlId() );
- MoveIconButton( iArrowUpBtn, rect, pdx, pdy, ETrue );
-
- rect = iLafManager->CtrlRect( iArrowLeftBtn->ControlId() );
- MoveIconButton( iArrowLeftBtn, rect, pdx, pdy, ETrue );
-
- rect = iLafManager->CtrlRect( iArrowRightBtn->ControlId() );
- MoveIconButton( iArrowRightBtn, rect, pdx, pdy, ETrue );
-
- rect = iLafManager->CtrlRect( iArrowDownBtn->ControlId() );
- MoveIconButton( iArrowDownBtn, rect, pdx, pdy, ETrue );
rect = iLafManager->CtrlRect( iOptionBtn->ControlId() );
MoveIconButton( iOptionBtn, rect, pdx, pdy, ETrue );
+ pdx = iLafManager->GetArrowPaddingSize().iWidth;
+ pdy = iLafManager->GetArrowPaddingSize().iHeight;
+
+ rect = iLafManager->CtrlRect( iArrowUpBtn->ControlId() );
+ MoveIconButton( iArrowUpBtn, rect, pdx, pdy, ETrue );
+
+ rect = iLafManager->CtrlRect( iArrowLeftBtn->ControlId() );
+ MoveIconButton( iArrowLeftBtn, rect, pdx, pdy, ETrue );
+
+ rect = iLafManager->CtrlRect( iArrowRightBtn->ControlId() );
+ MoveIconButton( iArrowRightBtn, rect, pdx, pdy, ETrue );
+
+ rect = iLafManager->CtrlRect( iArrowDownBtn->ControlId() );
+ MoveIconButton( iArrowDownBtn, rect, pdx, pdy, ETrue );
+
// load vkb key image
TSize keysize = iLafManager->VirtualSctpadCellSize().Size();
iSymbolTable->LoadVkbKeyImageL(R_FINGER_HWR_SCTPAD_IMAGE, keysize );
@@ -956,7 +953,9 @@
// avoid overlap refresh problem after opening symbil table
// so set this control to be not ready
iContextField->SetReady(EFalse);
+
iSymbolTable->OpenSymbolTable();
+ iSymbolTable->BringToTop();
}
@@ -1164,7 +1163,7 @@
}
iContextField->SetBorderColor( icfframecolor );
- iContextField->SetBgImgSkinId( KAknsIIDQsnFrCall2Rect );
+ iContextField->SetBgImgSkinId( KAknsIIDQgnGrafFepInputBg );
CleanupStack::PopAndDestroy( 1 ); // icfreader
}
@@ -1340,6 +1339,7 @@
if(iSymbolTable->IsPopup())
{
iSymbolTable->CloseSymbolTable();
+ iSymbolTable->BringToBack();
SwitchToStandbyView();
}
}
--- a/textinput/peninputgenericitut/inc/peninputgenericitutwindow.h Fri Mar 12 15:44:07 2010 +0200
+++ b/textinput/peninputgenericitut/inc/peninputgenericitutwindow.h Mon Mar 15 12:42:02 2010 +0200
@@ -134,6 +134,7 @@
const TInt aImgID2,
const TInt aMaskID2 );
void SetIndiWithTextFlag( TBool aFlag );
+ void MsgBubbleForChinese();
private:
CGenericItutWindow(CGenericItutWindowManager* aWindowMgr,
CGenericItutUiLayout* aLayoutOwner,
--- a/textinput/peninputgenericitut/src/peninputgenericitutlayout.cpp Fri Mar 12 15:44:07 2010 +0200
+++ b/textinput/peninputgenericitut/src/peninputgenericitutlayout.cpp Mon Mar 15 12:42:02 2010 +0200
@@ -371,11 +371,14 @@
void CGenericItutUiLayout::SetInputModeL(TInt aMode)
{
- // fix EJML-7HM6GM, e.g. both EStrokeFind and EStroke will be stored as EStroke
- if (aMode != iDataMgr->InputMode() ||
- aMode == EStroke || aMode == EStrokeFind ||
- aMode == EZhuyin || aMode == EZhuyinFind ||
- ( iDataMgr->IsNumericOnly() && iDataMgr->IsCharFlagChanged() ) )
+ TBool numericOnlyChanged = iDataMgr->IsCharFlagChanged() ? ETrue : EFalse;
+ //only number mode need judge it
+
+ // fix EJML-7HM6GM, e.g. both EStrokeFind and EStroke will be stored as Estroke /////
+ if ( aMode != iDataMgr->InputMode() ||
+ aMode == EStroke || aMode == EStrokeFind ||
+ aMode == EZhuyin || aMode == EZhuyinFind ||
+ numericOnlyChanged )
{
// deactivate original uimgr first
if (iCurrentUiMgr
--- a/textinput/peninputgenericitut/src/peninputgenericitutwindow.cpp Fri Mar 12 15:44:07 2010 +0200
+++ b/textinput/peninputgenericitut/src/peninputgenericitutwindow.cpp Mon Mar 15 12:42:02 2010 +0200
@@ -748,7 +748,7 @@
iICF->SetResourceId(R_FINGER_ICF);
ConstructIcfFromResourceL();
- iICF->SetBgImgSkinId(KAknsIIDQsnFrCall2Rect);
+ iICF->SetBgImgSkinId(KAknsIIDQgnGrafFepInputBg);
//iDataMgr->SetTextAlignment();
AddControlL(iICF);
@@ -2063,6 +2063,23 @@
}
}
+void CGenericItutWindow::MsgBubbleForChinese()
+ {
+ if ( iICF )
+ {
+ iBubbleSize = AknLayoutScalable_Apps::popup_char_count_window().LayoutLine();
+ iBubbleTextLayout = AknLayoutScalable_Apps::popup_char_count_window_t1(0).LayoutLine();
+
+ iICF->MsgBubbleCtrl()->SetTextFormat(iBubbleTextLayout);
+ iICF->MsgBubbleCtrl()->SetBitmapParam(NULL,
+ NULL,
+ KAknsIIDQsnFrInputPreviewSideL,
+ KAknsIIDQsnFrInputPreviewMiddle,
+ KAknsIIDQsnFrInputPreviewSideR);
+ iICF->SetMsgBubbleCtrlSize(TSize(iBubbleSize.iW,iBubbleSize.iH));
+ iICF->MsgBubbleCtrl()->SetTextL( KEmptyString );
+ }
+ }
void CGenericItutWindow::SetIndiWithTextFlag( TBool aFlag )
{
iIndiWithText = aFlag;
--- a/textinput/peninputgenericitut/src/peninputgenericitutwindowmanager.cpp Fri Mar 12 15:44:07 2010 +0200
+++ b/textinput/peninputgenericitut/src/peninputgenericitutwindowmanager.cpp Mon Mar 15 12:42:02 2010 +0200
@@ -464,6 +464,11 @@
iDataMgr->IndicatorData().iIndicatorTextMaskID);
}
}
+ else
+ {
+ iWindow->Icf()->HideBubble();
+ iWindow->MsgBubbleForChinese();
+ }
iWindow->Icf()->ShowBubble(aInfo,iWindow->Icf()->MsgBubbleCtrl()->Rect());
}
else
--- a/textinput/peninputgenericitut/src/peninputitutchnuistatestandby.cpp Fri Mar 12 15:44:07 2010 +0200
+++ b/textinput/peninputgenericitut/src/peninputitutchnuistatestandby.cpp Mon Mar 15 12:42:02 2010 +0200
@@ -52,6 +52,8 @@
void CChnItutUiStateStandby::OnEntryL()
{
+ iOwner->LayoutContext()->Control(ECtrlIdSwitch)->Hide(EFalse);
+ iOwner->LayoutContext()->Control(ECtrlIdIndicator)->Hide(EFalse);
// pinyin
switch (iOwner->DataMgr()->InputMode())
{
--- a/textinput/peninputgenericitut/src/peninputitutwesternuistatenonpredict.cpp Fri Mar 12 15:44:07 2010 +0200
+++ b/textinput/peninputgenericitut/src/peninputitutwesternuistatenonpredict.cpp Mon Mar 15 12:42:02 2010 +0200
@@ -30,6 +30,7 @@
#include "peninputgenericitutdatamgr.h"
#include "peninputgenericitutlayoutcontext.h"
#include "peninputgenericitutwindowmanager.h"
+#include <peninputlayoutbubblectrl.h>
CWesternItutUiStateNonPredict* CWesternItutUiStateNonPredict::NewL(CGenericItutUiMgrBase* aOwner)
{
@@ -111,10 +112,18 @@
}
else
{
- //iOwner->LayoutContext()->Control(ECtrlIdSwitch)->Hide(EFalse);
iOwner->LayoutContext()->Control(ECtrlIdOptions)->Hide(EFalse);
iOwner->LayoutContext()->Control(ECtrlIdClose)->Hide(EFalse);
- //iOwner->LayoutContext()->Control(ECtrlIdIndicator)->Hide(EFalse);
+ if ( iOwner->LayoutContext()->Control(ECtrlIdSwitch) != NULL )
+ {
+ iOwner->LayoutContext()->Control(ECtrlIdSwitch)->Hide(ETrue);
+ }
+ if ( iOwner->LayoutContext()->Control(ECtrlIdIndicator) != NULL )
+ {
+ iOwner->LayoutContext()->Control(ECtrlIdIndicator)->Hide(ETrue);
+ }
+
+ iIcf->MsgBubbleCtrl()->Hide( EFalse );
iOwner->LayoutContext()->ShowArrowBtn(EBtnArrowLeft | EBtnArrowRight);
if(iOwner->LayoutContext()->IsSecretEdtior())
--- a/textinput/peninputgenericitut/src/peninputitutwesternuistatespelling.cpp Fri Mar 12 15:44:07 2010 +0200
+++ b/textinput/peninputgenericitut/src/peninputitutwesternuistatespelling.cpp Mon Mar 15 12:42:02 2010 +0200
@@ -172,7 +172,9 @@
ReCalcLayoutL();
CAknFepCtrlLabel* indilabel = static_cast<CAknFepCtrlLabel*>
(iOwner->LayoutContext()->Control(ECtrlIdSpellIndicator));
- if ( indilabel )
+ // Modify begin
+ if ( indilabel && iOwner->DataMgr()->IsChinese())
+ // Modify end
{
indilabel->Hide( EFalse );
}
--- a/textinput/peninputgenericitut/srcdata/peninputgeneralitutnew.rss Fri Mar 12 15:44:07 2010 +0200
+++ b/textinput/peninputgenericitut/srcdata/peninputgeneralitutnew.rss Mon Mar 15 12:42:02 2010 +0200
@@ -468,7 +468,7 @@
{
colormajorskinid = EAknsMajorSkin;
textcolorgrp = EAknsMinorQsnTextColors;
- textcoloridx = 50;
+ textcoloridx = 59;
bordercolorgrp = EAknsMinorQsnOtherColors;
bordercoloridx = 8;
}
--- a/textinput/peninputsplititut/src/peninputsplititutwindow.cpp Fri Mar 12 15:44:07 2010 +0200
+++ b/textinput/peninputsplititut/src/peninputsplititutwindow.cpp Mon Mar 15 12:42:02 2010 +0200
@@ -760,7 +760,7 @@
iICF->SetFocus(ETrue);
iICF->SetResourceId( R_SPLIT_ITUT_ICF );
ConstructIcfFromResourceL();
- iICF->SetBgImgSkinId( KAknsIIDQsnFrCall2Rect );
+ iICF->SetBgImgSkinId( KAknsIIDQgnGrafFepInputBg);
AddControlL( iICF );
--- a/textinput/peninputsplititut/srcdata/peninputsplititutnew.rss Fri Mar 12 15:44:07 2010 +0200
+++ b/textinput/peninputsplititut/srcdata/peninputsplititutnew.rss Mon Mar 15 12:42:02 2010 +0200
@@ -437,7 +437,7 @@
{
colormajorskinid = EAknsMajorSkin;
textcolorgrp = EAknsMinorQsnTextColors;
- textcoloridx = 50;
+ textcoloridx = 59;
bordercolorgrp = EAknsMinorQsnOtherColors;
bordercoloridx = 8;
}