camerauis/cameraapp/generic/src/CamPostCaptureViewBase.cpp
branchRCL_3
changeset 12 8c55c525d5d7
parent 1 f5ec9446e5bf
child 16 d486e5e3cc9a
--- a/camerauis/cameraapp/generic/src/CamPostCaptureViewBase.cpp	Fri Mar 12 15:41:04 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamPostCaptureViewBase.cpp	Mon Mar 15 12:39:00 2010 +0200
@@ -143,16 +143,17 @@
             inCall = iSFIUtils->IsCLIValidL();
 #endif	            */
             //use both inCall and InCallOrRinging() conditions to make sure if it is in call state
-            if ( /*inCall &&*/ iController.InCallOrRinging() )
-                {
-#ifndef __WINS__
-                DoInCallSendL();
-#endif
-                }
-            else
-                {
+// In-Call-Send no longer used
+//            if ( /*inCall &&*/ iController.InCallOrRinging() )
+//                {
+//#ifndef __WINS__
+//                DoInCallSendL();
+//#endif
+//                }
+//            else
+//                {
                 DoSendAsL();                    	
-                }    
+//                }    
             }
             break;
 
@@ -214,6 +215,35 @@
             StartAddToAlbumOperationL();
             }
             break;
+        case KAiwCmdEdit:
+        case ECamCmdEdit:
+            {
+            CAiwGenericParamList& inputParams = iAiwServiceHandler->InParamListL();
+            TPtrC currentFullFileName(iController.CurrentFullFileName());
+            TAiwGenericParam param( EGenericParamFile, TAiwVariant(currentFullFileName));
+            inputParams.AppendL( param );
+            
+            
+            TAiwVariant param2Variant;
+            if(Id().iUid == ECamViewIdVideoPostCapture)
+                {
+                param2Variant.Set(_L("video/*"));
+                }
+            else
+                {
+                param2Variant.Set(_L("image/jpeg"));
+                }
+            TAiwGenericParam param2( EGenericParamMIMEType, param2Variant );
+            inputParams.AppendL( param2 );
+
+            iAiwServiceHandler->ExecuteServiceCmdL(KAiwCmdEdit, inputParams, iAiwServiceHandler->OutParamListL());        
+            }
+            break;
+        case KAiwCmdView: // SHARE_AIW
+            {
+            iAiwServiceHandler->ExecuteServiceCmdL(KAiwCmdView, iAiwServiceHandler->InParamListL(), iAiwServiceHandler->OutParamListL());        
+            }
+            break;
         default:
             {
             CCamViewBase::HandleCommandL( aCommand );
@@ -324,10 +354,13 @@
                   CAknToolbar* fixedToolbar = Toolbar();
                   if ( fixedToolbar )
                       {
-                      fixedToolbar->SetItemDimmed( ECamCmdPhotos, EFalse, ETrue );
+                      /*fixedToolbar->SetItemDimmed( ECamCmdPhotos, EFalse, ETrue );
+                      fixedToolbar->SetItemDimmed( ECamCmdEdit, EFalse, ETrue );
                       fixedToolbar->SetItemDimmed( ECamCmdDelete, EFalse, ETrue );
                       fixedToolbar->SetItemDimmed( ECamCmdOneClickUpload, EFalse, ETrue );
-                      fixedToolbar->SetItemDimmed( ECamCmdSend, EFalse, ETrue );
+                      fixedToolbar->SetItemDimmed( ECamCmdSend, EFalse, ETrue );*/
+                      fixedToolbar->SetDimmed(EFalse);
+                      fixedToolbar->DrawNow();
                       }
                   }
               }
@@ -450,10 +483,11 @@
                 CAknToolbar* fixedToolbar = Toolbar();
                 if ( fixedToolbar )
                     {
-                    fixedToolbar->SetItemDimmed( ECamCmdPhotos, ETrue, ETrue );
+                    /*fixedToolbar->SetItemDimmed( ECamCmdPhotos, ETrue, ETrue );
                     fixedToolbar->SetItemDimmed( ECamCmdDelete, ETrue, ETrue );
                     fixedToolbar->SetItemDimmed( ECamCmdOneClickUpload, ETrue, ETrue );
-                    fixedToolbar->SetItemDimmed( ECamCmdSend, ETrue, ETrue );
+                    fixedToolbar->SetItemDimmed( ECamCmdEdit, ETrue, ETrue );
+                    fixedToolbar->SetItemDimmed( ECamCmdSend, ETrue, ETrue );*/
                     }
                 }
             }
