accessoryservices/pluggeddisplay/pluggeddisplayengine/src/compositecablestateconnected.cpp
branchGCC_SURGE
changeset 49 00076e39386f
parent 45 c6215323ad55
--- a/accessoryservices/pluggeddisplay/pluggeddisplayengine/src/compositecablestateconnected.cpp	Wed Jun 23 22:58:50 2010 +0100
+++ b/accessoryservices/pluggeddisplay/pluggeddisplayengine/src/compositecablestateconnected.cpp	Thu Jul 22 16:45:41 2010 +0100
@@ -80,6 +80,11 @@
         iCRWatchForTvSystem->Cancel();
         delete iCRWatchForTvSystem;        
         }
+    if ( iCRWatchForVOverScan )
+        {
+        iCRWatchForVOverScan->Cancel();
+        delete iCRWatchForVOverScan;        
+        }
     if ( iTVOutConfigForSettingChanges ) 
         {
         iTVOutConfigForSettingChanges->Cancel();
@@ -95,7 +100,8 @@
 void CCompositeCableStateConnected::Enter( )
     {
     FUNC_LOG;    
-    
+
+	iTVOutConfigForComposite.UpdateOverscanValues();
     ClearAvailableTvOutConfig();
     
     iTVOutConfigForSettingChanges->ListenSettingsChanges();
@@ -187,6 +193,7 @@
         TUint32 aId )
     {
     FUNC_LOG;
+	INFO("Cenrep Value Changed");
     if ( KCRUidTvoutSettings == aRepositoryId )
         {
         if (    ( KSettingsTvAspectRatio == aId ) ||
@@ -195,7 +202,15 @@
             {
             Input( EPDEIfCentralRepositoryWatch, EPDEIfCentralRepositoryWatchEventKeyChanged );
             }
-        else
+        else if( KSettingsTvoutVerticalOverscan == aId )
+			{
+			if( iTVOutConfigForComposite.UpdateOverscanValues() )
+				{
+				INFO( "There is a real overscan change" );
+				Input( EPDEIfCentralRepositoryWatch, EPDEIfCentralRepositoryWatchEventOverscanKeyChanged );
+				}
+			}
+		else
             {
             INFO_1("Unexpected CR key ID, aId 0x%x", aId );            
             }       
@@ -286,6 +301,7 @@
                 iCRWatchForFlickerFilter->Watch();
                 iCRWatchForAspectRatio->Watch();
                 iCRWatchForTvSystem->Watch();
+				iCRWatchForVOverScan->Watch();
                 iSubState = ESubStateEnabled;
                 }
             else
@@ -343,6 +359,7 @@
             iCRWatchForFlickerFilter->Cancel();
             iCRWatchForAspectRatio->Cancel();
             iCRWatchForTvSystem->Cancel();
+			iCRWatchForVOverScan->Cancel();
             ClearAvailableTvOutConfig();
             iTVOutConfigForComposite.Disable();
             iSubState = ESubStateDisabling;
@@ -362,17 +379,43 @@
             iCRWatchForFlickerFilter->Cancel();
             iCRWatchForAspectRatio->Cancel();
             iCRWatchForTvSystem->Cancel();
+			iCRWatchForVOverScan->Cancel();
             ClearAvailableTvOutConfig();
-            iTVOutConfigForComposite.Disable();
 			iResettingInput = ETrue;
             Enter();
             }
+		else if ( EPDEIfCentralRepositoryWatchEventOverscanKeyChanged == aEvent )
+			{
+			INFO( "Event: EPDEIfCentralRepositoryWatchEventOverscanKeyChanged" );
+			iTVOutConfigForComposite.SetConfig( ETrue );
+			}
         else
             {
             INFO_1( "Unknown Event Id: %i", aEvent );        
             }
         break;
         }       
+    case EPDEIfTVOutConfig:
+        {       
+        INFO( "Interface: EPDEIfTVOutConfig" );       
+		if ( EIfTVOutConfigEventSet == aEvent )
+			{
+			INFO( "Event: EIfTVOutConfigEventSet" );
+			// Stay on the same state
+			}
+		else if ( EIfTVOutConfigEventSetFailed == aEvent )
+			{
+			INFO( "Event: EIfTVOutConfigEventSetFailed" );
+            iCRWatchForFlickerFilter->Cancel();
+            iCRWatchForAspectRatio->Cancel();
+            iCRWatchForTvSystem->Cancel();
+			iCRWatchForVOverScan->Cancel();
+            ClearAvailableTvOutConfig();
+            iTVOutConfigForComposite.Disable();
+            iSubState = ESubStateDisabling;
+			}
+		break;
+		}
     default:
         {
         INFO_2( "Event from unexpected interface. if Id, event id: %i", aInterfaceId, aEvent );        
@@ -582,6 +625,7 @@
                         iCRWatchForFlickerFilter->Cancel();
                         iCRWatchForAspectRatio->Cancel();
                         iCRWatchForTvSystem->Cancel();
+						iCRWatchForVOverScan->Cancel();
                         iResettingInput = EFalse;
                         }
                     
@@ -599,6 +643,7 @@
                     iCRWatchForFlickerFilter->Cancel();
                     iCRWatchForAspectRatio->Cancel();
                     iCRWatchForTvSystem->Cancel();
+					iCRWatchForVOverScan->Cancel();
                     iResettingInput = EFalse;
                     }
                 
@@ -765,6 +810,7 @@
             iCRWatchForFlickerFilter->Cancel();
             iCRWatchForAspectRatio->Cancel();
             iCRWatchForTvSystem->Cancel();            
+			iCRWatchForVOverScan->Cancel();
             }
         else if ( EIfTVOutConfigEventSetFailed == aEvent )
             {
@@ -848,6 +894,7 @@
     iCRWatchForAspectRatio = CCentralRepositoryWatch::NewL(*this, KCRUidTvoutSettings, KSettingsTvAspectRatio );
     iCRWatchForFlickerFilter = CCentralRepositoryWatch::NewL(*this, KCRUidTvoutSettings, KSettingsTvoutFlickerFilter );
     iCRWatchForTvSystem = CCentralRepositoryWatch::NewL(*this, KCRUidTvoutSettings, KSettingsTvSystemInfo );    
+    iCRWatchForVOverScan = CCentralRepositoryWatch::NewL(*this, KCRUidTvoutSettings, KSettingsTvoutVerticalOverscan );
     iTVOutConfigForSettingChanges = CTVOutConfigForComposite::NewL(iCompositeCableStatusFSM);
     iResettingInput = EFalse;
     }