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

📄 smbmusicapsonginfourlview.cpp

📁 索爱手机代码
💻 CPP
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*-------------------------------------------------------------------------*/
// FileName:
//	SmbMusicAPSongInfoURLView.cpp
//
// Description:
//	儈儏乕僕僢僋梡徻嵶忣曬昞帵-URL昞帵夋柺價儏乕僋儔僗
/*-------------------------------------------------------------------------*/
//曄峏棜楌
//擔晅				|曄峏幰			|撪梕
//---------------------------------------------------------------------------
//2006/04/18		|SEMCJ嬥岝		|怴婯嶌惉
#include "SmbMusicAPSongInfoURLView.h"
#include "SmbMusicAPSongInfoExternalInterface.h"

USING_NAMESPACE_SEMCJ
///////////////////////////////////////////////////////////////////////////////
/**
 * 忣曬昞帵夋柺峔抸梡僷儔儊乕僞
 */
const TAfViewParam KSongInfoURLViewParam =
	{
	ESmbMusicAPSongInfoURLView,	// 價儏乕ID
	R_SONGINFO_URL_TITLE,				// 僞僀僩儖
	R_SONGINFO_URL_KEYGUIDANCE			// 僉乕僈僀僟儞僗
	};

/**
 * 僐儞僗僩儔僋僞
 *
 * @param[in]		aModel				儌僨儖僋儔僗
 * @param[in]		aLog				儘僌僒乕僶偺僙僢僔儑儞
 * @param[in]		aAppUi				傾僾儕働乕僔儑儞UI僋儔僗
 */
CSmbMusicAPSongInfoURLView::CSmbMusicAPSongInfoURLView(CSmbMusicAPSongInfoModel& aModel,
											RLog& aLog, CSmbMusicAPSongInfoAppUi& aAppUi)
	:CSmbAfView(KSongInfoURLViewParam), iModel(aModel), iLog(aLog), iAppUi(aAppUi)
	{
	}

/**
 * 僨僗僩儔僋僞
 */
CSmbMusicAPSongInfoURLView::~CSmbMusicAPSongInfoURLView()
	{

	}

/**
 * 價儏乕僐儞僥僫弶婜壔帪張棟
 */
void CSmbMusicAPSongInfoURLView::DoConstructContainerL()
	{
//MODIFY-S MAEJI 挿偄URL傪僗僋儘乕儖偝偣傞偨傔僐儞僥僫傪巊梡偡傞傛偆偵曄峏
//9/5 儊儞僶曄悢傪CleapStack偵愊傫偱偄偨偺傪廋惓

	//悅捈曽岦僐儞僥僫傪梡堄偡傞
	CSkonVerticalContainer* container = new(ELeave)CSkonVerticalContainer;
	CleanupStack::PushL(container);

	container->SetContainerWindowL(*this);
	TResourceReader reader;
	iCoeEnv->CreateResourceReaderLC(reader, R_SONGINFO_URLVIEW_CONTAINER);
	container->ConstructFromResourceL(reader);
	CleanupStack::PopAndDestroy();	//reader
	container->SetExtent(TPoint(KSmbLayout_BASE_X,KSmbLayout_TBAR_H), TSize(KSmbLayout_WIN_W,KSmbLayout_WIN_TBAR_H));
	container->SetOverlapEnable(EFalse);

	AddControlL(container);
	CleanupStack::Pop(); //	container

	//僥僉僗僩儔儀儖傪惗惉偡傞
	CSkonTextLabel* textLabel = new (ELeave) CSkonTextLabel;
	CleanupStack::PushL(textLabel);

	//CCoeControl偺儕僼傽儗儞僗愝掕
	TRAPD(error, textLabel->SetContainerWindowL(*this));
	if(KErrNone != error)
		{
		//儘僌弌椡
		SmbMusicAPSongInfoLog::OutputLog(iLog, ESongInfoLogNo081, ELogLevelHighest, error, KSmbMusicAPSongInfoLogSetContainerWindowLErr);
		//儕乕僽張棟
		User::Leave(error);
		}
	
	TRAP(error, textLabel->ConstructL());
	if(KErrNone != error)
		{
		//儘僌弌椡
		SmbMusicAPSongInfoLog::OutputLog(iLog, ESongInfoLogNo207, ELogLevelHighest, error, KSmbMusicAPSongInfoLogConstructLErr);
		//儕乕僽張棟
		User::Leave(error);
		}	

	container->InsertControlL(textLabel, 0);
	CleanupStack::Pop(); //	textLabel
	
	TRAP(error, textLabel->SetTextL(iModel.DetailInfo().iDetailSongInfo->DetailSongInfo()->iUrlInfo));
	if(KErrNone != error)
		{
		//儘僌弌椡
		SmbMusicAPSongInfoLog::OutputLog(iLog, ESongInfoLogNo208, ELogLevelHighest, error, KSmbMusicAPSongInfoLogSetTextLErr);
		//儕乕僽張棟
		User::Leave(error);
		}

	container->Layout();
	ActivateL();

//MODIFY-E MAEJI
	
//DEL-S MAEJI
//
//	iTextLabel->SetExtent(TPoint(KSmbLayout_BASE_X,KSmbLayout_TBAR_H), TSize(KSmbLayout_WIN_W,KSmbLayout_WIN_TBAR_H));
//
//	//價儏乕傊僐儞僩儘乕儖偺搊榐
//	TRAP(error, AddControlL(iTextLabel));
//	if(KErrNone != error)
//		{
//		//儘僌弌椡
//		SmbMusicAPSongInfoLog::OutputLog(iLog, ESongInfoLogNo081, ELogLevelHighest, error, KSmbMusicAPSongInfoLogOfferKeyEventLError);
//		//儕乕僽張棟
//		User::Leave(error);
//		}
	}

