smbmusicapmainplayerfilterlistviewmusicmenu.cpp
来自「symbian」· C++ 代码 · 共 719 行 · 第 1/2 页
CPP
719 行
ProcessGetListFromSearchTop(aCommandId, ESmbMusicAPSyncEngineLatest50, ESmbMusicAPSyncEngineSongList, KSmbMusicAPMainPlayerSongListViewUid);
}
return MSmbAfCommandBase::ESmbAfCmdIdWasConsumed;
case ECmdFilterViewShowMemTypeList: // 曐懚愭偐傜
{
// 僀儀儞僩梷惂偡傞
View()->SetEventDisabled(ETrue);
// 曐懚愭慖戰夋柺偵慗堏偡傞
View()->ShowChildViewL(KSmbMusicAPMainPlayerMemTypeListViewUid);
}
return MSmbAfCommandBase::ESmbAfCmdIdWasConsumed;
//Add-S PTX-824懳墳丂暯壀
case ECmdFilterViewShowMusicSetting: // 儈儏乕僕僢僋愝掕
{
// 僀儀儞僩梷惂偡傞
View()->SetEventDisabled(ETrue);
// 儈儏乕僕僢僋愝掕夋柺偵慗堏偡傞
View()->ShowMusicSettingL();
}
return MSmbAfCommandBase::ESmbAfCmdIdWasConsumed;
//Add-E PTX-824懳墳丂暯壀
}
return MSmbAfCommandBase::ESmbAfCmdIdWasNotConsumed;
}
//////////////////////////////////////////////////////////////////////////////////////
// 旕摨婜僾儘僙僗
//////////////////////////////////////////////////////////////////////////////////////
// from MSmbMusicAPMainPlayerFilterProcessObserver
void CSmbMusicAPMainPlayerFilterListViewMusicMenu::ProcessComplete(TInt aResult, CSmbMusicAPMainPlayerFilterProcess& aProcess)
{
if( NULL!=ProcessObj() && &aProcess==ProcessObj() &&
CSmbMusicAPMainPlayerFilterProcess::EProcessTypeGetListFromSearchTop == aProcess.GetProcessType() &&
KErrNone == aResult)
{
// 幚峴拞偺僐儅儞僪傪僠僃僢僋偡傞
switch(aProcess.GetRequestOwnerInfo())
{
case ECmdFilterViewPlayShuffle: // 慡嬋僔儍僢僼儖
{
//2006.10.20 摨婜僒乕僶強桳尃傪僠僃僢僋偟偰幚峴偡傞
if(EFalse!=View()->IsAccessSyncEngine())
{
CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop* processObj = static_cast<CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop*>(&aProcess);
// CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop* processObj = STATIC_CAST(CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop*,&aProcess);
// 僔儍僢僼儖儌乕僪傪巜掕偟偰嵞惗夋柺傪屇傃弌偡
// 仸嬋堦棗夋柺偼惗惉偟側偄
TSmbMusicAPMainPlayerPrmPlayList param;
processObj->GetListHandle(param.iListHandle);
processObj->GetCount(param.iCount);
param.iIndex = 0;
param.iShuffle = ETrue;
param.iListType = ESmbMusicAPMainPlayerPlayListTypeFilterlist;
// 僼傿儖僞價儏乕偱嵞惗奐巒傪幚峴偡傞
View()->StartPlayViewL(KSmbMusicAPMainPlayerPlayListMsgUid, param);
}
else
{
// 僀儀儞僩梷惂夝彍偡傞
View()->SetEventDisabled(EFalse);
}
}
break;
case ECmdFilterViewShowAlbumList: // 傾儖僶儉偐傜
case ECmdFilterViewShowArtistList: // 傾乕僥傿僗僩偐傜
case ECmdFilterViewShowGenreList: // 僕儍儞儖偐傜
case ECmdFilterViewShowSongListAll: // 偡傋偰偺嬋
case ECmdFilterViewShowSongListFavorite: // 傛偔挳偔50嬋
case ECmdFilterViewShowSongListRecently: // 嵟嬤挳偄偨50嬋
case ECmdFilterViewShowMemTypeList: // 曐懚愭偐傜
{
//2006.10.20 摨婜僒乕僶強桳尃傪僠僃僢僋偟偰幚峴偡傞
if(EFalse!=View()->IsAccessSyncEngine())
{
CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop* processObj = static_cast<CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop*>(&aProcess);
// CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop* processObj = STATIC_CAST(CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop*,&aProcess);
TInt listHandle = 0;
TInt count = 0;
processObj->GetListHandle(listHandle);
processObj->GetCount(count);
// 巕夋柺偵慗堏偡傞
View()->ShowChildViewL(ProcessTargetViewUid(), listHandle, count);
}
else
{
// 僀儀儞僩梷惂夝彍偡傞
View()->SetEventDisabled(EFalse);
}
}
break;
}
}
// 婎掙僋儔僗偱姰椆張棟偡傞
CSmbMusicAPMainPlayerFilterListView::ProcessComplete(aResult, aProcess);
}
//////////////////////////////////////////////////////////////////////////////////////
// 儕僗僩儃僢僋僗張棟
//////////////////////////////////////////////////////////////////////////////////////
/**
* 僾儗僀儎忬懺曄峏捠抦
*
* @param[in] aState 僾儗僀儎忬懺
*/
void CSmbMusicAPMainPlayerFilterListViewMusicMenu::HandlePlayerStateChangedL(TBool /*aState*/)
{
// AdjustListBoxL(aState);
// 乽懕偒偐傜嵞惗乿乽嵞惗拞偺嬋傊乿傾僀僥儉傪庢摼偡傞
CSmbMusicAPMainPlayerFilterListItem* item = static_cast<CSmbMusicAPMainPlayerFilterListItem*>(Model()->ItemByIndex(0));
// CSmbMusicAPMainPlayerFilterListItem* item = STATIC_CAST(CSmbMusicAPMainPlayerFilterListItem*, Model()->ItemByIndex(0));
if(NULL!=item)
{
// 嵞惗拞偐偳偆偐傪僠僃僢僋偡傞
TSmbPGMusicAPPlayerState aState = SmbPGMusic::MusicAPPlayerStateL(View()->PropAgent());
if(ESmbPGMusicAPPlayerStatePlaying==aState) // 嵞惗拞
{
// 乽嵞惗拞偺嬋傊乿傪愝掕偡傞
// Mod-S PTX-824 D_82400009199 2007.08.06
// HBufC* text = CEikonEnv::Static()->AllocReadResourceL(R_SMB_AF_STR_WRD2800);
HBufC* text = CEikonEnv::Static()->AllocReadResourceL(R_SMB_AF_STR_WRD2839);
// Mod-E PTX-824 D_82400009199 2007.08.06
CleanupStack::PushL(text);
item->SetTextL(MSkonMusicListBoxItem::ETextMain, text->Des());
CleanupStack::Pop();
delete text;
// 僐儅儞僪俬俢傪愝掕偡傞
item->SetCommandID(ECmdFilterViewShowPlayView);
// 慖戰傪桳岠偵偡傞
item->SetIsDisabled(EFalse);
}
else
{
//乽懕偒偐傜嵞惗乿傪愝掕偡傞
HBufC* text = CEikonEnv::Static()->AllocReadResourceL(R_SMB_AF_STR_WRD2842);
CleanupStack::PushL(text);
item->SetTextL(MSkonMusicListBoxItem::ETextMain, text->Des());
CleanupStack::Pop();
delete text;
// 僐儅儞僪俬俢傪愝掕偡傞
item->SetCommandID(ECmdFilterViewPlayResume);
// 儗僕儏乕儉忣曬傪僠僃僢僋偡傞
TBool disableFlag = EFalse;
TSmbMusicAPSyncEngineResumeInfo aInfo;
if(KErrNone!=View()->SyncModel().GetResumeInfo(aInfo))
{
//儗僕儏乕儉忣曬偑側偄応崌
disableFlag = ETrue;
}
// 敿婸搙挷惍
item->SetIsDisabled(disableFlag);
}
// Add-S PTX-824 D_82400013717懳墳 暯壀 2007.09.01
// 儕僗僩儃僢僋僗偺僉乕僈僀僟儞僗傪愝掕偡傞
CSakKeyGuidance* keyGuidance = static_cast<CSkonKeyGuidance*>(View()->KeyGuidance());
if(NULL!=keyGuidance)
{
// 偦傟偧傟偺夋柺偵墳偠偨僉乕僈僀僟儞僗傪愝掕偡傞
SetupKeyGuidanceL(keyGuidance);
}
// Add-E PTX-824 D_82400013717懳墳 暯壀 2007.09.01
// Add-S PTX-824 D_82400000686 2007.07.16 暯壀
if(EFalse!=View()->IsCaseClosedL() //抂枛僋儘乕僘
|| EFalse==View()->IsViewForeground() //嵟慜柺傾僾儕
|| EFalse==View()->IsViewActivated()) //嵟慜柺價儏乕
{
return;
}
// Add-E PTX-824 D_82400000686 2007.07.16 暯壀
// 儕僗僩昞帵傪峏怴偡傞
//2006.10.13 TRK#11267,11448
ListBox()->HandleControlStatusUpdatedL();
}
}
void CSmbMusicAPMainPlayerFilterListViewMusicMenu::HandlePlayerStatePauseL()
{
// 傾僀僥儉傪庢摼偡傞
CSmbMusicAPMainPlayerFilterListItem* item = static_cast<CSmbMusicAPMainPlayerFilterListItem*>(Model()->ItemByIndex(0));
// CSmbMusicAPMainPlayerFilterListItem* item = STATIC_CAST(CSmbMusicAPMainPlayerFilterListItem*, Model()->ItemByIndex(0));
if(NULL!=item)
{
//乽懕偒偐傜嵞惗乿傪愝掕偡傞
HBufC* text = CEikonEnv::Static()->AllocReadResourceL(R_SMB_AF_STR_WRD2842);
CleanupStack::PushL(text);
item->SetTextL(MSkonMusicListBoxItem::ETextMain, text->Des());
CleanupStack::Pop();
delete text;
// 僐儅儞僪俬俢傪愝掕偡傞
item->SetCommandID(ECmdFilterViewPlayResume);
// 儗僕儏乕儉忣曬傪僠僃僢僋偡傞
TBool disableFlag = EFalse;
TSmbMusicAPSyncEngineResumeInfo aInfo;
if(KErrNone!=View()->SyncModel().GetResumeInfo(aInfo))
{
//儗僕儏乕儉忣曬偑側偄応崌
disableFlag = ETrue;
}
// 敿婸搙挷惍
item->SetIsDisabled(disableFlag);
// 儕僗僩昞帵傪峏怴偡傞
//2006.10.13 TRK#11267,11448
ListBox()->HandleControlStatusUpdatedL();
}
}
// Del-S PTX-824 枹巊梡偺偨傔嶍彍丂2007.08.06 暯壀
/*
void CSmbMusicAPMainPlayerFilterListViewMusicMenu::HandlePlayerStatePlayL()
{
// 乽懕偒偐傜嵞惗乿乽嵞惗拞偺嬋傊乿傾僀僥儉傪庢摼偡傞
CSmbMusicAPMainPlayerFilterListItem* item = static_cast<CSmbMusicAPMainPlayerFilterListItem*>(Model()->ItemByIndex(0));
// CSmbMusicAPMainPlayerFilterListItem* item = STATIC_CAST(CSmbMusicAPMainPlayerFilterListItem*, Model()->ItemByIndex(0));
if(NULL!=item)
{
// 乽嵞惗拞偺嬋傊乿傪愝掕偡傞
// Mod-S PTX-824 D_82400009199 2007.08.06
// HBufC* text = CEikonEnv::Static()->AllocReadResourceL(R_SMB_AF_STR_WRD2800);
HBufC* text = CEikonEnv::Static()->AllocReadResourceL(R_SMB_AF_STR_WRD2839);
// Mod-E PTX-824 D_82400009199 2007.08.06
CleanupStack::PushL(text);
item->SetTextL(MSkonMusicListBoxItem::ETextMain, text->Des());
CleanupStack::Pop();
delete text;
// 僐儅儞僪俬俢傪愝掕偡傞
item->SetCommandID(ECmdFilterViewShowPlayView);
// 慖戰傪桳岠偵偡傞
item->SetIsDisabled(EFalse);
// 儕僗僩昞帵傪峏怴偡傞
//2006.10.13 TRK#11267,11448
ListBox()->HandleControlStatusUpdatedL();
}
}
*/
// Del-E PTX-824 枹巊梡偺偨傔嶍彍丂2007.08.06 暯壀
/**
* 儕僗僩儃僢僋僗偺敿婸搙挷惍
*
* @param aState [in] FilterView
*/
void CSmbMusicAPMainPlayerFilterListViewMusicMenu::AdjustListBoxL(TBool /*aState*/)
{
// 乽懕偒偐傜嵞惗乿乽嵞惗拞偺嬋傊乿傾僀僥儉傪庢摼偡傞
CSmbMusicAPMainPlayerFilterListItem* item = static_cast<CSmbMusicAPMainPlayerFilterListItem*>(Model()->ItemByIndex(0));
// CSmbMusicAPMainPlayerFilterListItem* item = STATIC_CAST(CSmbMusicAPMainPlayerFilterListItem*, Model()->ItemByIndex(0));
if(NULL!=item)
{
// 嵞惗拞偐偳偆偐傪僠僃僢僋偡傞
TSmbPGMusicAPPlayerState aState = SmbPGMusic::MusicAPPlayerStateL(View()->PropAgent());
if(ESmbPGMusicAPPlayerStatePlaying==aState) // 嵞惗拞
{
// 乽嵞惗拞偺嬋傊乿傪愝掕偡傞
// Mod-S PTX-824 D_82400009199 2007.08.06
// HBufC* text = CEikonEnv::Static()->AllocReadResourceL(R_SMB_AF_STR_WRD2800);
HBufC* text = CEikonEnv::Static()->AllocReadResourceL(R_SMB_AF_STR_WRD2839);
// Mod-E PTX-824 D_82400009199 2007.08.06
CleanupStack::PushL(text);
item->SetTextL(MSkonMusicListBoxItem::ETextMain, text->Des());
CleanupStack::Pop();
delete text;
// 僐儅儞僪俬俢傪愝掕偡傞
item->SetCommandID(ECmdFilterViewShowPlayView);
// 慖戰傪桳岠偵偡傞
item->SetIsDisabled(EFalse);
}
else
{
//乽懕偒偐傜嵞惗乿傪愝掕偡傞
HBufC* text = CEikonEnv::Static()->AllocReadResourceL(R_SMB_AF_STR_WRD2842);
CleanupStack::PushL(text);
item->SetTextL(MSkonMusicListBoxItem::ETextMain, text->Des());
CleanupStack::Pop();
delete text;
// 僐儅儞僪俬俢傪愝掕偡傞
item->SetCommandID(ECmdFilterViewPlayResume);
// 儗僕儏乕儉忣曬傪僠僃僢僋偡傞
TBool disableFlag = EFalse;
TSmbMusicAPSyncEngineResumeInfo aInfo;
if(KErrNone!=View()->SyncModel().GetResumeInfo(aInfo))
{
//儗僕儏乕儉忣曬偑側偄応崌
disableFlag = ETrue;
}
// 敿婸搙挷惍
item->SetIsDisabled(disableFlag);
}
// 儕僗僩昞帵傪峏怴偡傞
ListBox()->HandleControlStatusUpdatedL();
}
}
// Add-S PTX-824 D_82400013717懳墳 暯壀 2007.09.01
// 僉乕僈僀僟儞僗忣曬
TBool CSmbMusicAPMainPlayerFilterListViewMusicMenu::KeyGuidanceInfo(TSkonKeyGuidanceKeyIds aKey, TBool& aVisible, TInt& aTitleResId, TInt& aCommandID)
{
aVisible = EFalse;
aTitleResId = 0;
aCommandID = 0;
//亂偦偺懠亃
//寛掕僉乕(ESkonKeyGuidanceSelectKey)
// 丂亂慖戰亃SFT003丂崁栚慖戰
//僜僼僩俀僉乕(ESkonKeyGuidanceSoftKeyRight)
// 丂<柍岠>
switch(aKey)
{
case ESkonKeyGuidanceSelectKey:
aVisible = EFalse;
aTitleResId = 0;
aCommandID = 0;
if(0<ItemCount())
{
CSmbMusicAPMainPlayerFilterListItem* item = CurrentItem();
if(NULL!=item && EFalse==item->IsDisabled())
{
aVisible = ETrue;
aTitleResId = R_SMB_AF_STR_SFT003;
aCommandID = 0;
}
}
return ETrue;
case ESkonKeyGuidanceSoftKeyRight:
aVisible = EFalse;
aTitleResId = 0;
aCommandID = 0;
return ETrue;
}
return EFalse;
}
// Add-E PTX-824 D_82400013717懳墳 暯壀 2007.09.01
//////////////////////////////////////////////////////////////////////////////////////
// 僒僽儊僯儏乕
//////////////////////////////////////////////////////////////////////////////////////
/**
* 儊僯儏儕僜乕僗俬俢
*
* @return 儕僜乕僗俬俢
*/
TInt CSmbMusicAPMainPlayerFilterListViewMusicMenu::SubMenuID()
{
return R_SB_MUSIC_MAIN_FLT_MUSICMENU;
}
// 僒僽儊僯儏乕敿婸搙張棟
void CSmbMusicAPMainPlayerFilterListViewMusicMenu::AdjustSubMenuL(CSkonSubMenu* /*aSubMenu*/, TInt /*aResId*/)
{
// 壗傕偟側偄
}
SEMCJ_NAMESPACE_END
// end of SmbMusicAPMainPlayerFilterListViewMusicMenu.cpp
/* Copyright (C) 2006-2007 Sony Ericsson Mobile Communications Japan, Inc. */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?