idlehomescreen/widgetmanager/src/wmwidgetloaderao.cpp
changeset 5 c743ef5928ba
parent 2 08c6ee43b396
child 9 f966699dea19
--- a/idlehomescreen/widgetmanager/src/wmwidgetloaderao.cpp	Tue Jan 26 11:48:23 2010 +0200
+++ b/idlehomescreen/widgetmanager/src/wmwidgetloaderao.cpp	Tue Feb 02 00:04:13 2010 +0200
@@ -23,6 +23,7 @@
 #include "wmpersistentwidgetorder.h"
 #include "wmlistbox.h"
 #include "wmwidgetloaderao.h"
+#include "wminstaller.h"
 
 #include <hscontentcontroller.h> // content control api
 #include <hscontentinfoarray.h> // content control api
@@ -123,6 +124,10 @@
 //
 void CWmWidgetLoaderAo::DoLoadWidgetsL()
     {
+    // Check if unistallation is ongoing for for some widget
+	// iUninstallUid is null no uninstallation is ongoing
+    iUninstallUid = iWmPlugin.WmInstaller().UninstallUid();
+    
     // 1. load the widgets array
     MHsContentController& controller = iWmPlugin.ContentController();    
     CHsContentInfoArray* contentInfoArray = CHsContentInfoArray::NewL();
@@ -257,6 +262,12 @@
     widgetData->SetPersistentWidgetOrder( iWidgetOrder );
     widgetData->SetValid( ETrue );
     iWidgetsList.AddWidgetDataL( widgetData, EFalse );
+    if ( iUninstallUid != KNullUid 
+            && iUninstallUid == widgetData->PublisherUid() )
+        {
+        widgetData->VisualizeUninstallL();
+        }
+    
     CleanupStack::Pop( widgetData );
     }