/**
 * 價儏乕傾僋僥傿僽姰椆帪偺僐乕儖僶僢僋娭悢撪張棟
 *
 * @param[in]		aPrevViewId			屇傃弌偟尦價儏乕ID
 * @param[in]		aCustomMessageId		儊僢僙乕僕ID
 * @param[in]		aCustomMessage		儊僢僙乕僕僶僢僼傽
 */
void CSmbMusicAPSongInfoURLView::DoViewActivatedL(const TVwsViewId& /*aPrevViewId*/,
												TUid aCustomMessageId,
												const TDesC8& /*aCustomMessage*/)
	{
	//儘乕僇儖UID偺応崌偺張棟
	if(KSmbMusicAPSongInfoLocalUid == aCustomMessageId)
		{
		//僐儅儞僪梷惂夝彍僐儅儞僪傪敪峴偡傞
		iAppUi.HandleCommandL(ECmdReleaseCommand);
		}
	}


/**
 * 僉乕僀儀儞僩張棟
 *
 * @param[in]		aKeyEvent	僉乕僀儀儞僩
 * @param[in]		aType		僀儀儞僩僞僀僾
 * @return		僉乕儗僗億儞僗
 */
TKeyResponse CSmbMusicAPSongInfoURLView::OfferKeyEventL(const TKeyEvent& aKeyEvent,
												TEventCode aType)
	{
	if(EEventKey != aType)
		{
		return EKeyWasNotConsumed;
		}

	switch(aKeyEvent.iCode)
		{
		//僋儕傾僉乕
		case EWcdmaMpKeyClear:
			{
			//傾僾儕廔椆僐儅儞僪捠抦
			iAppUi.HandleCommandL(ECmdChangeDetailView);
			//奺僐儅儞僪僋儔僗偺HandleViewCommandL娭悢偵偰儘僌弌椡偡傞偨傔丄偙偙偱偼TRAP仺儘僌弌椡偺張棟偼峴傢側偄
			return EKeyWasConsumed;
			}

		default:
			{
			//壗傕偟側偄
			}
			break;
		}
	TKeyResponse res = EKeyWasNotConsumed;
	TRAPD(error, res = CSmbAfView::OfferKeyEventL(aKeyEvent, aType));
	if(KErrNone != error)
		{
		//儘僌弌椡
		SmbMusicAPSongInfoLog::OutputLog(iLog, ESongInfoLogNo090, ELogLevelHighest, error, KSmbMusicAPSongInfoLogOfferKeyEventLError);
		//儕乕僽張棟
		User::Leave(error);
		}
	return res;
	}


// end of SmbMusicAPSongInfoURLView.cpp
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */

⌨️ 快捷键说明

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