smbmusicapmainplayerimageview.cpp
来自「symbian」· C++ 代码 · 共 1,793 行 · 第 1/5 页
CPP
1,793 行
{
#ifdef __DEBUG_LOG_MAINPLAYER__
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerImageView | 43;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerImageView::DoViewActivatedImplL(%d) - KLaReturnClearUid or KLaReturnOnHookUid");
SmbMusicAPMainPlayerUtility::OutputLog(iAfEnv.Log(), logCode, ELogLevelNormal, KLogFmt, aCustomMessageId);
#endif
// 夋憸僨乕僞傪徚嫀偡傞
//ClearImage(ETrue);
return;
}
// 巕傾僾儕偑堎忢廔椆偟偨応崌
else if(KLaReturnErrUid == aCustomMessageId)
{
#ifdef __DEBUG_LOG_MAINPLAYER__
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerImageView | 44;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerImageView::DoViewActivatedImplL(%d) - KLaReturnErrUid");
SmbMusicAPMainPlayerUtility::OutputLog(iAfEnv.Log(), logCode, ELogLevelNormal, KLogFmt, aCustomMessageId);
#endif
// 夋憸僨乕僞傪徚嫀偡傞
//ClearImage(ETrue);
//2006.10.17 TRK#11591
if(aCustomMessage != (TDesC8)KNullDesC8)
{
// 僨乕僞BOX曐懚傾僾儕偺曉傝抣傪庢摼偡傞
const TSmbDbxFolderSelectReturnParam* param;
param = reinterpret_cast<const TSmbDbxFolderSelectReturnParam *>(aCustomMessage.Ptr());
switch(param->iError)
{
case ESmbDbxReturnErrResourceEmpty: /**< 儊儌儕傑偨偼儊儌儕埲奜偺儕僜乕僗偑晄懌乮審悢僼儖乯 */
{
iPlayerEnv.DialogManager().ShowWarningModelessDialogL(R_MUSIC_MAINPLAYER_IMAGE_ITEMCOUNTOVER_WARNING, this);
}
break;
case ESmbDbxReturnErrSizeOver: /**< 僨乕僞僒僀僘挻夁乮梕検僼儖乯 */
{
iPlayerEnv.DialogManager().ShowWarningModelessDialogL(R_MUSIC_MAINPLAYER_IMAGE_FILESIZEOVER_WARNING, this);
}
break;
default:
break;
}
}
return;
}
else
{
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerImageView | 45;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerImageView::DoViewActivatedImplL(%d) - Unknown Uid");
SmbMusicAPMainPlayerUtility::OutputLog(iAfEnv.Log(), logCode, ELogLevelHigh, KLogFmt, aCustomMessageId);
return;
}
//2006.10.15 TRK#11574
// 僉乕僈僀僟儞僗偺乽曐懚乿僉乕傪昞帵偝偣側偄(僨僼僅儖僩)
CSkonKeyGuidance* keyGuidance = static_cast<CSkonKeyGuidance*>(KeyGuidance());
// CSkonKeyGuidance* keyGuidance = STATIC_CAST(CSkonKeyGuidance*, KeyGuidance());
if(NULL!=keyGuidance)
{
keyGuidance->MakeVisibleKey(ESkonKeyGuidanceSoftKeyRight, EFalse);
if(EFalse!=IsFocused())
{
keyGuidance->DrawNow();
}
}
// Change-S PTX-824(UIQ-1287) 暯壀
// 夋憸忣曬傪庢摼偡傞
HandleCommandL(EImageCmdShowFirstImage);
// if (ESmbMusicAPMainPlayerImageKindJacket == iStartParam.kind)
// {
// HandleCommandL(EImageCmdShowJacketFirstImage);
// }
// else
// {
// HandleCommandL(EImageCmdShowLyricFirstImage);
// }
// Change-E PTX-824(UIQ-1287) 暯壀
// 夋柺昞帵偡傞
DrawNow(); // <--@@@@@傛傠偟偔側偄
// 僒僽僾儗僀儎偵夋柺曄峏捠抦偡傞
if (EFalse == iPlayerEnv.IsCaseClosedL())
{
//僒僽僾儗僀儎乕偵夋憸昞帵夋柺偵慗堏偟偨偙偲傪捠抦偡傞
TSmbMusicAPSyncEngineAppSyncInfo info;
if(ESmbMusicAPMainPlayerImageKindJacket==iStartParam.kind)
{
info.iParam1 = ESmbMusicAPPlayerChangeJacketImageViewEvent; //暿夋柺偐傜僕儍働僢僩夋憸昞帵夋柺偵慗堏偟偨
}
else
{
info.iParam1 = ESmbMusicAPPlayerChangeLyricImageViewEvent; //暿夋柺偐傜壧帉夋憸昞帵夋柺偵慗堏偟偨
}
iSyncModel->UpdateDisplayInfo(info);
}
}
/**
* 僉乕僀儀儞僩張棟
*
* @param[in] aKeyEvent 僉乕僀儀儞僩
* @param[in] aType 僀儀儞僩僞僀僾
* @return 僉乕儗僗億儞僗
*/
TKeyResponse CSmbMusicAPMainPlayerImageView::OfferKeyEventImplL(const TKeyEvent& aKeyEvent, TEventCode aType)
{
#ifdef __DEBUG_LOG_MAINPLAYER__
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerImageView | 50;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerImageView::OfferKeyEventImplL(%d, %d)");
SmbMusicAPMainPlayerUtility::OutputLog(iAfEnv.Log(), logCode, ELogLevelNormal, KLogFmt, aKeyEvent.iCode, aType);
#endif
// 僋儕傾僉乕偱慜夋柺偵傕偳傞
// if (EWcdmaMpKeyClear==aKeyEvent.iCode)
// {
// ClearImage(ETrue);
// iPlayerEnv.BasisPartFuncInterface().ChangeViewL((TSmbMusicAPMainPlayerViewIds)iStartParam.vparam.iViewId.iViewUid.iUid, KSmbMusicAPMainPlayerChangeViewMsgUid, KNullDesC8);
// return EKeyWasConsumed;
// }
//2006.10.06
if(EEventKey!=aType)
{
return EKeyWasConsumed;
}
switch(aKeyEvent.iCode)
{
case EWcdmaMpKeyClear: // 僋儕傾僉乕
{
HandleCommandL(EMainPlayerFilterViewKGCmdClear);
}
return EKeyWasConsumed;
case EWcdmaMpKeyLeft: // 嵍栴報僉乕
{
HandleCommandL(EImageCmdShowPrevImage);
}
return EKeyWasConsumed;
case EWcdmaMpKeyRight: // 塃栴報僉乕
{
HandleCommandL(EImageCmdShowNextImage);
}
return EKeyWasConsumed;
}
return CAfView::OfferKeyEventL(aKeyEvent, aType);
}
/**
* 僐儅儞僪張棟
*
* @param[in] aCommandId 僐儅儞僪俬俢
* @return 張棟寢壥
*/
MSmbAfCommandBase::TSmbAfCmdIdResponse CSmbMusicAPMainPlayerImageView::HandleCommandL(TInt aCommandId)
{
#ifdef __DEBUG_LOG_MAINPLAYER__
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerImageView | 60;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerImageView::HandleCommandL(%d)");
SmbMusicAPMainPlayerUtility::OutputLog(iAfEnv.Log(), logCode, ELogLevelNormal, KLogFmt, aCommandId);
#endif
MSmbAfCommandBase::TSmbAfCmdIdResponse ret = MSmbAfCommandBase::ESmbAfCmdIdWasNotConsumed;
switch(aCommandId)
{
case EMainPlayerFilterViewKGCmdClear:
// 慜夋柺偵栠傞
ClearImage(ETrue);
iPlayerEnv.BasisPartFuncInterface().ChangeViewL((TSmbMusicAPMainPlayerViewIds)iStartParam.vparam.iViewId.iViewUid.iUid, KSmbMusicAPMainPlayerChangeViewMsgUid, KNullDesC8);
ret = MSmbAfCommandBase::ESmbAfCmdIdWasConsumed;
break;
case EImageCmdConfirmSaveImage:
HandleSaveImageFileL(ETrue);
ret = MSmbAfCommandBase::ESmbAfCmdIdWasConsumed;
break;
case EImageCmdSaveImage:
HandleSaveImageFileL(EFalse);
ret = MSmbAfCommandBase::ESmbAfCmdIdWasConsumed;
break;
case EImageCmdShowFirstImage:
iIndex = 0;
HandleGetImageFile(ETrue);
ret = MSmbAfCommandBase::ESmbAfCmdIdWasConsumed;
break;
case EImageCmdShowNextImage:
if(EFalse == iImageRequest)
{
if(iTotalCount-1>iIndex)
{
iIndex++;
ClearImage(EFalse);
HandleGetImageFile(ETrue);
iImageRequest = ETrue;
}
else // TRK9482懳墳丗夋憸偑2枃埲忋桳傞応崌丄嵟廔夋憸仺1枃栚傊僗僋儘乕儖
{
if(iTotalCount >= 2)
{
//2006.10.20 TRK#11919
iAppUi->KeyCyclicSoundL();
iIndex = 0; // 夋憸偑2枃埲忋桳傞応崌丄1枃栚(index=0)傊僗僋儘乕儖
ClearImage(EFalse);
HandleGetImageFile(ETrue);
iImageRequest = ETrue;
}
}
}
ret = MSmbAfCommandBase::ESmbAfCmdIdWasConsumed;
break;
case EImageCmdShowPrevImage:
if(EFalse == iImageRequest)
{
if(0<iIndex)
{
iIndex--;
ClearImage(EFalse);
HandleGetImageFile(ETrue);
iImageRequest = ETrue;
}
else // TRK9482懳墳丗夋憸偑2枃埲忋桳傞応崌丄1枃栚仺嵟廔夋柺傊僗僋儘乕儖
{
if(iTotalCount >= 2)
{
//2006.10.20 TRK#11919
iAppUi->KeyCyclicSoundL();
iIndex = iTotalCount-1; // 夋憸偑2枃埲忋桳傞応崌丄嵟廔夋柺(iTotalCount-1)傊僗僋儘乕儖
ClearImage(EFalse);
HandleGetImageFile(ETrue);
iImageRequest = ETrue;
}
}
ret = MSmbAfCommandBase::ESmbAfCmdIdWasConsumed;
}
break;
default:
__ASSERT_DEBUG(EFalse, PANIC(9300001));
break;
}
return ret;
}
/**
* 僐儅儞僪張棟(MEikCommandObserver)
*
* @param[in] aCommandId 僐儅儞僪俬俢
* @return 側偟
*/
void CSmbMusicAPMainPlayerImageView::ProcessCommandL(TInt aCommandId)
{
#ifdef __DEBUG_LOG_MAINPLAYER__
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerImageView | 70;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerImageView::ProcessCommandL(%d)");
SmbMusicAPMainPlayerUtility::OutputLog(iAfEnv.Log(), logCode, ELogLevelNormal, KLogFmt, aCommandId);
#endif
}
/**
* 僟僀傾儘僌僋儘乕僘偺捠抦丅
*
* @param[in] aResourceId 僋儘乕僘偝傟偨僟僀傾儘僌偺儕僜乕僗ID
* @param[in] aResult 僋儘乕僘偝傟偨棟桼
*/
void CSmbMusicAPMainPlayerImageView::HandleDialogClosed(TInt aResourceId, TInt aResult)
{
#ifdef __DEBUG_LOG_MAINPLAYER__
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerImageView | 80;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerImageView::HandleDialogClosed(%d, %d)");
SmbMusicAPMainPlayerUtility::OutputLog(iAfEnv.Log(), logCode, ELogLevelNormal, KLogFmt, aResourceId, aResult);
#endif
switch(aResourceId)
{
case R_MUSIC_MAINPLAYER_IMAGE_SELECTION:
case R_MUSIC_MAINPLAYER_JACKET_IMAGE_SELECTION:
case R_MUSIC_MAINPLAYER_RYLIC_IMAGE_SELECTION:
{
if (MSmbMusicAPMainPlayerDialogManagerBase::ESelectKey == aResult) //乽偼偄乿偑慖戰偝傟偨
{
// 夋憸曐懚偡傞
HandleCommandL(EImageCmdSaveImage);
}
else
{
// 側偵傕張棟偟側偄
}
}
break;
//2006.10.16 TRK#11474
case R_DL_MUSIC_MAIN_FLT_OPERATION_LOADING_PROGRESS:
{
if (MSmbMusicAPMainPlayerDialogManagerBase::EClearKey == aResult)
{
HandleCommandL(EMainPlayerFilterViewKGCmdClear);
}
}
break;
case R_MUSIC_MAINPLAYER_IMAGE_CONFIRM:
break;
case R_MUSIC_MAINPLAYER_IMAGE_ITEMCOUNTOVER_WARNING:
case R_MUSIC_MAINPLAYER_IMAGE_FILESIZEOVER_WARNING:
break;
}
}
/**
* 夋憸昞帵
*
* @param[in] aBitmap 夋憸
* @param[in] aMaskBitmap 儅僗僋夋憸
* @param[in] aTotalCount 夋憸悢
* @param[in] aIndex 夋憸僀儞僨僢僋僗斣崋
* @param[in] aSave 曐懚壜斲
* @return 側偟
*/
void CSmbMusicAPMainPlayerImageView::ShowImageL(CFbsBitmap* aBitmap, CFbsBitmap* aMaskBitmap, TInt aTotalCount, TInt aIndex, TBool aSave)
{
#ifdef __DEBUG_LOG_MAINPLAYER__
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerImageView | 90;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerImageView::ShowImageL(%d, %d, %d)");
SmbMusicAPMainPlayerUtility::OutputLog(iAfEnv.Log(), logCode, ELogLevelNormal, KLogFmt, aTotalCount, aIndex, aSave);
#endif
iImageRequest = EFalse;
//2006.10.16 TRK#11474
ResetLoadingTimer();
if(KErrNone==iImageErr && 0<aTotalCount)
{
// 慜夞嶌惉偟偨僀儊乕僕儔儀儖偑巆偭偰偄傟偽徚嫀偡傞
if(NULL!=iImageLabel)
{
DeleteControl(iImageLabel);
}
iImageLabel = NULL;
// 僀儊乕僕儔儀儖傪嶌惉偡傞
CSkonImageLabel* imageLabel = new(ELeave) CSkonImageLabel;
CleanupStack::PushL(imageLabel);
// 僀儊乕僕儔儀儖偵價儏乕傪愝掕偡傞
imageLabel->SetContainerWindowL(*this);
imageLabel->ConstructL(ETrue);
//ADD-S TRK7502 2006/09/26 kobayashi
// 夋憸傪愝掕偡傞
if (aBitmap != NULL)
{
imageLabel->SetPicture(aBitmap, aMaskBitmap);
// imageLabel 偵價僢僩儅僢僾偺強桳尃傪堏忳偟偨偺偱 iBitmap 傪僋儕傾偟偰偍偔
iBitmap->iMainBitmap = NULL;
iBitmap->iMaskedBitmap = NULL;
delete iBitmap;
iBitmap = NULL;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?