photosgallery/viewframework/views/fullscreenview/src/glxfullscreenviewimp.cpp
branchRCL_3
changeset 17 a60acebbbd9d
parent 15 191387a8b767
child 18 78ad99c24f08
equal deleted inserted replaced
15:191387a8b767 17:a60acebbbd9d
   102 //11 = (5(5 fullscreen texture backwards)+1(fucus index texture)+5(5 fullscreen texture forwards))
   102 //11 = (5(5 fullscreen texture backwards)+1(fucus index texture)+5(5 fullscreen texture forwards))
   103 const TInt KFullScreenTextureOffset = 5;
   103 const TInt KFullScreenTextureOffset = 5;
   104 const TInt KGlxDecodingThreshold = 3000000; // pixels
   104 const TInt KGlxDecodingThreshold = 3000000; // pixels
   105 
   105 
   106 _LIT( KTfxResourceActivateFullScreen, "z:\\resource\\effects\\photos_fullscreen_open.fxml" );
   106 _LIT( KTfxResourceActivateFullScreen, "z:\\resource\\effects\\photos_fullscreen_open.fxml" );
       
   107 _LIT( KTfxResourceNoEffect, "");
   107 
   108 
   108 // ======== MEMBER FUNCTIONS ========
   109 // ======== MEMBER FUNCTIONS ========
   109 
   110 
   110 // ---------------------------------------------------------------------------
   111 // ---------------------------------------------------------------------------
   111 // C++ default constructor can NOT contain any code, that
   112 // C++ default constructor can NOT contain any code, that
   167 	iTimer = CPeriodic::NewL( CActive::EPriorityStandard );
   168 	iTimer = CPeriodic::NewL( CActive::EPriorityStandard );
   168 	//Register the view to recieve toolbar events. ViewBase handles the events
   169 	//Register the view to recieve toolbar events. ViewBase handles the events
   169 	SetToolbarObserver(this);
   170 	SetToolbarObserver(this);
   170 	iImgViewerMode = EFalse;
   171 	iImgViewerMode = EFalse;
   171     //Disable the toolbar always while entering fullscreen
   172     //Disable the toolbar always while entering fullscreen
   172 	EnableFSToolbarL(EFalse);
   173 	EnableFSToolbar(EFalse);
   173     ShowToolbarOnViewActivation(EFalse);
   174     ShowToolbarOnViewActivation(EFalse);
   174 	
   175 	
   175 	//Get the ScreenFurniture instance
   176 	//Get the ScreenFurniture instance
   176 	iScreenFurniture = iUiUtility->ScreenFurniture();
   177 	iScreenFurniture = iUiUtility->ScreenFurniture();
   177 	
   178 	
   178     //Get the env from the uiutilities
   179     //Get the env from the uiutilities
   179 	iEnv = iUiUtility->Env ();
   180 	iEnv = iUiUtility->Env ();
       
   181 	
   180 	iZoomButtonGroup = CEikButtonGroupContainer::NewL(
   182 	iZoomButtonGroup = CEikButtonGroupContainer::NewL(
   181 	        CEikButtonGroupContainer::ECba,  // type
   183 	        CEikButtonGroupContainer::ECba,  // type
   182 	        CEikButtonGroupContainer::EHorizontal,  // orientation
   184 	        CEikButtonGroupContainer::EHorizontal,  // orientation
   183 	        this,  // command observer
   185 	        this,  // command observer
   184 	        R_GLX_FULLSCREEN_SOFTKEYS_ZOOM ); 
   186 	        R_GLX_FULLSCREEN_SOFTKEYS_ZOOM ); 
   204 // ---------------------------------------------------------------------------
   206 // ---------------------------------------------------------------------------
   205 //
   207 //
   206 CGlxFullScreenViewImp::~CGlxFullScreenViewImp()
   208 CGlxFullScreenViewImp::~CGlxFullScreenViewImp()
   207     {
   209     {
   208     TRACER("CGlxFullScreenViewImp::~CGlxFullScreenViewImp");
   210     TRACER("CGlxFullScreenViewImp::~CGlxFullScreenViewImp");
   209     
   211     if(iAlfEffectObs)
       
   212         {
       
   213         delete iAlfEffectObs;
       
   214         }
   210     delete iMMCNotifier;
   215     delete iMMCNotifier;
   211     iMMCNotifier = NULL;
   216     iMMCNotifier = NULL;
   212     
   217     
   213 	delete iMediaListMulModelProvider;   
   218 	delete iMediaListMulModelProvider;   
   214     if(iTimer->IsActive())
   219     if(iTimer->IsActive())
   293 void CGlxFullScreenViewImp::DoMLViewActivateL(
   298 void CGlxFullScreenViewImp::DoMLViewActivateL(
   294 		const TVwsViewId & /* aPrevViewId */, TUid /* aCustomMessageId */,
   299 		const TVwsViewId & /* aPrevViewId */, TUid /* aCustomMessageId */,
   295 		const TDesC8 & /* aCustomMessage */)
   300 		const TDesC8 & /* aCustomMessage */)
   296 	{
   301 	{
   297     TRACER("CGlxFullScreenViewImp::DoMLViewActivateL");
   302     TRACER("CGlxFullScreenViewImp::DoMLViewActivateL");
   298 	//Disable the softkeys
   303 	
   299     Cba()->MakeVisible( EFalse );
       
   300     Cba()->DrawNow();
       
   301     
       
   302     // hide the toolbar
   304     // hide the toolbar
   303     EnableFSToolbarL(EFalse);
   305     EnableFSToolbar(EFalse);
   304     
   306     
   305 
       
   306     CGlxNavigationalState* navigationalState =  CGlxNavigationalState::InstanceL();
   307     CGlxNavigationalState* navigationalState =  CGlxNavigationalState::InstanceL();
   307     CleanupClosePushL( *navigationalState );
   308     CleanupClosePushL( *navigationalState );
   308     CMPXCollectionPath* naviState = navigationalState->StateLC();
   309     CMPXCollectionPath* naviState = navigationalState->StateLC();
   309     
   310     
   310     if(!iMediaList->Count())
   311     if(!iMediaList->Count())
   341         SetItemToHDMIL();
   342         SetItemToHDMIL();
   342         }
   343         }
   343     iScreenFurniture->SetActiveView(iViewUid);
   344     iScreenFurniture->SetActiveView(iViewUid);
   344     
   345     
   345     //set the ui state to off,when the Fullscreen launches
   346     //set the ui state to off,when the Fullscreen launches
   346     SetUiSate(NGlxNFullScreenUIState::EUiOff);
   347     SetUiState(EUiOff);
   347    
   348    
   348    	GlxSetAppState::SetState(EGlxInFullScreenView);
   349    	GlxSetAppState::SetState(EGlxInFullScreenView);
   349    	 
   350    	 
   350     // create the coverflow
   351     // create the coverflow
   351     CreateCoverflowWidgetL();
   352     CreateCoverflowWidgetL();
   373 	//UI Screen furnitures are disabled by default while going to fullscreen.
   374 	//UI Screen furnitures are disabled by default while going to fullscreen.
   374 	//Check if the transitions are enabled from themes
   375 	//Check if the transitions are enabled from themes
   375     if (CAknTransitionUtils::TransitionsEnabled(
   376     if (CAknTransitionUtils::TransitionsEnabled(
   376                                     AknTransEffect::EFullScreenTransitionsOff))
   377                                     AknTransEffect::EFullScreenTransitionsOff))
   377         {
   378         {
       
   379         if(!iAlfEffectObs)
       
   380             {
       
   381             iAlfEffectObs = CAlfEffectObserver::NewL();
       
   382             }
   378         const_cast<CAlfLayout&> (iCoverFlowWidget->ContainerLayout()).SetEffectL(
   383         const_cast<CAlfLayout&> (iCoverFlowWidget->ContainerLayout()).SetEffectL(
   379                 KTfxResourceActivateFullScreen);
   384                 KTfxResourceActivateFullScreen);
       
   385         iEffectHandle = iCoverFlowWidget->ContainerLayout().Identifier();
       
   386         iAlfEffectObs->SubscribeCallbackL(this,iEffectHandle);
   380         }
   387         }
   381     
   388     
   382 	//Disable the status pane here as it causes flicker while animating
   389 	//Disable the status pane here as it causes flicker while animating
   383     CAknViewAppUi* appui = AppUi();
   390     CAknViewAppUi* appui = AppUi();
   384     if ( appui )
   391     if ( appui )
   511 
   518 
   512     //Since the toolbar should not be present for ImageViewer.
   519     //Since the toolbar should not be present for ImageViewer.
   513     if(!iImgViewerMode)
   520     if(!iImgViewerMode)
   514         {
   521         {
   515         //show the toolbar
   522         //show the toolbar
   516         EnableFSToolbarL(ETrue);
   523         EnableFSToolbar(ETrue);
   517         }
   524         }
   518      
   525      
   519     // For floating toolbar in non-touch devices
   526     // For floating toolbar in non-touch devices
   520     iScreenFurniture->SetToolbarVisibility(ETrue);
   527     iScreenFurniture->SetToolbarVisibility(ETrue);
       
   528     
   521     //show the softkeys
   529     //show the softkeys
   522     Cba()->MakeVisible( ETrue );
   530     CEikButtonGroupContainer* cba = Cba();
   523     Cba()->DrawNow();
   531     cba->SetCommandSetL( R_GLX_FULLSCREEN_SOFTKEYS );
       
   532     cba->MakeVisible( ETrue );
       
   533     cba->DrawNow();
   524 
   534 
   525     //set the ui state to On
   535     //set the ui state to On
   526     SetUiSate(NGlxNFullScreenUIState::EUiOn);
   536     SetUiState(EUiOn);
   527     
   537     
   528     //start the timer,for the screen timeout
   538     //start the timer,for the screen timeout
   529     iTimer->Cancel();
   539     iTimer->Cancel();
   530     if(aStartTimer)
   540     if(aStartTimer)
   531         {
   541         {
   535     
   545     
   536 // ---------------------------------------------------------------------------
   546 // ---------------------------------------------------------------------------
   537 // HideUi
   547 // HideUi
   538 // ---------------------------------------------------------------------------
   548 // ---------------------------------------------------------------------------
   539 //	
   549 //	
   540 void  CGlxFullScreenViewImp::HideUi(TBool aSliderStatus)
   550 void  CGlxFullScreenViewImp::HideUi(TBool aHideSlider)
   541     {
   551     {
   542     TRACER("CGlxFullScreenViewImp::HideUi");
   552     TRACER("CGlxFullScreenViewImp::HideUi");
   543     //cancel the timer
   553     //cancel the timer
   544     iTimer->Cancel();
   554     iTimer->Cancel();
   545 
   555 
   546     // For floating toolbar in non-touch devices
   556     // For floating toolbar in non-touch devices
   547     iScreenFurniture->SetToolbarVisibility(EFalse);
   557     iScreenFurniture->SetToolbarVisibility(EFalse);
   548     // hide the slider
   558     
   549     if(aSliderStatus && iSliderWidget)
   559     // hide/show the slider
   550         {
   560     if(iSliderWidget) 
   551    	    iSliderWidget->ShowWidget(EFalse);
   561         {
   552 		}
   562         iSliderWidget->ShowWidget(!aHideSlider);        
       
   563         }
   553 
   564 
   554     if (iCoverFlowWidget)
   565     if (iCoverFlowWidget)
   555         {
   566         {
   556         iCoverFlowWidget->SetUIMode(EFalse);
   567         iCoverFlowWidget->SetUIMode(EFalse);
   557         }
   568         }
   570     // hide the softkeys
   581     // hide the softkeys
   571     Cba()->MakeVisible( EFalse );
   582     Cba()->MakeVisible( EFalse );
   572     Cba()->DrawNow();
   583     Cba()->DrawNow();
   573  
   584  
   574     // set the ui state to On
   585     // set the ui state to On
   575     SetUiSate(NGlxNFullScreenUIState::EUiOff);
   586     SetUiState(EUiOff);
   576     }
   587     }
   577 
   588 
   578 // ---------------------------------------------------------------------------
   589 // ---------------------------------------------------------------------------
   579 // SetUiSate
   590 // SetUiState
   580 // ---------------------------------------------------------------------------
   591 // ---------------------------------------------------------------------------
   581 //	
   592 //	
   582 void CGlxFullScreenViewImp::SetUiSate (NGlxNFullScreenUIState::TUiState  aState)
   593 void CGlxFullScreenViewImp::SetUiState (TUiState  aState)
   583     {
   594     {
   584     TRACER("CGlxFullScreenViewImp::SetUiSate");
   595     TRACER("CGlxFullScreenViewImp::SetUiState");
   585     iUiState = aState;
   596     iUiState = aState;
   586     }
   597     }
   587 
   598 
   588 // ---------------------------------------------------------------------------
   599 // ---------------------------------------------------------------------------
   589 // GetUiSate
   600 // GetUiState
   590 // ---------------------------------------------------------------------------
   601 // ---------------------------------------------------------------------------
   591 //	
   602 //	
   592 NGlxNFullScreenUIState::TUiState CGlxFullScreenViewImp::GetUiSate()    
   603 TUiState CGlxFullScreenViewImp::GetUiState()    
   593     {
   604     {
   594     TRACER("CGlxFullScreenViewImp::GetUiSate");
   605     TRACER("CGlxFullScreenViewImp::GetUiState");
   595     return iUiState;
   606     return iUiState;
   596     }
   607     }
   597 
   608 
   598 // ---------------------------------------------------------------------------
   609 // ---------------------------------------------------------------------------
   599 // TimeOut
   610 // TimeOut
   605     if(aSelf)
   616     if(aSelf)
   606         {
   617         {
   607         CGlxFullScreenViewImp* self = static_cast <CGlxFullScreenViewImp*> (aSelf);
   618         CGlxFullScreenViewImp* self = static_cast <CGlxFullScreenViewImp*> (aSelf);
   608         if (self)
   619         if (self)
   609             {
   620             {
   610             if ( NGlxNFullScreenUIState::EUiOn == self->GetUiSate())
   621             if ( EUiOn == self->GetUiState())
   611                 {
   622                 {
   612                 // After time out, hide UI only when menu is not being displayed.
   623                 // After time out, hide UI only when menu is not being displayed.
   613                 if( self->MenuBar() && !(self->MenuBar()->IsDisplayed()) )
   624                 if( self->MenuBar() && !(self->MenuBar()->IsDisplayed()) )
   614                     {
   625                     {
   615 		            self->HideUi(ETrue);
   626 		            self->HideUi(ETrue);
   633         iCoverFlowWidget->ShowWidget(EFalse);
   644         iCoverFlowWidget->ShowWidget(EFalse);
   634         }
   645         }
   635     if(iSliderWidget)
   646     if(iSliderWidget)
   636         {
   647         {
   637         iSliderWidget->RemoveEventHandler(*this);
   648         iSliderWidget->RemoveEventHandler(*this);
   638         }
   649     
   639     //Dont Hide the slider,when activating the Zoom control,so pass EFalse
   650         //show/hide the slider based on the return value of
   640     HideUi(EFalse);
   651         //IsHidden()
       
   652 	    if(iZoomControl->Activated())
       
   653 	        {
       
   654 	        HideUi(iSliderWidget->IsHidden());
       
   655 	        }
       
   656 		}
   641     iViewWidget->show(ETrue);
   657     iViewWidget->show(ETrue);
   642     }
   658     }
   643 
   659 
   644 // ---------------------------------------------------------------------------
   660 // ---------------------------------------------------------------------------
   645 //ActivateFullScreen function.
   661 //ActivateFullScreen function.
   654         iCoverFlowWidget->AddEventHandler(*this);
   670         iCoverFlowWidget->AddEventHandler(*this);
   655         iCoverFlowWidget->ShowWidget(ETrue);
   671         iCoverFlowWidget->ShowWidget(ETrue);
   656         }
   672         }
   657     if(iSliderWidget)
   673     if(iSliderWidget)
   658         {
   674         {
   659         iSliderWidget->ShowWidget( EFalse );
       
   660         iSliderWidget->AddEventHandler(*this);
   675         iSliderWidget->AddEventHandler(*this);
   661         }
   676         }
   662     iViewWidget->show(ETrue);
   677     iViewWidget->show(ETrue);
   663     iViewWidget->setRect(TRect(TPoint(0,0),AlfUtil::ScreenSize()));
   678     iViewWidget->setRect(TRect(TPoint(0,0),AlfUtil::ScreenSize()));
   664 	GlxSetAppState::SetState(EGlxInFullScreenView);   
   679 	GlxSetAppState::SetState(EGlxInFullScreenView);   
   746         }
   761         }
   747     if(iZoomControl->Activated())
   762     if(iZoomControl->Activated())
   748         {        
   763         {        
   749         iZoomControl->Deactivate();
   764         iZoomControl->Deactivate();
   750         }
   765         }
   751     //Once into fullscreen view,show the screen furniture
   766     
   752     HideUi(ETrue);
   767     //check if the slider is already visible in zoom view.
       
   768     //if yes then do not disable the slider.
       
   769     TBool sliderInvisible = ETrue;
       
   770     if (EUiOn == iZoomControl->ZoomUiState())
       
   771         {
       
   772         sliderInvisible = EFalse;
       
   773         }
       
   774     
       
   775     HideUi(sliderInvisible);
       
   776     
       
   777     if (!sliderInvisible)
       
   778         {
       
   779         //Set the UI State to On Explicitly since the slider is ON and we have
       
   780         //to disable on timeout. The timer is already cancelled in HideUi().
       
   781         SetUiState(EUiOn);
       
   782         iTimer->Start(KGlxScreenTimeout,KGlxScreenTimeout,TCallBack( TimeOut,this ));
       
   783         }
   753     }
   784     }
   754 
   785 
   755 // ---------------------------------------------------------------------------
   786 // ---------------------------------------------------------------------------
   756 // From CAknView
   787 // From CAknView
   757 // View deactivation function.
   788 // View deactivation function.
   763 	//Disabling the toolbar here since it would give a crash when
   794 	//Disabling the toolbar here since it would give a crash when
   764 	//we try to enable the toolbar in activate without exiting photos.
   795 	//we try to enable the toolbar in activate without exiting photos.
   765     if(!iImgViewerMode)
   796     if(!iImgViewerMode)
   766         {    
   797         {    
   767         // hide the toolbar
   798         // hide the toolbar
   768         TRAP_IGNORE(EnableFSToolbarL(EFalse));
   799         EnableFSToolbar(EFalse);
       
   800         
       
   801         //Setting Soft key to EmptySoftKeys would cause crash
       
   802 		//When Fullscreen is opened from ImageViewer. 
       
   803         //So Set Soft Keys to empty only when not in Image Viewer mode.
       
   804 		CEikButtonGroupContainer* cba = Cba();
       
   805 		TRAP_IGNORE( cba->SetCommandSetL( R_GLX_FULLSCREEN_EMPTYSOFTKEYS ) );
       
   806 		cba->DrawNow();
   769         }
   807         }
   770     
   808     
   771     HideUi(ETrue); 
   809     HideUi(ETrue); 
   772 	// In Order to hide the softkeys immediately. The above statement does not do that as soon as we need. 
   810 	// In Order to hide the softkeys immediately. The above statement does not do that as soon as we need. 
   773 	// So we do the below trick. The SK overlap is still there but much much less noticable. 
   811 	// So we do the below trick. The SK overlap is still there but much much less noticable. 
   897                 //EKeyApplicationC for which TStdScancode is EStdKeyApplicatoinC
   935                 //EKeyApplicationC for which TStdScancode is EStdKeyApplicatoinC
   898             case EStdKeyApplicationC: 
   936             case EStdKeyApplicationC: 
   899                 {
   937                 {
   900                 if(EEventKeyDown == aEvent.Code())
   938                 if(EEventKeyDown == aEvent.Code())
   901                     {
   939                     {
   902                     //Dont start the timer while activating the zoom control,
   940                     HideUi(EFalse);
   903                     //when the timer activates while launching the zoom 
       
   904                     //it causes the crash.
       
   905                     ShowUiL(EFalse);
       
   906                     TRAP_IGNORE( ActivateZoomControlL(EZoomStartKey));
   941                     TRAP_IGNORE( ActivateZoomControlL(EZoomStartKey));
   907                     return EEventConsumed;
   942                     return EEventConsumed;
   908                     }
   943                     }
   909                 }
   944                 }
   910             case EStdKeyUpArrow:            
   945             case EStdKeyUpArrow:            
   913             case EStdKeyDevice1:
   948             case EStdKeyDevice1:
   914                 //Listen EStdKeyApplicationC as EKeyZoomOut key is mapped to TKeyCode:: 
   949                 //Listen EStdKeyApplicationC as EKeyZoomOut key is mapped to TKeyCode:: 
   915                 //EKeyApplicationD for which TStdScancode is EStdKeyApplicatoinD 
   950                 //EKeyApplicationD for which TStdScancode is EStdKeyApplicatoinD 
   916             case EStdKeyApplicationD: 
   951             case EStdKeyApplicationD: 
   917                 {
   952                 {
   918                 if ( NGlxNFullScreenUIState::EUiOff == GetUiSate()&& (
   953                 if ( EUiOff == GetUiState()&& (
   919                         aEvent.Code() == EEventKey ) )
   954                         aEvent.Code() == EEventKey ) )
   920                     {
   955                     {
   921                     //the Ui timer should be started once the UI screen furniture is shown
   956                     //the Ui timer should be started once the UI screen furniture is shown
   922                     ShowUiL(ETrue);
   957                     ShowUiL(ETrue);
   923                     } 
   958                     } 
   924                 return EEventHandled;              
   959                 return EEventHandled;              
   925                 }
   960                 }
   926             case EStdKeyLeftArrow:
   961             case EStdKeyLeftArrow:
   927             case EStdKeyRightArrow:
   962             case EStdKeyRightArrow:
   928                 {
   963                 {
   929                 if ( NGlxNFullScreenUIState::EUiOn == GetUiSate() )                    
   964                 if ( EUiOn == GetUiState() )                    
   930                     {
   965                     {
   931                     HideUi(ETrue);
   966                     HideUi(ETrue);
   932                     }
   967                     }
   933                 return EEventHandled;
   968                 return EEventHandled;
   934                 }
   969                 }
   971             case ETypeSelect:
  1006             case ETypeSelect:
   972                 {
  1007                 {
   973                 TBool pensupport = iUiUtility->IsPenSupported();
  1008                 TBool pensupport = iUiUtility->IsPenSupported();
   974                 if ( pensupport )
  1009                 if ( pensupport )
   975                     {
  1010                     {
   976                     if ( NGlxNFullScreenUIState::EUiOn == GetUiSate() )                    
  1011                     if ( EUiOn == GetUiState() )                    
   977                         {
  1012                         {
   978                         //Hide the slider 
  1013                         //Hide the slider 
   979                         HideUi(ETrue);
  1014                         HideUi(ETrue);
   980                         }
  1015                         }
   981                     else 
  1016                     else 
   984                         ShowUiL(ETrue);
  1019                         ShowUiL(ETrue);
   985                         }
  1020                         }
   986                     }
  1021                     }
   987                 else
  1022                 else
   988                     {
  1023                     {
   989                     if ( NGlxNFullScreenUIState::EUiOff == GetUiSate() )                    
  1024                     if ( EUiOff == GetUiState() )                    
   990                         {
  1025                         {
   991                         //the Ui timer should be started once the UI screen furniture is shown
  1026                         //the Ui timer should be started once the UI screen furniture is shown
   992                         ShowUiL(ETrue);
  1027                         ShowUiL(ETrue);
   993                         }
  1028                         }
   994                     }
  1029                     }
  1025                 return EEventConsumed;
  1060                 return EEventConsumed;
  1026                 }
  1061                 }
  1027             case ETypeItemRemoved:
  1062             case ETypeItemRemoved:
  1028                 {
  1063                 {
  1029                 SetItemToHDMIL();
  1064                 SetItemToHDMIL();
       
  1065                 TInt focusIndex = iMediaList->FocusIndex();
       
  1066                 if (focusIndex != KErrNotFound
       
  1067                         && EUiOn == GetUiState()
       
  1068                         && iMediaList->Item(focusIndex).Category()
       
  1069                                 == EMPXVideo)
       
  1070                     {
       
  1071                     // hide the slider
       
  1072                     if (iSliderWidget)
       
  1073                         {
       
  1074                         iSliderWidget->ShowWidget(EFalse);
       
  1075                         }
       
  1076                     }
  1030                 return EEventConsumed;
  1077                 return EEventConsumed;
  1031                 }
  1078                 }
  1032             case ETypeHighlight:
  1079             case ETypeHighlight:
  1033                 {
  1080                 {
  1034                 iMediaList->SetFocusL( NGlxListDefs::EAbsolute,(aEvent.CustomEventData())); 
  1081                 iMediaList->SetFocusL( NGlxListDefs::EAbsolute,(aEvent.CustomEventData())); 
  1039                 if(iMediaList->Count()> KFullScreenTextureOffset)
  1086                 if(iMediaList->Count()> KFullScreenTextureOffset)
  1040                     {
  1087                     {
  1041                     RemoveTexture();
  1088                     RemoveTexture();
  1042                     }
  1089                     }
  1043                 SetItemToHDMIL();
  1090                 SetItemToHDMIL();
  1044                 if ( NGlxNFullScreenUIState::EUiOn == GetUiSate() )
  1091                 if ( EUiOn == GetUiState() )
  1045                     {
  1092                     {
  1046                     HideUi(ETrue);
  1093                     HideUi(ETrue);
  1047                     }
  1094                     }
  1048                 TRAP_IGNORE(ShowDrmExpiryNoteL());
  1095                 TRAP_IGNORE(ShowDrmExpiryNoteL());
  1049                 return EEventConsumed;
  1096                 return EEventConsumed;
  1055                     {                                 
  1102                     {                                 
  1056                     ProcessCommandL(EGlxCmdPlay);
  1103                     ProcessCommandL(EGlxCmdPlay);
  1057                     } 
  1104                     } 
  1058                 else
  1105                 else
  1059                     { 
  1106                     { 
  1060                     if ( NGlxNFullScreenUIState::EUiOn == GetUiSate() )                    
  1107                     if ( EUiOn == GetUiState() )                    
  1061                         {
  1108                         {
  1062                         HideUi(ETrue);
  1109                         HideUi(ETrue);
  1063                         }
  1110                         }
  1064                     else 
  1111                     else 
  1065                         {
  1112                         {
  1635     CleanupStack::PopAndDestroy(naviState);
  1682     CleanupStack::PopAndDestroy(naviState);
  1636     CleanupStack::PopAndDestroy(navigationalState);
  1683     CleanupStack::PopAndDestroy(navigationalState);
  1637     }
  1684     }
  1638 	
  1685 	
  1639 // ---------------------------------------------------------------------------
  1686 // ---------------------------------------------------------------------------
  1640 // HandleMMCInsertionL
  1687 // HandleMMCRemovalL
  1641 // 
  1688 // 
  1642 // ---------------------------------------------------------------------------
  1689 // ---------------------------------------------------------------------------
  1643 void CGlxFullScreenViewImp::HandleMMCRemovalL()
  1690 void CGlxFullScreenViewImp::HandleMMCRemovalL()
  1644     {
  1691     {
  1645     TRACER("CGlxFullScreenViewImp::HandleMMCRemovalL()");
  1692     TRACER("CGlxFullScreenViewImp::HandleMMCRemovalL()");
  1654         ProcessCommandL(EAknSoftkeyExit);
  1701         ProcessCommandL(EAknSoftkeyExit);
  1655         }
  1702         }
  1656     }
  1703     }
  1657 	
  1704 	
  1658 // ---------------------------------------------------------------------------
  1705 // ---------------------------------------------------------------------------
  1659 // EnableFSToolbarL
  1706 // EnableFSToolbar
  1660 // 
  1707 // ---------------------------------------------------------------------------
  1661 // ---------------------------------------------------------------------------
  1708 //
  1662 //
  1709 void CGlxFullScreenViewImp::EnableFSToolbar(TBool aEnable)
  1663 void CGlxFullScreenViewImp::EnableFSToolbarL(TBool aEnable)
  1710     {
  1664     {
  1711 	TRACER("CGlxFullScreenViewImp::EnableFSToolbar()");
  1665 	TRACER("CGlxFullScreenViewImp::EnableFSToolbarL()");
       
  1666     CAknToolbar* toolbar = Toolbar();
  1712     CAknToolbar* toolbar = Toolbar();
  1667     if(toolbar)
  1713     if(toolbar)
  1668         {
  1714         {
  1669         toolbar->DisableToolbarL(!aEnable);
  1715         TRAP_IGNORE(toolbar->DisableToolbarL(!aEnable));
  1670         toolbar->SetToolbarVisibility(aEnable); 
  1716         toolbar->SetToolbarVisibility(aEnable); 
  1671         }
  1717         }
  1672     }
  1718     }
  1673 	
  1719 	
       
  1720 // ---------------------------------------------------------------------------
       
  1721 // HandleEffectCallback
       
  1722 // 
       
  1723 // ---------------------------------------------------------------------------
       
  1724 //
       
  1725 void CGlxFullScreenViewImp::HandleEffectCallback(TInt aType, TInt aHandle, 
       
  1726                                                  TInt /*aStatus*/)
       
  1727     {
       
  1728     TRACER("CGlxFullScreenViewImp::HandleEffectCallback()");
       
  1729     if (aHandle == iEffectHandle && aType == EAlfEffectComplete)
       
  1730         {
       
  1731         TRAP_IGNORE(const_cast<CAlfLayout&>
       
  1732                 (iCoverFlowWidget->ContainerLayout()).SetEffectL(
       
  1733                                                      KTfxResourceNoEffect));
       
  1734         }
       
  1735     }