📄 smbmusicapsonginfourlview.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 + -