--- a/fep/aknfep/help/group/bld.inf Mon Jun 21 16:02:35 2010 +0300
+++ b/fep/aknfep/help/group/bld.inf Thu Jul 15 19:01:13 2010 +0300
@@ -2,18 +2,16 @@
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
-* under the terms of the License "Symbian Foundation License v1.0"
+* under the terms of "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
-* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
-* Nokia Corporation - Initial contribution
-*
+* Nokia Corporation - initial contribution.
+*
* Contributors:
*
-*
* Description:
-* Export help related files.
*
*/
--- a/fep/aknfep/inc/AknFepManager.h Mon Jun 21 16:02:35 2010 +0300
+++ b/fep/aknfep/inc/AknFepManager.h Thu Jul 15 19:01:13 2010 +0300
@@ -902,6 +902,13 @@
TBool IsSpecialNumericEditor();
void TryPopExactWordInICFL();
+
+ /**
+ * checks whether the current editor is a Java Secret editor.
+ * return value: Etrue when it is a Java Secret editor.
+ * Efalse when it is not.
+ */
+ TBool IsJavaSecretEditor();
void HandleChangeInFocusForSettingFep();
@@ -2609,6 +2616,14 @@
private:
void ConvertCharToKey(TChar aIn, TUint16& aKey) const;
+
+ /**
+ * Update editor state' flag
+ * @since Symbian^3
+ * @param aFlag editor state flag
+ * @param aAdd adding or removing
+ */
+ void UpdateEditorStateFlags( TInt aFlag, TBool aAdd = ETrue ) const;
private:
// Data owned by this class
--- a/fep/aknfep/inc/AknFepManagerUIInterface.h Mon Jun 21 16:02:35 2010 +0300
+++ b/fep/aknfep/inc/AknFepManagerUIInterface.h Thu Jul 15 19:01:13 2010 +0300
@@ -431,6 +431,13 @@
*/
virtual TBool IsSupportsSecretText() const = 0;
+ /**
+ * checks whether the current editor is a Java Secret editor.
+ * return value: Etrue when it is a Java Secret editor.
+ * Efalse when it is not.
+ */
+ virtual TBool IsJavaSecretEditor() = 0;
+
/**
* Returns current input mode.
--- a/fep/aknfep/peninputplugins/peninputimeplugincn/src/pluginfepmanagerbase.cpp Mon Jun 21 16:02:35 2010 +0300
+++ b/fep/aknfep/peninputplugins/peninputimeplugincn/src/pluginfepmanagerbase.cpp Thu Jul 15 19:01:13 2010 +0300
@@ -324,7 +324,10 @@
//
void CPluginFepManagerBase::CloseUI()
{
- iPenInputServer->ActivateLayout( EFalse );
+ if (iPenInputServer->IsVisible())
+ {
+ iPenInputServer->ActivateLayout( EFalse );
+ }
}
// -----------------------------------------------------------------------------
--- a/fep/aknfep/peninputplugins/peninputimeplugingeneric/src/pluginfepmanagerbase.cpp Mon Jun 21 16:02:35 2010 +0300
+++ b/fep/aknfep/peninputplugins/peninputimeplugingeneric/src/pluginfepmanagerbase.cpp Thu Jul 15 19:01:13 2010 +0300
@@ -355,7 +355,10 @@
//
void CPluginFepManagerBase::CloseUI()
{
- iPenInputServer->ActivateLayout( EFalse );
+ if (iPenInputServer->IsVisible())
+ {
+ iPenInputServer->ActivateLayout( EFalse );
+ }
}
// -----------------------------------------------------------------------------
--- a/fep/aknfep/peninputplugins/peninputimepluginitut/src/pluginfepmanagerbase.cpp Mon Jun 21 16:02:35 2010 +0300
+++ b/fep/aknfep/peninputplugins/peninputimepluginitut/src/pluginfepmanagerbase.cpp Thu Jul 15 19:01:13 2010 +0300
@@ -426,7 +426,10 @@
//
void CPluginFepManagerBase::CloseUI()
{
- iPenInputServer->ActivateLayout( EFalse );
+ if (iPenInputServer->IsVisible())
+ {
+ iPenInputServer->ActivateLayout( EFalse );
+ }
}
// -----------------------------------------------------------------------------
--- a/fep/aknfep/src/AknFepManager.cpp Mon Jun 21 16:02:35 2010 +0300
+++ b/fep/aknfep/src/AknFepManager.cpp Thu Jul 15 19:01:13 2010 +0300
@@ -251,9 +251,6 @@
LOCAL_C TInt RemapVietnameseAccentedCharacter(TUint16 aChr);
-static _LIT_SECURITY_POLICY_PASS( KAllowAllPolicy );
-static _LIT_SECURITY_POLICY_C1( KPowerMgmtPolicy, ECapabilityPowerMgmt );
-
//
// Class TTextDirectionalInfo
//
@@ -448,12 +445,9 @@
iLastFocusedEditor = NULL;
iFepAwareDialogParentEditor = NULL;
- RProperty::Define(
- KPSUidAknFep,
- KAknFepSettingDialogState,
- RProperty::EInt,
- KAllowAllPolicy, // None
- KPowerMgmtPolicy );
+ // Fep manager should have both read and write privilege.
+ // Known case: Auto-completion cannot be changed in setting dialog.
+ RProperty::Define( KPSUidAknFep, KAknFepSettingDialogState, RProperty::EInt );
}
void CAknFepManager::ConstructFullyL()
@@ -10103,25 +10097,25 @@
}
else
{
- // Go directly via CTextView because the normal way via the FepAwareEditor can only be called
- // during an inline edit.
- // Line cursor is made invisible here. There is no line cursor in S60 LAF, even though there is
- // an Edwin flag which govern this. See CEikEdwin::SetCursorVisibilityL(TBool)
- // Cursor is not set if this CommitInlineEditL call was prompted when losing focus.
+ // Line cursor is made invisible here. There is no line cursor in S60 LAF, even though there is
+ // an Edwin flag which govern this. See CEikEdwin::SetCursorVisibilityL(TBool)
+ // Cursor is not set if this CommitInlineEditL call was prompted when losing focus.
MAknFepDocumentNavigation* docNavi = AknFepDocumentNavigation();
- if ( (docNavi || TextView()) && !IsCcpuFlagSet(ECcpuStateLosingFocus) )
- {
- if (docNavi)
- {
- docNavi->SetCursorVisibilityL( TCursor::EFCursorInvisible,
- TCursor::EFCursorFlashing );
- }
- else
- {
- TextView()->SetCursorVisibilityL( TCursor::EFCursorInvisible,
- TCursor::EFCursorFlashing );
- }
- }
+
+ // Use FepAwareTextEditor to judge, not use TextView()
+ if ( (docNavi || FepAwareTextEditor()) && !IsCcpuFlagSet(ECcpuStateLosingFocus) )
+ {
+ if (docNavi)
+ {
+ docNavi->SetCursorVisibilityL( TCursor::EFCursorInvisible,
+ TCursor::EFCursorFlashing );
+ }
+ else
+ {
+ //Use Edwin (FepAwareTextEditor) to set cursor visibility
+ FepAwareTextEditor()->SetInlineEditingCursorVisibilityL( ETrue );
+ }
+ }
}
}
// iMatchState=EWordMatchFirst;
@@ -10302,6 +10296,33 @@
}
return EFalse;
}
+
+// -----------------------------------------------------------------------------
+// check whether the current editor is a Java secret editor
+// -----------------------------------------------------------------------------
+TBool CAknFepManager::IsJavaSecretEditor()
+ {
+ TBool JavaSecretEditor = EFalse;
+
+ TUint ConstraintValue = 0;
+ MObjectProvider* mop = iInputCapabilities.ObjectProvider();
+
+ if ( mop )
+ {
+ CAknExtendedInputCapabilities* extendedInputCapabilities =
+ mop->MopGetObject( extendedInputCapabilities );
+ if ( extendedInputCapabilities && iInputCapabilities.FepAwareTextEditor() )
+ {
+ ConstraintValue = extendedInputCapabilities->MIDPConstrainst();
+ }
+ }
+ if( ConstraintValue & 0x10000 )
+ {
+ JavaSecretEditor = ETrue;
+ }
+
+ return JavaSecretEditor;
+ }
TBool CAknFepManager::IsEditorHasFreeSpace() const
{
@@ -16146,12 +16167,20 @@
}
else
{
- CTextView* textView = TextView();
- if (textView)
- {
- TextView()->GetCursorPos(rawDocPos);
- gotPos = ETrue;
- }
+ // Use Edwin (FepAwareTextEditor() ) to get the position of document
+ if ( FepAwareTextEditor() )
+ {
+ TCursorSelection cursorSel( 0, 0 );
+ // Get the postion of document
+ FepAwareTextEditor()->GetCursorSelectionForFep( cursorSel );
+
+ // Set the leading edge of the document.
+ rawDocPos.iPos = cursorSel.iCursorPos;
+ CAknEdwinState* state( EditorState() );
+ rawDocPos.iLeadingEdge = ( state &&
+ state->Flags() & EAknEditorFlagCursorLedingEdge );
+ gotPos = ETrue;
+ }
}
if (gotPos)
{
@@ -16397,6 +16426,10 @@
TBool CAknFepManager::GetVisualDocEnd( TTmDocPosSpec& aPos) const
{
+ // Set EAknEditorFlagNeedWholeTextData to Editor State
+ // EAknEditorFlagNeedWholeTextData means needing to get whole document data to editor
+ UpdateEditorStateFlags( EAknEditorFlagNeedWholeTextData );
+
TInt docLength = iInputCapabilities.FepAwareTextEditor()->DocumentLengthForFep();
// Set up the initial try as trailing after the last logical character
@@ -16422,6 +16455,9 @@
aPos.iPos = docLength;
aPos.iType = TTmDocPosSpec::ETrailing;
}
+
+ // Remove EAknEditorFlagNeedWholeTextData fromEditor State
+ UpdateEditorStateFlags( EAknEditorFlagNeedWholeTextData, EFalse );
return success;
}
@@ -17012,6 +17048,16 @@
else
{
aLanguage = EditorState()->LocalLanguage();
+
+ // Change local language to ELangEnglish if application, e.g. Search Widget,
+ // sets local language to ELangEnglish_Taiwan, ELangEnglish_HongKong
+ // and ELangEnglish_Prc.
+ if( aLanguage == ELangEnglish_Taiwan ||
+ aLanguage == ELangEnglish_HongKong ||
+ aLanguage == ELangEnglish_Prc )
+ {
+ aLanguage = ELangEnglish;
+ }
}
if ( aLanguage != ELangTest )
@@ -17474,8 +17520,10 @@
{
if ( aCode == EKeyRightArrow || aCode == EKeyLeftArrow )
{
+ // Never use TextView() to get editor data,
+ // use FepAwareTextEditor() condition instead of TextView()
if ( iInputCapabilities.FepAwareTextEditor() && EditorState()
- && (AknFepDocumentNavigation() || TextView()) )
+ && AknFepDocumentNavigation() )
{
TTmDocPosSpec docPos = DocPos();
TTextDirectionalInfo status = LocalTextDirectionalStatus( docPos );
@@ -17583,8 +17631,11 @@
void CAknFepManager::AdjustCursorTypeForCurrentPosition()
{
+
+ // Never use TextView() to get editor data,
+ // use FepAwareTextEditor() condition instead of TextView()
if ( iInputCapabilities.FepAwareTextEditor() && EditorState()
- && (AknFepDocumentNavigation() || TextView()) )
+ && AknFepDocumentNavigation())
AdjustCursorTypeForPosition( DocPos() );
}
@@ -20779,7 +20830,7 @@
void CAknFepManager::HideExactWordPopUp()
{
iExactWordPopupContent->HidePopUp();
- SendEventsToPluginManL( EPluginHideTooltip );
+ TRAP_IGNORE( SendEventsToPluginManL( EPluginHideTooltip ));
}
TBool CAknFepManager::IsExactWordPopUpShown()
@@ -21001,6 +21052,30 @@
CleanupStack::PopAndDestroy(); //reader
return isEmpty;
}
+
+// ========================================
+// Update Editor State Flag
+// Add editor state flags or
+// Remove editor state flags
+// ========================================
+void CAknFepManager::UpdateEditorStateFlags( TInt aFlag, TBool aAdd ) const
+ {
+ CAknEdwinState* state( EditorState() );
+ if ( state )
+ {
+ TInt flags( state->Flags() );
+ if ( aAdd )
+ {
+ flags |= aFlag; // Add flag
+ }
+ else
+ {
+ flags &= ~aFlag; // Remove flag
+ }
+ state->SetFlags( flags );
+ }
+ }
+
// ---------------------------------------------------------------------------
// LOCAL METHODS
--- a/fep/aknfep/src/AknFepPluginManager.cpp Mon Jun 21 16:02:35 2010 +0300
+++ b/fep/aknfep/src/AknFepPluginManager.cpp Thu Jul 15 19:01:13 2010 +0300
@@ -288,8 +288,6 @@
iAvkonRepository = CRepository::NewL( KCRUidAvkon );
iConnectAo = new (ELeave)CConnectAo(this);
-
- RProperty::Define( KPSUidAknFep, KAknFepSettingDialogState, RProperty::EInt );
}
// -----------------------------------------------------------------------------
@@ -1093,9 +1091,10 @@
}
break;
case EPluginEnablePriorityChangeOnOriChange:
- if(iCurrentPluginInputFepUI)
+ if( iCurrentPluginInputFepUI && PluginInputMode() != EPluginInputModeNone )
{
- if(ConnectServer())
+ // Don't handle this command if pen ui is not opened.
+ if( iPenInputSvrConnected )
{
iPenInputServer.EnablePriorityChangeOnOriChange(TBool(aEventData));
}
@@ -4219,9 +4218,10 @@
TInt enalbeInStartup = 0;
RProperty::Get(KPSUidUikon, KUikGlobalNotesAllowed, enalbeInStartup);
ebable = enalbeInStartup;
-
- if (iInGlobleNoteEditor ||
- (iPenInputMenu && iPenInputMenu->IsShowing()))
+
+ TInt priority = CCoeEnv::Static()->RootWin().OrdinalPriority();
+ if (iInGlobleNoteEditor || ECoeWinPriorityNormal < priority ||
+ (iPenInputMenu && iPenInputMenu->IsShowing()))
{
ebable = EFalse;
}
@@ -5417,8 +5417,8 @@
iInGlobleNoteEditor = IsGlobalNotesApp(curAppId) ? ETrue:EFalse;
if (iCurrentPluginInputFepUI)
{
- iCurrentPluginInputFepUI->HandleCommandL(
- ECmdPenInputEnableSettingBtn, !iInGlobleNoteEditor);
+ iCurrentPluginInputFepUI->HandleCommandL( ECmdPenInputEnableSettingBtn,
+ IsEnableSettingBtn() );
}
//if it's in global notes, show it.
--- a/fep/aknfep/src/AknFepUiManagerBase.cpp Mon Jun 21 16:02:35 2010 +0300
+++ b/fep/aknfep/src/AknFepUiManagerBase.cpp Thu Jul 15 19:01:13 2010 +0300
@@ -969,7 +969,10 @@
TPtrC curWord = iPtiEngine->CurrentWord();
iFepMan->UpdateInlineEditL( curWord, curWord.Length() );
}
- if ( iFepMan->IsSupportsSecretText() )
+ //a temporary solution to fix the error: long key press will input q1 instead of 1.
+ //if the secret editor is a java secret editor, then do not simulate the key EF20 like avkon secret editor
+ //&& !( iFepMan->IsJavaSecretEditor() ) was added
+ if ( ( iFepMan->IsSupportsSecretText() ) && !( iFepMan->IsJavaSecretEditor() ) )
{
// Fep communicates with secret text editors using simulated events.
iFepMan->SimulateKeyEventL(EKeyF20);
@@ -982,7 +985,10 @@
// The previous key entered character(s) directly to the editor
for ( TInt i=0 ; i<iEditorTextLenDeltaWithLastKey ; ++i )
{
- if ( iFepMan->IsSupportsSecretText() )
+ //a temporary solution to fix the error: long key press will input q1 instead of 1.
+ //if the secret editor is a java secret editor, then do not simulate the key EF20 like avkon secret editor
+ //&& !( iFepMan->IsJavaSecretEditor() ) was added
+ if ( ( iFepMan->IsSupportsSecretText() ) && !( iFepMan->IsJavaSecretEditor() ) )
{
// Fep communicates with secret text editors using simulated events.
iFepMan->SimulateKeyEventL(EKeyF20);
--- a/textinput/peninputarc/src/peninputlayoutcontrol/peninputlayoutbubblectrl.cpp Mon Jun 21 16:02:35 2010 +0300
+++ b/textinput/peninputarc/src/peninputlayoutcontrol/peninputlayoutbubblectrl.cpp Thu Jul 15 19:01:13 2010 +0300
@@ -629,7 +629,7 @@
if( aRect != Rect())
{
CFepUiBaseCtrl::SetRect( aRect );
- ResizeDeviceL();
+ TRAP_IGNORE(ResizeDeviceL());
}
}
}
--- a/textinput/peninputarc/src/peninputlayoutcontrol/peninputlayoutpopupwnd.cpp Mon Jun 21 16:02:35 2010 +0300
+++ b/textinput/peninputarc/src/peninputlayoutcontrol/peninputlayoutpopupwnd.cpp Thu Jul 15 19:01:13 2010 +0300
@@ -635,7 +635,7 @@
iRect = aRect;
if(iBitmap && iBitmap->SizeInPixels() != aRect.Size())
{
- ResizeBackupDeviceL(aRect.Size());
+ TRAP_IGNORE(ResizeBackupDeviceL(aRect.Size()));
}
}
// End of File
--- a/textinput/peninputarc/src/peninputlayoutcontrol/peninputlayoutvkb.cpp Mon Jun 21 16:02:35 2010 +0300
+++ b/textinput/peninputarc/src/peninputlayoutcontrol/peninputlayoutvkb.cpp Thu Jul 15 19:01:13 2010 +0300
@@ -535,7 +535,7 @@
TRAP_IGNORE(iBubbleCtrl = CBubbleCtrl::NewL(TRect(0,0,0,0),UiLayout(),-0xFFFF));
if(iBubbleCtrl && UiLayout()->NotDrawToLayoutDevice())
{
- iBubbleCtrl->CreateBmpDevL();
+ TRAP_IGNORE(iBubbleCtrl->CreateBmpDevL());
}
iBubbleSize = TSize(KDefaultBubbleSize,KDefaultBubbleSize);
}
--- a/textinput/peninputarc/src/peninputserverapp/peninputserver.cpp Mon Jun 21 16:02:35 2010 +0300
+++ b/textinput/peninputarc/src/peninputserverapp/peninputserver.cpp Thu Jul 15 19:01:13 2010 +0300
@@ -431,21 +431,41 @@
TBool notDraw = EFalse;
if(iUiLayout)
+ {
+ iUiLayout->HandleCommand( ECmdPeninputDisableLayoutDrawing,
+ (unsigned char*)¬Draw );
+ }
+
+ // [[[ temporary solution for Virtual keyboard becomes corrupted after several rotations
+ if(!iUiLayout)
{
- iUiLayout->HandleCommand( ECmdPeninputDisableLayoutDrawing,
- (unsigned char*)¬Draw );
+ return;
}
+
+ // we should not be able to activate and show pen ui if this mode is disabled currently
+ if(iUiLayout->PenInputType() & DisabledByOrientation())
+ {
+ // we have activate the animation otherwise we will see the penui but not reponse
+ // when clicking on it in the case we rotating the screen quickly and continously
+ if(iAnimObj)
+ {
+ iAnimObj->AddActivationCmd(ECmdActivate,EFalse);
+ }
+ return;
+ }
+ // ]]] temporary solution for Virtual keyboard becomes corrupted after several rotations
+
if(iActive)
{
- if(iUseWindowCtrl)
- {
+ if(iUseWindowCtrl)
+ {
/* RWsSession &ws = CCoeEnv::Static()->WsSession();
TInt wgId =ws.GetFocusWindowGroup();
//TInt wgHandle = ws.GetWindowGroupHandle(wgId);
- TInt priority;
- //TInt pos;
+ TInt priority;
+ //TInt pos;
//wg.Construct(wgHandle);
//pos = wg.FullOrdinalPosition();
priority = ws.GetWindowGroupOrdinalPriority(wgId);*/
@@ -454,57 +474,57 @@
ActivatePenUiLayout(EFalse);
iDimmed = EFalse;
iPenUiCtrl->ShowPenUiL(iDimmed);
- }
- return;
+ }
+ return;
}
- TBool bNeedWait = AnimOpNeedWaiting(ESignalPenUiActivated);
- //add animation command
+ TBool bNeedWait = AnimOpNeedWaiting(ESignalPenUiActivated);
+ //add animation command
- /*
- if(iAnimObj->AddActivationCmd(ECmdActivate,bNeedWait))
- {
- if(bNeedWait)
- iForegroundUiHandler->AddDelayedCmd();
- //iUiLayout->OnActivate();
- ActivatePenUiLayout();
-
- DrawSprite();
-
- iEventBufferQueue->GetEvent();
-
- iActive = ETrue;
-
- if(iUseWindowCtrl)
- iPenUiCtrl->ShowPenUi();
- }
- */
- if(ActivatePenUiLayout(bNeedWait))
+ /*
+ if(iAnimObj->AddActivationCmd(ECmdActivate,bNeedWait))
{
- if(bNeedWait)
- iForegroundUiHandler->AddDelayedCmd();
-
- DrawSprite();
-
- iActive = ETrue;
-
- if(iUseWindowCtrl)
- {
- /*RWsSession &ws = CCoeEnv::Static()->WsSession();
- TInt wgId =ws.GetFocusWindowGroup();
- //TInt wgHandle = ws.GetWindowGroupHandle(wgId);
+ if(bNeedWait)
+ iForegroundUiHandler->AddDelayedCmd();
+ //iUiLayout->OnActivate();
+ ActivatePenUiLayout();
+
+ DrawSprite();
+
+ iEventBufferQueue->GetEvent();
+
+ iActive = ETrue;
+
+ if(iUseWindowCtrl)
+ iPenUiCtrl->ShowPenUi();
+ }
+ */
+ if(ActivatePenUiLayout(bNeedWait))
+ {
+ if(bNeedWait)
+ iForegroundUiHandler->AddDelayedCmd();
+
+ DrawSprite();
+
+ iActive = ETrue;
+
+ if(iUseWindowCtrl)
+ {
+ /*RWsSession &ws = CCoeEnv::Static()->WsSession();
+ TInt wgId =ws.GetFocusWindowGroup();
+ //TInt wgHandle = ws.GetWindowGroupHandle(wgId);
-
- TInt priority;
- //TInt pos;
- //wg.Construct(wgHandle);
- //pos = wg.FullOrdinalPosition();
- priority = ws.GetWindowGroupOrdinalPriority(wgId);*/
- //wg.Close();
- iPenUiCtrl->ShowPenUiL(iDimmed);
- }
+ TInt priority;
+ //TInt pos;
+ //wg.Construct(wgHandle);
+ //pos = wg.FullOrdinalPosition();
+ priority = ws.GetWindowGroupOrdinalPriority(wgId);*/
+ //wg.Close();
+ iPenUiCtrl->ShowPenUiL(iDimmed);
}
}
+ }
+
// ---------------------------------------------------------------------------
// CPeninputServer::ActivateSprite
// Activate sprite
@@ -536,6 +556,21 @@
if(!iUiLayout)
return;
+
+ // [[[ temporary solution for Virtual keyboard becomes corrupted after several rotations
+ // we should not be able to activate and show pen ui if this mode is disabled currently
+ if(iUiLayout->PenInputType() & DisabledByOrientation())
+ {
+ // we have activate the animation otherwise we will see the penui but not reponse
+ // when clicking on it in the case we rotating the screen quickly and continously
+ if(iAnimObj)
+ {
+ iAnimObj->AddActivationCmd(ECmdActivate,EFalse);
+ }
+
+ return;
+ }
+ // ]]] temporary solution for Virtual keyboard becomes corrupted after several rotations
TBool notDraw = EFalse;
iUiLayout->HandleCommand(ECmdPeninputDisableLayoutDrawing,(unsigned char*)¬Draw);
@@ -561,43 +596,43 @@
/*
if(iAnimObj->AddActivationCmd(ECmdActivate,bNeedWait))
- {
- if(bNeedWait)
- iForegroundUiHandler->AddDelayedCmd();
- //iUiLayout->OnActivate();
+ {
+ if(bNeedWait)
+ iForegroundUiHandler->AddDelayedCmd();
+ //iUiLayout->OnActivate();
ActivatePenUiLayout();
-
- DrawSprite();
-
- iEventBufferQueue->GetEvent();
-
- iActive = ETrue;
-
- if(iUseWindowCtrl)
+
+ DrawSprite();
+
+ iEventBufferQueue->GetEvent();
+
+ iActive = ETrue;
+
+ if(iUseWindowCtrl)
iPenUiCtrl->ShowPenUi();
}
*/
if(ActivatePenUiLayout(bNeedWait, ETrue))
{
- if(bNeedWait)
- iForegroundUiHandler->AddDelayedCmd();
-
- DrawSprite();
-
- iActive = ETrue;
-
- if(iUseWindowCtrl)
- {
- TRAP_IGNORE( iPenUiCtrl->ShowPenUiL(iDimmed) );
-
- if (iPreNonGloebalNotesWndGrpId != focusApp.iUid &&
- IsGlobalNotesApp(focusApp) && !iInGlobalEditorState )
- {
- iDimmed = ETrue;
- DimPenUi();
- }
- }
+ if(bNeedWait)
+ iForegroundUiHandler->AddDelayedCmd();
+
+ DrawSprite();
+
+ iActive = ETrue;
+
+ if(iUseWindowCtrl)
+ {
+ TRAP_IGNORE( iPenUiCtrl->ShowPenUiL(iDimmed) );
+
+ if (iPreNonGloebalNotesWndGrpId != focusApp.iUid &&
+ IsGlobalNotesApp(focusApp) && !iInGlobalEditorState )
+ {
+ iDimmed = ETrue;
+ DimPenUi();
+ }
+ }
}
iIsLayoutReDrawAllowWhenActive = EFalse;
}
@@ -625,9 +660,9 @@
}
}
else
- {
- ActivatePenUiLayout(EFalse,ETrue);
- }
+ {
+ ActivatePenUiLayout(EFalse,ETrue);
+ }
if (iDimmed && (iInGlobalNotesApp || iInGlobalEditorState))
{
@@ -638,7 +673,7 @@
TRAP_IGNORE( iPenUiCtrl->ShowPenUiL(iDimmed) );
iDimmed = EFalse;
}
- }
+ }
}
// ---------------------------------------------------------------------------
--- a/textinput/peninputcommonctrls/loc/peninputcommonctrls.loc Mon Jun 21 16:02:35 2010 +0300
+++ b/textinput/peninputcommonctrls/loc/peninputcommonctrls.loc Thu Jul 15 19:01:13 2010 +0300
@@ -31,6 +31,18 @@
#define qtn_input_switcher_fs_qwerty "Full Screen Qwerty"
//d:Text in touch input mode swither list
+//d:portrait touch input method (full sreen qwerty or ITU-T)
+//l:list_single_pane_t1_cp2
+//r: 5.0
+#define qtn_tin_option_menu_portrait_editor "Edit portrait"
+
+//d:Text in touch input mode swither list
+//d:landscape full sreen qwerty touch input method
+//l:list_single_pane_t1_cp2
+//r: 5.0
+#define qtn_tin_option_menu_landscape_editor "Edit landscape"
+
+//d:Text in touch input mode swither list
//d:small virtual key board touch input method
//l:list_single_pane_t1_cp2
//r: 5.0
--- a/textinput/peninputcommonctrls/src/peninputbuttons/peninputbutton.cpp Mon Jun 21 16:02:35 2010 +0300
+++ b/textinput/peninputcommonctrls/src/peninputbuttons/peninputbutton.cpp Thu Jul 15 19:01:13 2010 +0300
@@ -4225,6 +4225,7 @@
}
iLongPressTimer->SetTimer(iLongPressInterval);
+ iIsLongPress = EFalse;
return CAknFepCtrlCommonButton::HandlePointerDownEventL(aPt);
}
@@ -4277,6 +4278,7 @@
EXPORT_C void CAknFepCtrlLongPressButton::CancelPointerDownL()
{
// No implementation needed
+ CAknFepCtrlCommonButton::CancelPointerDownL();
}
// ---------------------------------------------------------
--- a/textinput/peninputgenericitut/inc/peninputgenericitutdatamgr.h Mon Jun 21 16:02:35 2010 +0300
+++ b/textinput/peninputgenericitut/inc/peninputgenericitutdatamgr.h Thu Jul 15 19:01:13 2010 +0300
@@ -301,7 +301,7 @@
// resource id for generic itut resource file
TInt iCommonResId;
- TInt iConfigResId;
+ RArray<TInt> iConfigResIds;
TInt iAvkonResId;
--- a/textinput/peninputgenericitut/src/peninputgenericitutdatamgr.cpp Mon Jun 21 16:02:35 2010 +0300
+++ b/textinput/peninputgenericitut/src/peninputgenericitutdatamgr.cpp Thu Jul 15 19:01:13 2010 +0300
@@ -100,11 +100,13 @@
CCoeEnv::Static()->DeleteResourceFile(iAvkonResId);
CCoeEnv::Static()->DeleteResourceFile(iCommonResId);
-
- if (iConfigResId)
+
+ // Remove all resource files from control environment
+ for (TInt i=0; i< iConfigResIds.Count(); i++)
{
- CCoeEnv::Static()->DeleteResourceFile(iConfigResId);
+ CCoeEnv::Static()->DeleteResourceFile(iConfigResIds[i]);
}
+ iConfigResIds.Close();
ClearChnCandidates(EItutCandidates);
ClearChnCandidates(EItutPuncCandidates);
@@ -1143,14 +1145,14 @@
void CGenericItutDataMgr::SetLanguageL(TInt aLanguage)
{
ASSERT( IsValidLanguage( aLanguage ) );
-
+
if (iLanguage != aLanguage)
- {
+ {
if( IsValidLanguage( iLanguage ) )
- iIsLangDirectionSwitch = IsRtoLLanguage( aLanguage ) ^ IsRtoLLanguage( iLanguage );
+ iIsLangDirectionSwitch = IsRtoLLanguage( aLanguage ) ^ IsRtoLLanguage( iLanguage );
else
- //Check mirroring is needed when first setting language
- iIsLangDirectionSwitch = IsRtoLLanguage( aLanguage );
+ //Check mirroring is needed when first setting language
+ iIsLangDirectionSwitch = IsRtoLLanguage( aLanguage );
iLanguage = aLanguage;
iInputMode = KInvalidImMode;
@@ -1165,14 +1167,21 @@
CCoeEnv* coeEnv = CCoeEnv::Static();
- if (iConfigResId)
- {
- coeEnv->DeleteResourceFile(iConfigResId);
- }
-
TFileName resourceConfigName(iResourceFilename);
BaflUtils::NearestLanguageFile(coeEnv->FsSession(), resourceConfigName);
- iConfigResId = coeEnv->AddResourceFileL(resourceConfigName);
+ // Do not delete resource file from control environment if changing language.
+ // Otherwise crash happens if switching theme. For example:If writing language
+ // is Chinese, enters spell mode, then switches theme, crash happens.
+ TInt configResId = coeEnv->AddResourceFileL(resourceConfigName);
+ if ( iConfigResIds.Find(configResId) == KErrNotFound)
+ {
+ iConfigResIds.Append( configResId );
+ }
+ else
+ {
+ // Remove resource file to ensure the resource file is added only one time.
+ coeEnv->DeleteResourceFile( configResId );
+ }
if (IsChinese())
{
@@ -1180,9 +1189,9 @@
}
if( IsKorean())
- {
+ {
iLayoutContext->UiManager()->CreateKoreanSpecificCtrlsIfNeededL();
- }
+ }
NotifyChangeControlLayout(MItutPropertySubscriber::EItutPropertyKeypadResourceId,
KeypadResourceId());
@@ -1927,7 +1936,6 @@
iInputMode(KInvalidImMode),
iCase(EAknEditorUpperCase),
iIsChineseSpell( EFalse ),
- iConfigResId(0),
iLayoutContext(aLayoutContext),
iCurrentScriptIdx(KInvalidIndex),
iLandScape(EFalse),
--- a/textinput/peninputgenericvkb/inc/peninputgenericvkbwindow.h Mon Jun 21 16:02:35 2010 +0300
+++ b/textinput/peninputgenericvkb/inc/peninputgenericvkbwindow.h Thu Jul 15 19:01:13 2010 +0300
@@ -576,6 +576,14 @@
* Retrieve text color from skin for autocompletion part
*/
TRgb AutoCompletionPartColor();
+
+ /**
+ * Called when short press occurs on range button.
+ *
+ * @since S60 v3.2
+ * @return None
+ */
+ void HandleRangeButtonShortPress();
private: // Data
@@ -718,6 +726,11 @@
* Range labels for range list
*/
TAllRangeLabels iRangeLabels;
+
+ /**
+ * Indicates whether range button short press is handled.
+ */
+ TBool iHandleRangeShortPress;
private:
CFepLayoutScrollableList* iCandidateList;
--- a/textinput/peninputgenericvkb/src/peninputgenericvkblayout.cpp Mon Jun 21 16:02:35 2010 +0300
+++ b/textinput/peninputgenericvkb/src/peninputgenericvkblayout.cpp Thu Jul 15 19:01:13 2010 +0300
@@ -394,7 +394,7 @@
}
TInt CPeninputGenericVkbLayout::SizeChanged( const TAny* aData )
{
- (( CPeninputGenericVkbWindow*)iLayoutWindow)->UpdateLafData();
+ //(( CPeninputGenericVkbWindow*)iLayoutWindow)->UpdateLafData();
return CPeninputCommonLayoutExt::SizeChanged( aData );
}
void CPeninputGenericVkbLayout::HandleAppInfoChange(const TDesC& aInfo,
--- a/textinput/peninputgenericvkb/src/peninputgenericvkbwindow.cpp Mon Jun 21 16:02:35 2010 +0300
+++ b/textinput/peninputgenericvkb/src/peninputgenericvkbwindow.cpp Thu Jul 15 19:01:13 2010 +0300
@@ -134,6 +134,7 @@
}
void CPeninputGenericVkbWindow::ConstructL()
{
+ iHandleRangeShortPress = ETrue;
iBmpRotator = CPeninputSyncBitmapRotator::NewL();
iLafMgr = CPeninputGenericVkbLafMgr::NewL();
iLafMgr->SetInputModeL(TPluginInputMode (iLayoutContext->LayoutType()));
@@ -164,82 +165,22 @@
{
if ( aCtrl->ControlId() == EPeninutWindowCtrlIdMultiRangeBtn )
{
- PopupChoiceList();
+ if ( iHandleRangeShortPress )
+ {
+ HandleRangeButtonShortPress();
+ }
}
+ iHandleRangeShortPress = ETrue;
}
break;
case EPeninputLayoutEventMultiRangeLongPress:
{
- const TInt range = CPeninputDataConverter::AnyToInt(
- iLayoutContext->RequestData(EPeninputDataTypeCurrentRange));
-
- const TInt langId = IntContext( EPeninputDataTypeInputLanguage );
-
if ( aCtrl->ControlId() == EPeninutWindowCtrlIdMultiRangeBtn )
{
-
- if ( range == ERangeAccent )
- {
- if ( ConfigInfo()->RangeBarInfo()->FindRange( ERangeNative ) )
- {
- ChangeRange(ERangeNative);
- }
- else if ( ConfigInfo()->RangeBarInfo()->FindRange( ERangeEnglish ) )
- {
- ChangeRange(ERangeEnglish);
- }
- }
- else if ( range == ERangeNative )
- {
- if ( ConfigInfo()->RangeBarInfo()->FindRange( ERangeNativeNumber ) )
- {
-
- if ( langId != ELangArabic && langId != ELangFarsi
- && langId != ELangUrdu && langId != ELangThai )
- {
- ChangeRange(ERangeNativeNumber);
- }
- }
- else if ( ConfigInfo()->RangeBarInfo()->FindRange( ERangeNumber ) )
- {
- if ( langId != ELangArabic && langId != ELangFarsi
- && langId != ELangUrdu && langId != ELangThai )
- {
- ChangeRange(ERangeNumber);
- }
- }
- }
- else if ( range == ERangeEnglish )
- {
- if ( ConfigInfo()->RangeBarInfo()->FindRange( ERangeNumber ) )
- {
- ChangeRange(ERangeNumber);
- }
- }
- else if ( range == ERangeNativeNumber )
- {
- if ( ConfigInfo()->RangeBarInfo()->FindRange( ERangeNative ) )
- {
- ChangeRange(ERangeNative);
- }
- else if ( ConfigInfo()->RangeBarInfo()->FindRange( ERangeEnglish ) )
- {
- ChangeRange(ERangeEnglish);
- }
- }
- else if ( range == ERangeNumber )
- {
- if ( ConfigInfo()->RangeBarInfo()->FindRange( ERangeNative ) )
- {
- ChangeRange(ERangeNative);
- }
- else if ( ConfigInfo()->RangeBarInfo()->FindRange( ERangeEnglish ) )
- {
- ChangeRange(ERangeEnglish);
- }
- }
-
- TRAP_IGNORE( UpdateRangeCtrlsL() );
+ // Before pop up list, cancel down event, and set range button un-highlight.
+ TRAP_IGNORE( aCtrl->CancelPointerDownL());
+ static_cast<CAknFepCtrlCommonButton*>(aCtrl)->SetHighlight( EFalse );
+ PopupChoiceList();
}
}
break;
@@ -263,6 +204,14 @@
break;
case EEventChoiceSelected:
{
+ CFepUiBaseCtrl* btn = Control( EPeninutWindowCtrlIdMultiRangeBtn );
+
+ if ( btn )
+ {
+ iHandleRangeShortPress = EFalse;
+ TRAP_IGNORE( btn->HandlePointerUpEventL( btn->Rect().iBr ) );
+ iHandleRangeShortPress = ETrue;
+ }
CFepLayoutChoiceList::SEvent* event =
( CFepLayoutChoiceList::SEvent* ) aEventData.Ptr();
@@ -1710,7 +1659,8 @@
iVkbLayout->ConstructFromIrregularResourceL();
else
iVkbLayout->ConstructFromNonIrregularResourceL();
- SetVkbLayoutSize();
+
+ //SetVkbLayoutSize();
if( IsRtoLLanguage( iLanguage ) )
{
@@ -2965,4 +2915,72 @@
}
}
}
+
+void CPeninputGenericVkbWindow::HandleRangeButtonShortPress()
+ {
+ const TInt range = CPeninputDataConverter::AnyToInt(
+ iLayoutContext->RequestData(EPeninputDataTypeCurrentRange));
+
+ const TInt langId = IntContext( EPeninputDataTypeInputLanguage );
+
+ switch ( langId )
+ {
+ case ELangRussian:
+ case ELangBulgarian:
+ case ELangUkrainian:
+ {
+ range == ERangeNative ? ChangeRange( ERangeNumber ) : ChangeRange( ERangeNative );
+ }
+ break;
+
+ case ELangArabic:
+ case ELangFarsi:
+ case ELangUrdu:
+ {
+ range == ERangeNative ? ChangeRange( ERangeNativeNumber ) : ChangeRange( ERangeNative );
+ }
+ break;
+
+ case ELangThai:
+ {
+ range == ERangeNative ? ChangeRange( ERangeNumber ) : ChangeRange( ERangeNative );
+ }
+ break;
+
+ case ELangGreek:
+ case ELangHebrew:
+ {
+ range == ERangeNative ? ChangeRange( ERangeNumber ) : ChangeRange( ERangeNative );
+ }
+ break;
+ default: // Latin, vietnamese, and other possible languages
+ {
+ if ( ConfigInfo()->RangeBarInfo()->FindRange( ERangeNative ) )
+ {
+ if ( range == ERangeNative )
+ {
+ if ( ConfigInfo()->RangeBarInfo()->FindRange( ERangeNativeNumber ) )
+ {
+ ChangeRange( ERangeNativeNumber );
+ }
+ else if ( ConfigInfo()->RangeBarInfo()->FindRange( ERangeNumber ) )
+ {
+ ChangeRange( ERangeNumber );
+ }
+ }
+ else
+ {
+ ChangeRange( ERangeNative );
+ }
+ }
+ else if ( ConfigInfo()->RangeBarInfo()->FindRange( ERangeEnglish ) )
+ {
+ range == ERangeEnglish ? ChangeRange( ERangeNumber ) : ChangeRange( ERangeEnglish );
+ }
+ }
+ break;
+ }
+
+ TRAP_IGNORE( UpdateRangeCtrlsL() );
+ }
// End Of File
--- a/textinput/peninputsplititut/src/peninputsplititutwesternuistatespelling.cpp Mon Jun 21 16:02:35 2010 +0300
+++ b/textinput/peninputsplititut/src/peninputsplititutwesternuistatespelling.cpp Thu Jul 15 19:01:13 2010 +0300
@@ -133,6 +133,7 @@
void CWesternSplitItutUiStateSpelling::OnExit()
{
+ iICF->HideBubble(); //Hide bubble when full screen ITUT closed
iOk->Hide(ETrue);
iCancel->Hide(ETrue);
iOwner->DataMgr()->SetSpellMode(EFalse);
--- a/textinput/peninputsplititut/src/peninputsplititutwindow.cpp Mon Jun 21 16:02:35 2010 +0300
+++ b/textinput/peninputsplititut/src/peninputsplititutwindow.cpp Thu Jul 15 19:01:13 2010 +0300
@@ -54,6 +54,7 @@
const TUint KDefaultIcfTextColor = 0x000000;
const TUint KDefaultIcfFrameColor = 0x000000;
+const TInt KTextLength = 100;
@@ -1457,6 +1458,11 @@
void CSplitItutWindow::UpdateIndiBubbleL( TUint8* aData )
{
+ // if icf is hidden, not call updateindibubblel
+ if( iICF->Hiden() )
+ {
+ return;
+ }
RDesReadStream readStream;
TFepIndicatorInfo indicatorData;
@@ -1484,7 +1490,7 @@
indicatorData.iIndicatorTextImgID,
indicatorData.iIndicatorTextMaskID );
- TBuf<100> text;
+ TBuf<KTextLength> text;
iICF->MsgBubbleCtrl()->GetText( text );
iICF->ShowBubble( text, iICF->MsgBubbleCtrl()->Rect());
}
--- a/textinput/peninputsplitqwerty/inc/peninputsplitqwertywindow.h Mon Jun 21 16:02:35 2010 +0300
+++ b/textinput/peninputsplitqwerty/inc/peninputsplitqwertywindow.h Thu Jul 15 19:01:13 2010 +0300
@@ -582,6 +582,14 @@
*/
void PrepareRangeListItems( RArray<CFepLayoutChoiceList::SItem>& aRangeItems );
+ /**
+ * Called when short press occurs on range button.
+ *
+ * @since S60 v3.2
+ * @return None
+ */
+ void HandleRangeButtonShortPress();
+
private: // Data
/**
@@ -727,6 +735,10 @@
*/
TAllRangeLabels iRangeLabels;
+ /**
+ * Indicates whether range button short press is handled.
+ */
+ TBool iHandleRangeShortPress;
};
inline TBool CPeninputSplitQwertyWindow::IsRtoLLanguage( TInt aLanguage )
--- a/textinput/peninputsplitqwerty/src/peninputsplitqwertywindow.cpp Mon Jun 21 16:02:35 2010 +0300
+++ b/textinput/peninputsplitqwerty/src/peninputsplitqwertywindow.cpp Thu Jul 15 19:01:13 2010 +0300
@@ -484,76 +484,12 @@
{
case EPeninputLayoutEventMultiRangeLongPress:
{
- const TInt range = CPeninputDataConverter::AnyToInt(
- iLayoutContext->RequestData(EPeninputDataTypeCurrentRange));
-
- const TInt langId = CPeninputDataConverter::AnyToInt(
- iLayoutContext->RequestData(EPeninputDataTypeInputLanguage));
-
- if ( aCtrl->ControlId() == EPeninutWindowCtrlIdRangeBtn )
+ if ( ctrlId == EPeninutWindowCtrlIdRangeBtn )
{
- if ( range == ERangeAccent )
- {
- if ( ConfigInfo()->RangeBarInfo()->FindRange( ERangeNative ) )
- {
- ChangeRange(ERangeNative);
- }
- else if ( ConfigInfo()->RangeBarInfo()->FindRange( ERangeEnglish ) )
- {
- ChangeRange(ERangeEnglish);
- }
- }
- else if ( range == ERangeNative )
- {
- if ( ConfigInfo()->RangeBarInfo()->FindRange( ERangeNativeNumber ) )
- {
-
- if ( langId != ELangArabic && langId != ELangFarsi
- && langId != ELangUrdu && langId != ELangThai )
- {
- ChangeRange(ERangeNativeNumber);
- }
- }
- else if ( ConfigInfo()->RangeBarInfo()->FindRange( ERangeNumber ) )
- {
- if ( langId != ELangArabic && langId != ELangFarsi
- && langId != ELangUrdu && langId != ELangThai )
- {
- ChangeRange(ERangeNumber);
- }
- }
- }
- else if ( range == ERangeEnglish )
- {
- if ( ConfigInfo()->RangeBarInfo()->FindRange( ERangeNumber ) )
- {
- ChangeRange(ERangeNumber);
- }
- }
- else if ( range == ERangeNativeNumber )
- {
- if ( ConfigInfo()->RangeBarInfo()->FindRange( ERangeNative ) )
- {
- ChangeRange(ERangeNative);
- }
- else if ( ConfigInfo()->RangeBarInfo()->FindRange( ERangeEnglish ) )
- {
- ChangeRange(ERangeEnglish);
- }
- }
- else if ( range == ERangeNumber )
- {
- if ( ConfigInfo()->RangeBarInfo()->FindRange( ERangeNative ) )
- {
- ChangeRange(ERangeNative);
- }
- else if ( ConfigInfo()->RangeBarInfo()->FindRange( ERangeEnglish ) )
- {
- ChangeRange(ERangeEnglish);
- }
- }
-
- TRAP_IGNORE( UpdateRangeCtrlsL() );
+ // Before pop up list, cancel down event, and set range button un-highlight.
+ TRAP_IGNORE( aCtrl->CancelPointerDownL());
+ static_cast<CAknFepCtrlCommonButton*>(aCtrl)->SetHighlight( EFalse );
+ PopupChoiceList();
}
}
break;
@@ -561,8 +497,13 @@
{
if ( ctrlId == EPeninutWindowCtrlIdRangeBtn )
{
- PopupChoiceList();
+ if ( iHandleRangeShortPress )
+ {
+ HandleRangeButtonShortPress();
+ }
}
+
+ iHandleRangeShortPress = ETrue;
}
break;
case EPeninputLayoutVkbEventResetShift:
@@ -581,6 +522,14 @@
break;
case EEventChoiceSelected:
{
+ CFepUiBaseCtrl* btn = Control( EPeninutWindowCtrlIdRangeBtn );
+
+ if ( btn )
+ {
+ iHandleRangeShortPress = EFalse;
+ TRAP_IGNORE( btn->HandlePointerUpEventL( btn->Rect().iBr ) );
+ iHandleRangeShortPress = ETrue;
+ }
CFepLayoutChoiceList::SEvent* event = NULL;
event = (CFepLayoutChoiceList::SEvent*) aEventData.Ptr();
@@ -686,6 +635,7 @@
}
iFirstConstruct = EFalse;
+ iHandleRangeShortPress = ETrue;
}
// ---------------------------------------------------------------------------
@@ -2020,4 +1970,74 @@
}
}
}
+
+void CPeninputSplitQwertyWindow::HandleRangeButtonShortPress()
+ {
+ const TInt range = CPeninputDataConverter::AnyToInt(
+ iLayoutContext->RequestData(EPeninputDataTypeCurrentRange));
+
+ const TInt langId = CPeninputDataConverter::AnyToInt(
+ iLayoutContext->RequestData(EPeninputDataTypeInputLanguage));
+
+ switch ( langId )
+ {
+ case ELangRussian:
+ case ELangBulgarian:
+ case ELangUkrainian:
+ {
+ range == ERangeNative ? ChangeRange( ERangeNumber ) : ChangeRange( ERangeNative );
+ }
+ break;
+
+ case ELangArabic:
+ case ELangFarsi:
+ case ELangUrdu:
+ {
+ range == ERangeNative ? ChangeRange( ERangeNativeNumber ) : ChangeRange( ERangeNative );
+ }
+ break;
+
+ case ELangThai:
+ {
+ range == ERangeNative ? ChangeRange( ERangeNumber ) : ChangeRange( ERangeNative );
+ }
+ break;
+
+ case ELangGreek:
+ case ELangHebrew:
+ {
+ range == ERangeNative ? ChangeRange( ERangeNumber ) : ChangeRange( ERangeNative );
+ }
+ break;
+ default: // Latin, vietnamese, and other possible languages
+ {
+ if ( ConfigInfo()->RangeBarInfo()->FindRange( ERangeNative ) )
+ {
+ if ( range == ERangeNative )
+ {
+ if ( ConfigInfo()->RangeBarInfo()->FindRange( ERangeNativeNumber ) )
+ {
+ ChangeRange( ERangeNativeNumber );
+ }
+ else if ( ConfigInfo()->RangeBarInfo()->FindRange( ERangeNumber ) )
+ {
+ ChangeRange( ERangeNumber );
+ }
+ }
+ else
+ {
+ ChangeRange( ERangeNative );
+ }
+ }
+ else if ( ConfigInfo()->RangeBarInfo()->FindRange( ERangeEnglish ) )
+ {
+ range == ERangeEnglish ? ChangeRange( ERangeNumber ) : ChangeRange( ERangeEnglish );
+ }
+ }
+ break;
+ }
+
+ TRAP_IGNORE( UpdateRangeCtrlsL() );
+ }
+
// End Of File