diff -r f1bdd6b078d1 -r 2cb9bae34d17 fep/aknfep/src/aknfepuiinputstateminiqwertystrokephrase.cpp --- a/fep/aknfep/src/aknfepuiinputstateminiqwertystrokephrase.cpp Tue Jul 06 14:38:41 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,565 +0,0 @@ -/* -* Copyright (c) 2007 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 TAknFepInputStateEntryMiniQwertyStrokePhrase, - * TAknFepInputStateEditingMiniQwertyStrokePhrase, - * TAknFepUiInputStateCandidateMiniQwertyStrokePhrase methods. - * -*/ - - - - - - - - - - - - -// System includes -#include -#include -#include //CAknWarningNote -#include - -// User includes -#include "AknFepUiCtrlContainerChinese.h" -#include "AknFepUICtrlCandidatePane.h" -#include "AknFepUICtrlInputPane.h" -#include "aknfepuictrleditpane.h" //phrase creation -#include "AknFepUIManagerStateInterface.h" -#include "AknFepManager.h" -#include "aknfepuiinputstateminiqwertystrokephrase.h" -const TInt KManualChangeState = 0; - -// --------------------------------------------------------------------------- -// TAknFepInputStateEntryMiniQwertyStrokePhrase::TAknFepInputStateEntryMiniQwertyStrokePhrase -// C++ default constructor -// --------------------------------------------------------------------------- -// -TAknFepInputStateEntryMiniQwertyStrokePhrase::TAknFepInputStateEntryMiniQwertyStrokePhrase( - MAknFepUIManagerStateInterface* aOwner, - MAknFepUICtrlContainerChinese* aUIContainer ): - TAknFepInputMiniQwertyStrokePhraseBase( aOwner, aUIContainer ) - { - iState = EEntry; - UIContainer()->SetLayout( MAknFepUICtrlContainerChinese::ELayoutKeystroke ); - UIContainer()->FocusCandidatePane( ETrue ); - UIContainer()->CandidatePane()->SelectFirstPhrase(); - UIContainer()->CandidatePane()->ShowCandidateOrdinals( EFalse ); - UIContainer()->SetFepMan( iOwner->FepMan() ); - // so that it could handle EKeyCBA1 - iOwner->FepMan()->EntryPhrase( ETrue ); - RefreshUI(); - } -// --------------------------------------------------------------------------- -// TAknFepInputStateEntryMiniQwertyStrokePhraseCreation::HandleKeyL -// Handle system key press event. -// --------------------------------------------------------------------------- -// -TBool TAknFepInputStateEntryMiniQwertyStrokePhrase::HandleKeyL( TInt aKey, - TKeyPressLength aLength ) - { - TBool ret = ETrue; - MAknFepUICtrlContainerChinese* uiContainer = UIContainer(); - MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane(); - switch ( aKey ) - { - case EStdKeyLeftFunc: //chr key - case EKeyLeftShift: - case EKeyRightShift: - case EKeyLeftCtrl: - case EKeyRightCtrl: - case EKeyRightFunc://fn - case EKeyLeftFunc: // fn - { - iOwner->FepMan()->TryCloseUiL(); - ret = EFalse; - break; - } - case EStdKeyDevice1: // cancel key - { - iOwner->FepMan()->TryCloseUiL(); - break; - } - case EStdKeyEnter: - case EStdKeySingleQuote: // The "&" key - { - iOwner->FepMan()->PlaySound( EAvkonSIDStandardKeyClick ); - break; - } - case EStdKeyUpArrow: - { - if ( candidatePane->IsFirstPage() ) - { - UIContainer()->EditPaneWindow()->SetAutoChangeStateFlag( KManualChangeState ); - iOwner->ChangeState( EMiniQwertyEdit ); - } - else - { - candidatePane->PreviousCandidatePage(); - candidatePane->SetCandidateBuffer(); - candidatePane->SelectFirst(); - UpdateIndicator(); - } - break; - } - case EStdKeyDownArrow: - { - ret = TAknFepInputStateCandidateQwertyBaseChinesePhrase::HandleKeyL( aKey, aLength ); - break; - } - case EStdKeyRightArrow: - { - if ( candidatePane->VisibleCandidateCount()!= 1 ) - { - uiContainer->EditPaneWindow()->SetCandidateRefreshFlag( ETrue ); - iOwner->ChangeState( ECandidate ); - candidatePane->SelectNext(); - } - break; - } - case EStdKeyLeftArrow: - { - if ( candidatePane->VisibleCandidateCount()!= 1 ) - { - uiContainer->EditPaneWindow()->SetCandidateRefreshFlag( ETrue ); - iOwner->ChangeState( ECandidate ); - TInt numbertotal = UIContainer()->CandidatePane()->VisibleCandidateCount(); - UIContainer()->CandidatePane()->SelectIndex( numbertotal-1 ); - } - break; - } - case EStdKeyDevice0: //select key - case EStdKeyDevice3: // msk - { - TPtrC text = uiContainer->CandidatePane()->CurrentPhraseCandidate(); - if ( text.Length() && aLength != ELongKeyPress ) - { - if ( !CommitInlineEEPL( text ) ) - { - DoActionAfterCommit(); - } - else - { - if ( CheckFirstGroupStroke() ) - { - iOwner->ChangeState( ECandidate ); - } - else - { - uiContainer->EditPaneWindow()->SetAutoChangeStateFlag( EAutoChangeStateFromInput ); - iOwner->ChangeState( EMiniQwertyEdit ); - } - } - } - break; - } - default: - // chr + character - if ( iOwner->FepMan()->IsFlagSet( CAknFepManager::EFlagQwertyChrKeyDepressed ) ) - { - iOwner->FepMan()->TryCloseUiL(); - ret = EFalse; - } - else if ( CAknFepFnKeyManager::EFnKeyNext == iOwner->FepMan()->FnKeyState() || CAknFepFnKeyManager::EFnKeyLock - == iOwner->FepMan()->FnKeyState() || CAknFepFnKeyManager::EFnKeyDown - == iOwner->FepMan()->FnKeyState() ) //fn play error tone - { - iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone ); - } - else - { - ret = TAknFepInputMiniQwertyStrokePhraseBase::HandleKeyL( - aKey, aLength ); - } - break; - } - return ret; - } - -// --------------------------------------------------------------------------- -// TAknFepInputStateEditingMiniQwertyStrokePhrase::TAknFepInputStateEditingMiniQwertyStrokePhrase -// C++ default constructor -// --------------------------------------------------------------------------- -// -TAknFepInputStateEditingMiniQwertyStrokePhrase::TAknFepInputStateEditingMiniQwertyStrokePhrase( - MAknFepUIManagerStateInterface* aOwner, - MAknFepUICtrlContainerChinese* aUIContainer ): - TAknFepInputMiniQwertyStrokePhraseBase( aOwner, aUIContainer ) - { - iState = EMiniQwertyEdit; - MAknFepUICtrlContainerChinese* uiContainer = UIContainer(); - RefreshUI(); - uiContainer->FocusCandidatePane( EFalse ); - uiContainer->CandidatePane()->ShowCandidateOrdinals( EFalse ); - } -// --------------------------------------------------------------------------- -// TAknFepInputStateEditingMiniQwertyStrokePhrase::HandleKeyL -// Handle system key press event. -// --------------------------------------------------------------------------- -// -TBool TAknFepInputStateEditingMiniQwertyStrokePhrase::HandleKeyL( TInt aKey, - TKeyPressLength aLength ) - { - TBool ret = ETrue; - MAknFepUICtrlContainerChinese* uiContainer = UIContainer(); - MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane(); - - //handle chr up when composition key with chr end - //avoid closing UI - if ( iOwner->FepMan()->GetComposChrFlag() && aKey == EStdKeyLeftFunc ) - { - iOwner->FepMan()->SetComposChrFlag( EFalse ); - return ETrue; - } - switch ( aKey ) - { - case EKeyLeftShift: - case EKeyRightShift: - case EKeyLeftCtrl: - case EKeyRightCtrl: - case EKeyRightFunc://fn - case EKeyLeftFunc: // fn - { - if ( !uiContainer->EditPaneWindow()->GetAutoChangeStateFlag() - || uiContainer->EditPaneWindow()->PhraseArray()->Count() != 0) - { - iOwner->FepMan()->PlaySound( EAvkonSIDStandardKeyClick ); - } - else - { - iOwner->FepMan()->TryCloseUiL(); - ret = EFalse; - } - break; - } - case EStdKeyLeftFunc: //chr key - { - iOwner->FepMan()->TryCloseUiL(); - ret =EFalse; - } - // inactive - case EStdKeyUpArrow: - { - break; - } - //if the canidate is empty ,inactive;else candiniate selecting state - case EStdKeyDownArrow: - { - if ( 0 != candidatePane->VisibleCandidateCount() ) - { - uiContainer->EditPaneWindow()->SetChangeState( ETrue ); - iOwner->ChangeState( ECandidate ); - } - break; - } - case EStdKeyDevice1: //"cancle" key - { - iOwner->FepMan()->TryCloseUiL(); - break; - } - case EStdKeySingleQuote: - case EStdKeyEnter: - { - iOwner->FepMan()->PlaySound( EAvkonSIDStandardKeyClick ); - break; - } - default: - // chr + character - if ( iOwner->FepMan()->IsFlagSet( CAknFepManager::EFlagQwertyChrKeyDepressed ) ) - { - iOwner->FepMan()->SetComposChrFlag( ETrue ); - if ( !uiContainer->EditPaneWindow()->GetAutoChangeStateFlag() - || uiContainer->EditPaneWindow()->PhraseArray()->Count() != 0) - { - iOwner->FepMan()->PlaySound(EAvkonSIDStandardKeyClick); - return ETrue; - } - else - { - iOwner->FepMan()->TryCloseUiL(); - return EFalse; - } - } - else - { - ret = TAknFepInputMiniQwertyStrokePhraseBase::HandleKeyL( - aKey, aLength); - break; - } - } - return ret; - } - -// --------------------------------------------------------------------------- -// TAknFepUiInputStateCandidateMiniQwertyStrokePhrase::TAknFepUiInputStateCandidateMiniQwertyStrokePhrase -// C++ default constructor -// --------------------------------------------------------------------------- -// -TAknFepUiInputStateCandidateMiniQwertyStrokePhrase::TAknFepUiInputStateCandidateMiniQwertyStrokePhrase( - MAknFepUIManagerStateInterface* aOwner, - MAknFepUICtrlContainerChinese* aUIContainer ): - TAknFepInputMiniQwertyStrokePhraseBase( aOwner, aUIContainer ) - { - iState = ECandidate; - MAknFepUICtrlContainerChinese* uiContainer = UIContainer(); - uiContainer->FocusCandidatePane( ETrue ); - uiContainer->CandidatePane()->ShowCandidateOrdinals( ETrue ); - uiContainer->CandidatePane()->SelectFirstPhrase(); - if ( uiContainer->EditPaneWindow()->GetCandidateRefreshFlag() ) - { - uiContainer->EditPaneWindow()->DisableCursor(); - uiContainer->EditPaneWindow()->SetCandidateRefreshFlag( EFalse ); - } - else - { - RefreshUI(); - } - } -// --------------------------------------------------------------------------- -// TAknFepUiInputStateCandidateMiniQwertyStrokePhrase::HandleKeyL -// Handle system key press event. -// --------------------------------------------------------------------------- -// -TBool TAknFepUiInputStateCandidateMiniQwertyStrokePhrase::HandleKeyL( - TInt aKey, TKeyPressLength aLength ) - { - MAknFepUICtrlContainerChinese* uiContainer = UIContainer(); - TInt selected = uiContainer->CandidatePane()->SelectedIndex(); - TInt numbertotal = uiContainer->CandidatePane()->VisibleCandidateCount(); - TBool ret = ETrue; - - if ( iOwner->FepMan()->IsFlagSet( CAknFepManager::EFlagQwertyChrKeyDepressed ) - || iOwner->FepMan()->IsFlagSet( CAknFepManager::EFlagShiftKeyDepressed ) ) - { - iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone ); - return ETrue; - } - - switch ( aKey ) - { - case EStdKeyBackspace: - { - uiContainer->CandidatePane()->SetCandidateBuffer(); - uiContainer->EditPaneWindow()->SetAutoChangeStateFlag( KManualChangeState ); - uiContainer->EditPaneWindow()->SetChangeState( ETrue ); - iOwner->ChangeState( EMiniQwertyEdit ); - iOwner->FepMan()->UpdateCbaL( R_AKNFEP_SOFTKEYS_OK_SELECT_CANCEL ); - } - break; - case EStdKeyLeftArrow: - { - if ( selected == 0 ) - { - uiContainer->CandidatePane()->SelectIndex( numbertotal-1 ); - } - else - { - uiContainer->CandidatePane()->SelectIndex( selected - 1 ); - } - } - break; - case EStdKeyRightArrow: - { - if ( selected == numbertotal-1 ) - { - uiContainer->CandidatePane()->SelectIndex( 0 ); - } - else - { - uiContainer->CandidatePane()->SelectIndex( selected + 1 ); - } - } - break; - case EStdKeyDownArrow: - { - ret = TAknFepInputStateCandidateQwertyBaseChinesePhrase::HandleKeyL( aKey, aLength ); - } - break; - case EStdKeyUpArrow: - { - if ( uiContainer->CandidatePane()->IsFirstPage() ) - { - uiContainer->EditPaneWindow()->SetAutoChangeStateFlag( KManualChangeState ); - iOwner->ChangeState( EMiniQwertyEdit ); - } - else - { - uiContainer->CandidatePane()->PreviousCandidatePage(); - uiContainer->CandidatePane()->SetCandidateBuffer(); - uiContainer->CandidatePane()->SelectFirstPhrase(); - UpdateIndicator(); - } - } - break; - case EStdKeyDevice0: - case EStdKeyDevice3: - { - TPtrC text = uiContainer->CandidatePane()->CurrentPhraseCandidate(); - if ( text.Length() && aLength != ELongKeyPress ) - { - if ( !CommitInlineEEPL( text ) ) - { - DoActionAfterCommit(); - } - else - { - if ( CheckFirstGroupStroke() ) - { - RefreshUI(); - uiContainer->CandidatePane()->SelectFirstPhrase(); - } - else - { - uiContainer->EditPaneWindow()->SetAutoChangeStateFlag( EAutoChangeStateFromCandidate ); - iOwner->ChangeState( EMiniQwertyEdit ); - } - } - } - } - break; - case EStdKeyEnter: - case EKeyLeftCtrl: - case EKeyRightCtrl: - case EKeyLeftShift: - case EStdKeySpace: - { - iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone ); - } - break; -// case EKeyRightShift: // need to check later -// { -// return ret; -// } -// break; - default: - return TAknFepInputMiniQwertyStrokePhraseBase::HandleKeyL( aKey, - aLength ); - } - return ret; - } -// --------------------------------------------------------------------------- -// TAknFepInputStateEditingMiniQwertyStrokePhrase::HandleCommandL -// Handling Command -// --------------------------------------------------------------------------- -// -void TAknFepInputStateEditingMiniQwertyStrokePhrase::HandleCommandL( - TInt aCommandId ) - { - MAknFepUICtrlContainerChinese* uiContainer = UIContainer( ); - switch ( aCommandId ) - { - // Handle the event frome command. - case EAknSoftkeySelect: - if ( !uiContainer->EditPaneWindow()->GetAutoChangeStateFlag( ) || uiContainer->EditPaneWindow()->PhraseArray()->Count( ) != 0 ) - { - iOwner->FepMan()->PlaySound( EAvkonSIDStandardKeyClick ); - } - else - { - iOwner->FepMan()->TryCloseUiL( ); - } - break; - default: - TAknFepInputStateChineseBase::HandleCommandL( aCommandId ); - break; - } - } - - -// --------------------------------------------------------------------------- -// TAknFepInputStateEntryMiniQwertyStrokePhrase::HandleCommandL -// Handling Command -// --------------------------------------------------------------------------- -// -void TAknFepInputStateEntryMiniQwertyStrokePhrase::HandleCommandL( - TInt aCommandId ) - { - MAknFepUICtrlContainerChinese* uiContainer = UIContainer(); - TPtrC text = uiContainer->CandidatePane()->CurrentPhraseCandidate(); - switch ( aCommandId ) - { - // Handle the event frome command. - case EAknSoftkeySelect: - if ( text.Length() ) - { - if ( !CommitInlineEEPL( text ) ) - { - DoActionAfterCommit(); - } - else - { - if ( CheckFirstGroupStroke() ) - { - iOwner->ChangeState( ECandidate ); - } - else - { - uiContainer->EditPaneWindow()->SetAutoChangeStateFlag( - EAutoChangeStateFromInput ); - iOwner->ChangeState( EMiniQwertyEdit ); - } - } - } - break; - default: - TAknFepInputStateChineseBase::HandleCommandL( aCommandId ); - break; - } - } - -// --------------------------------------------------------------------------- -// TAknFepUiInputStateCandidateMiniQwertyStrokePhrase::HandleCommandL -// Handling Command -// --------------------------------------------------------------------------- -// -void TAknFepUiInputStateCandidateMiniQwertyStrokePhrase::HandleCommandL( - TInt aCommandId ) - { - MAknFepUICtrlContainerChinese* uiContainer = UIContainer(); - TPtrC text = uiContainer->CandidatePane()->CurrentPhraseCandidate(); - switch ( aCommandId ) - { - // Handle the event frome command. - case EAknSoftkeySelect: - if ( text.Length() ) - { - if ( !CommitInlineEEPL( text ) ) - { - DoActionAfterCommit(); - } - else - { - if ( CheckFirstGroupStroke() ) - { - RefreshUI(); - uiContainer->CandidatePane()->SelectFirstPhrase(); - } - else - { - uiContainer->EditPaneWindow()->SetAutoChangeStateFlag( - EAutoChangeStateFromCandidate ); - iOwner->ChangeState( EMiniQwertyEdit ); - } - } - } - break; - default: - TAknFepInputStateChineseBase::HandleCommandL( aCommandId ); - break; - } - }