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 ); |
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 } |