--- a/fep/aknfep/src/AknFepUiInputStateEntryLatinJapanese.cpp Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,254 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-* Provides the TAknFepUiInputStateEntryLatinJapanese methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include "AknFepUiInputStateEntryLatinJapanese.h"
-#include "AknFepUIManagerStateInterface.h" // MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h" // MAknFepManagerUIInterface
-#include "AknFepCaseManager.h" // CAknFepCaseManager
-#include "AknFepManager.h"
-#include "AknFepGlobalEnums.h"
-
-#include <PtiEngine.h>
-#include <PtiCompositionDataIF.h> // MPtiEngineCompositionDataInterface
-
-// CONSTANTS
-
-/**
- * TAknFepUiInputStateEntryLatinJapanese class.
- *
- */
-//============================ MEMBER FUNCTIONS ==============================
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateEntryLatinJapanese::
-// TAknFepUiInputStateEntryLatinJapanese
-// Default constructor
-// ---------------------------------------------------------------------------
-//
-TAknFepUiInputStateEntryLatinJapanese::TAknFepUiInputStateEntryLatinJapanese(
- MAknFepUIManagerStateInterface* aOwner,
- MAknFepUICtrlContainerJapanese* aUIContainer)
- :TAknFepUiInputStateEntryJapaneseMultitap(aOwner, aUIContainer)
- {
- }
-
-/**
- * MPtiObserver interface.
- */
-//============================ MEMBER FUNCTIONS ==============================
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateEntryLatinJapanese::KeyTimerExpired
-// Call this function when Multitap timer of PtiEngine was time-out
-// ---------------------------------------------------------------------------
-//
-void TAknFepUiInputStateEntryLatinJapanese::KeyTimerExpired()
- {
- CPtiEngine* ptiEngine = iOwner->PtiEngine();
- const MPtiEngineCompositionDataInterface* data = ptiEngine->CompositionData();
- TPtrC text = data->CompletedString();
- if (text.Length() > 0)
- {
- MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-
- if (fepMan->IsSupportsSecretText()
- && fepMan->IsFlagSet(CAknFepManager::EFlagInsideMultitapInlineEditingTransaction))
- {
- TRAP_IGNORE(fepMan->CommitInlineEditL());
- // Update case without Qwerty
- if (!iOwner->IsQwerty())
- {
- UpdateCase(text);
- }
- }
- else
- {
- iOwner->ChangeState(EMultiCompletion);
- // Update case without Qwerty
- if (!iOwner->IsQwerty())
- {
- UpdateCase(text);
- }
-
- // Commit a character
- TRAP_IGNORE(iOwner->FepMan()->CommitInlineEditL(text, text.Length()));
-
- // Update case with Qwerty
- if (iOwner->IsQwerty())
- {
- CAknFepCaseManager* caseMan = iOwner->CaseMan();
- caseMan->UpdateCase(ENullNaviEvent);
- }
- }
- }
- iData = 0;
- CPtiEngine* ptiengine = iOwner->PtiEngine();
- ptiengine->ClearCurrentWord();
- iOwner->ChangeState(EInitial);
- }
-
-/**
-* TAknFepUiInputStateEntryLatinJapanese class.
-*
-*/
-//============================ MEMBER FUNCTIONS ==============================
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateEntryLatinJapanese::HandleNumericShortKeyL
-// Handling short keypress events of the numeric and the star.
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateEntryLatinJapanese::HandleNumericShortKeyL(TInt aKey)
- {
- CPtiEngine* ptiEngine = iOwner->PtiEngine();
- MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
- TBool ret = EFalse;
-
- if (iData && iData != aKey)
- {
- if (!iOwner->IsQwerty()
- && iOwner->FepMan()->IsSupportsSecretText()
- && fepMan->IsFlagSet(CAknFepManager::EFlagInsideMultitapInlineEditingTransaction))
- {
- const MPtiEngineCompositionDataInterface* data = ptiEngine->CompositionData();
- TPtrC text = data->ConvertingString();
- if (text.Length() > 0)
- {
- fepMan->CommitInlineEditL();
- if (!iOwner->IsQwerty())
- {
- UpdateCase(text);
- }
- }
- ptiEngine->ClearCurrentWord();
- iOwner->ChangeState(EInitial);
- iData = 0;
- ret = EFalse;
- }
- else
- {
- ptiEngine->HandleCommandL(EPtiCommandUserActionComplete);
- iOwner->ChangeState(EMultiCompletion);
- }
- }
- else
- {
- iData = aKey;
-
- const MPtiEngineCompositionDataInterface* previousData = ptiEngine->CompositionData();
- TChar previousChar = 0;
- TPtrC previousText(previousData->ConvertingString());
- if (previousText.Length() > 0)
- {
- previousChar = previousText[0];
- }
-
- // Append a key to PtiEngine
- ptiEngine->AppendKeyPress((TPtiKey)aKey);
-
- const MPtiEngineCompositionDataInterface* data = ptiEngine->CompositionData();
- TPtrC text(data->ConvertingString());
- if (text.Length() > 0)
- {
- TChar ch = text[0];
- TBool validNewCandidate = fepMan->CharIsValidInEditor(ch);
- // Check if the character is valid for the editor.
- if ( !validNewCandidate )
- {
- TChar firstNewCandidate = ch;
- TBool goneThroughAllCandidates(EFalse);
- TPtrC8 sequence = ptiEngine->CurrentInputSequence();
-
- if ( sequence.Length() )
- {
- TPtiKey key = (TPtiKey)sequence[0];
-
- // Go through candidates and check if valid characters are found.
- do {
- TPtrC text = ptiEngine->AppendKeyPress(key);
- ch = text[0];
- goneThroughAllCandidates = (ch == firstNewCandidate);
- validNewCandidate = fepMan->CharIsValidInEditor(ch);
- }
- while (!validNewCandidate && !goneThroughAllCandidates);
- }
-
- if (!validNewCandidate)
- {
- // No valid characters at all.
- ptiEngine->DeleteKeyPress();
- iOwner->ChangeState(EMultiCompletion);
- ptiEngine->HandleCommandL(EPtiCommandUserActionComplete);
- iOwner->FepMan()->CommitInlineEditL();
- ptiEngine->ClearCurrentWord();
- iOwner->ChangeState(EInitial);
- return ETrue;
- }
- else if (ch == previousChar)
- {
- // The valid key loop count is 1.
- // The current characters are committed, and send the same key again.
- iOwner->ChangeState(EMultiCompletion);
- ptiEngine->HandleCommandL(EPtiCommandUserActionComplete);
- iOwner->FepMan()->CommitInlineEditL();
- ptiEngine->ClearCurrentWord();
- iOwner->ChangeState(EInitial);
- iOwner->FepMan()->SimulateKeyEventL(aKey, ETrue);
- return ETrue;
- }
- }
- }
-
- ret = UpdateInlineEditingCharacterL();
- // Qwerty input without Secret input mode is continuing to Comleteion.
- if (ret && iOwner->IsQwerty())
- {
- if (iOwner->FepMan()->IsSupportsSecretText()
- || iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagPassNextKey))
- {
- iOwner->ChangeState(EMultiCompletion);
- ptiEngine->HandleCommandL(EPtiCommandUserActionComplete);
- iOwner->FepMan()->CommitInlineEditL();
- ptiEngine->ClearCurrentWord();
- iOwner->ChangeState(EInitial);
- ret = ETrue;
- }
- else
- {
- // Qwerty need to change status
- ptiEngine->HandleCommandL(EPtiCommandUserActionComplete);
- iOwner->ChangeState(EMultiCompletion);
- ret = EFalse;
- }
- }
- }
- return ret;
- }
-// End of file