equal
deleted
inserted
replaced
9 * Initial Contributors: |
9 * Initial Contributors: |
10 * Nokia Corporation - initial contribution. |
10 * Nokia Corporation - initial contribution. |
11 * |
11 * |
12 * Contributors: |
12 * Contributors: |
13 * |
13 * |
14 * Description: Implementation of fULL-SCREEN view |
14 * Description: Implementation of FULL-SCREEN view |
15 * |
15 * |
16 */ |
16 */ |
17 |
17 |
18 |
18 |
19 |
19 |
354 |
354 |
355 //Create hdmicontroller when it is only launched from fullscreen. |
355 //Create hdmicontroller when it is only launched from fullscreen. |
356 //From filemanager show only clone mode. |
356 //From filemanager show only clone mode. |
357 if( !iImgViewerMode ) |
357 if( !iImgViewerMode ) |
358 { |
358 { |
359 iHdmiController = CGlxHdmiController::NewL(); |
359 iHdmiController = CGlxHdmiController::NewL(*this); |
360 SetItemToHDMIL(); |
360 SetItemToHDMIL(); |
361 } |
361 } |
362 iScreenFurniture->SetActiveView(iViewUid); |
362 iScreenFurniture->SetActiveView(iViewUid); |
363 |
363 |
364 //set the ui state to off,when the Fullscreen launches |
364 //set the ui state to off,when the Fullscreen launches |
755 { |
755 { |
756 iZoomControl->ActivateL(GetInitialZoomLevel(),aStartMode, focus, |
756 iZoomControl->ActivateL(GetInitialZoomLevel(),aStartMode, focus, |
757 item, apZoomFocus,iImgViewerMode); |
757 item, apZoomFocus,iImgViewerMode); |
758 } |
758 } |
759 // Now to remove all textures other than the one we are focussing on. |
759 // Now to remove all textures other than the one we are focussing on. |
|
760 TInt frameCount = KErrNone; |
|
761 item.GetFrameCount(frameCount); |
|
762 // If .gif file, then only call stopanimation |
|
763 if (frameCount > 1) |
|
764 { |
|
765 iUiUtility->GlxTextureManager().AnimateMediaItem( |
|
766 item.Id(), EFalse); |
|
767 } |
760 TInt count = iMediaList->Count(); |
768 TInt count = iMediaList->Count(); |
761 while (count > 0) |
769 while (count > 0) |
762 { |
770 { |
763 TGlxMedia mediaItem = iMediaList->Item(count-1); |
771 TGlxMedia mediaItem = iMediaList->Item(count-1); |
764 if (mediaItem.Id() != item.Id() ) |
772 if (mediaItem.Id() != item.Id() ) |
792 } |
800 } |
793 if(iZoomControl->Activated()) |
801 if(iZoomControl->Activated()) |
794 { |
802 { |
795 iZoomControl->Deactivate(); |
803 iZoomControl->Deactivate(); |
796 } |
804 } |
797 |
805 if (iMediaList->FocusIndex() != KErrNotFound) |
|
806 { |
|
807 TGlxMedia item = iMediaList->Item(iMediaList->FocusIndex()); |
|
808 TInt frameCount = KErrNone; |
|
809 item.GetFrameCount(frameCount); |
|
810 // If .gif file, then only call start animation |
|
811 if (frameCount > 1) |
|
812 { |
|
813 iUiUtility->GlxTextureManager().AnimateMediaItem( |
|
814 item.Id(), ETrue); |
|
815 } |
|
816 } |
798 //check if the slider is already visible in zoom view. |
817 //check if the slider is already visible in zoom view. |
799 //if yes then do not disable the slider. |
818 //if yes then do not disable the slider. |
800 TBool sliderInvisible = ETrue; |
819 TBool sliderInvisible = ETrue; |
801 if (EUiOn == iZoomControl->ZoomUiState()) |
820 if (EUiOn == iZoomControl->ZoomUiState()) |
802 { |
821 { |
911 { |
930 { |
912 if(iHdmiController) |
931 if(iHdmiController) |
913 { |
932 { |
914 iHdmiController->ShiftToCloningMode(); |
933 iHdmiController->ShiftToCloningMode(); |
915 } |
934 } |
916 iUiUtility->GlxTextureManager().FlushTextures(); |
935 iUiUtility->GlxTextureManager().FlushTextures(); |
917 } |
936 } |
918 else |
937 else |
919 { |
938 { |
920 if (iMediaList && iMediaList->Count() && iMediaListMulModelProvider) |
939 if (iMediaList) |
921 { |
940 { |
922 TInt focusIndex = iMediaList->FocusIndex(); |
941 /** if there is no image to show go back to the previous view */ |
923 iMediaListMulModelProvider->UpdateItems(focusIndex, 1); |
942 if (!iMediaList->Count()) |
924 |
943 { |
925 if(iHdmiController) |
944 iUiUtility->SetViewNavigationDirection(EGlxNavigationBackwards); |
926 { |
945 CGlxNavigationalState* navigationalState = |
927 iHdmiController->ShiftToPostingMode(); |
946 CGlxNavigationalState::InstanceL(); |
|
947 CleanupClosePushL(*navigationalState); |
|
948 navigationalState ->ActivatePreviousViewL(); |
|
949 CleanupStack::PopAndDestroy(navigationalState); |
|
950 } |
|
951 else if (iMediaListMulModelProvider) |
|
952 { |
|
953 TInt focusIndex = iMediaList->FocusIndex(); |
|
954 iMediaListMulModelProvider->UpdateItems(focusIndex, 1); |
|
955 |
|
956 if (iHdmiController) |
|
957 { |
|
958 iHdmiController->ShiftToPostingMode(); |
|
959 } |
928 } |
960 } |
929 } |
961 } |
930 } |
962 } |
931 } |
963 } |
932 |
964 |
1110 if (iSliderWidget) |
1142 if (iSliderWidget) |
1111 { |
1143 { |
1112 iSliderWidget->ShowWidget(CheckIfSliderToBeShownL()); |
1144 iSliderWidget->ShowWidget(CheckIfSliderToBeShownL()); |
1113 } |
1145 } |
1114 } |
1146 } |
|
1147 /** if this is the last image deleted when Photo is in foreground, go back to the previous view*/ |
|
1148 if (!iMediaList->Count() && IsForeground()) |
|
1149 { |
|
1150 iUiUtility->SetViewNavigationDirection( |
|
1151 EGlxNavigationBackwards); |
|
1152 CGlxNavigationalState* navigationalState = |
|
1153 CGlxNavigationalState::InstanceL(); |
|
1154 CleanupClosePushL(*navigationalState); |
|
1155 navigationalState ->ActivatePreviousViewL(); |
|
1156 CleanupStack::PopAndDestroy(navigationalState); |
|
1157 } |
1115 return EEventConsumed; |
1158 return EEventConsumed; |
1116 } |
1159 } |
1117 case ETypeHighlight: |
1160 case ETypeHighlight: |
1118 { |
1161 { |
1119 iMediaList->SetFocusL( NGlxListDefs::EAbsolute,(aEvent.CustomEventData())); |
1162 iMediaList->SetFocusL( NGlxListDefs::EAbsolute,(aEvent.CustomEventData())); |
1674 CleanupStack::PushL(fsBitmap); |
1717 CleanupStack::PushL(fsBitmap); |
1675 fsBitmap->Duplicate( fsValue->iBitmap->Handle()); |
1718 fsBitmap->Duplicate( fsValue->iBitmap->Handle()); |
1676 |
1719 |
1677 GLX_LOG_INFO2("CGlxFullScreenViewImp::SetImageToHDMIL - CGlxHdmi - FS Bitmap Size width=%d, height=%d", |
1720 GLX_LOG_INFO2("CGlxFullScreenViewImp::SetImageToHDMIL - CGlxHdmi - FS Bitmap Size width=%d, height=%d", |
1678 fsBitmap->SizeInPixels().iWidth, fsBitmap->SizeInPixels().iHeight); |
1721 fsBitmap->SizeInPixels().iWidth, fsBitmap->SizeInPixels().iHeight); |
1679 iHdmiController->SetImageL(item.Uri(),fsBitmap); |
1722 iHdmiController->SetImageL(item.Uri(), KNullDesC, fsBitmap); |
1680 CleanupStack::PopAndDestroy(fsBitmap); |
1723 CleanupStack::PopAndDestroy(fsBitmap); |
1681 } |
1724 } |
1682 else |
1725 else |
1683 { |
1726 { |
1684 GLX_LOG_INFO("CGlxFullScreenViewImp::SetImageToHDMIL - CGlxHdmi - Fetch Grid thumbnail"); |
1727 GLX_LOG_INFO("CGlxFullScreenViewImp::SetImageToHDMIL - CGlxHdmi - Fetch Grid thumbnail"); |
1695 CleanupStack::PushL(gridBitmap); |
1738 CleanupStack::PushL(gridBitmap); |
1696 gridBitmap->Duplicate( gridvalue->iBitmap->Handle()); |
1739 gridBitmap->Duplicate( gridvalue->iBitmap->Handle()); |
1697 |
1740 |
1698 GLX_LOG_INFO2("CGlxFullScreenViewImp::SetImageToHDMIL - CGlxHdmi - gridBitmap Size width=%d, height=%d", |
1741 GLX_LOG_INFO2("CGlxFullScreenViewImp::SetImageToHDMIL - CGlxHdmi - gridBitmap Size width=%d, height=%d", |
1699 gridBitmap->SizeInPixels().iWidth, gridBitmap->SizeInPixels().iHeight); |
1742 gridBitmap->SizeInPixels().iWidth, gridBitmap->SizeInPixels().iHeight); |
1700 iHdmiController->SetImageL(item.Uri(),gridBitmap); |
1743 iHdmiController->SetImageL(item.Uri(), KNullDesC, gridBitmap); |
1701 CleanupStack::PopAndDestroy(gridBitmap); |
1744 CleanupStack::PopAndDestroy(gridBitmap); |
1702 } |
1745 } |
1703 else |
1746 else |
1704 { |
1747 { |
1705 GLX_LOG_INFO("CGlxFullScreenViewImp::SetImageToHDMIL - CGlxHdmi - Setting Default Bitmap"); |
1748 GLX_LOG_INFO("CGlxFullScreenViewImp::SetImageToHDMIL - CGlxHdmi - Setting Default Bitmap"); |
1712 // always need to setsize on the raw bitmap for it to be visible |
1755 // always need to setsize on the raw bitmap for it to be visible |
1713 AknIconUtils::SetSize(defaultBitmap, TSize(iHdmiWidth,iHdmiHeight),EAspectRatioPreserved); |
1756 AknIconUtils::SetSize(defaultBitmap, TSize(iHdmiWidth,iHdmiHeight),EAspectRatioPreserved); |
1714 |
1757 |
1715 GLX_LOG_INFO2("CGlxFullScreenViewImp::SetImageToHDMIL - CGlxHdmi - Default Size width=%d, height=%d", |
1758 GLX_LOG_INFO2("CGlxFullScreenViewImp::SetImageToHDMIL - CGlxHdmi - Default Size width=%d, height=%d", |
1716 defaultBitmap->SizeInPixels().iWidth, defaultBitmap->SizeInPixels().iHeight); |
1759 defaultBitmap->SizeInPixels().iWidth, defaultBitmap->SizeInPixels().iHeight); |
1717 iHdmiController->SetImageL(item.Uri(),defaultBitmap); |
1760 iHdmiController->SetImageL(item.Uri(), KNullDesC, defaultBitmap); |
1718 CleanupStack::PopAndDestroy(defaultBitmap); |
1761 CleanupStack::PopAndDestroy(defaultBitmap); |
1719 } |
1762 } |
1720 } |
1763 } |
1721 } |
1764 } |
1722 else |
1765 else |
1805 // |
1848 // |
1806 void CGlxFullScreenViewImp::HandleEffectCallback(TInt aType, TInt aHandle, |
1849 void CGlxFullScreenViewImp::HandleEffectCallback(TInt aType, TInt aHandle, |
1807 TInt /*aStatus*/) |
1850 TInt /*aStatus*/) |
1808 { |
1851 { |
1809 TRACER("CGlxFullScreenViewImp::HandleEffectCallback()"); |
1852 TRACER("CGlxFullScreenViewImp::HandleEffectCallback()"); |
1810 if (aHandle == iEffectHandle && aType == EAlfEffectComplete) |
1853 if (aHandle == iEffectHandle && aType == EAlfEffectComplete |
|
1854 && iCoverFlowWidget) |
1811 { |
1855 { |
1812 TRAP_IGNORE(const_cast<CAlfLayout&> |
1856 TRAP_IGNORE(const_cast<CAlfLayout&> |
1813 (iCoverFlowWidget->ContainerLayout()).SetEffectL( |
1857 (iCoverFlowWidget->ContainerLayout()).SetEffectL( |
1814 KTfxResourceNoEffect)); |
1858 KTfxResourceNoEffect)); |
1815 } |
1859 } |
1816 } |
1860 } |
1817 |
1861 |
1818 // ----------------------------------------------------------------------------- |
1862 // ----------------------------------------------------------------------------- |
1819 // CreateImageViewerInstanceL |
1863 // CreateImageViewerInstanceL |
1893 { |
1937 { |
1894 return ETrue; |
1938 return ETrue; |
1895 } |
1939 } |
1896 return EFalse; |
1940 return EFalse; |
1897 } |
1941 } |
|
1942 |
|
1943 //--------------------------------------------------------------------------- |
|
1944 // HandleHDMIDecodingEventL |
|
1945 //--------------------------------------------------------------------------- |
|
1946 void CGlxFullScreenViewImp::HandleHDMIDecodingEventL( |
|
1947 THdmiDecodingStatus /*aStatus*/) |
|
1948 { |
|
1949 TRACER("CGlxFullScreenViewImp::HandleHDMIDecodingEventL()"); |
|
1950 } |