idlehomescreen/widgetmanager/src/wmmaincontainer.cpp
branchRCL_3
changeset 28 d721605b30d0
parent 26 1b758917cafc
equal deleted inserted replaced
26:1b758917cafc 28:d721605b30d0
    79 // CWmMainContainer::CWmMainContainer()
    79 // CWmMainContainer::CWmMainContainer()
    80 // ---------------------------------------------------------
    80 // ---------------------------------------------------------
    81 //
    81 //
    82 CWmMainContainer::CWmMainContainer( CWmPlugin& aWmPlugin ) :
    82 CWmMainContainer::CWmMainContainer( CWmPlugin& aWmPlugin ) :
    83     iWmPlugin( aWmPlugin )
    83     iWmPlugin( aWmPlugin )
    84 	{
    84     {
    85     iWidgetsList = NULL;
    85     iWidgetsList = NULL;
    86     iFindbox = NULL;
    86     iFindbox = NULL;
    87     iFindPaneIsVisible = EFalse;
    87     iFindPaneIsVisible = EFalse;
    88     iBgContext = NULL;
    88     iBgContext = NULL;
    89     iFocusMode = ENowhere;
    89     iFocusMode = ENowhere;
    90     iClosingDown = ETrue;
    90     iClosingDown = ETrue;
    91 	}
    91     }
    92 
    92 
    93 // ---------------------------------------------------------
    93 // ---------------------------------------------------------
    94 // CWmMainContainer::~CWmMainContainer()
    94 // CWmMainContainer::~CWmMainContainer()
    95 // ---------------------------------------------------------
    95 // ---------------------------------------------------------
    96 //
    96 //
    97 CWmMainContainer::~CWmMainContainer()
    97 CWmMainContainer::~CWmMainContainer()
    98 	{
    98     {
    99     TRAP_IGNORE(DeactivateFindPaneL(EFalse));
    99     TRAP_IGNORE(DeactivateFindPaneL(EFalse));
   100     
   100     
   101     delete iWidgetLoader;
   101     if ( iWidgetLoader )
       
   102         {
       
   103         iWidgetLoader->SetObserver( NULL );
       
   104         delete iWidgetLoader;
       
   105         }
   102 
   106 
   103     RemoveCtrlsFromStack();
   107     RemoveCtrlsFromStack();
   104     Components().ResetAndDestroy();
   108     Components().ResetAndDestroy();
   105     
   109     
   106     iWidgetsList = NULL;
   110     iWidgetsList = NULL;
   107     iPortalButtonOne = NULL;
   111     iPortalButtonOne = NULL;
   108     iPortalButtonTwo = NULL;
   112     iPortalButtonTwo = NULL;
   109     iFindbox = NULL;
   113     iFindbox = NULL;
   110 	delete iBgContext;
   114     delete iBgContext;
   111 	delete iConfiguration;
   115     delete iConfiguration;
   112 	}
   116     }
   113 
   117 
   114 // ---------------------------------------------------------
   118 // ---------------------------------------------------------
   115 // CWmMainContainer::NewL
   119 // CWmMainContainer::NewL
   116 // ---------------------------------------------------------
   120 // ---------------------------------------------------------
   117 //
   121 //
   118 CWmMainContainer* CWmMainContainer::NewL( 
   122 CWmMainContainer* CWmMainContainer::NewL( 
   119     const TRect& aRect,
   123     const TRect& aRect,
   120     CWmPlugin& aWmPlugin )
   124     CWmPlugin& aWmPlugin )
   121 	{
   125     {
   122 	CWmMainContainer* self = CWmMainContainer::NewLC( 
   126     CWmMainContainer* self = CWmMainContainer::NewLC( 
   123         aRect, 
   127         aRect, 
   124         aWmPlugin );
   128         aWmPlugin );
   125 	CleanupStack::Pop( self );
   129     CleanupStack::Pop( self );
   126 	return self;
   130     return self;
   127 	}
   131     }
   128 
   132 
   129 // ---------------------------------------------------------
   133 // ---------------------------------------------------------
   130 // CWmMainContainer::NewLC
   134 // CWmMainContainer::NewLC
   131 // ---------------------------------------------------------
   135 // ---------------------------------------------------------
   132 //
   136 //
   133 CWmMainContainer* CWmMainContainer::NewLC( 
   137 CWmMainContainer* CWmMainContainer::NewLC( 
   134     const TRect& aRect,
   138     const TRect& aRect,
   135     CWmPlugin& aWmPlugin )
   139     CWmPlugin& aWmPlugin )
   136 	{
   140     {
   137 	CWmMainContainer* self = new (ELeave) CWmMainContainer( aWmPlugin );
   141     CWmMainContainer* self = new (ELeave) CWmMainContainer( aWmPlugin );
   138 	CleanupStack::PushL( self );
   142     CleanupStack::PushL( self );
   139 	self->ConstructL( aRect );
   143     self->ConstructL( aRect );
   140 	return self;
   144     return self;
   141 	}
   145     }
   142 
   146 
   143 // ---------------------------------------------------------
   147 // ---------------------------------------------------------
   144 // ScreenRect
   148 // ScreenRect
   145 // rectangle representing the screen
   149 // rectangle representing the screen
   146 // ---------------------------------------------------------
   150 // ---------------------------------------------------------
   161 // ---------------------------------------------------------
   165 // ---------------------------------------------------------
   162 // CWmMainContainer::ConstructL
   166 // CWmMainContainer::ConstructL
   163 // ---------------------------------------------------------
   167 // ---------------------------------------------------------
   164 //
   168 //
   165 void CWmMainContainer::ConstructL( 
   169 void CWmMainContainer::ConstructL( 
   166 		const TRect& aRect )
   170         const TRect& aRect )
   167 	{  
   171     {  
   168     // Initialize control array
   172     // Initialize control array
   169 	InitComponentArrayL();
   173     InitComponentArrayL();
   170 	Components().SetControlsOwnedExternally( ETrue );
   174     Components().SetControlsOwnedExternally( ETrue );
   171 
   175 
   172     // create the UI
   176     // create the UI
   173     CreateWindowL();
   177     CreateWindowL();
   174 
   178 
   175 	// background context
   179     // background context
   176 	iBgContext = CAknsBasicBackgroundControlContext::NewL( 
   180     iBgContext = CAknsBasicBackgroundControlContext::NewL( 
   177 	        KAknsIIDQsnBgScreen, ScreenRect() , ETrue);
   181             KAknsIIDQsnBgScreen, ScreenRect() , ETrue);
   178 
   182 
   179     // load configuration
   183     // load configuration
   180     iConfiguration = CWmConfiguration::NewL( iWmPlugin.ResourceLoader() );
   184     iConfiguration = CWmConfiguration::NewL( iWmPlugin.ResourceLoader() );
   181     
   185     
   182 	// set up controls
   186     // set up controls
   183 	InitializeControlsL( aRect );
   187     InitializeControlsL( aRect );
   184 
   188 
   185 	// set size and activate
   189     // set size and activate
   186 	SetRect( aRect );
   190     SetRect( aRect );
   187     ActivateL();
   191     ActivateL();
   188 	
   192     
   189 	}
   193     }
   190 
   194 
   191 // ---------------------------------------------------------
   195 // ---------------------------------------------------------
   192 // CWmMainContainer::SizeChanged
   196 // CWmMainContainer::SizeChanged
   193 // ---------------------------------------------------------
   197 // ---------------------------------------------------------
   194 //
   198 //
   195 void CWmMainContainer::SizeChanged()
   199 void CWmMainContainer::SizeChanged()
   196 	{
   200     {
   197 	CCoeControl::SizeChanged();
   201     CCoeControl::SizeChanged();
   198     iBgContext->SetRect( ScreenRect() );
   202     iBgContext->SetRect( ScreenRect() );
   199 	LayoutControls();
   203     LayoutControls();
   200 	}
   204     }
   201 
   205 
   202 // ---------------------------------------------------------
   206 // ---------------------------------------------------------
   203 // CWmMainContainer::LayoutControls
   207 // CWmMainContainer::LayoutControls
   204 // ---------------------------------------------------------
   208 // ---------------------------------------------------------
   205 //
   209 //
   206 void CWmMainContainer::LayoutControls()
   210 void CWmMainContainer::LayoutControls()
   207 	{
   211     {
   208     TRect rect( Rect() );
   212     TRect rect( Rect() );
   209 
   213 
   210     // determine layout type
   214     // determine layout type
   211     iLandscape = Layout_Meta_Data::IsLandscapeOrientation();
   215     iLandscape = Layout_Meta_Data::IsLandscapeOrientation();
   212     iMirrored = Layout_Meta_Data::IsMirrored();
   216     iMirrored = Layout_Meta_Data::IsMirrored();
   213     
   217     
   214     // layout iPortalButtons
   218     // layout iPortalButtons
   215 	if ( iConfiguration->PortalButtonCount() == 1 )
   219     if ( iConfiguration->PortalButtonCount() == 1 )
   216 	    {
   220         {
   217 	    // one button
   221         // one button
   218 	    TAknWindowLineLayout btnPane = AknLayoutScalable_Apps
   222         TAknWindowLineLayout btnPane = AknLayoutScalable_Apps
   219 	       ::wgtman_btn_pane( iLandscape ? 1 : 0 ).LayoutLine();
   223            ::wgtman_btn_pane( iLandscape ? 1 : 0 ).LayoutLine();
   220 	    AknLayoutUtils::LayoutControl( iPortalButtonOne, rect, btnPane );
   224         AknLayoutUtils::LayoutControl( iPortalButtonOne, rect, btnPane );
   221 	    }
   225         }
   222 	else
   226     else
   223 	    {
   227         {
   224 	    // two buttons
   228         // two buttons
   225         TInt variety = (iLandscape ? 3 : 2);
   229         TInt variety = (iLandscape ? 3 : 2);
   226         TAknWindowLineLayout oviBtnLayout = AknLayoutScalable_Apps
   230         TAknWindowLineLayout oviBtnLayout = AknLayoutScalable_Apps
   227                 ::wgtman_btn_pane( variety ).LayoutLine();
   231                 ::wgtman_btn_pane( variety ).LayoutLine();
   228         TAknWindowLineLayout operatorBtnLayout = AknLayoutScalable_Apps
   232         TAknWindowLineLayout operatorBtnLayout = AknLayoutScalable_Apps
   229                 ::wgtman_btn_pane_cp_01( variety ).LayoutLine();
   233                 ::wgtman_btn_pane_cp_01( variety ).LayoutLine();
   237         else
   241         else
   238             {
   242             {
   239             AknLayoutUtils::LayoutControl( iPortalButtonOne, rect, oviBtnLayout );
   243             AknLayoutUtils::LayoutControl( iPortalButtonOne, rect, oviBtnLayout );
   240             AknLayoutUtils::LayoutControl( iPortalButtonTwo, rect, operatorBtnLayout );
   244             AknLayoutUtils::LayoutControl( iPortalButtonTwo, rect, operatorBtnLayout );
   241             }
   245             }
   242 	    }
   246         }
   243     
   247     
   244 	// layout iWidgetsList
   248     // layout iWidgetsList
   245     TAknWindowLineLayout listPane = AknLayoutScalable_Apps
   249     TAknWindowLineLayout listPane = AknLayoutScalable_Apps
   246         ::listscroll_wgtman_pane( iLandscape ? 1 : 0 ).LayoutLine();
   250         ::listscroll_wgtman_pane( iLandscape ? 1 : 0 ).LayoutLine();
   247     if( iFindbox && iFindPaneIsVisible )
   251     if( iFindbox && iFindPaneIsVisible )
   248         {
   252         {
   249 		TAknLayoutRect layoutRect;
   253         TAknLayoutRect layoutRect;
   250         layoutRect.LayoutRect( rect, listPane );
   254         layoutRect.LayoutRect( rect, listPane );
   251 		iWidgetsList->SetRect( layoutRect.Rect() );
   255         iWidgetsList->SetRect( layoutRect.Rect() );
   252         HandleFindSizeChanged();
   256         HandleFindSizeChanged();
   253         }
   257         }
   254     else
   258     else
   255         {
   259         {
   256         AknLayoutUtils::LayoutControl( iWidgetsList, rect, listPane );
   260         AknLayoutUtils::LayoutControl( iWidgetsList, rect, listPane );
   257         }
   261         }
   258 
   262 
   259     DrawDeferred();
   263     DrawDeferred();
   260 	}
   264     }
   261 
   265 
   262 // ---------------------------------------------------------
   266 // ---------------------------------------------------------
   263 // CWmMainContainer::OfferKeyEventL
   267 // CWmMainContainer::OfferKeyEventL
   264 // ---------------------------------------------------------
   268 // ---------------------------------------------------------
   265 //
   269 //
   834     if ( !iClosingDown  )
   838     if ( !iClosingDown  )
   835         {
   839         {
   836         TBool eatEvent( EFalse );
   840         TBool eatEvent( EFalse );
   837         TPointerEvent event( aPointerEvent );
   841         TPointerEvent event( aPointerEvent );
   838 
   842 
   839 		if (aPointerEvent.iType == TPointerEvent::EButton1Down)
   843         if (aPointerEvent.iType == TPointerEvent::EButton1Down)
   840 			{
   844             {
   841 	        // Check if user clicked a child control
   845             // Check if user clicked a child control
   842 	        CCoeControl* control = FindChildControlByPoint( aPointerEvent.iPosition );
   846             CCoeControl* control = FindChildControlByPoint( aPointerEvent.iPosition );
   843 	        if ( control && !control->IsFocused() )
   847             if ( control && !control->IsFocused() )
   844 	            {
   848                 {
   845 	            // remove focus from ALL other child controls.
   849                 // remove focus from ALL other child controls.
   846 	            CCoeControlArray::TCursor cursor = Components().Begin();
   850                 CCoeControlArray::TCursor cursor = Components().Begin();
   847 	            CCoeControl* c;
   851                 CCoeControl* c;
   848 	            while ((c=cursor.Control<CCoeControl>()) != NULL )
   852                 while ((c=cursor.Control<CCoeControl>()) != NULL )
   849 	                {
   853                     {
   850 	                if ( c != control && c->IsFocused() ) c->SetFocus( EFalse );
   854                     if ( c != control && c->IsFocused() ) c->SetFocus( EFalse );
   851 	                cursor.Next();
   855                     cursor.Next();
   852 	                }
   856                     }
   853 	            
   857                 
   854 	            // Set focus to the control that was clicked
   858                 // Set focus to the control that was clicked
   855 	            control->SetFocus( ETrue );
   859                 control->SetFocus( ETrue );
   856 	                            
   860                                 
   857 	            // update focus mode accordingly
   861                 // update focus mode accordingly
   858 	            UpdateFocusMode();
   862                 UpdateFocusMode();
   859 	            // repaint
   863                 // repaint
   860 	            DrawDeferred();
   864                 DrawDeferred();
   861 	            }
   865                 }
   862 	        
   866             
   863 	        // stylus popup should not be opened when uninstalling. 
   867             // stylus popup should not be opened when uninstalling. 
   864 	        // ou1cimx1#302973
   868             // ou1cimx1#302973
   865 	        if ( control == iWidgetsList && iWidgetsList->IsFocused() )
   869             if ( control == iWidgetsList && iWidgetsList->IsFocused() )
   866 	             {
   870                  {
   867 	             TInt itemIndex = iWidgetsList->CurrentListBoxItemIndex();
   871                  TInt itemIndex = iWidgetsList->CurrentListBoxItemIndex();
   868 	             TBool itemPointed = iWidgetsList->View()->XYPosToItemIndex(
   872                  TBool itemPointed = iWidgetsList->View()->XYPosToItemIndex(
   869 	                                     aPointerEvent.iPosition,
   873                                          aPointerEvent.iPosition,
   870 	                                     itemIndex );
   874                                          itemIndex );
   871 	             if ( itemIndex >= 0 && itemPointed )
   875                  if ( itemIndex >= 0 && itemPointed )
   872 	                 {
   876                      {
   873 	                 CWmWidgetData& data = iWidgetsList->WidgetData( itemIndex );                
   877                      CWmWidgetData& data = iWidgetsList->WidgetData( itemIndex );                
   874 	                 if ( &data && data.IsUninstalling() )
   878                      if ( &data && data.IsUninstalling() )
   875 	                     {
   879                          {
   876                          event.iType = TPointerEvent::EButton1Up;
   880                          event.iType = TPointerEvent::EButton1Up;
   877 	                     eatEvent = ETrue;
   881                          eatEvent = ETrue;
   878 	                     }
   882                          }
   879 	                 }
   883                      }
   880 	             }
   884                  }
   881 	        
   885             
   882 			}
   886             }
   883 		
   887         
   884 		// set downkey event to base class
   888         // set downkey event to base class
   885 		CCoeControl::HandlePointerEventL( aPointerEvent );
   889         CCoeControl::HandlePointerEventL( aPointerEvent );
   886 		
   890         
   887 		// send key up event if selected widget is being uninstalled.
   891         // send key up event if selected widget is being uninstalled.
   888 		// stylus popup shouldn't be displayed for this item.
   892         // stylus popup shouldn't be displayed for this item.
   889 		if ( eatEvent )
   893         if ( eatEvent )
   890 		    {
   894             {
   891             CCoeControl::HandlePointerEventL( event );
   895             CCoeControl::HandlePointerEventL( event );
   892 		    }
   896             }
   893         }
   897         }
   894     }
   898     }
   895 
   899 
   896 // ---------------------------------------------------------
   900 // ---------------------------------------------------------
   897 // CWmMainContainer::InitializeControlsL
   901 // CWmMainContainer::InitializeControlsL
   898 // ---------------------------------------------------------
   902 // ---------------------------------------------------------
   899 //
   903 //
   900 void CWmMainContainer::InitializeControlsL( const TRect& /*aRect*/ )
   904 void CWmMainContainer::InitializeControlsL( const TRect& /*aRect*/ )
   901 	{
   905     {
   902 	// Create portal buttons
   906     // Create portal buttons
   903     iPortalButtonOne = CWmPortalButton::NewL( this, 0 );
   907     iPortalButtonOne = CWmPortalButton::NewL( this, 0 );
   904     iPortalButtonOne->SetMopParent( this );    
   908     iPortalButtonOne->SetMopParent( this );    
   905     AddControlL( iPortalButtonOne, EPortalOne );
   909     AddControlL( iPortalButtonOne, EPortalOne );
   906     if ( iConfiguration->PortalButtonCount() > 1 )
   910     if ( iConfiguration->PortalButtonCount() > 1 )
   907         {
   911         {
   915             iWmPlugin,
   919             iWmPlugin,
   916             TRect(),
   920             TRect(),
   917             this );
   921             this );
   918     iWidgetsList->SetMopParent( this );
   922     iWidgetsList->SetMopParent( this );
   919     AddControlL( iWidgetsList, EWidgetsList );
   923     AddControlL( iWidgetsList, EWidgetsList );
   920 	iWidgetsList->ActivateL();
   924     iWidgetsList->ActivateL();
   921     iWidgetsList->SetListBoxObserver( this );
   925     iWidgetsList->SetListBoxObserver( this );
   922     
   926     
   923     // Create scroll bar.
   927     // Create scroll bar.
   924     iWidgetsList->CreateScrollBarFrameL( ETrue );
   928     iWidgetsList->CreateScrollBarFrameL( ETrue );
   925     iWidgetsList->ScrollBarFrame()->SetScrollBarVisibilityL(
   929     iWidgetsList->ScrollBarFrame()->SetScrollBarVisibilityL(
   950 // CWmMainContainer::StartLoadingWidgetsL
   954 // CWmMainContainer::StartLoadingWidgetsL
   951 // ---------------------------------------------------------
   955 // ---------------------------------------------------------
   952 //
   956 //
   953 void CWmMainContainer::StartLoadingWidgetsL()
   957 void CWmMainContainer::StartLoadingWidgetsL()
   954     {
   958     {
   955     if ( iFindbox && iFindPaneIsVisible )
       
   956         {
       
   957         iFindbox->ResetL();        
       
   958         CAknFilteredTextListBoxModel* m = 
       
   959                 static_cast <CAknFilteredTextListBoxModel*> ( iWidgetsList->Model() );
       
   960         if ( m && m->Filter() )
       
   961             {
       
   962             m->Filter()->ResetFilteringL();
       
   963             }
       
   964         iFindbox->SetSearchTextL( KNullDesC );
       
   965         iFindbox->DrawNow();
       
   966         }
       
   967     if ( !iWidgetLoader )
   959     if ( !iWidgetLoader )
   968         {
   960         {
   969         // create the widget loader AO
   961         // create the widget loader AO
   970         iWidgetLoader = CWmWidgetLoaderAo::NewL( iWmPlugin, *iWidgetsList );
   962         iWidgetLoader = CWmWidgetLoaderAo::NewL( iWmPlugin, *iWidgetsList );
       
   963         iWidgetLoader->SetObserver( this );
   971         }
   964         }
   972     iWidgetLoader->StartLoading();
   965     iWidgetLoader->StartLoading();
   973     }
   966     }
   974 
   967 
   975 // ---------------------------------------------------------
   968 // ---------------------------------------------------------
   976 // CWmMainContainer::HandleResourceChange
   969 // CWmMainContainer::HandleResourceChange
   977 // ---------------------------------------------------------
   970 // ---------------------------------------------------------
   978 //
   971 //
   979 void CWmMainContainer::HandleResourceChange( TInt aType )
   972 void CWmMainContainer::HandleResourceChange( TInt aType )
   980 	{
   973     {
   981     CCoeControl::HandleResourceChange( aType );
   974     CCoeControl::HandleResourceChange( aType );
   982 	
   975     
   983     if ( KEikDynamicLayoutVariantSwitch == aType )
   976     if ( KEikDynamicLayoutVariantSwitch == aType )
   984         {
   977         {
   985         TRect rect;
   978         TRect rect;
   986         AknLayoutUtils::LayoutMetricsRect( 
   979         AknLayoutUtils::LayoutMetricsRect( 
   987                             AknLayoutUtils::EMainPane, rect );
   980                             AknLayoutUtils::EMainPane, rect );
   988         SetRect( rect );
   981         SetRect( rect );
   989         
   982         
   990         // notify widgetlist
   983         // notify widgetlist
   991         iWidgetsList->HandleLayoutChanged();
   984         iWidgetsList->HandleLayoutChanged();
   992         }
   985         }
   993 	}
   986     }
   994 
   987 
   995 
   988 
   996 // ---------------------------------------------------------
   989 // ---------------------------------------------------------
   997 // CWmMainContainer::MopSupplyObject
   990 // CWmMainContainer::MopSupplyObject
   998 // ---------------------------------------------------------
   991 // ---------------------------------------------------------
  1010 // ---------------------------------------------------------
  1003 // ---------------------------------------------------------
  1011 // CWmMainContainer::Draw
  1004 // CWmMainContainer::Draw
  1012 // ---------------------------------------------------------
  1005 // ---------------------------------------------------------
  1013 //
  1006 //
  1014 void CWmMainContainer::Draw( const TRect& aRect ) const
  1007 void CWmMainContainer::Draw( const TRect& aRect ) const
  1015 	{
  1008     {
  1016 	CWindowGc& gc = SystemGc();	
  1009     CWindowGc& gc = SystemGc();    
  1017     MAknsSkinInstance* skin = AknsUtils::SkinInstance();
  1010     MAknsSkinInstance* skin = AknsUtils::SkinInstance();
  1018     MAknsControlContext* cc = AknsDrawUtils::ControlContext( this );
  1011     MAknsControlContext* cc = AknsDrawUtils::ControlContext( this );
  1019     AknsDrawUtils::Background( skin, cc, this, gc, aRect );
  1012     AknsDrawUtils::Background( skin, cc, this, gc, aRect );
  1020 	}
  1013     }
  1021 
  1014 
  1022 // ---------------------------------------------------------
  1015 // ---------------------------------------------------------
  1023 // CWmMainContainer::AddControlL
  1016 // CWmMainContainer::AddControlL
  1024 // ---------------------------------------------------------
  1017 // ---------------------------------------------------------
  1025 //
  1018 //
  1030     Components().AppendLC( aControl, aControlId ); // Ownership transfered 
  1023     Components().AppendLC( aControl, aControlId ); // Ownership transfered 
  1031     CleanupStack::Pop(aControl);
  1024     CleanupStack::Pop(aControl);
  1032     CAknView* view = iWmPlugin.ViewAppUi().View( 
  1025     CAknView* view = iWmPlugin.ViewAppUi().View( 
  1033             TUid::Uid(EWmMainContainerViewId) );
  1026             TUid::Uid(EWmMainContainerViewId) );
  1034     if ( view )
  1027     if ( view )
  1035 		{
  1028         {
  1036         iWmPlugin.ViewAppUi().AddToStackL( *view, aControl );
  1029         iWmPlugin.ViewAppUi().AddToStackL( *view, aControl );
  1037 		}
  1030         }
  1038 	else
  1031     else
  1039 		{
  1032         {
  1040         iWmPlugin.ViewAppUi().AddToStackL( aControl );
  1033         iWmPlugin.ViewAppUi().AddToStackL( aControl );
  1041 		}
  1034         }
  1042     aControl->MakeVisible( ETrue );
  1035     aControl->MakeVisible( ETrue );
  1043     }
  1036     }
  1044 
  1037 
  1045 // ---------------------------------------------------------
  1038 // ---------------------------------------------------------
  1046 // CWmMainContainer::IsLoadingWidgets
  1039 // CWmMainContainer::IsLoadingWidgets
  1355         //store changed list order
  1348         //store changed list order
  1356         CWmPersistentWidgetOrder* widgetOrder =
  1349         CWmPersistentWidgetOrder* widgetOrder =
  1357             CWmPersistentWidgetOrder::NewL( iWmPlugin.FileServer() );
  1350             CWmPersistentWidgetOrder::NewL( iWmPlugin.FileServer() );
  1358         CleanupStack::PushL( widgetOrder );
  1351         CleanupStack::PushL( widgetOrder );
  1359         widgetOrder->StoreL( iWidgetsList->OrderDataArray() );
  1352         widgetOrder->StoreL( iWidgetsList->OrderDataArray() );
  1360 		
  1353         
  1361         CleanupStack::PopAndDestroy( widgetOrder );
  1354         CleanupStack::PopAndDestroy( widgetOrder );
  1362         }
  1355         }
  1363     }
  1356     }
  1364 
  1357 
  1365 // ---------------------------------------------------------------------------
  1358 // ---------------------------------------------------------------------------
  1591         // keep focus & do nothing 
  1584         // keep focus & do nothing 
  1592         }
  1585         }
  1593     else if ( aForeground )
  1586     else if ( aForeground )
  1594         {
  1587         {
  1595         // set init state when wm comes to foreground.
  1588         // set init state when wm comes to foreground.
  1596 		// remove focus from all controls when activating view.
  1589         // remove focus from all controls when activating view.
  1597         ResetFocus( EDrawNow );
  1590         ResetFocus( EDrawNow );
  1598         }
  1591         }
  1599     }
  1592     }
  1600 
  1593 
  1601 // ----------------------------------------------------
  1594 // ----------------------------------------------------
  1646 
  1639 
  1647 // ----------------------------------------------------
  1640 // ----------------------------------------------------
  1648 // CWmMainContainer::AdaptiveSearchTextChanged
  1641 // CWmMainContainer::AdaptiveSearchTextChanged
  1649 // ----------------------------------------------------
  1642 // ----------------------------------------------------
  1650 //
  1643 //
  1651 void CWmMainContainer::AdaptiveSearchTextChanged( 
  1644 void CWmMainContainer::AdaptiveSearchTextChanged( CAknSearchField* /*aSearchField*/ )
  1652         CAknSearchField* aSearchField )
       
  1653     {
  1645     {
  1654     // fix for ou1cimx1#376818. aknfind will call drawDeferred for lisbox. 
  1646     // fix for ou1cimx1#376818. aknfind will call drawDeferred for lisbox. 
  1655     // We need to be sure that button area is also drawn.
  1647     // We need to be sure that button area is also drawn.
  1656     DrawDeferred();
  1648     DrawDeferred();
  1657     }
  1649     }
  1658 
  1650 
       
  1651 
       
  1652 // ----------------------------------------------------
       
  1653 // CWmMainContainer::LoadDone
       
  1654 // ----------------------------------------------------
       
  1655 //
       
  1656 void CWmMainContainer::LoadDoneL( TBool aWidgetListChanged )
       
  1657     {
       
  1658     if ( aWidgetListChanged && iFindbox && iFindPaneIsVisible )
       
  1659         {
       
  1660         CAknFilteredTextListBoxModel* m = 
       
  1661                 static_cast <CAknFilteredTextListBoxModel*> ( iWidgetsList->Model() );
       
  1662         if ( m && m->Filter() )
       
  1663             {
       
  1664             m->Filter()->HandleItemArrayChangeL();
       
  1665             }
       
  1666         }
       
  1667     }
       
  1668 
  1659 // End of File
  1669 // End of File
  1660 
  1670