diff -r 8466d47a6819 -r 12c456ceeff2 emailuis/uicomponents/src/fscontrolbar.cpp --- a/emailuis/uicomponents/src/fscontrolbar.cpp Thu Dec 17 08:39:21 2009 +0200 +++ b/emailuis/uicomponents/src/fscontrolbar.cpp Thu Jan 07 12:38:38 2010 +0200 @@ -336,6 +336,15 @@ iVisualiser->UpdateSizeL(); } +// --------------------------------------------------------------------------- +// Set rect for control bar +// --------------------------------------------------------------------------- +// +void CFsControlBar::SetRectL( const TRect& aRect ) + { + iModel->SetRect( aRect ); + iVisualiser->UpdateSizeL(); + } // --------------------------------------------------------------------------- // Retrieves width of the bar in pixels. @@ -616,6 +625,8 @@ { button = iModel->PrevButton( iSelectedButton ); ChangeFocusL( button ); + // Always after keypress focus needs to be shown. + MakeSelectorVisible( ETrue ); eventHandled = ETrue; break; } @@ -624,6 +635,8 @@ { button = iModel->NextButton( iSelectedButton ); ChangeFocusL( button ); + // Always after keypress focus needs to be shown. + MakeSelectorVisible( ETrue ); eventHandled = ETrue; break; } @@ -631,7 +644,7 @@ case EStdKeyDownArrow: { LooseFocus( - MFsControlBarObserver::EEventFocusLostAtBottom ); + MFsControlBarObserver::EEventFocusLostAtBottom ); eventHandled = ETrue; break; } @@ -713,6 +726,9 @@ // Touch case EEventButtonTouchReleased: { + // Notify that button is released, focus can be hidden. + NotifyObservers( MFsControlBarObserver::EEventFocusVisibilityChanged ); + if (iTouchEnabled && iTouchWasEnabled) { if( aButtonId > KErrNotFound )