95 case ECamCmdCaptureSetupBrightnessStill: |
95 case ECamCmdCaptureSetupBrightnessStill: |
96 case ECamCmdCaptureSetupContrastStill: |
96 case ECamCmdCaptureSetupContrastStill: |
97 case ECamCmdCaptureSetupBrightnessVideo: |
97 case ECamCmdCaptureSetupBrightnessVideo: |
98 case ECamCmdCaptureSetupContrastVideo: |
98 case ECamCmdCaptureSetupContrastVideo: |
99 case ECamCmdCaptureSetupImageSharpnessStill: |
99 case ECamCmdCaptureSetupImageSharpnessStill: |
100 { |
|
101 SwitchToCaptureSetupModeL( aCommand ); |
|
102 } |
|
103 break; |
|
104 case ECamCmdCaptureSetupFlashStill: |
100 case ECamCmdCaptureSetupFlashStill: |
105 case ECamCmdCaptureSetupSelfTimer: |
101 case ECamCmdCaptureSetupSelfTimer: |
106 { |
102 { |
107 iController.ExitViewfinderMode( ECamControllerImage ); |
|
108 SwitchToCaptureSetupModeL( aCommand ); |
103 SwitchToCaptureSetupModeL( aCommand ); |
109 } |
104 } |
110 break; |
105 break; |
111 case ECamCmdCaptureSetupSceneStill: |
106 case ECamCmdCaptureSetupSceneStill: |
112 case ECamCmdCaptureSetupSceneVideo: |
107 case ECamCmdCaptureSetupSceneVideo: |
181 } |
176 } |
182 } |
177 } |
183 //lint -fallthrough |
178 //lint -fallthrough |
184 case EAknSoftkeyOk: |
179 case EAknSoftkeyOk: |
185 { |
180 { |
|
181 CaptureSetupModeSelection(); |
|
182 |
|
183 } |
|
184 break; |
|
185 case ECamMSKCmdAppChange: |
|
186 case EAknSoftkeySelect: |
|
187 { |
186 if ( iCaptureSetupModeActive && iCaptureSetupControlHandler ) |
188 if ( iCaptureSetupModeActive && iCaptureSetupControlHandler ) |
187 { |
189 { |
188 TCamSettingItemIds iSettingItemId = iCaptureSetupControlHandler->SettingType(); |
190 CaptureSetupModeSelection(); |
189 if ( iSettingItemId == ECamSettingItemDynamicSelfTimer ) |
|
190 { |
|
191 iController.SetSlideInSelfTimerPreview(EFalse); |
|
192 } |
|
193 |
|
194 iController.CommitPreviewChanges(); |
|
195 // fallthrough to exit CaptureSetup mode |
191 // fallthrough to exit CaptureSetup mode |
196 } |
192 } |
197 if( appUi && appUi->APHandler()->AccessedViaAP() ) |
193 else if ( iSceneSettingContainer ) |
198 { |
|
199 if( !userSceneActive) |
|
200 { |
|
201 appUi->APHandler()->APOperationComplete(); |
|
202 } |
|
203 ExitAllModesL(); |
|
204 } |
|
205 } |
|
206 break; |
|
207 case ECamMSKCmdAppChange: |
|
208 case EAknSoftkeySelect: |
|
209 { |
|
210 if ( iSceneSettingContainer ) |
|
211 { |
194 { |
212 |
195 |
213 if ( iSceneSettingContainer->UserSceneHighlighted() ) |
196 if ( iSceneSettingContainer->UserSceneHighlighted() ) |
214 { |
197 { |
215 // use context specific ok options menu if user scene is highlighted |
198 // use context specific ok options menu if user scene is highlighted |
355 // CCamCaptureSetupViewBase::CCamCaptureSetupViewBase |
338 // CCamCaptureSetupViewBase::CCamCaptureSetupViewBase |
356 // C++ constructor |
339 // C++ constructor |
357 // --------------------------------------------------------------------------- |
340 // --------------------------------------------------------------------------- |
358 // |
341 // |
359 CCamCaptureSetupViewBase::CCamCaptureSetupViewBase( CCamAppController& aController ) |
342 CCamCaptureSetupViewBase::CCamCaptureSetupViewBase( CCamAppController& aController ) |
360 : CCamViewBase( aController ) |
343 : CCamViewBase( aController ),iForceAvkonCBA(EFalse) |
361 { |
344 { |
362 } |
345 } |
363 |
346 |
364 // --------------------------------------------------------------------------- |
347 // --------------------------------------------------------------------------- |
365 // CCamCaptureSetupViewBase::CreateCaptureSetupControlHandlerL |
348 // CCamCaptureSetupViewBase::CreateCaptureSetupControlHandlerL |
550 // --------------------------------------------------------------------------- |
539 // --------------------------------------------------------------------------- |
551 // CCamCaptureSetupViewBase::SwitchToCaptureSetupModeL |
540 // CCamCaptureSetupViewBase::SwitchToCaptureSetupModeL |
552 // Enter capture setup mode |
541 // Enter capture setup mode |
553 // --------------------------------------------------------------------------- |
542 // --------------------------------------------------------------------------- |
554 // |
543 // |
555 void CCamCaptureSetupViewBase::SwitchToCaptureSetupModeL( TInt aSetupCommand ) |
544 void CCamCaptureSetupViewBase::SwitchToCaptureSetupModeL( TInt aSetupCommand, TBool aFullScreenVF ) |
556 { |
545 { |
557 __ASSERT_DEBUG( !iCaptureSetupControlHandler && !iCaptureSetupContainer, CamPanic( ECamPanicResourceLeak ) ); |
546 __ASSERT_DEBUG( !iCaptureSetupControlHandler && !iCaptureSetupContainer, CamPanic( ECamPanicResourceLeak ) ); |
558 |
547 |
559 CreateCaptureSetupControlHandlerL( aSetupCommand ); |
548 CreateCaptureSetupControlHandlerL( aSetupCommand ); |
560 // Cleanup the view correctly if a leave occurs |
549 // Cleanup the view correctly if a leave occurs |
566 { |
555 { |
567 // Space for visible statuspane for non-touch device |
556 // Space for visible statuspane for non-touch device |
568 AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, rect ); |
557 AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, rect ); |
569 } |
558 } |
570 iCaptureSetupContainer = CCamCaptureSetupContainer::NewL( iController, |
559 iCaptureSetupContainer = CCamCaptureSetupContainer::NewL( iController, |
571 *this, *iCaptureSetupControlHandler, rect ); |
560 *this, *iCaptureSetupControlHandler, rect, aFullScreenVF ); |
572 iCaptureSetupContainer->SetMopParent( this ); |
561 iCaptureSetupContainer->SetMopParent( this ); |
573 appUi->AddToStackL( *this, iCaptureSetupContainer ); |
562 appUi->AddToStackL( *this, iCaptureSetupContainer ); |
574 iCaptureSetupContainer->ActivateL(); |
563 iCaptureSetupContainer->ActivateL(); |
575 iCaptureSetupContainer->DrawNow(); |
564 iCaptureSetupContainer->DrawNow(); |
576 |
565 |
717 // --------------------------------------------------------------------------- |
706 // --------------------------------------------------------------------------- |
718 // CCamCaptureSetupViewBase::SwitchToInfoListBoxL |
707 // CCamCaptureSetupViewBase::SwitchToInfoListBoxL |
719 // Show InfoListBox |
708 // Show InfoListBox |
720 // --------------------------------------------------------------------------- |
709 // --------------------------------------------------------------------------- |
721 // |
710 // |
722 void CCamCaptureSetupViewBase::SwitchToInfoListBoxL( TCamInfoListBoxMode /* aMode */ ) |
711 void CCamCaptureSetupViewBase::SwitchToInfoListBoxL( TCamInfoListBoxMode aMode, TBool aFullySkinned ) |
723 { |
712 { |
724 // Cleanup the view correctly if a leave occurs |
713 // Cleanup the view correctly if a leave occurs |
725 CleanupStack::PushL( TCleanupItem( CleanupInfoListBox, this ) ); |
714 CleanupStack::PushL( TCleanupItem( CleanupInfoListBox, this ) ); |
726 CCamAppUiBase* appUi = static_cast<CCamAppUiBase*>( AppUi() ); |
715 CCamAppUiBase* appUi = static_cast<CCamAppUiBase*>( AppUi() ); |
727 iInfoListBoxContainer->SetMopParent( this ); |
716 iInfoListBoxContainer->SetMopParent( this ); |
728 appUi->AddToStackL( *this, iInfoListBoxContainer ); |
717 appUi->AddToStackL( *this, iInfoListBoxContainer ); |
729 iInfoListBoxContainer->ActivateL(); |
718 iInfoListBoxContainer->ActivateL(); |
730 // UpdateCbaL need this boolean to be set in |
719 // UpdateCbaL need this boolean to be set in |
731 // order to return the correct CBA |
720 // order to return the correct CBA |
732 SetInfoListBoxMode(ETrue); |
721 SetInfoListBoxMode(ETrue, aFullySkinned); |
733 UpdateCbaL(); |
722 UpdateCbaL(); |
734 SetTitlePaneTextL(); |
723 SetTitlePaneTextL(); |
735 appUi->PushDefaultNaviPaneL(); |
724 appUi->PushDefaultNaviPaneL(); |
736 CleanupStack::Pop(); // CleanupSceneSettingContainer |
725 CleanupStack::Pop(); // CleanupSceneSettingContainer |
737 |
726 |
969 { |
958 { |
970 return iSettingModeTitleResourceId; |
959 return iSettingModeTitleResourceId; |
971 } |
960 } |
972 |
961 |
973 |
962 |
|
963 void CCamCaptureSetupViewBase::CaptureSetupModeSelection() |
|
964 { |
|
965 |
|
966 TUid view = Id(); |
|
967 |
|
968 TBool userSceneActive = ( view.iUid == ECamViewIdPhotoUserSceneSetup ); |
|
969 |
|
970 CCamAppUiBase* appUi = static_cast<CCamAppUiBase*>( AppUi() ); |
|
971 |
|
972 if ( iCaptureSetupModeActive && iCaptureSetupControlHandler ) |
|
973 { |
|
974 TCamSettingItemIds iSettingItemId = iCaptureSetupControlHandler->SettingType(); |
|
975 if ( iSettingItemId == ECamSettingItemDynamicSelfTimer ) |
|
976 { |
|
977 iController.SetSlideInSelfTimerPreview(EFalse); |
|
978 } |
|
979 |
|
980 iController.CommitPreviewChanges(); |
|
981 // fallthrough to exit CaptureSetup mode |
|
982 } |
|
983 if( appUi && appUi->APHandler()->AccessedViaAP() ) |
|
984 { |
|
985 if( !userSceneActive) |
|
986 { |
|
987 appUi->APHandler()->APOperationComplete(); |
|
988 } |
|
989 ExitAllModesL(); |
|
990 } |
|
991 |
|
992 } |
|
993 |
974 // --------------------------------------------------------------------------- |
994 // --------------------------------------------------------------------------- |
975 // CCamCaptureSetupViewBase::DynInitMenuPaneL |
995 // CCamCaptureSetupViewBase::DynInitMenuPaneL |
976 // Dynamically initialise the options menu |
996 // Dynamically initialise the options menu |
977 // --------------------------------------------------------------------------- |
997 // --------------------------------------------------------------------------- |
978 // |
998 // |
1045 // --------------------------------------------------------------------------- |
1065 // --------------------------------------------------------------------------- |
1046 // CCamCaptureSetupViewBase::SetInfoListBoxMode |
1066 // CCamCaptureSetupViewBase::SetInfoListBoxMode |
1047 // Sets the iInfoListBoxActive flag |
1067 // Sets the iInfoListBoxActive flag |
1048 // --------------------------------------------------------------------------- |
1068 // --------------------------------------------------------------------------- |
1049 // |
1069 // |
1050 void CCamCaptureSetupViewBase::SetInfoListBoxMode( TBool aActive ) |
1070 void CCamCaptureSetupViewBase::SetInfoListBoxMode( TBool aActive, TBool aFullySkinned ) |
1051 { |
1071 { |
1052 // We need to inform the AppUi |
1072 // We need to inform the AppUi |
1053 iInfoListBoxActive = aActive; |
1073 iInfoListBoxActive = aActive; |
1054 |
1074 |
1055 CCamAppUiBase* appUi = static_cast<CCamAppUiBase*>( AppUi() ); |
1075 CCamAppUiBase* appUi = static_cast<CCamAppUiBase*>( AppUi() ); |