browserui/browser/BrowserAppSrc/BrowserContentViewContainer.cpp
branchRCL_3
changeset 64 6385c4c93049
parent 63 4baee4f15982
child 65 8e6fa1719340
--- a/browserui/browser/BrowserAppSrc/BrowserContentViewContainer.cpp	Thu Aug 19 09:57:56 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,903 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "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: 
-*
-*
-*/
-
-#include "BrowserContentViewContainer.h"
-#include "BrowserAppUi.h"
-#include "BrowserAppViewBase.h"
-#include "BrowserGotoPane.h"
-#include "CommonConstants.h"
-#include "BrowserContentView.h"
-#include "Display.h"
-#include "Preferences.h"
-#include "BrowserUtil.h"
-
-#include "BrowserPreferences.h"
-#include "BrowserWindow.h"
-#include "BrowserWindowManager.h"
-#include <FeatMgr.h>
-
-#include <LayoutMetaData.cdl.h> // For Layout_Meta_Data landscape/portrait status
-
-#include <eikrted.h>
-#include <eikbctrl.h>
-#include <Eikmenub.h>
-
-#include <aknutils.h>
-
-#include "BrowserUIVariant.hrh"
-
-#ifdef __SERIES60_HELP
-// Context-Sensitve Help File
-#include "BrowserApplication.h"
-#include <csxhelp/ope.hlp.hrh>
-#include <csxhelp/browser.hlp.hrh>
-#endif // __SERIES60_HELP
-
-#include "eikon.hrh"
-
-
-//Constant
-// The interval zoom tooltip is visible, it will disappear after KZoomLevelShowTime seconds
-const TInt KZoomLevelShowTime( 2 * 1000 ); // 2 seconds
-
-//---------------------------------------------------------------------------
-// CBrowserContentViewContainer::NewL()
-// ---------------------------------------------------------------------------
-//
-CBrowserContentViewContainer*
-CBrowserContentViewContainer::NewL(CBrowserContentView* aView,
-                                   MApiProvider& aApiProvider )
-    {
-    CBrowserContentViewContainer* container =
-        new (ELeave) CBrowserContentViewContainer( aView, aApiProvider );
-    CleanupStack::PushL( container );
-    container->ConstructL();
-    CleanupStack::Pop(); // container
-
-    return container;
-    }
-
-//---------------------------------------------------------------------------
-// CBrowserContentViewContainer::CBrowserContentViewContainer()
-// ---------------------------------------------------------------------------
-//
-CBrowserContentViewContainer::
-CBrowserContentViewContainer(CBrowserContentView* aView,
-                             MApiProvider& aApiProvider ) :
-    iView( aView ),
-    iApiProvider( aApiProvider )
-    {
-    }
-
-//---------------------------------------------------------------------------
-// CBrowserContentViewContainer::~CBrowserContentViewContainer()
-// ---------------------------------------------------------------------------
-//
-CBrowserContentViewContainer::~CBrowserContentViewContainer()
-    {
-    delete iGotoPane;
-    delete iFindKeywordPane;
-    iView = NULL; // Not owned
-
-    iShortCutFuncMap.Close();
-    }
-
-//---------------------------------------------------------------------------
-// CBrowserContentViewContainer::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CBrowserContentViewContainer::ConstructL()
-    {
-    CreateWindowL();
-
-#if defined(BRDO_MULTITOUCH_ENABLED_FF) && !defined (__WINSCW__)       
-    //Enable advance pointer info for multi-touch.
-    Window().EnableAdvancedPointers();
-#endif  
-    
-    SetAllowStrayPointers();
-    SetMopParent( iView );
-
-    }
-
-// -----------------------------------------------------------------------------
-// CBrowserContentViewContainer::HandlePointerEventL
-// Handles pointer events
-// -----------------------------------------------------------------------------
-void CBrowserContentViewContainer::HandlePointerEventL(const TPointerEvent& aPointerEvent)
-    {
-     switch ( aPointerEvent.iType )
-        {
-        case TPointerEvent::EButton1Down:
-            {
-            // Do nothing
-            break;
-            }
-        case TPointerEvent::EDrag:
-            {
-            // Do nothing
-            break;
-            }
-        case TPointerEvent::EButton1Up:
-            {
-            // Close the zoom silder when the user selects anywhere in the
-            // BrowserContainerView
-            if ( iView->ZoomSliderVisible() )
-                {
-                iView->MakeZoomSliderVisibleL( EFalse );
-                }
-            break;
-            }
-        default:
-            {
-            break;
-            }
-        }   // end of switch
-
-    // Must pass the pointer event to the CoeControl
-    CCoeControl::HandlePointerEventL( aPointerEvent );
-    }
-
-//---------------------------------------------------------------------------
-// CBrowserContentViewContainer::OfferKeyEventL()
-// ---------------------------------------------------------------------------
-//
-TKeyResponse CBrowserContentViewContainer::OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType)
-    {
-    CBrowserAppUi* ui = CBrowserAppUi::Static();
-    TKeyResponse result( EKeyWasNotConsumed );
-
-    if (ui->OfferApplicationSpecificKeyEventL(aKeyEvent, aType) == EKeyWasConsumed)
-        {
-        return EKeyWasConsumed;
-        }
-
-    // For Short Cut
-    if (!iShortCutFuncsReady)
-    {
-        CreateShortCutFuncsHashTable();
-        iShortCutFuncsReady = ETrue;
-    }
-
-    // Turn off some controls, if we receive events
-    if ( aType == EEventKey )
-        {
-        // Turn off the keymap if on
-        if ( iView->KeymapIsUp() )
-            {
-            iView->HandleCommandL( EWmlCmdHideShortcutKeymap );
-            }
-
-        // Turn off the zoom slider if on
-        if ( iView->ZoomSliderVisible() )
-            {
-            iView->MakeZoomSliderVisibleL( EFalse );
-            }
-        }
-
-    // If goto pane is visible, offer key events to it
-    if ( iGotoPane->IsVisible() )
-        {
-        return iGotoPane->OfferKeyEventL( aKeyEvent, aType );
-        }
-
-    TKeyEvent keyEvent( aKeyEvent );
-    TBrCtlDefs::TBrCtlElementType elementtype =
-        iApiProvider.BrCtlInterface().FocusedElementType();
-
-    // Don't allow virtual keyboard backspace key event to close the window
-    // And don't close window if editing in an input box or textarea input 
-    if ( !AknLayoutUtils::PenEnabled() && aType == EEventKey
-        && keyEvent.iCode == EKeyBackspace
-        && elementtype != TBrCtlDefs::EElementActivatedInputBox 
-        && elementtype != TBrCtlDefs::EElementTextAreaBox )
-        {
-        if ( iApiProvider.Preferences().UiLocalFeatureSupported(
-                                                    KBrowserMultipleWindows ) )
-            {
-            TInt winCount = iApiProvider.WindowMgr().WindowCount();
-            if ( ( winCount > 1 ) && ( !iView->IsMiniatureViewUp() ) )
-                {
-                ui->CloseWindowL();
-                result = EKeyWasConsumed;
-                }
-            }
-        }
-
-    // Handle zooming events
-    // 1. RemConInterface will translate dedicated HW key press to OfferKeyEventL().
-    // See eikon.hrh for mapping.
-    // 2. When the browser is in Zoom Mode (slider or tooltip displayed), the
-    // navi-keys will zoom.
-    if ( aType == EEventKey )
-        {
-        // Handle dedicated HW key zoom-in: if not in zoom mode, HW zoom key takes
-        // zooming immediately without going to zoom mode
-        // if it's already in zoom mode, then HW zoom key acts the same as up
-        // and down navigation key mode
-        // Zoom mode can display tooltip (current) or slider (future)
-        if ( iView->isZoomMode() )
-            {
-            }
-        else if (!iView->IsHistoryViewUp() && !iView->IsMiniatureViewUp())
-            {
-            // Not in zoom mode, or history view, or page overview, and HW zoom key
-            // pressed -  zoom immediately without entering zoom mode.
-            if ( keyEvent.iCode == EKeyZoomIn )
-                {
-                iApiProvider.BrCtlInterface().HandleCommandL(
-                        (TInt)TBrCtlDefs::ECommandZoomIn +
-                        (TInt)TBrCtlDefs::ECommandIdBase );
-                iView->ZoomImagesInL(KZoomLevelShowTime);
-                result = EKeyWasConsumed;
-                }
-            // Handle dedicated HW key zoom-out
-            else if ( keyEvent.iCode == EKeyZoomOut )
-                {
-                iApiProvider.BrCtlInterface().HandleCommandL(
-                        (TInt)TBrCtlDefs::ECommandZoomOut +
-                        (TInt)TBrCtlDefs::ECommandIdBase );
-                iView->ZoomImagesOutL(KZoomLevelShowTime);
-                result = EKeyWasConsumed;
-                }
-            }
-
-        }   // End of handling key events for zooming
-
-    
-    // Web Engine opens the highlighted link into a new window. (long press)
-    // Currently the option is disabled and the link is opened in the same window
-    // The commented part below enables the "Open link in new window" option on long press.
-    // UI change request AHUN-6U3NT4, S60 bug AHUN-6UYT6N
-
-    TBool aEnterKeyForLinksActivation = (keyEvent.iCode == EKeyEnter) && 
-        (iApiProvider.Preferences().EnterKeyMode() == TBrCtlDefs::EEnterKeyCanActivateLink);
-    if ( aType == EEventKey && 
-         (keyEvent.iCode == EKeyOK || aEnterKeyForLinksActivation) )
-        {
-        if ( keyEvent.iRepeats && iSelectionKeyPressed )
-            {
-
-            TInt command( KErrNotFound );
-            switch( elementtype )
-                {
-                case TBrCtlDefs::EElementAnchor:
-                    {
-    //                command = TBrCtlDefs::ECommandOpenNewWindow;
-                      command = TBrCtlDefs::ECommandOpen;
-                    break;
-                    }
-                default: break;
-                }
-    //        if ( command == TBrCtlDefs::ECommandOpenNewWindow &&
-    //          iApiProvider.Preferences().UiLocalFeatureSupported( KBrowserMultipleWindows ) &&
-    //          !iApiProvider.Preferences().UiLocalFeatureSupported( KBrowserMinimalMultipleWindows ))
-              if ( command == TBrCtlDefs::ECommandOpen)
-                {
-                iSelectionKeyPressed = EFalse;
-                keyEvent.iCode = EKeyNull;
-                result = EKeyWasConsumed;
-                iApiProvider.BrCtlInterface().HandleCommandL(
-                    command + TBrCtlDefs::ECommandIdBase );
-                }
-            }
-        }
-
-    // stop the event handling when find item was actived
-    if ( (keyEvent.iScanCode == EStdKeyDevice3 || 
-          keyEvent.iScanCode == EStdKeyXXX ||
-          aEnterKeyForLinksActivation)
-        && aType == EEventKeyDown && !iView->FindItemIsInProgress() )
-        {
-        iSelectionKeyPressed = ETrue;
-        keyEvent.iCode = EKeyNull;
-        }
-
-    // Ignore key event in zoom mode
-    if ( result == EKeyWasNotConsumed && !iView->isZoomMode())
-        {
-        if ( !iView->PenEnabled() && iView->FullScreenMode() && keyEvent.iRepeats) 
-            {
-                iView->setFullScreenFlag();
-                iView->EnableFullScreenModeL( EFalse );
-            }
-        TRAP_IGNORE(result = iApiProvider.BrCtlInterface().OfferKeyEventL(keyEvent, aType));
-        }
-
-    /**
-    * When checking long or short key presses, iScanCode must be used, because
-    * when EEventKeyUp/EEventKeyUp are handled, the iCode is not available.
-    * iIsKeyLongPressed must be checked in short key presses because, when the
-    * button is released short key code will be called again. And that time it
-    * must be ignored.
-    */
-
-    /**
-    // This key is inactive, only for testing short / long key presses.
-    if ( keyEvent.iScanCode == 48 && keyEvent.iRepeats && !iIsKeyLongPressed)
-        {
-        iEikonEnv->InfoMsg(_L("0 Long"));
-        iIsKeyLongPressed = ETrue;
-        keyEvent.iCode = EKeyNull;
-        result = EKeyWasConsumed;
-        }
-    if ( aType == EEventKeyUp && keyEvent.iScanCode == 48 && !keyEvent.iRepeats)
-        {
-        if ( !iIsKeyLongPressed )
-            {
-            iEikonEnv->InfoMsg(_L("0 Short"));
-            keyEvent.iCode = EKeyNull;
-            result = EKeyWasConsumed;
-            }
-        iIsKeyLongPressed = EFalse;
-        }
-    **/
-
-    /*
-    * Not processing short keys, if the History view, or the
-    * Miniature View ( old name: Thumbnail View ) is up,
-    * except short key: '8'.
-    */
-    if (!iApiProvider.Preferences().AccessKeys())
-    {
-        // Key short press, activate function based on keyEvent.iCode
-        if ( aType == EEventKey && result == EKeyWasNotConsumed )
-            {
-            if (!AknLayoutUtils::PenEnabled())
-                {
-                if (iView->isZoomMode())
-                    {
-                    result = EKeyWasConsumed;
-                    }
-                else
-                    {
-                    if (iApiProvider.Preferences().ShortcutKeysForQwerty())
-                        {
-                        result = InvokeFunction ( keyEvent.iCode );
-                        }
-                    else
-                        {
-                        if ( !iView->IsMiniatureViewUp() && !iView->IsHistoryViewUp() )
-                            {
-                            TInt function = -1;
-                            switch(keyEvent.iCode)
-                                {
-                                case '0':
-                                    {
-                                    function = ShortcutsCommandDecodeMatrix[iApiProvider.Preferences().ShortcutKey0Cmd()][KShortcutsCommandDecodeMatrixCmdVal];
-                                    break;
-                                    }
-                                case '1':
-                                    {
-                                    function = ShortcutsCommandDecodeMatrix[iApiProvider.Preferences().ShortcutKey1Cmd()][KShortcutsCommandDecodeMatrixCmdVal];
-                                    break;
-                                    }
-                                case '2':
-                                    {
-                                    function = ShortcutsCommandDecodeMatrix[iApiProvider.Preferences().ShortcutKey2Cmd()][KShortcutsCommandDecodeMatrixCmdVal];
-                                    break;
-                                    }
-                                case '3':
-                                    {
-                                    function = ShortcutsCommandDecodeMatrix[iApiProvider.Preferences().ShortcutKey3Cmd()][KShortcutsCommandDecodeMatrixCmdVal];
-                                    break;
-                                    }
-                                case '4':
-                                    {
-                                    function = ShortcutsCommandDecodeMatrix[iApiProvider.Preferences().ShortcutKey4Cmd()][KShortcutsCommandDecodeMatrixCmdVal];
-                                    break;
-                                    }
-                                case '5':
-                                    {
-                                    function = ShortcutsCommandDecodeMatrix[iApiProvider.Preferences().ShortcutKey5Cmd()][KShortcutsCommandDecodeMatrixCmdVal];
-                                    break;
-                                    }
-                                case '6':
-                                    {
-                                    function = ShortcutsCommandDecodeMatrix[iApiProvider.Preferences().ShortcutKey6Cmd()][KShortcutsCommandDecodeMatrixCmdVal];
-                                    break;
-                                    }
-                                case '7':
-                                    {
-                                    function = ShortcutsCommandDecodeMatrix[iApiProvider.Preferences().ShortcutKey7Cmd()][KShortcutsCommandDecodeMatrixCmdVal];
-                                    break;
-                                    }
-                                case '8':
-                                    {
-                                    function = ShortcutsCommandDecodeMatrix[iApiProvider.Preferences().ShortcutKey8Cmd()][KShortcutsCommandDecodeMatrixCmdVal];
-                                    break;
-                                    }
-                                case '9':
-                                    {
-                                    function = ShortcutsCommandDecodeMatrix[iApiProvider.Preferences().ShortcutKey9Cmd()][KShortcutsCommandDecodeMatrixCmdVal];
-                                    break;
-                                    }
-                                case '*':
-                                    {
-                                    function = ShortcutsCommandDecodeMatrix[iApiProvider.Preferences().ShortcutKeyStarCmd()][KShortcutsCommandDecodeMatrixCmdVal];
-                                    break;
-                                    }
-                                case '#':
-                                    {
-                                    function = ShortcutsCommandDecodeMatrix[iApiProvider.Preferences().ShortcutKeyHashCmd()][KShortcutsCommandDecodeMatrixCmdVal];
-                                    break;
-                                    }
-                                default:
-                                    {
-                                    break;
-                                    }
-                                }
-
-                            if (function != -1)
-                                {
-                                iView->HandleCommandL(function);
-                                result = EKeyWasConsumed;
-                                }
-                            }
-                        } //endof handle shortcut keys
-
-                    if (result == EKeyWasConsumed)
-                        {
-                            keyEvent.iCode = EKeyNull;
-                        }
-                    }
-                }
-            }
-
-            if ( iView->IsHistoryViewUp() && result == EKeyWasConsumed )
-                {
-                if (    ( aType == EEventKey || aType == EEventKeyUp )
-                     && (    keyEvent.iCode == EKeyLeftUpArrow       // Northwest
-                          || keyEvent.iCode == EStdKeyDevice10       //   : Extra KeyEvent supports diagonal event simulator wedge
-                          || keyEvent.iCode == EKeyLeftArrow         // West
-                          || keyEvent.iCode == EKeyLeftDownArrow     // Southwest
-                          || keyEvent.iCode == EStdKeyDevice13       //   : Extra KeyEvent supports diagonal event simulator wedge
-
-                          || keyEvent.iCode == EKeyRightUpArrow      // Northeast
-                          || keyEvent.iCode == EStdKeyDevice11       //   : Extra KeyEvent supports diagonal event simulator wedge
-                          || keyEvent.iCode == EKeyRightArrow        // East
-                          || keyEvent.iCode == EKeyRightDownArrow    // Southeast
-                          || keyEvent.iCode == EStdKeyDevice12 ) )   //   : Extra KeyEvent supports diagonal event simulator wedge
-                    {
-                    iView->UpdateTitleL( iApiProvider );
-                    }
-                }
-
-            // If in zoom mode, then show the zoom tooltip
-            if (iView->isZoomMode() && result == EKeyWasConsumed )
-                {
-                iView->SetZoomLevelTitleTextL(R_BROWSER_ZOOM_LEVEL);
-                }
-
-        }   // if (!iApiProvider.Preferences().AccessKeys())
-
-    if ( result == EKeyWasNotConsumed &&
-         (keyEvent.iScanCode == EStdKeyDevice3 || keyEvent.iScanCode == EStdKeyXXX) &&
-         aType == EEventKeyUp  &&
-         iSelectionKeyPressed )
-        {
-        // Selection key was released and it is not a long press!
-        iSelectionKeyPressed = EFalse;
-        aType = EEventKey;
-        keyEvent.iCode = EKeyOK;
-
-        // first offer event to browser control, e.g. link activation
-        // result = iApiProvider.BrCtlInterface().OfferKeyEventL(keyEvent, aType);
-
-        iView->ResetPreviousViewFlag();
-        }
-    return result;
-    }
-
-//---------------------------------------------------------------------------
-// CBrowserContentViewContainer::FocusChanged()
-// ---------------------------------------------------------------------------
-//
-void CBrowserContentViewContainer::FocusChanged(TDrawNow aDrawNow)
-    {
-    // do not proceed further if a browser app exit is in progress
-    if ( iApiProvider.ExitInProgress() )
-        {
-        return;
-        }
-
-    if ( iApiProvider.StartedUp() )
-        iApiProvider.BrCtlInterface().SetFocus(IsFocused());
-    if ( iGotoPane->IsVisible() )
-        {
-        TRAP_IGNORE(iGotoPane->EnableKeyEventHandlerL( IsFocused() ));
-        }
-
-    CCoeControl::FocusChanged( aDrawNow );
-    }
-
-//---------------------------------------------------------------------------
-// CBrowserContentViewContainer::SizeChanged()
-// ---------------------------------------------------------------------------
-//
-void CBrowserContentViewContainer::SizeChanged()
-    {
-    // BrCtl could be uninitialized
-    if ( iApiProvider.StartedUp() )
-        {
-        if(iApiProvider.LastActiveViewId() != KUidBrowserFeedsFeedViewId)
-            {
-            const TRect& oldRect = iApiProvider.BrCtlInterface().Rect();
-            iApiProvider.BrCtlInterface().SetRect( TRect( oldRect.iTl, Size() ) );
-            }
-        }
-    
-    if ( iFindKeywordPane->IsVisible() )
-        iFindKeywordPane->HandleFindSizeChanged();
-    if ( iGotoPane->IsVisible() ) 
-        iGotoPane->HandleFindSizeChanged();
-    
-    }
-
-//---------------------------------------------------------------------------
-// CBrowserContentViewContainer::CountComponentControls()
-// ---------------------------------------------------------------------------
-//
-TInt CBrowserContentViewContainer::CountComponentControls() const
-    {
-    TInt ctrls = 0;
-    ctrls++;        // iGotoPane
-    if ( iApiProvider.StartedUp() )
-        {
-        ctrls++;
-        }
-    ctrls++;        // iFindKeywordPane
-    return ctrls;
-    }
-
-//---------------------------------------------------------------------------
-// CBrowserContentViewContainer::ComponentControl()
-// ---------------------------------------------------------------------------
-//
-CCoeControl* CBrowserContentViewContainer::ComponentControl( TInt aIndex ) const
-    {
-    CCoeControl *ctrl = NULL;
-    switch( aIndex )
-        {
-        case 0:
-            {
-            ctrl = iGotoPane;
-            break;
-            }
-        case 1:
-            {
-            if ( iApiProvider.StartedUp() )
-                ctrl = &(iApiProvider.BrCtlInterface());
-            break;
-            }
-        case 2:
-            {
-            ctrl = iFindKeywordPane;
-            break;
-            }
-
-        default:
-            break;
-        }
-    return ctrl;
-    }
-
-//---------------------------------------------------------------------------
-// CBrowserContentViewContainer::ShutDownGotoURLEditorL()
-// ---------------------------------------------------------------------------
-//
-void CBrowserContentViewContainer::ShutDownGotoURLEditorL()
-    {
-    iGotoPane->MakeVisible( EFalse );
-    iGotoPane->SetFocus( EFalse );
-    SetFocus( ETrue );
-    }
-
-
-//---------------------------------------------------------------------------
-// CBrowserContentViewContainer::ShutDownFindKeywordEditorL()
-// ---------------------------------------------------------------------------
-//
-void CBrowserContentViewContainer::ShutDownFindKeywordEditorL()
-    {
-    iFindKeywordPane->MakeVisible( EFalse );
-    iFindKeywordPane->SetFocus( EFalse );
-    SetFocus( ETrue );
-    }
-
-
-//---------------------------------------------------------------------------
-// CBrowserContentViewContainer::HandleResourceChange()
-// ---------------------------------------------------------------------------
-//
-void CBrowserContentViewContainer::HandleResourceChange(TInt aType)
-    {
-    CCoeControl::HandleResourceChange( aType );
-    if ( aType == KEikDynamicLayoutVariantSwitch)
-        {
-        if (!iView->FindItemIsInProgress())
-            {
-            iView->HandleStatusPaneCallBack();
-            iApiProvider.Display().RestoreTitleL();
-            }
-
-        iView->SetContentContainerRect();
-        
-        if( iApiProvider.Preferences().SearchFeature() )
-          {
-          iGotoPane->SetTextModeItalicL();
-          // To Avoid Flickring, only when layout changed. 
-          iGotoPane->DrawNow();
-          }
-        
-        DrawDeferred();
-
-        // For Touch only-If find pane open, force toolbar to show since avkon disables
-        // touch toolbar whenever a dialog is open and a rotate event is handled.
-        // ** This workaround was provided by Avkon toolbar group
-        if ( AknLayoutUtils::PenEnabled() &&
-             iFindKeywordPane->IsVisible() &&
-             iView->Toolbar() )
-            {
-            iView->Toolbar()->DrawableWindow()->SetOrdinalPosition( 0 );
-            }
-        }
-    }
-
-
-//---------------------------------------------------------------------------
-// CBrowserContentViewContainer::CreateShortCutFuncsHashTable()
-// ---------------------------------------------------------------------------
-//
-void CBrowserContentViewContainer::CreateShortCutFuncsHashTable()
-    {
-    InsertFuncToHashTable(iApiProvider.Preferences().ShortCutFuncHomePg(), EWmlSettingsShortCutsActivateHomepage);
-    InsertFuncToHashTable(iApiProvider.Preferences().ShortCutFuncBkMark(), EWmlSettingsShortCutsActivateBkmkview);
-    InsertFuncToHashTable(iApiProvider.Preferences().ShortCutFuncFindKeyWord(), EWmlSettingsShortCutsShowFindKeyword);
-    InsertFuncToHashTable(iApiProvider.Preferences().ShortCutFuncPrePage(), EWmlSettingsShortCutsGotoPreviousPage);
-    InsertFuncToHashTable(iApiProvider.Preferences().ShortCutFuncSwitchWin(), EWmlSettingsShortCutsShowSwitchWindowList);
-    InsertFuncToHashTable(iApiProvider.Preferences().ShortCutFuncMiniImage(), EWmlSettingsShortCutsShowMiniature);
-    InsertFuncToHashTable(iApiProvider.Preferences().ShortCutFuncFullScreen(), EWmlSettingsShortCutsShowFullScreen);
-    InsertFuncToHashTable(iApiProvider.Preferences().ShortCutFuncGoAddr(), EWmlSettingsShortCutsGotoPane);
-    InsertFuncToHashTable(iApiProvider.Preferences().ShortCutFuncZoomIn(), EWmlSettingsShortCutsZoomIn);
-    InsertFuncToHashTable(iApiProvider.Preferences().ShortCutFuncZoomOut(), EWmlSettingsShortCutsZoomOut);
-    // InsertFuncToHashTable(iApiProvider.Preferences().ShortCutFuncZoomMode(), EWmlSettingsShortCutsZoomMode);
-    }
-
-//---------------------------------------------------------------------------
-// CBrowserContentViewContainer::InsertFuncToHashTable()
-// ---------------------------------------------------------------------------
-//
-void CBrowserContentViewContainer::InsertFuncToHashTable(HBufC* aKeyStr, TInt aFunc)
-    {
-
-    __ASSERT_DEBUG( (aKeyStr != NULL), Util::Panic( Util::EUninitializedData ));
-
-        if (aKeyStr->Length() == 0)
-        {
-            return;
-        }
-
-        TBuf<4> key1Str; //  Ex.: 0075
-        TBuf<4> key2Str; //  Ex.: 0032
-
-        // Get the position of the separator ',' character from '0075, 0032'.
-        TInt pos = aKeyStr->LocateF( ',' );
-        if ( ( pos != KErrNotFound ) )
-        {    //we have two string
-            // Extract the first unicode string
-            key1Str.Copy( aKeyStr->Des().Left( pos ) );
-            TUint key1 = MyAtoi(key1Str);
-
-            // Extract the second unicode string; second "-1" below is for remove space
-            key2Str.Copy( aKeyStr->Des().Right( aKeyStr->Des().Length() - pos - 1 -1) );
-            TUint key2 = MyAtoi(key2Str);
-
-            // insert key and function
-            iShortCutFuncMap.Insert(key1, aFunc);
-            iShortCutFuncMap.Insert(key2, aFunc);
-        }
-        else
-        {    //we only have one string
-            // Extract the first unicode string
-            key1Str.Copy( aKeyStr->Des() );
-            TUint key1 = MyAtoi(key1Str);
-            // insert key and function
-            iShortCutFuncMap.Insert(key1, aFunc);
-        }
-    }
-
-//---------------------------------------------------------------------------
-// CBrowserContentViewContainer::MyAtoi()
-// ---------------------------------------------------------------------------
-//
-TUint CBrowserContentViewContainer::MyAtoi(TPtrC aData)
-    {
-        TLex lex(aData);
-        TUint dataValue = 0;
-        lex.Val(dataValue, EHex);
-        return dataValue;
-    }
-
-//---------------------------------------------------------------------------
-// CBrowserContentViewContainer::InvokeFunction()
-// ---------------------------------------------------------------------------
-//
-TKeyResponse CBrowserContentViewContainer::InvokeFunction(TUint aCode)
-    {
-    TInt function = -1;
-    // if error, no function defined for this shortcut key
-    TRAPD( err, function = iShortCutFuncMap.FindL(aCode) );
-    if ( err != KErrNone )
-        {
-            return EKeyWasNotConsumed;
-        }
-
-    TBool embedded = iApiProvider.IsEmbeddedModeOn();
-
-    if ( !iView->IsMiniatureViewUp() && !iView->IsHistoryViewUp() )
-    {
-        CBrowserAppUi* ui = CBrowserAppUi::Static();
-
-        switch(function)
-            {
-            case EWmlSettingsShortCutsActivateHomepage:
-                {
-                TBool homepage = iApiProvider.Preferences().UiLocalFeatureSupported( KBrowserUiHomePageSetting );
-                // home page
-                if ( homepage )
-                    {
-                    //
-                    TWmlSettingsHomePage pgtype = iApiProvider.Preferences().HomePageType();
-
-                    if ( !(embedded || pgtype == EWmlSettingsHomePageBookmarks) )
-                        {
-                        ui->LaunchHomePageL();
-                        }
-                    else
-                        {
-                        if ( pgtype == EWmlSettingsHomePageBookmarks )
-                            {
-                            iApiProvider.SetViewToBeActivatedIfNeededL( KUidBrowserBookmarksViewId );
-                            }
-                        }
-                    }
-                return EKeyWasConsumed;
-                }
-            case EWmlSettingsShortCutsActivateBkmkview:
-                {
-                if ( !embedded )
-                {
-                    iApiProvider.SetViewToBeActivatedIfNeededL( KUidBrowserBookmarksViewId );
-                }
-                return EKeyWasConsumed;
-                }
-            case EWmlSettingsShortCutsGotoPane:
-                {
-                iView->LaunchGotoAddressEditorL();
-                iView->MenuBar()->MenuPane()->MakeVisible(EFalse);
-                return EKeyWasConsumed;
-                }
-            case EWmlSettingsShortCutsShowFindKeyword:
-                {
-                if (!iView->ApiProvider().WindowMgr().CurrentWindow()->HasWMLContent(ETrue /* is current page wml?*/))
-                    {
-                    iView->LaunchFindKeywordEditorL();
-                    iView->MenuBar()->MenuPane()->MakeVisible(EFalse);
-                    }
-                return EKeyWasConsumed;
-                }
-            case EWmlSettingsShortCutsShowSwitchWindowList:
-                {
-                if (!iView->ApiProvider().WindowMgr().CurrentWindow()->HasWMLContent(EFalse /*is any page wml?*/))
-                    {
-                    if (iApiProvider.Preferences().UiLocalFeatureSupported( KBrowserMultipleWindows ) &&
-                        !iApiProvider.Preferences().UiLocalFeatureSupported( KBrowserMinimalMultipleWindows ) &&
-                        iApiProvider.WindowMgr().WindowCount() > 1)
-                        {
-                        iApiProvider.SetViewToBeActivatedIfNeededL( KUidBrowserWindowSelectionViewId );
-                        }
-                    else
-                        {
-                        if (iApiProvider.WindowMgr().WindowCount() > 1)
-                            {
-                            ui->SwitchWindowL();
-                            }
-                        }
-                    }
-                return EKeyWasConsumed;
-                }
-
-            case EWmlSettingsShortCutsZoomOut:
-                {
-                iView->ZoomImagesOutL();
-                return EKeyWasConsumed;
-                }
-
-            case EWmlSettingsShortCutsZoomIn:
-                {
-                iView->ZoomImagesInL();
-                return EKeyWasConsumed;
-                }
-
-            case EWmlSettingsShortCutsGotoPreviousPage:
-                {
-                if ( iApiProvider.BrCtlInterface().NavigationAvailable( TBrCtlDefs::ENavigationBack ) )
-                    {
-                        iApiProvider.LoadObserver().DoStartLoad( CBrowserLoadObserver::ELoadUrlTypeOther );
-                        iApiProvider.BrCtlInterface().HandleCommandL( (TInt)TBrCtlDefs::ECommandOneStepBack +
-                                                            (TInt)TBrCtlDefs::ECommandIdBase );
-                    }
-                return EKeyWasConsumed;
-                }
-
-            case EWmlSettingsShortCutsShowFullScreen:
-                {
-                iView->HandleCommandL(EWmlCmdEnterFullScreenBrowsing);
-                return EKeyWasConsumed;
-                }
-          }
-    } // END if ( !iView->IsMiniatureViewUp() && !iView->IsHistoryViewUp() && !iView->isZoomMode())
-
-
-    if ( function == EWmlSettingsShortCutsShowMiniature && !iView->IsHistoryViewUp() )
-        {   // Process short key '8' only if History view is not shown.
-            if (!iView->ApiProvider().WindowMgr().CurrentWindow()->HasWMLContent(ETrue /* is current page wml?*/))
-                {
-                iApiProvider.BrCtlInterface().HandleCommandL(
-                        (TInt)TBrCtlDefs::ECommandShowThumbnailView + (TInt)TBrCtlDefs::ECommandIdBase );
-                }
-            return EKeyWasConsumed;
-        }
-
-    return EKeyWasNotConsumed;
-   }
-
-
-
-#ifdef __SERIES60_HELP
-// ---------------------------------------------------------
-// CBrowserContentViewContainer::GetHelpContext()
-// ---------------------------------------------------------
-//
-void CBrowserContentViewContainer::GetHelpContext( TCoeHelpContext& aContext ) const
-    {
-    const TUid KUidOperatorMenuApp = { 0x10008D5E };
-    aContext.iMajor = KUidBrowserApplication;
-    if ( iApiProvider.IsEmbeddedModeOn() )
-        {
-        if ( CBrowserAppUi::Static()->IsEmbeddedInOperatorMenu() )
-            {
-            aContext.iMajor = KUidOperatorMenuApp;
-            aContext.iContext = KOPERATOR_HLP_OPTIONS_LIST;
-            }
-        else
-            {
-            aContext.iContext = KOSS_HLP_PAGEVIEW_EMBED;
-            }
-
-        }
-    else
-        {
-        aContext.iContext = KOSS_HLP_PAGEVIEW;
-        }
-    }
-
-#endif // __SERIES60_HELP
-
-// End of File