bluetoothengine/bthid/bthidkbdsettings/src/bthidsettingview.cpp
branchRCL_3
changeset 55 613943a21004
parent 54 0ba996a9b75d
child 56 9386f31cc85b
--- a/bluetoothengine/bthid/bthidkbdsettings/src/bthidsettingview.cpp	Thu Aug 19 10:05:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,436 +0,0 @@
-/*
-* Copyright (c) 2006 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:  This is the implementation of setting view class
-*
-*/
-
-#include <aknViewAppUi.h>
-#include <avkon.hrh>
-#include <eiklabel.h>
-#include <akntitle.h>
-#include <StringLoader.h>
-#include <hlplch.h>                   // Help launcher
-#include <aknradiobuttonsettingpage.h>
-#include <bautils.h>
-#include <BthidResource.rsg>
-#include <csxhelp/bt.hlp.hrh>           // Help IDs
-#include <aknnavide.h>
-#include <akncontext.h>
-#include "bthidsettingview.h"
-#include "bthidsettingcontainer.h"
-#include "bthidsettings.h"
-#include "bthidsettinglist.h"
-#include "btkeyboard.hrh"
-#include <btkeyboard.mbg>
-#include "btengprivatecrkeys.h"
-#include "layoutmgr.h"
-#include "hidlayoutids.h"
-#include "debug.h"
-
-const TUid KBtHidSettingViewId =
-    {
-        0x2001E30B
-    }
-    ; // UID of HID device setting view.
-// ---------------------------------------------------------
-// CBtHidSettingView::NewNewGsPluginL
-// Two phased constructor
-// ---------------------------------------------------------
-//
-CBtHidSettingView* CBtHidSettingView::NewBtuiPluginL()
-    {
-    //TRACE_FUNC(_L("[BTHID]\t CBtHidSettingView::NewBtuiPluginL(), BEGIN"));
-
-    CBtHidSettingView* self = new (ELeave) CBtHidSettingView();
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    //TRACE_INFO( (_L("[BTHID]\t CBtHidSettingView[0x%08x]::NewBtuiPluginL, END"),self) );
-
-    return self;
-    }
-
-
-// ----------------------------------------------------
-// CBtHidSettingView::CBtHidSettingView
-// default constructor
-// ----------------------------------------------------
-//
-CBtHidSettingView::CBtHidSettingView()
-    {}
-
-// ----------------------------------------------------
-// CBtHidSettingView::ConstructL
-// ----------------------------------------------------
-//
-void CBtHidSettingView::ConstructL()
-    {
-    TRACE_INFO( (_L("[BTHID]\t CBtHidSettingView[0x%08x]:ConstructL(), BEGIN"),this) );
-
-    User::LeaveIfError(iLayoutSession.Connect());
-
-    // Check to see what type of layout code the layout manager will return
-    // us. (i.e nokia or standard)
-    // This is used to know which settings page to display.
-    TBool ignore;
-    TRACE_INFO(_L("[BTHID]\t CBtHidMainView::ConstructL(), get layout info..."));
-    User::LeaveIfError(iLayoutSession.GetDeviceInfo(iIsNokiaKeyboard, ignore));
-
-    iEikEnv = CEikonEnv::Static();
-    TFileName filename;
-    filename += KFileDrive;
-    filename += KDC_RESOURCE_FILES_DIR;
-    filename += KResourceFileName;
-    BaflUtils::NearestLanguageFile( iEikEnv->FsSession(), filename );
-    iResourceFileFlag=iEikEnv->AddResourceFileL(filename);
-    BaseConstructL( R_BTKEYBOARD_SETTING_VIEW );
-
-    CEikStatusPane *sp = ((CAknAppUi*)iEikonEnv->EikAppUi())->StatusPane();
-    // Fetch pointer to the default title pane control
-    iContextPane = (CAknContextPane *)sp->ControlL(TUid::Uid(EEikStatusPaneUidContext));
-
-    iSettings = CBtHidSettings::NewL();
-
-    TRACE_INFO( (_L("[BTHID]\t CBtHidSettingView[0x%08x]:ConstructL(), END"),this) );
-    }
-// ----------------------------------------------------
-// CBtHidSettingView::~CBtHidSettingView()
-// Destructor
-// Frees reserved resources
-// ----------------------------------------------------
-//
-CBtHidSettingView::~CBtHidSettingView()
-    {
-    TRACE_INFO( (_L("[BTHID]\t CBtHidSettingView[0x%08x]::~CBtHidSettingView()"), this) );
-    iLayoutSession.Close();
-
-    delete iNaviDecorator;
-    iEikEnv->DeleteResourceFile(iResourceFileFlag);
-
-    if ( iSettingList )
-        {
-        AppUi()->RemoveFromStack( (CCoeControl*) iSettingList );
-        delete iSettingList;
-        }
-    if ( iContainer )
-        {
-        AppUi()->RemoveFromStack(iContainer );
-        delete iContainer;
-        }
-    if( iCenRepWatcher )
-        delete iCenRepWatcher;
-
-    if (iSettings )
-        delete iSettings;
-    TRACE_FUNC_EXIT
-    }
-
-// ---------------------------------------------------------
-// TUid CBtHidSettingView::Id
-// ---------------------------------------------------------
-//
-TUid CBtHidSettingView::Id() const
-    {
-    TUid id = KBtHidSettingViewId;    //view id
-    return id;
-    }
-
-// ----------------------------------------------------
-// CBtHidSettingView::HandleCommandL(TInt aCommand)
-// takes care of command handling
-// ----------------------------------------------------
-//
-void CBtHidSettingView::HandleCommandL(TInt aCommand)
-    {
-    TRACE_INFO( (_L("[BTHID]\t CBtHidSettingView[0x%08x]::HandleCommandL(%d)"),this, aCommand) );
-    switch ( aCommand )
-        {
-        case EEikCmdExit:           // fall-through, handled similarily
-        case EAknSoftkeyExit:       // fall-through, handled similarily
-        //case EBTKeyCmdExit:
-            {
-            AppUi()->HandleCommandL( EEikCmdExit);
-            }
-        case EAknSoftkeyChange:
-        case EBTKeyCmdAppChange:
-            {
-            if( iSettingList )
-                {
-                iCenRepWatcher->DisableNotifications();
-                iSettingList->EditCurrentItemL( aCommand );
-                iCenRepWatcher->EnableNotifications();
-                }
-            break;
-            }
-        case EAknSoftkeyBack:
-            {
-            AppUi()->ActivateLocalViewL( iPrevViewId.iViewUid );
-            break;
-            }
-
-#ifdef __SERIES60_HELP
-        case EBTKeyCmdAppHelp:
-            {
-            HlpLauncher::LaunchHelpApplicationL(
-                    iEikEnv->WsSession(), AppUi()->AppHelpContextL());
-            break;
-            }
-
-#endif
-        default:
-            {
-            AppUi()->HandleCommandL( aCommand );
-            break;
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CBtHidSettingView::DoActivateL()
-// ---------------------------------------------------------------------------
-//
-void CBtHidSettingView::DoActivateL( const TVwsViewId& aPrevViewId,
-                                     TUid aCustomMessageId,
-                                     const TDesC8& aCustomMessage )
-    {
-    TRACE_INFO( (_L("[BTHID]\t CBtHidSettingView[0x%08x]::DoActivateL, BEGIN"),this) );
-    iPrevViewId = aPrevViewId;
-    (void) aCustomMessageId;
-
-    // Setup the title
-    HBufC* title;
-    title = iCoeEnv->AllocReadResourceLC(R_BTKEYBOARD_SETTINGS_STATUS_PANE_TITLE);
-
-    CEikStatusPane* statusPane = StatusPane();
-    CAknTitlePane* titlePane;
-    titlePane = (CAknTitlePane*) statusPane->ControlL(TUid::Uid(EEikStatusPaneUidTitle));
-    titlePane->SetTextL(title->Des());
-    CleanupStack::PopAndDestroy(); // title
-    title = NULL;
-
-    TRACE_INFO( (_L("[BTHID]\t CBtHidSettingView[0x%08x]::DoActivateL(), Creating container..."),this) );
-    iContainer = new (ELeave) CBTHidSettingContainer;
-    iContainer->SetMopParent(this);
-    iContainer->ConstructL( ClientRect());
-    iContainer->MakeVisible( ETrue );
-    iContainer->ActivateL();
-    AppUi()->AddToStackL(iContainer);
-
-    CreateSettingListL();
-    iCenRepWatcher = CBtHidCenRepWatcher::NewL( KCRUidBTEngPrivateSettings, *this ); // create listener for cenrep events.
-    SetNavipaneTextL(aCustomMessage);
-
-    TRACE_INFO((_L("[BTHID]\t CBtHidSettingView[0x%08x]::DoActivateL, END"),this) );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CBtHidSettingView::DoDeactivate
-//
-// Deactivate the settings view.
-// ---------------------------------------------------------------------------
-//
-void CBtHidSettingView::DoDeactivate()
-    {
-    TRACE_INFO( (_L("[BTHID]\t CBtHidSettingView[0x%08x]::DoDeactivate, BEGIN"),this) );
-    if ( iSettingList )
-        {
-        AppUi()->RemoveFromStack( (CCoeControl*) iSettingList );
-        delete iSettingList;
-        iSettingList = NULL;
-        }
-    if( iContainer )
-        {
-        iContainer->MakeVisible(EFalse);
-        AppUi()->RemoveFromStack( iContainer );
-        delete iContainer;
-        iContainer = NULL;
-        }
-
-    if (iNaviDecorator)
-        {
-        delete iNaviDecorator;
-        iNaviDecorator = NULL;
-        }
-    iLastSelectedLayout = iSettings->LoadLayoutSetting();
-    iLayoutSession.SetLayout(iLastSelectedLayout);
-    delete iCenRepWatcher;
-    iCenRepWatcher = NULL;
-    TRACE_FUNC_EXIT
-    }
-
-// ----------------------------------------------------
-// CBtHidSettingView::DynInitMenuPaneL
-// ----------------------------------------------------
-//
-void CBtHidSettingView::DynInitMenuPaneL(
-    TInt aResourceId, CEikMenuPane* aMenuPane)
-    {
-    if (aResourceId == R_BTKEYBOARD_SETTING_MENU )
-        {
-        aMenuPane->SetItemDimmed(EBTKeyCmdAppChange, ETrue); 
-        }
-    
-    
-    }
-
-// ----------------------------------------------------
-// CBtHidSettingView::CreateSettingListL
-// ----------------------------------------------------
-//
-void CBtHidSettingView::CreateSettingListL()
-    {
-    TRACE_INFO( (_L("[BTHID]\t CBtHidSettingView[0x%08x]::CreateSettingListL, BEGIN"),this) );
-
-    TInt resourceId = R_BTKEYBOARD_STANDARD_SETTING_LIST;
-
-    TBool foundLayout;
-    User::LeaveIfError(iLayoutSession.GetDeviceInfo(iIsNokiaKeyboard, foundLayout));
-
-    if(iIsNokiaKeyboard)
-        {
-        resourceId = R_BTKEYBOARD_NOKIA_SETTING_LIST;
-        }
-    else
-        {
-        resourceId = R_BTKEYBOARD_STANDARD_SETTING_LIST;
-        }
-
-    TInt layoutCode;
-    if ( !foundLayout )
-        {
-        //No layout found, find an appropriate one.
-        layoutCode = CurrentLayoutL();
-        SetCurrentLayoutL(static_cast<THidKeyboardLayoutId>(layoutCode));
-        }
-    else
-        {
-        //Layout found, load it as default
-        iLayoutSession.GetLayout(layoutCode);
-        SetCurrentLayoutL(static_cast<THidKeyboardLayoutId>(layoutCode));
-        }
-
-    if ( iSettingList )
-        {
-        AppUi()->RemoveFromStack( (CCoeControl*) iSettingList );
-        }
-    delete iSettingList;
-    iSettingList = NULL;
-
-    iSettingList = new (ELeave) CBTKeySettingList( *iSettings, this);
-    iSettingList->SetMopParent(this);
-    iSettingList->ConstructFromResourceL(resourceId);
-    AppUi()->AddToStackL( (CCoeControl*) iSettingList );
-    iSettingList->MakeVisible(ETrue);
-    iSettingList->SetRect(ClientRect());
-    iSettingList->ActivateL();
-    iSettingList->DrawNow();
-    TRACE_INFO( (_L("[BTHID]\t CBtHidSettingView[0x%08x]::CreateSettingListL, END"),this) );
-    }
-
-// ----------------------------------------------------
-// CBtHidSettingView::SetCurrentLayoutL
-// ----------------------------------------------------
-//
-void CBtHidSettingView::SetCurrentLayoutL(THidKeyboardLayoutId aLayoutValue)
-    {
-    // Ask the layout manager to change layout.
-    // Use the leaving version so we the user can't confirm a selection
-    // if an error occurs.
-    iLayoutSession.SetLayoutL(aLayoutValue);
-
-    iSettings->SaveLayoutSettingL( aLayoutValue );
-    }
-
-THidKeyboardLayoutId CBtHidSettingView::CurrentLayoutL() const
-    {
-    // Ask the layout manager for the current layout.
-    // Use the leaving version.
-    TInt layoutCode = iLayoutSession.GetLayoutL();
-
-    // Convert the Int to the enum.
-    THidKeyboardLayoutId layoutID =
-        static_cast<THidKeyboardLayoutId>(layoutCode);
-
-    // If we believe this to be a Nokia keyboard then the layout settings
-    // page will contain the list of Nokia Su8 items.
-    // Conversly if we think this is a Standard keyboard the layout settings
-    // page will contain the list of Standard layouts.
-    // We must pass a valid value to the Settings page or it will panic.
-    // Validate the code from the Layout Manager before returning it.
-    if ( iIsNokiaKeyboard )
-        {
-        CLayoutUtils::ValidateNokiaSU8Layout(layoutID);
-        }
-    else
-        {
-        CLayoutUtils::ValidateStandardLayout(layoutID);
-        }
-
-    return layoutID;
-    }
-
-void CBtHidSettingView::SetNavipaneTextL(const TDesC8& aDeviceName)
-    {
-    TRACE_INFO(_L("[BTHID]\t CBtHidSettingView::SetNavipaneTextL Start"));
-    CEikStatusPane* sp =
-        iEikonEnv->AppUiFactory()->StatusPane();
-
-    CAknNavigationControlContainer* np =
-        static_cast<CAknNavigationControlContainer*>(
-            sp->ControlL( TUid::Uid( EEikStatusPaneUidNavi ) ) );
-
-    delete iNaviDecorator;
-    iNaviDecorator = NULL;
-
-    TInt blank(1);
-    if (aDeviceName.Length()>0 )
-        {
-        HBufC* stringHolder = HBufC::NewLC(aDeviceName.Length() + blank);
-        stringHolder->Des().Copy(aDeviceName);
-        stringHolder->Des().Append(_L(" "));
-        iNaviDecorator = np->CreateNavigationLabelL( *stringHolder );
-        np->PushL( *iNaviDecorator );
-        sp->DrawNow();
-        CleanupStack::PopAndDestroy(stringHolder);  // stringHolder
-        }
-    else
-        {
-        HBufC* temp = HBufC::NewLC(aDeviceName.Length());
-        temp->Des().Copy(aDeviceName);
-        iNaviDecorator = np->CreateNavigationLabelL( *temp );
-        np->PushL( *iNaviDecorator );
-        sp->DrawNow();
-        CleanupStack::PopAndDestroy(temp);  // temp
-        }
-    TRACE_INFO(_L("[BTHID]\t CBtHidSettingView::SetNavipaneTextL End"));
-    }
-// ----------------------------------------------------
-// CBtHidSettingView::CenRepDataChanged
-// ----------------------------------------------------
-//
-void CBtHidSettingView::CenRepDataChanged(TUid& aUid, TUint32 aKey)
-    {
-    // just recreate the setting list
-    TRACE_INFO((_L("[BTHID]\t CBtHidSettingView[0x%08x]::CenRepDataChanged"),this));
-    (void) aUid;
-    if ( aKey == KBtHidKeyboardLayout )
-        {
-        TRAPD( err, CreateSettingListL());
-        err = err;
-        }
-    }
-// End of File