@@ -518,6 +552,8 @@
 
     CCamAppUi* appui = static_cast<CCamAppUi*>( AppUi() );
 
+    iAiwServiceHandler->AttachL(R_CAM_AIW_EDIT_INTEREST);
+    
     CCamViewBase::DoActivateL( aPrevViewId, aCustomMessageId, aCustomMessage );
 
     // fixed toolbar is used only with touch devices
@@ -534,8 +570,12 @@
             else
                 {
                 fixedToolbar->SetToolbarObserver( this );
-                fixedToolbar->SetToolbarVisibility( ETrue );   
                 UpdateToolbarIconsL();
+                if(Id().iUid != ECamViewIdVideoPostCapture)
+                    {
+                    fixedToolbar->SetDimmed(ETrue);
+                    }
+                fixedToolbar->SetToolbarVisibility( ETrue );
                 }
             }
         }
@@ -613,6 +653,12 @@
     CCamViewBase::DoDeactivate();
 
     iController.RemoveControllerObserver( this );
+    CAknToolbar* fixedToolbar = Toolbar();
+    if(fixedToolbar)
+        {
+        fixedToolbar->SetToolbarVisibility( EFalse );
+        }
+    
     PRINT( _L( "Camera <= CCamPostCaptureViewBase::DoDeactivate" ) );    
     }
 
@@ -636,7 +682,13 @@
             {
             aMenuPane->SetItemDimmed( ECamCmdAddToAlbum, ETrue );
             }
-        } 
+        }
+    // Hide menu item, if Share not available
+    if ( !iOneClickUploadUtility->OneClickUploadSupported() && 
+         aMenuPane->MenuItemExists( KAiwCmdView, itemPos ) )
+        {
+        aMenuPane->SetItemDimmed( KAiwCmdView, ETrue );
+        }
     }
 
 // ---------------------------------------------------------------------------
@@ -801,9 +853,12 @@
     if ( aApHandler )
         {
         //use both inCall and InCallOrRinging() conditions to make sure if it is in call state
-        aApHandler->SetItemVisible( ECamCmdSend, !( /*inCall &&*/ iController.InCallOrRinging() ) );
-        aApHandler->SetItemVisible( ECamCmdSendToCallerMultimedia, ( /*inCall &&*/ iController.InCallOrRinging() ) );
-
+        
+        // In-Call-Send no longer used. Always use ECamCmdSend regardless of phone call state.
+        //aApHandler->SetItemVisible( ECamCmdSend, !( /*inCall &&*/ iController.InCallOrRinging() ) );
+        //aApHandler->SetItemVisible( ECamCmdSendToCallerMultimedia, ( /*inCall &&*/ iController.InCallOrRinging() ) );
+        aApHandler->SetItemVisible( ECamCmdSend, ETrue );
+        
         TBool uploadSupported = EFalse;
         if ( iOneClickUploadUtility &&
              iOneClickUploadUtility->OneClickUploadSupported() )
@@ -928,18 +983,33 @@
                     state->SetHelpTextL( *tooltipText );
                     CleanupStack::PopAndDestroy( tooltipText );    
                     }    
-                } 
+                }
             button = dynamic_cast<CAknButton*>(
                     toolbar->ControlOrNull( ECamCmdOneClickUpload ) );
-            if ( button )
+            if ( button && iOneClickUploadUtility->OneClickUploadSupported())
                 {
                CAknButtonState* state = button->State();
                if ( state )
                    {
                    state->SetHelpTextL(
                            iOneClickUploadUtility->ButtonTooltipL() );
+                                      
                    }
                }
+            button = dynamic_cast<CAknButton*>(toolbar->ControlOrNull( ECamCmdEdit ));
+            if( button )
+                {
+                CAknButtonState* state = button->State();
+                if( state )
+                    {
+                    TInt resource = (Id().iUid == ECamViewIdStillPostCapture)?
+                                    R_QTN_LCAM_TT_IMAGE_EDITOR:
+                                    R_QTN_LCAM_TT_VIDEO_EDITOR;
+                    HBufC* helpText = StringLoader::LoadLC( resource );
+                    state->SetHelpTextL(*helpText);
+                    CleanupStack::PopAndDestroy(helpText);
+                    }
+                } 
            }
         }
     PRINT( _L("Camera <= CCamPostCaptureViewBase::UpdateToolbarIconsL") );