⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 smbmusicapfilemgrimagecmd.cpp

📁 索爱手机代码
💻 CPP
📖 第 1 页 / 共 3 页
字号:
		break;
//ADD-END PTX824
	default:
		break;
		}
	}


/**
 * @param[in]		aMusicItem	儈儏乕僕僢僋傾僀僥儉
 * @param[in]		aImageType	夋憸庬暿
 */
void CSmbMusicAPFileMgrImageCmd::SetMusicItem(CSmbMusicAPFileSystemComMusicItem* aMusicItem, TSmbMusicAPLibImageType aImageType)
	{
	iMusicItem = aMusicItem;
	iImageType = aImageType;
	}


/**
 * @param[in]		aViewType			價儏乕庬暿
 */
void CSmbMusicAPFileMgrImageCmd::HandleChangeLocalView(TSmbMusicAPFileMgrViewType aViewType)
	{
	// 僨乕僞傪徚嫀偡傞
	static_cast<CSmbMusicAPFileMgrImageView&>(iView).ClearImage();
	Reset();
	// 僟僀傾儘僌儃僢僋僗傪嶍彍偡傞
	iView.CloseAndDeleteDialog();
	
	CSmbMusicAPFileMgrCmdBase::HandleChangeLocalView(aViewType);
	}


/**
 * @param[in]		aType				昞帵懳徾偺夋憸 (1枃栚/師/慜)
 */
void CSmbMusicAPFileMgrImageCmd::HandleShowImageL(TType aType)
	{
	switch (aType)
		{
	case EFirstImage:		// 1枃栚偺夋憸偺昞帵
		iIndex = 0;
		break;
	case ENextImage:		// 師偺夋憸偺昞帵
		iIndex++;
//TRK11229 10/9 start
		if (iIndex >= iTotalCount)	// 僒僀僋儕僢僋偺応崌
			{
			iIndex = 0;
			iAppUi.KeyCyclicSoundL();	// 僒僀僋儕僢僋壒柭摦
			}
//TRK11229 10/9 end
		static_cast<CSmbMusicAPFileMgrImageView&>(iView).ClearImage();
		static_cast<CSmbMusicAPFileMgrImageView&>(iView).ShowImageCount(iTotalCount, iIndex);
		break;
	case EPrevImage:		// 慜偺夋憸偺昞帵
		iIndex--;
//TRK11229 10/9 start
		if (iIndex < 0)
			{
			iIndex = iTotalCount - 1;
			iAppUi.KeyCyclicSoundL();	// 僒僀僋儕僢僋壒柭摦
			}
//TRK11229 10/9 end
		static_cast<CSmbMusicAPFileMgrImageView&>(iView).ClearImage();
		static_cast<CSmbMusicAPFileMgrImageView&>(iView).ShowImageCount(iTotalCount, iIndex);
		break;
	default:
		__ASSERT_DEBUG(ETrue, PANIC(KErrArgument));
		break;
		}

//TRK9260 10/12 start
	iView.ShowProgressDialogL(R_PROGRESS_DIALOG_MP04P028, EFalse);	// 恑捇僟僀傾儘僌(揥奐拞)
//TRK9260 10/12 end
	HandleGetImageFileL();
	}


/**
 * 庡偵埲壓偺張棟傪峴偆丏
 *   -# 夋憸忣曬(CSmbMusicAPFileMgrImageCmd::iImageInfo)傪庢摼偡傞丏(CSmbMusicAPFileMgrActionController::RequestImageInfo())
 *   -# 夋憸忣曬傪梡偄偰昞帵懳徾偺夋憸僼傽僀儖傪庢摼偡傞丏(CSmbMusicAPFileMgrActionController::RequestImageFile())
 *
 * @see NotifyRequestImageInfoCompleteL(), NotifyRequestImageFileCompleteL()
 */
