emailuis/emailui/src/ncscomposeviewcontainer.cpp
branchRCL_3
changeset 10 f5907b1a1053
parent 8 e1b6206813b4
child 11 0396474f30f5
equal deleted inserted replaced
8:e1b6206813b4 10:f5907b1a1053
   283 
   283 
   284             if ( iHeader->Rect().Contains( aPointerEvent.iPosition ) )
   284             if ( iHeader->Rect().Contains( aPointerEvent.iPosition ) )
   285                 {
   285                 {
   286                 if ( iFocused == iMessageField )
   286                 if ( iFocused == iMessageField )
   287                     {
   287                     {
       
   288 					if( iMessageField->SelectionLength() )
       
   289 						{
       
   290 						iMessageField->ClearSelectionL();
       
   291 						}
       
   292                     iMessageField->SetFocus( EFalse, EDrawNow );
   288                     iFocused = iHeader;
   293                     iFocused = iHeader;
   289                     iHeader->SetFocus( ETrue,EDrawNow );
   294                     iHeader->SetFocus( ETrue,EDrawNow );
   290                     iMessageField->ClearSelectionL();
       
   291                     iMessageField->SetFocus( EFalse, EDrawNow );
       
   292                     iHeader->MakeVisible( ETrue );
   295                     iHeader->MakeVisible( ETrue );
   293                     CommitL( EBodyField );
   296                     CommitL( EBodyField );
   294                     iView.HandleContainerChangeRequiringToolbarRefresh();
   297                     iView.HandleContainerChangeRequiringToolbarRefresh();
   295                     }
   298                     }
   296                 else if ( iFocused == iReadOnlyQuoteField )
   299                 else if ( iFocused == iReadOnlyQuoteField )
   323                 }
   326                 }
   324             else 
   327             else 
   325                 {
   328                 {
   326                 if ( iFocused == iHeader )
   329                 if ( iFocused == iHeader )
   327                     {
   330                     {
   328                     // fix for ESLX-7Y4C2V, dissapearing subject 
   331                     //TRAP_IGNORE( DoUpdateSubjectL() );
   329                     HBufC* heapBuffer = HBufC::NewL(iHeader->GetSubjectFieldLength());
   332 
   330                     TPtr ptr(heapBuffer->Des());
   333 					iHeader->SetFocus( EFalse, EDrawNow );
   331                     ptr.Copy(*GetSubjectLC());
   334 					iFocused = iMessageField;
   332 
       
   333                     iFocused = iMessageField;
       
   334                     iHeader->SetFocus( EFalse, EDrawNow );
       
   335                     iMessageField->SetFocus( ETrue, EDrawNow );
   335                     iMessageField->SetFocus( ETrue, EDrawNow );
   336                     
       
   337                     if ( iHeader->GetSubjectFieldLength() != heapBuffer->Length() )
       
   338                     	{
       
   339                     		iHeader->SetSubjectL( const_cast<HBufC&>(*heapBuffer));
       
   340                     	}
       
   341 
       
   342                     iHeader->SetFocus( ETrue, EDrawNow );
       
   343                     iHeader->SetFocus( EFalse, EDrawNow );
       
   344                     iView.HandleContainerChangeRequiringToolbarRefresh();
   336                     iView.HandleContainerChangeRequiringToolbarRefresh();
   345                     CleanupStack::PopAndDestroy(); //from GetSubjectLC()
       
   346                     }
   337                     }
   347                 else if ( iFocused == iReadOnlyQuoteField )
   338                 else if ( iFocused == iReadOnlyQuoteField )
   348                     {
   339                     {
   349                     iFocused = iMessageField;
   340                     iFocused = iMessageField;
   350                     iReadOnlyQuoteField->SetFocus( EFalse, EDrawNow );
   341                     iReadOnlyQuoteField->SetFocus( EFalse, EDrawNow );
   929     if( iPhysics )
   920     if( iPhysics )
   930         {
   921         {
   931         iPhysics->StopPhysics();
   922         iPhysics->StopPhysics();
   932         iPhysics->ResetFriction();
   923         iPhysics->ResetFriction();
   933         }
   924         }
       
   925         
       
   926     ClosePopupContactListL();
   934 
   927 
   935     ScrollL( aScrollBar->ThumbPosition() );
   928     ScrollL( aScrollBar->ThumbPosition() );
   936     }
   929     }
   937 
   930 
   938 // -----------------------------------------------------------------------------
   931 // -----------------------------------------------------------------------------
  1995 TBool CNcsComposeViewContainer::IsRemoteSearchInprogress() const
  1988 TBool CNcsComposeViewContainer::IsRemoteSearchInprogress() const
  1996     {
  1989     {
  1997     FUNC_LOG;
  1990     FUNC_LOG;
  1998     return iHeader->IsRemoteSearchInprogress();
  1991     return iHeader->IsRemoteSearchInprogress();
  1999     }
  1992     }
       
  1993 
       
  1994 // -----------------------------------------------------------------------------
       
  1995 // CNcsComposeViewContainer::DoUpdateSubjectL
       
  1996 // -----------------------------------------------------------------------------
       
  1997 //
       
  1998 void CNcsComposeViewContainer::DoUpdateSubjectL()
       
  1999     {
       
  2000     FUNC_LOG;
       
  2001     // fix for ESLX-7Y4C2V, dissapearing subject
       
  2002     // get copy of subject
       
  2003     HBufC* subjectCopy = GetSubjectLC();
       
  2004     iHeader->SetFocus( EFalse, EDrawNow );
       
  2005     // get subject after focus lost
       
  2006     HBufC* subject = GetSubjectLC();
       
  2007     // restore subject from copy if necessary
       
  2008     if ( subject->Length() != subjectCopy->Length() )
       
  2009         {
       
  2010         iHeader->SetSubjectL( *subjectCopy );
       
  2011         }
       
  2012 
       
  2013     // restore focus
       
  2014     iHeader->SetFocus( ETrue, EDrawNow );
       
  2015     CleanupStack::PopAndDestroy( 2, subjectCopy );
       
  2016     }