widgets/widgetapp/src/WidgetUiWindowManager.cpp
branchRCL_3
changeset 99 ca6d8a014f4b
parent 94 919f36ff910f
child 103 be5f8c9adf67
--- a/widgets/widgetapp/src/WidgetUiWindowManager.cpp	Tue Sep 14 23:23:58 2010 +0300
+++ b/widgets/widgetapp/src/WidgetUiWindowManager.cpp	Wed Sep 15 13:25:15 2010 +0300
@@ -206,6 +206,7 @@
     iWidgetSapiNotifier = CWidgetUiPSNotifier::NewL(*this, ESapiPrompt);
     iWidgetSapiClearNotifier = CWidgetUiPSNotifier::NewL(*this, ESapiPromptCleared);
 #endif
+    iLightObserver = CHWRMLight::NewL( this );
     }
 
 // -----------------------------------------------------------------------------
@@ -281,6 +282,7 @@
     delete iWidgetSapiNotifier;
     delete iWidgetSapiClearNotifier;
 #endif
+    delete iLightObserver;
     }
 
 // -----------------------------------------------------------------------------
@@ -1160,6 +1162,7 @@
             iActiveFsWindow->Engine()->MakeVisible( EFalse );
             iActiveFsWindow->SetIsCurrentWindow( EFalse );
             iActiveFsWindow->Engine()->HandleCommandL( (TInt)TBrCtlDefs::ECommandAppBackground + (TInt)TBrCtlDefs::ECommandIdBase);
+            iActiveFsWindow->WidgetExtension()->HandleCommandL( (TInt)TBrCtlDefs::ECommandAppBackground + (TInt)TBrCtlDefs::ECommandIdBase);
             }
         iActiveFsWindow = NULL;
         // Publish should start only after widget is resumed.
@@ -1654,6 +1657,35 @@
       } 
 #endif // BRDO_OCC_ENABLED_FF
 
+// -----------------------------------------------------------------------------
+// CWidgetUiWindowManager::LightStatusChanged
+// -----------------------------------------------------------------------------
+//
+void CWidgetUiWindowManager::LightStatusChanged( TInt aTarget, CHWRMLight::TLightStatus aStatus )
+    {   
+    if ( aTarget == CHWRMLight::EPrimaryDisplay )
+        {
+        if ( ( aStatus == CHWRMLight::ELightOn || aStatus == CHWRMLight::ELightOff ) && aStatus != iLightStatus )
+            {   
+            iLightStatus = aStatus;
+            if(iActiveFsWindow)                
+                if(aStatus == CHWRMLight::ELightOn )
+                    {
+                    TRAP_IGNORE( iActiveFsWindow->Engine()->HandleCommandL( 
+                               (TInt)TBrCtlDefs::ECommandIdBase +
+                               (TInt)TBrCtlDefs::ECommandBackLightOn ) );
+                    }
+                else if(aStatus == CHWRMLight::ELightOff )
+                    {
+                    TRAP_IGNORE( iActiveFsWindow->Engine()->HandleCommandL( 
+                               (TInt)TBrCtlDefs::ECommandIdBase +
+                               (TInt)TBrCtlDefs::ECommandBackLightOff) );
+                    }
+            }
+    }
+}
+    
+
 CRequestRAM::CRequestRAM(CWidgetUiWindowManager* aWidgetUiWindowManager, const TUid& aUid, TUint32 aOperation):
     CActive( EPriorityStandard ),
     iWidgetUiWindowManager(aWidgetUiWindowManager),