void CSmbMusicAPFileMgrImageCmd::HandleGetImageFileL(void)
	{
	OUTPUT_FUNC;
	// ImageInfo偑枹庢摼偱偁傞応崌
	if (!iHasImageInfo)
		{
//MOD-START PTX824
//		TInt result = iController.RequestImageInfo(*iMusicItem, iImageInfo);
		TInt result = iController.RequestImageTypeInfo(*iMusicItem, iImageType, iImageTypeInfo);
//MOD-START PTX824
		if (result == KErrNone)
			{
			OUTPUT_LOG_MUST("CSmbMusicAPFileMgrActionController::RequestImageInfo()");
			}
		else
			{
			OUTPUT_LOG1_ERROR("CSmbMusicAPFileMgrActionController::RequestImageInfo(): %d", result);
			// 夋憸忣曬庢摼偵幐攕偟偨偨傔丆夋憸枃悢偵0傪巜掕偡傞丏
			static_cast<CSmbMusicAPFileMgrImageView&>(iView).ShowImageL(NULL, NULL, 0, 0, EFalse);		
			}
		}
	// ImageInfo偑庢摼嵪傒偱偁傞応崌
	else
		{
		// ImageInfo偐傜夋憸偺僼傽僀儖柤丒憤枃悢丒曐懚壜斲傪庢摼偡傞
		TSmbMusicAPLibImageIndividualInfo imageIndividualInfo;
		switch (iImageType)
			{
		case ESmbMusicAPLibImageTypeJacket:
//MOD-START PTX824
//			iTotalCount = iImageInfo.iImageJacketInfo.Count();
			iTotalCount = iImageTypeInfo.iImageInfo.Count();
//MOD-END PTX824
//MOD-START PTX824
			//WMA僕儍働僢僩夋憸偺応崌乮嵟戝2枃乯
			if(ETypeSdWMAJacketImage == iView.ViewType())
				{
				// 庢摼偟偨WMA憤枃悢(iTotalCount)偑巇條挻夁偺応崌丆巇條斖埻撪偵娵傔崬傓
				if (iTotalCount > KSmbMusicAPFileMgrMaxNumOfWMAJacketImages)
					{
					iTotalCount = KSmbMusicAPFileMgrMaxNumOfWMAJacketImages;
					}
				}
			//忋婰埲奜偺応崌乮嵟戝3枃乯
			else
				{
				// 庢摼偟偨憤枃悢(iTotalCount)偑巇條挻夁偺応崌丆巇條斖埻撪偵娵傔崬傓
				if (iTotalCount > KSmbMusicAPFileMgrMaxNumOfJacketImages)
					{
					iTotalCount = KSmbMusicAPFileMgrMaxNumOfJacketImages;
					}
				}
//MOD-END PTX824			
			// 夋憸偑娷傑傟偰偄傞応崌丆屄暿忣曬(iImageJacketInfo)傪庢摼偡傞
			if (iTotalCount > 0)
				{
//MOD-START PTX824
//				imageIndividualInfo = iImageInfo.iImageJacketInfo[iIndex];
				imageIndividualInfo = iImageTypeInfo.iImageInfo[iIndex];
//MOD-END PTX824
				}
			break;
		case ESmbMusicAPLibImageTypeLyric:
//MOD-START PTX824
//			iTotalCount = iImageInfo.iImageLyricInfo.Count();
			iTotalCount = iImageTypeInfo.iImageInfo.Count();
//MOD-END PTX824
			// 庢摼偟偨憤枃悢(iTotalCount)偑巇條挻夁偺応崌丆巇條斖埻撪偵娵傔崬傓
			if (iTotalCount > KSmbMusicAPFileMgrMaxNumOfLyricsImages)
				{
				iTotalCount = KSmbMusicAPFileMgrMaxNumOfLyricsImages;
				}
			// 夋憸偑娷傑傟偰偄傞応崌丆屄暿忣曬(iImageJacketInfo)傪庢摼偡傞
			if (iTotalCount > 0)
				{
//MOD-START PTX824
//				imageIndividualInfo = iImageInfo.iImageLyricInfo[iIndex];
				imageIndividualInfo = iImageTypeInfo.iImageInfo[iIndex];
//MOD-END PTX824
				}
			break;
		default:
			__ASSERT_DEBUG(EFalse, PANIC(KErrArgument));
			break;
			}

		// 夋憸偑娷傑傟偰偄側偄応崌丆戙懼夋憸傪昞帵偡傞丏
		if (iTotalCount == 0)
			{
			static_cast<CSmbMusicAPFileMgrImageView&>(iView).ShowImageL(NULL, NULL, 0, 0, EFalse);		
			return;
			}			

		// 嬋僼傽僀儖僼僅乕儅僢僩暿偵曐懚壜斲僼儔僌傪愝掕偡傞
		TSmbMusicMWLibFileFormat fileFormat;
		TInt result = iMusicItem->GetFomat(fileFormat);
		if (result == KErrNone)
			{
			switch (fileFormat)
				{
			case ESmbMusicMWLibFileFormatiMotionEx:	// 僼儖妝嬋
				iStoreFlag = imageIndividualInfo.iStoreFlag;	// 夋憸忣曬偵娷傑傟傞曐懚壜斲僼儔僌傪愝掕偡傞
				break;
			default:								// 僼儖妝嬋埲奜 (M.S.僆乕僨傿僆/MP3/3GPP)
				iStoreFlag = EFalse;							// 曐懚晄壜
				break;
				}
			}
		else	// 嬋僼傽僀儖僼僅乕儅僢僩庢摼幐攕
			{
			iStoreFlag = EFalse;								// 曐懚晄壜
			}				

		// 埲慜偺夋憸僼傽僀儖傪嶍彍偡傞
		DeleteImageFile();

		// 夋憸僼傽僀儖傪梫媮偡傞(旕摨婜)
		result = iController.RequestImageFile(*iMusicItem, iImageType, iIndex + 1, KImageFileName);		// 夋憸斣崋偼1乣
		if (result == KErrNone)
			{
//TRK9260 10/12 start
//			iView.DisableKeyEvent();					// 僉乕僀儀儞僩傪梷惂偡傞
//TRK9260 10/12 end
			OUTPUT_LOG3_MUST("CSmbMusicAPFileMgrActionController::RequestImageFile(): %d (iImageType: %d, iIndex: %d)",
			                 result, iImageType, iIndex);
			}
		else
			{
			OUTPUT_LOG3_ERROR("CSmbMusicAPFileMgrActionController::RequestImageFile(): %d (iImageType: %d, iIndex: %d)",
			                 result, iImageType, iIndex);

			// 夋憸僼傽僀儖庢摼偵幐攕偟偨偨傔丆戙懼夋憸傪昞帵偡傞丏
			static_cast<CSmbMusicAPFileMgrImageView&>(iView).ShowImageL(NULL, NULL, iTotalCount, iIndex, EFalse);
			}
		}
	}


