diff -r ebd48d2de13c -r ecbabf52600f fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepPredictiveSettingData.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepPredictiveSettingData.cpp Wed Sep 01 12:23:33 2010 +0100 @@ -0,0 +1,147 @@ +/* +* 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 "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: +* +*/ + + + + + + + + + + +/* + * ============================================================================ + * Name : CAknFepPredictiveSettingData from AknFepPredictiveSettingData + * ============================================================================ + */ + +#include +#include +#include +#include "AknFepPredictiveSettingData.h" + +CAknFepPredictiveSettingData *CAknFepPredictiveSettingData::NewL() + { + CAknFepPredictiveSettingData *self = CAknFepPredictiveSettingData::NewLC(); + CleanupStack::Pop(self); + return self; + } + +CAknFepPredictiveSettingData *CAknFepPredictiveSettingData::NewLC() + { + CAknFepPredictiveSettingData *self = new (ELeave) CAknFepPredictiveSettingData(); + CleanupStack::PushL(self); + return self; + } + +CAknFepPredictiveSettingData::~CAknFepPredictiveSettingData() + { + } + +CAknFepPredictiveSettingData::CAknFepPredictiveSettingData() + { + } + + + +void CAknFepPredictiveSettingData::LoadL(TInt aAutoWordCompl, + TInt aTypingCorrection, + TInt aNumberCandidates, + TInt aPrimaryCandidate, + TInt aPhysicalKeyboards, + TInt aAWCBitmask) + { + iAutoWordCompl = aAutoWordCompl; + iTypingCorrection = aTypingCorrection; + iNumberCandidates = aNumberCandidates; + iPrimaryCandidate = aPrimaryCandidate; + iPhysicalKeyboards = aPhysicalKeyboards; + iAWCBitmask = aAWCBitmask; + } + +void CAknFepPredictiveSettingData::SaveL() const + { + } + +TPtiKeyboardType CAknFepPredictiveSettingData::ActiveKeyboardType() const + { + TInt keyboardType = EPtiKeyboardNone; +#ifdef RD_SCALABLE_UI_V2 + // Get physical keyboard type + RProperty::Get(KCRUidAvkon, KAknKeyBoardLayout, keyboardType ); + + //1. When active keyboard is virtual keyboard, + // need to get the active virtual keyboard type + // and set keyboardType again. + //2. When the default physical keyboard is 0, + // it means that there is no physical keyboard, + // also need to get the active virtual keyboard type. + TInt isVirtualInputActive = 0; + RProperty::Get( KPSUidAknFep, KAknFepTouchInputActive, + isVirtualInputActive ); + if ( isVirtualInputActive > 0 || keyboardType == 0 ) + { + // Active keyboard is virtual keyboard + RProperty::Get( KPSUidAknFep, KAknFepVirtualKeyboardType, + keyboardType ); + } +#else + // Get physical keyboard type + RProperty::Get(KCRUidAvkon, KAknKeyBoardLayout, keyboardType ); +#endif + + if ( keyboardType <= 0 || keyboardType >= EPtiKeyboardMaxLayout ) + { + keyboardType = EPtiKeyboardNone; + } + return (TPtiKeyboardType)keyboardType; + } + +TPtiKeyboardType CAknFepPredictiveSettingData::OwnerKeyboardType() const + { + TInt keyboardType = EPtiKeyboardNone; +#ifdef RD_SCALABLE_UI_V2 + // When dialog state is 2, it means that the setting dialog is opened + // for virtual qwerty keyboard, therefore, + // returning value of virtual qwerty keyboard type is necessary + TInt dialogState = 0; + RProperty::Get( KPSUidAknFep, KAknFepSettingDialogState, dialogState ); + if ( dialogState == 2 ) + { + // The setting dialog is opened by virtual qwerty keyboard, + // then need to get current virtual keyboard type + keyboardType = EPtiKeyboardQwerty4x12; + } + else + { + // Get physical keyboard type + RProperty::Get(KCRUidAvkon, KAknKeyBoardLayout, keyboardType ); + } +#else + // Get physical keyboard type + RProperty::Get(KCRUidAvkon, KAknKeyBoardLayout, keyboardType ); +#endif // RD_SCALABLE_UI_V2 + + if ( keyboardType <= 0 || keyboardType >= EPtiKeyboardMaxLayout ) + { + keyboardType = EPtiKeyboardNone; + } + return (TPtiKeyboardType)keyboardType; + } + +//EOF