651 formtLayoutRect.LayoutRect(aRect, AknLayoutScalable_Avkon::listscroll_form_pane().LayoutLine()); |
651 formtLayoutRect.LayoutRect(aRect, AknLayoutScalable_Avkon::listscroll_form_pane().LayoutLine()); |
652 formtLayoutRect.LayoutRect(formtLayoutRect.Rect(), AknLayoutScalable_Avkon::list_form_gen_pane().LayoutLine()); |
652 formtLayoutRect.LayoutRect(formtLayoutRect.Rect(), AknLayoutScalable_Avkon::list_form_gen_pane().LayoutLine()); |
653 TRect formRect = formtLayoutRect.Rect(); |
653 TRect formRect = formtLayoutRect.Rect(); |
654 |
654 |
655 CEikCapCArrayExtension *extension_or_null = ExtensionOrNull(); |
655 CEikCapCArrayExtension *extension_or_null = ExtensionOrNull(); |
|
656 |
|
657 TBool rectChanged = ETrue; |
|
658 |
656 if (extension_or_null) |
659 if (extension_or_null) |
657 { |
660 { |
|
661 rectChanged = ( extension_or_null->iRect != formRect ); |
658 extension_or_null->iRect = formRect; |
662 extension_or_null->iRect = formRect; |
659 } |
663 } |
660 |
664 |
661 // controls need to be placed in real locations if physics is enabled |
665 // controls need to be placed in real locations if physics is enabled |
662 if ( Count() > 0 ) |
666 if ( Count() > 0 ) |
663 { |
667 { |
664 CEikCaptionedControl* control = (*this)[0]; |
668 CEikCaptionedControl* control = (*this)[0]; |
665 |
669 |
666 if ( control->DialogPage()->IsForm() ) |
670 if ( control->DialogPage()->IsForm() ) |
667 { |
671 { |
668 SetRealRect( aRect, aTop, aBottom ); |
672 if ( rectChanged ) |
|
673 { |
|
674 SetRealRect( aRect, aTop, aBottom ); |
|
675 } |
|
676 |
669 _AKNTRACE_FUNC_EXIT; |
677 _AKNTRACE_FUNC_EXIT; |
670 return; |
678 return; |
671 } |
679 } |
672 } |
680 } |
673 |
681 |
1135 if ( aVisible ) |
1143 if ( aVisible ) |
1136 { |
1144 { |
1137 topLeft.SetXY( Rect().iTl.iX, LineIndexToYPosition( aLine, aTopY ) ); |
1145 topLeft.SetXY( Rect().iTl.iX, LineIndexToYPosition( aLine, aTopY ) ); |
1138 } |
1146 } |
1139 |
1147 |
1140 line->SetRect( TRect( topLeft, line->Size() ) ); |
1148 TRect newRect( topLeft, line->Size() ); |
|
1149 |
|
1150 if ( newRect != line->Rect() ) |
|
1151 { |
|
1152 line->SetRect( TRect( topLeft, line->Size() ) ); |
|
1153 } |
1141 } |
1154 } |
1142 _AKNTRACE_FUNC_EXIT; |
1155 _AKNTRACE_FUNC_EXIT; |
1143 } |
1156 } |
1144 |
1157 |
1145 |
1158 |