/**
 * 夋憸僼傽僀儖傪曐懚偡傞丏
 * 僨乕僞BOX曐懚傾僾儕働乕僔儑儞傪巕婲摦偡傞偨傔丆 CSmbMusicAPFileMgrAppUi::StartDbxFolderSelectApp()傪屇傃弌偡丏
 * @see CSmbMusicAPFileMgrAppUi::StartDbxFolderSelectApp()
 * @param[in]		aShowDialog		曐懚妋擣僟僀傾儘僌昞帵僼儔僌丏(ETrue: 昞帵偡傞 / EFalse: 昞帵偟側偄)
 */
void CSmbMusicAPFileMgrImageCmd::HandleSaveImageFileL(TBool aShowDialog)
	{
	// 曐懚妋擣僟僀傾儘僌昞帵偺応崌丆曐懚妋擣僟僀傾儘僌傪昞帵偡傞丏
	if (aShowDialog)
		{
		TInt resourceId = 0;
		switch (iImageType)
			{
		case ESmbMusicAPLibImageTypeJacket:
			// 1枃栚偺応崌乽僕儍働僢僩夋憸曐懚妋擣僟僀傾儘僌乿/ 2枃栚埲崀偺応崌乽夋憸曐懚妋擣僟僀傾儘僌乿傪昞帵偡傞
			resourceId = (iIndex == 0) ? R_SELECTION_DIALOG_MP04P026 : R_SELECTION_DIALOG_MP04P006;
			break;
		case ESmbMusicAPLibImageTypeLyric:
			resourceId = R_SELECTION_DIALOG_MP04P022;
			break;
		default:
			__ASSERT_DEBUG(EFalse, PANIC(KErrArgument));
			break;
			}
		iView.ShowSelectionDialogL(resourceId);
		}
	// 曐懚幚峴偺応崌
	else
		{
		TSmbMusicAPLibImageIndividualInfo imageIndividualInfo = CurrentImageIndividualInfo();

		// 僼傽僀儖曐懚傾僾儕傪婲摦偡傞
//TRK4779 7/26 start
//		iAppUi.StartDbxFolderSelectApp(KImageTmpFileName);
		iAppUi.StartDbxFolderSelectApp(KImageFileName, imageIndividualInfo.iFileName,
		                               imageIndividualInfo.iXDcmMove, imageIndividualInfo.iXDcmAdditional, iView);
//TRK4779 7/26 end
		}
	}


/**
 * 夋憸僼傽僀儖(KImageFileName)傕偟偔偼堦帪曐懚僨傿儗僋僩儕(KImageFilePath)撪偺慡僼傽僀儖傪嶍彍偡傞丏
 */
void CSmbMusicAPFileMgrImageCmd::DeleteImageFile(void)
	{
	// 夋憸僼傽僀儖傪嶍彍
	TInt result = iFs.Delete(KImageFileName);
		
	// 儘僌弌椡
	if (result == KErrNone || result == KErrNotFound)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -