phoneapp/phoneuiview/src/cphonetoolbarcontroller.cpp
branchRCL_3
changeset 31 ba54057fe027
parent 19 544e34b3255a
child 58 40a3f856b14d
--- a/phoneapp/phoneuiview/src/cphonetoolbarcontroller.cpp	Tue Apr 27 16:37:10 2010 +0300
+++ b/phoneapp/phoneuiview/src/cphonetoolbarcontroller.cpp	Tue May 11 16:13:03 2010 +0300
@@ -131,7 +131,6 @@
             CleanupStack::Pop( button );
             CleanupStack::PopAndDestroy( tooltipText );
             }
-        TRAP_IGNORE(iToolbar->DisableToolbarL( ETrue ));
         }
     }
     
@@ -395,7 +394,17 @@
         iWiredAccFlag = accFlag->Boolean();        
         if ( iCallInProgress ) 
             {
-            SetToolbarButtonDimmed( EPhoneInCallCmdActivateIhf, iWiredAccFlag );
+            if ( iWiredAccFlag )
+                {
+                // Dim toolbar button 
+                iToolbar->SetItemDimmed( EPhoneInCallCmdActivateIhf, ETrue, ETrue );
+                }
+            else if ( !iDimActivateIhf )
+                {
+                // Don't undim ActivateIhf button, if it was intended to be dimmed all the time
+                iToolbar->SetItemDimmed( EPhoneInCallCmdActivateIhf, EFalse, ETrue );
+                }
+            
             UpdateToolbar(); 
             }
         }
@@ -452,6 +461,7 @@
         {
         iToolbar->SetItemDimmed( EPhoneInCallCmdActivateIhf, aDimmed, ETrue );
         }
+    iDimActivateIhf = aDimmed;
     }
 
 // ---------------------------------------------------------
@@ -462,8 +472,28 @@
     {
  // __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneToolbarController::SetToolbarButtonDimmed()" );
 
-    // Dim toolbar button 
-    iToolbar->SetItemDimmed( aCommandId, aDimmed, ETrue );
+    if ( aCommandId == EPhoneInCallCmdActivateIhf ) 
+        {
+        if ( aDimmed )
+            {
+            // Dim toolbar button 
+            iToolbar->SetItemDimmed( aCommandId, aDimmed, ETrue );
+            }
+        else
+            {
+            // Don't undim IHF if wired acc is connected. 
+            if ( !iWiredAccFlag )
+                {
+                iToolbar->SetItemDimmed( aCommandId, aDimmed, ETrue );
+                }
+            }
+        iDimActivateIhf = aDimmed;
+        }
+    else
+        {
+        // Dim/undim toolbar button 
+        iToolbar->SetItemDimmed( aCommandId, aDimmed, ETrue );
+        }
     }
 
 // END