--- a/fep/aknfep/src/aknfepuiinputstateminiqwertystrokephrase.cpp Fri Jul 23 16:49:01 2010 +0800
+++ /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 <PtiEngine.h>
-#include <PtiUserDicEntry.h>
-#include <aknnotewrappers.h> //CAknWarningNote
-#include <aknfep.rsg>
-
-// 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;
- }
- }