textinput/peninputarc/src/peninputlayoutcontrol/peninputtapsettingmanager.cpp
branchRCL_3
changeset 56 8152b1f1763a
parent 50 5a1685599b76
child 57 9eb76adaa71f
--- a/textinput/peninputarc/src/peninputlayoutcontrol/peninputtapsettingmanager.cpp	Wed Sep 15 12:34:44 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,385 +0,0 @@
-/*
-* Copyright (c) 2010 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:  Implementation for CFepUiLayout
-*
-*/
-
-
-#include "peninputtapsettingmanager.h"
-
-#include <centralrepository.h>
-#include <AknFepGlobalEnums.h>
-#include <AknFepInternalCRKeys.h>
-
-_LIT( KSeparatorComma, "," );
-
-const TInt KTextBufferLength = 128;
-
-const TInt KDefaultMovement = 5;
-const TInt KDefaultTimeout = 200000;
-const TInt KDefaultMargin = 9;
-
-// ---------------------------------------------------------------------------
-//  Symbian Constructor
-// ---------------------------------------------------------------------------
-// 
-CPeninputTapSettingManager* CPeninputTapSettingManager::NewL()
-    {
-    CPeninputTapSettingManager* self = CPeninputTapSettingManager::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//  Symbian Constructor
-// ---------------------------------------------------------------------------
-// 
-CPeninputTapSettingManager* CPeninputTapSettingManager::NewLC()
-    {
-    CPeninputTapSettingManager* self = new ( ELeave ) CPeninputTapSettingManager();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//  c++ destructor
-// ---------------------------------------------------------------------------
-// 
-CPeninputTapSettingManager::~CPeninputTapSettingManager()
-    {
-
-    }
-
-// ---------------------------------------------------------------------------
-// Load all parameters of tap accuracy enhancement for specified layout
-// ---------------------------------------------------------------------------
-// 
-void CPeninputTapSettingManager::Load( TInt aLayoutType )
-    {
-    TRAPD( err, LoadFromRepositoryL( aLayoutType ) );
-    if ( err != KErrNone )
-        {
-        LoadDefault();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Load all parameters of tap accuracy enhancement for specified layout
-// ---------------------------------------------------------------------------
-//
-void CPeninputTapSettingManager::Load( TInt aLayoutType, const TDesC& aFileName )
-    {
-    TRAPD( err, LoadFromFileL( aLayoutType, aFileName ) );
-    if ( err != KErrNone )
-        {
-        LoadDefault();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Get configuration of PointerMove event suppressor
-// ---------------------------------------------------------------------------
-//
-void CPeninputTapSettingManager::GetPointerMoveSuppressor( TSize& aMaxMovement, 
-                                                           TInt& aTimeout )
-    {
-    aMaxMovement = iPointerMoveMaxMovement;
-    aTimeout = iPointerMoveTimeout; 
-    }
-
-// ---------------------------------------------------------------------------
-// Get configuration of PointerUp event suppressor
-// ---------------------------------------------------------------------------
-//
-void CPeninputTapSettingManager::GetPointerUpSuppressor( TSize& aMaxMovement, 
-                                                         TInt& aTimeout )
-    {
-    aMaxMovement = iPointerUpMaxMovement;
-    aTimeout = iPointerUpTimeout;
-    }
-
-// ---------------------------------------------------------------------------
-// Get extra response area of virtual key controls.
-// ---------------------------------------------------------------------------
-//
-void CPeninputTapSettingManager::GetKeyExtResponseArea( TMargins& aMargins )
-    {
-    aMargins = iKeyMargins;
-    }
-
-// ---------------------------------------------------------------------------
-// Get extra response area of button controls.
-// ---------------------------------------------------------------------------
-//
-void CPeninputTapSettingManager::GetButtonExtResponseArea( TMargins& aMargins )
-    {
-    aMargins = iButtonMargins;
-    }
-
-// ---------------------------------------------------------------------------
-// C++ constructor.
-// ---------------------------------------------------------------------------
-//
-CPeninputTapSettingManager::CPeninputTapSettingManager()
-    {
-    
-    }
-
-// ---------------------------------------------------------------------------
-// Symbian second-phase constructor.
-// ---------------------------------------------------------------------------
-//
-void CPeninputTapSettingManager::ConstructL()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Load all parameters of tap accuracy enhancement for specified layout.
-// From Repository.
-// ---------------------------------------------------------------------------
-//
-void CPeninputTapSettingManager::LoadFromRepositoryL( TInt aLayoutType )
-    {
-    TUint32 uidButtonExtMargins   = 0;
-    TUint32 uidKeyCtrlExtMargins  = 0;
-    TUint32 uidPointerMoveMaxMove = 0;
-    TUint32 uidPointerMoveTimeout = 0;
-    TUint32 uidPointerUpMaxMove   = 0;
-    TUint32 uidPointerUpTimeout   = 0;
-
-    switch( aLayoutType )
-        {
-        case EPluginInputModeFSQ:
-            {
-            uidButtonExtMargins   = KAknFepTapAccuracyFsqButtonExtMargins;
-            uidKeyCtrlExtMargins  = KAknFepTapAccuracyFsqKeyCtrlExtMargins;
-            uidPointerMoveMaxMove = KAknFepTapAccuracyFsqPointerMoveMaxMovement;
-            uidPointerMoveTimeout = KAknFepTapAccuracyFsqPointerMoveTimeout;
-            uidPointerUpMaxMove   = KAknFepTapAccuracyFsqPointerUpMaxMovement;
-            uidPointerUpTimeout   = KAknFepTapAccuracyFsqPointerUpTimeout;
-            }
-            break;
-        case EPluginInputModePortraitFSQ:
-            {
-            uidButtonExtMargins   = KAknFepTapAccuracyPFsqButtonExtMargins;
-            uidKeyCtrlExtMargins  = KAknFepTapAccuracyPFsqKeyCtrlExtMargins;
-            uidPointerMoveMaxMove = KAknFepTapAccuracyPFsqPointerMoveMaxMovement;
-            uidPointerMoveTimeout = KAknFepTapAccuracyPFsqPointerMoveTimeout;
-            uidPointerUpMaxMove   = KAknFepTapAccuracyPFsqPointerUpMaxMovement;
-            uidPointerUpTimeout   = KAknFepTapAccuracyPFsqPointerUpTimeout;
-            }
-            break;
-        case EPluginInputModeFingerHwr:
-            {
-            uidButtonExtMargins   = KAknFepTapAccuracyFhwrButtonExtMargins;
-            uidKeyCtrlExtMargins  = KAknFepTapAccuracyFhwrKeyCtrlExtMargins;
-            uidPointerMoveMaxMove = KAknFepTapAccuracyFhwrPointerMoveMaxMovement;
-            uidPointerMoveTimeout = KAknFepTapAccuracyFhwrPointerMoveTimeout;
-            uidPointerUpMaxMove   = KAknFepTapAccuracyFhwrPointerUpMaxMovement;
-            uidPointerUpTimeout   = KAknFepTapAccuracyFhwrPointerUpTimeout;
-            }
-            break;            
-        default:
-            {
-            uidButtonExtMargins   = KAknFepTapAccuracyDefaultButtonExtMargins;
-            uidKeyCtrlExtMargins  = KAknFepTapAccuracyDefaultKeyCtrlExtMargins;
-            uidPointerMoveMaxMove = KAknFepTapAccuracyDefaultPointerMoveMaxMovement;
-            uidPointerMoveTimeout = KAknFepTapAccuracyDefaultPointerMoveTimeout;
-            uidPointerUpMaxMove   = KAknFepTapAccuracyDefaultPointerUpMaxMovement;
-            uidPointerUpTimeout   = KAknFepTapAccuracyDefaultPointerUpTimeout;
-            }
-        }
-    
-    CRepository* repository = CRepository::NewL( KCRUidAknFep );
-    TBuf<KTextBufferLength> str;
-    TInt num = 0;
-    TPoint point;
-    TMargins margins;
-    
-    //pointer move event
-    repository->Get( uidPointerMoveTimeout, num );
-    repository->Get( uidPointerMoveMaxMove, str );
-    ParsePoints( point, str );
-    
-    iPointerMoveTimeout = num;
-    iPointerMoveMaxMovement.iWidth = point.iX;
-    iPointerMoveMaxMovement.iHeight = point.iY;
-    
-    //pointer up event
-    repository->Get( uidPointerUpTimeout, num );
-    repository->Get( uidPointerUpMaxMove, str );
-    ParsePoints( point, str );
-    
-    iPointerUpTimeout = num;
-    iPointerUpMaxMovement.iWidth = point.iX;
-    iPointerUpMaxMovement.iHeight = point.iY;   
-    
-    //key control
-    repository->Get( uidKeyCtrlExtMargins, str );
-    ParseMargins( margins, str );
-    iKeyMargins = margins;
-    
-    //button control
-    repository->Get( uidButtonExtMargins, str );
-    ParseMargins( margins, str );
-    iButtonMargins = margins;
-    
-    delete repository;
-    }
-
-// ---------------------------------------------------------------------------
-// Load all parameters of tap accuracy enhancement for specified layout.
-// From file.
-// ---------------------------------------------------------------------------
-//
-void CPeninputTapSettingManager::LoadFromFileL( TInt /*aLayoutType*/, 
-                                                const TDesC& /*aFileName*/ )
-    {
-    //reserved
-    }
-
-// ---------------------------------------------------------------------------
-// Load default parameters.
-// ---------------------------------------------------------------------------
-//
-void CPeninputTapSettingManager::LoadDefault()
-    {
-    iPointerMoveMaxMovement = TSize( KDefaultMovement, KDefaultMovement );
-    iPointerMoveTimeout     = KDefaultTimeout;
-    
-    iPointerUpMaxMovement   = TSize( KDefaultMovement, KDefaultMovement );
-    iPointerUpTimeout       = KDefaultTimeout;
-    
-    iKeyMargins.iTop        = KDefaultMargin;
-    iKeyMargins.iLeft       = KDefaultMargin;
-    iKeyMargins.iBottom     = KDefaultMargin;
-    iKeyMargins.iRight      = KDefaultMargin;
-    
-    iButtonMargins.iTop     = KDefaultMargin;
-    iButtonMargins.iLeft    = KDefaultMargin;
-    iButtonMargins.iBottom  = KDefaultMargin;
-    iButtonMargins.iRight   = KDefaultMargin;
-    }
-
-// ---------------------------------------------------------------------------
-// parse a TPoint from a comma separated values string.
-// ---------------------------------------------------------------------------
-//
-TInt CPeninputTapSettingManager::ParsePoints( TPoint& aPoint, const TDesC& aText )
-    {
-    TPtrC tokenizer( aText );
-    TInt pos = tokenizer.Find( KSeparatorComma );
-    if ( pos == KErrNotFound )
-        {
-        TInt value = 0;
-        TLex converter( tokenizer );
-        TInt error = converter.Val( value );
-        aPoint.iX = ( KErrNone == error ? value : 0 );
-        aPoint.iY = aPoint.iX;
-        return 0;
-        }
-
-    TInt value = 0;
-   
-    TLex converter( tokenizer.Left( pos ) );
-    TInt error = converter.Val( value );
-    aPoint.iX = ( KErrNone == error ? value : 0 );
-    
-    converter = TLex( tokenizer.Mid( pos + 1 ) );
-    error = converter.Val( value );
-    aPoint.iY = ( KErrNone == error ? value : 0 );
-    
-    return 0;
-    }
-
-// ---------------------------------------------------------------------------
-// parse a TMargins from a comma separated values string.
-// ---------------------------------------------------------------------------
-//
-TInt CPeninputTapSettingManager::ParseMargins( TMargins& aMargins, const TDesC& aText )
-    {
-    RArray<TInt> values;
-    
-    TPtrC tokenizer( aText );
-    TInt pos = 0;
-    while ( pos != KErrNotFound )
-        {
-        pos = tokenizer.Find( KSeparatorComma );
-            
-        TPtrC substr = ( pos == KErrNotFound ) ? tokenizer : tokenizer.Left( pos );
-        TInt value = 0;
-        TLex converter( substr );
-        TInt error = converter.Val( value );
-        values.Append( KErrNone == error ? value : 0 );
-        
-        if ( pos != KErrNotFound )
-            {
-            TPtrC right = tokenizer.Mid( pos + 1 );
-            tokenizer.Set( right );
-            }
-        }
-    
-    TInt count = values.Count();
-    
-    //one value, applies to all sides
-    if(  count == 1  )
-        {
-        aMargins.iTop    = values[0];
-        aMargins.iLeft   = values[0];
-        aMargins.iBottom = values[0];
-        aMargins.iRight  = values[0];
-        }
-    
-    //two values, first one specifies margins of top and bottom,
-    //the second specifies left and right. 
-    else if(  count == 2 )
-        {
-        aMargins.iTop    = values[0];
-        aMargins.iLeft   = values[1];
-        aMargins.iBottom = values[0];
-        aMargins.iRight  = values[1];
-        }
-
-    //three values, first is top, second is the left and right, last is bottom. 
-    else if(  count == 3 )
-        {
-        aMargins.iTop    = values[0];
-        aMargins.iLeft   = values[1];
-        aMargins.iBottom = values[1];
-        aMargins.iRight  = values[2];
-        }
-    
-    //four values, specify top,left,bottom and right respectively
-    else if ( count >= 4 )
-        {
-        aMargins.iTop    = values[0];
-        aMargins.iLeft   = values[1];
-        aMargins.iBottom = values[2];
-        aMargins.iRight  = values[3];
-        }
-    
-    else
-        {
-        aMargins.iTop    = 0;
-        aMargins.iLeft   = 0;
-        aMargins.iBottom = 0;
-        aMargins.iRight  = 0;
-        }
-    
-    values.Close();
-    return count;
-    }
-
-//end of file