--- a/uifw/EikStd/coctlsrc/eikspane.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/EikStd/coctlsrc/eikspane.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -1177,11 +1177,14 @@
* be also passed if @c aParentWindowGroup
* is specified.
* @param aTransparent Whether or not the control is transparent.
+ * @param aIsFaded Whether or not the control's window should
+ * be faded or not.
*/
void SetParentWindowL( RWindowGroup* aParentWindowGroup,
CCoeControl* aParentControl,
CRedrawStoreHandler* aRedrawStoreHandler,
- TBool aTransparent );
+ TBool aTransparent,
+ TBool aIsFaded );
/**
* Sets the container control transparency.
@@ -2604,7 +2607,8 @@
RWindowGroup* aParentWindowGroup,
CCoeControl* aParentControl,
CRedrawStoreHandler* aRedrawStoreHandler,
- TBool aTransparent )
+ TBool aTransparent,
+ TBool aIsFaded )
{
if ( aParentWindowGroup )
{
@@ -2613,6 +2617,9 @@
SetMopParent( iEikonEnv->EikAppUi() );
SetParent( NULL );
+ // Maintain the window's ordinal position.
+ TInt ordinalPos = Window().OrdinalPosition();
+
if ( OwnsWindow() )
{
CloseWindow();
@@ -2644,6 +2651,9 @@
EnableDragEvents();
SetContainersL( *iControl, *this );
+
+ window.SetFaded( aIsFaded, RWindowTreeNode::EFadeIncludeChildren );
+ window.SetOrdinalPosition( ordinalPos );
ActivateL();
}
@@ -3786,6 +3796,8 @@
// component controls.
TInt count( combinedPaneControl->CountComponentControls() );
+ TBool isFaded( IsFaded() );
+
for ( TInt i = 0; i < count; ++i )
{
CEikStatusPaneContainer* subPane =
@@ -3798,7 +3810,9 @@
subPane->SetParentWindowL( NULL,
combinedPaneControl,
NULL,
- transparencyEnabled );
+ transparencyEnabled,
+ isFaded );
+
// Background is drawn by the combined pane so remove
// the subpane's own background drawer.
subPane->SetBackground( NULL );
@@ -3809,7 +3823,8 @@
iParentWindowGroup,
NULL,
iExtension ? iExtension->iRedrawStoreHandler : NULL,
- transparencyEnabled );
+ transparencyEnabled,
+ isFaded );
subPane->SetBackground( transparencyEnabled ? NULL :
iExtension );