smbmusicapmainplayerfilterlistviewmeta.cpp
来自「symbian」· C++ 代码 · 共 574 行 · 第 1/2 页
CPP
574 行
void CSmbMusicAPMainPlayerFilterListViewMeta::ProcessComplete(TInt aResult, CSmbMusicAPMainPlayerFilterProcess& aProcess)
{
if( NULL!=ProcessObj() && &aProcess==ProcessObj() &&
CSmbMusicAPMainPlayerFilterProcess::EProcessTypeGetListFromSearchCurrentList == aProcess.GetProcessType() &&
KErrNone == aResult)
{
// 幚峴拞偺僐儅儞僪傪僠僃僢僋偡傞
switch(aProcess.GetRequestOwnerInfo())
{
case EMainPlayerFilterViewKGCmdSelect: // 僕儍儞儖/傾乕僥傿僗僩/傾儖僶儉峣傝崬傒専嶕
case EMainPlayerFilterViewKGCmdSelectAll: // 乽偡傋偰偺乣乿傪崁栚慖戰
{
//2006.10.20 摨婜僒乕僶強桳尃傪僠僃僢僋偟偰幚峴偡傞
if(EFalse!=View()->IsAccessSyncEngine())
{
CSmbMusicAPMainPlayerFilterProcessGetListFromSearchCurrentList* processObj = static_cast<CSmbMusicAPMainPlayerFilterProcessGetListFromSearchCurrentList*>(&aProcess);
// CSmbMusicAPMainPlayerFilterProcessGetListFromSearchCurrentList* processObj = STATIC_CAST(CSmbMusicAPMainPlayerFilterProcessGetListFromSearchCurrentList*,&aProcess);
TInt listHandle = 0;
TInt count = 0;
processObj->GetListHandle(listHandle);
processObj->GetCount(count);
// 巕夋柺偵慗堏偡傞
View()->ShowChildViewL(ProcessTargetViewUid(), listHandle, count);
}
else
{
// 僀儀儞僩梷惂夝彍偡傞
View()->SetEventDisabled(EFalse);
}
}
break;
case EMainPlayerFilterViewKGCmdLongSelectAll: // 乽偡傋偰偺乣乿傪崁栚慖戰乮挿墴偟乯
case EMainPlayerFilterViewKGCmdLongSelect: // 挿墴偟偱慖戰
{
//2006.10.20 摨婜僒乕僶強桳尃傪僠僃僢僋偟偰幚峴偡傞
if(EFalse!=View()->IsAccessSyncEngine())
{
CSmbMusicAPMainPlayerFilterProcessGetListFromSearchCurrentList* processObj = static_cast<CSmbMusicAPMainPlayerFilterProcessGetListFromSearchCurrentList*>(&aProcess);
// CSmbMusicAPMainPlayerFilterProcessGetListFromSearchCurrentList* processObj = STATIC_CAST(CSmbMusicAPMainPlayerFilterProcessGetListFromSearchCurrentList*,&aProcess);
TSmbMusicAPMainPlayerPrmPlayList param;
processObj->GetListHandle(param.iListHandle);
processObj->GetCount(param.iCount);
param.iIndex = 0;
param.iShuffle = EFalse;
param.iListType = ESmbMusicAPMainPlayerPlayListTypeFilterlist;
// 僀儀儞僩梷惂傪夝彍偡傞
View()->SetEventDisabled(EFalse);
// 嵞惗奐巒偡傞
View()->StartPlayViewL(KSmbMusicAPMainPlayerPlayListMsgUid, param);
}
else
{
// 僀儀儞僩梷惂夝彍偡傞
View()->SetEventDisabled(EFalse);
}
}
break;
}
}
// 婎掙僋儔僗偱姰椆張棟偡傞
CSmbMusicAPMainPlayerFilterListView::ProcessComplete(aResult, aProcess);
}
//////////////////////////////////////////////////////////////////////////////////////
// 僞僀僩儖僶乕張棟
//////////////////////////////////////////////////////////////////////////////////////
/**
* 僞僀僩儖僶乕傾僀僐儞偺愝掕
*
* @param aState [in] FilterView
*/
void CSmbMusicAPMainPlayerFilterListViewMeta::AdjustTitleIconL()
{
TInt leftIconId = -1;
TInt rightIconID = -1;
//恊奒憌偺傾僀僐儞傪愝掕偡傞
TSmbMusicAPSyncEnginePrevListInfo prevList;
// Mod-S PTX-824 D_82400013891懳墳 暯壀 2007.09.11
// 慗堏尦偺儕僗僩傪庢摼偡傞
// if(KErrNone==View()->SyncModel().GetPrevList(ListHandle(), prevList))
prevList = iPrevList;
if (ESmbMusicAPSyncEngineTypeInvalidlist != prevList.iListType)
// Mod-E PTX-824 D_82400013891懳墳 暯壀 2007.09.11
{
// 慗堏尦儕僗僩忣曬偑儕僗僩傾僀僥儉偐偳偆偐丠乮iListInfo ETrue:慗堏尦儕僗僩傾僀僥儉丄EFalse:専嶕忣曬乯
if(EFalse!=prevList.iListInfo)
{
switch(prevList.iListType)
{
case ESmbMusicAPSyncEngineTypeGenre: ///<僕儍儞儖
leftIconId = EMbmMusicMc_genre_icon;
break;
case ESmbMusicAPSyncEngineTypeArtist: ///<傾乕僥傿僗僩
leftIconId = EMbmMusicMc_artist_icon;
break;
case ESmbMusicAPSyncEngineTypeAlbum: ///<傾儖僶儉
leftIconId = EMbmMusicMc_album_icon;
break;
case ESmbMusicAPSyncEngineTypeOriginalPlaylist: ///<僆儕僕僫儖僾儗僀儕僗僩
case ESmbMusicAPSyncEngineTypeImportPlaylist: ///<僀儞億乕僩僾儗僀儕僗僩
// Add-S PTX-824懳墳丂暯壀
case ESmbMusicAPSyncEngineTypeWMAPlaylist: ///<WMA僾儗僀儕僗僩
// Add-E PTX-824懳墳丂暯壀
case ESmbMusicAPSyncEngineTypeSonglist: ///<嬋堦棗
case ESmbMusicAPSyncEngineTypeInvalidlist: ///<柍岠側儕僗僩
default:
break;
}
}
// 専嶕忣曬乮儈儏乕僕僢僋儊僯儏乕/僾儗僀儕僗僩僞僀僾慖戰/曐懚愭慖戰乯偺応崌
else
{
// 専嶕忣曬乮儈儏乕僕僢僋儊僯儏乕乯偺応崌
switch(prevList.iSearchCondition)
{
// Change-S PTX-824懳墳(TRK-580)丂暯壀 摟柧傾僀僐儞懳墳
// -> (D_82400006405, D_82400004469) 儈儏乕僕僢僋儊僯儏乕傾僀僐儞懳墳
case ESmbMusicAPSyncEngineGenre: ///<僕儍儞儖
// leftIconId = EMbmMusicMc_genre_icon;
// break;
case ESmbMusicAPSyncEngineArtist: ///<傾乕僥傿僗僩
// leftIconId = EMbmMusicMc_artist_icon;
// break;
case ESmbMusicAPSyncEngineAlbum: ///<傾儖僶儉
// leftIconId = EMbmMusicMc_album_icon;
// leftIconId = EMbmMusicMc_titlebar_icon_clear_main;
leftIconId = EMbmMusicMc_titlebar_icon_menu_main;
break;
// Change-E PTX-824懳墳(TRK-580)丂暯壀 (D_82400006405, D_82400004469)
case ESmbMusicAPSyncEngineAll: ///<偡傋偰偺嬋
case ESmbMusicAPSyncEngineOften50: ///<傛偔挳偔50嬋
case ESmbMusicAPSyncEngineLatest50: ///<嵟嬤挳偄偨50嬋
case ESmbMusicAPSyncEngineOriginalPlaylist: ///<僆儕僕僫儖僾儗僀儕僗僩
case ESmbMusicAPSyncEngineImportPlaylist: ///<僀儞億乕僩僾儗僀儕僗僩
// Add-S PTX-824懳墳丂暯壀
case ESmbMusicAPSyncEngineWMAPlaylist: ///<WMA僾儗僀儕僗僩
// Add-E PTX-824懳墳丂暯壀
case ESmbMusicAPSyncEngineDataBox: ///<曐懚愭偐傜1(僨乕僞BOX)
// Del-S PTX-824懳墳 TRK955 暯壀
#ifdef EXPANDEDMEM_DELETE
case ESmbMusicAPSyncEngineMassStorage: ///<曐懚愭偐傜2(杮懱奼挘儊儌儕)
#endif
// Del-E PTX-824懳墳 TRK955 暯壀
case ESmbMusicAPSyncEngineMSDuo: ///<曐懚愭偐傜3(M.S.Duo)
case ESmbMusicAPSyncEngineMiniSD: ///<曐懚愭偐傜4(miniSD)
default:
break;
}
}
}
//巕奒憌偺傾僀僐儞傪愝掕偡傞
if(0<ItemCount())
{
// 僞僀僩儖僶乕偺傾僀僐儞傪愝掕偡傞
// 儕僗僩儃僢僋僗偺僇儗儞僩僀儞僨僢僋僗偑侽偺応崌
if(0==ListBox()->CurrentItemIndex())
{
// 乽偡傋偰偺乣乿崁栚傪慖戰偟偨応崌
rightIconID = EMbmMusicMc_track_icon;
}
else
{
if(KSmbMusicAPMainPlayerGenreListViewUid==ViewUid()) ///< 僕儍儞儖堦棗夋柺
{
rightIconID = EMbmMusicMc_artist_icon;
}
else if(KSmbMusicAPMainPlayerArtistListViewUid==ViewUid()) ///< 傾乕僥傿僗僩堦棗夋柺
{
rightIconID = EMbmMusicMc_album_icon;
}
else if(KSmbMusicAPMainPlayerAlbumListViewUid==ViewUid()) ///< 傾儖僶儉堦棗夋柺
{
rightIconID = EMbmMusicMc_track_icon;
}
}
}
SetTitleIconL(leftIconId, rightIconID);
}
// Add-S PTX-824 D_82400013891懳墳 暯壀 2007.09.11
void CSmbMusicAPMainPlayerFilterListViewMeta::SetPrevListInfo(TSmbMusicAPSyncEnginePrevListInfo aPrevList)
{
iPrevList = aPrevList;
}
// Add-E PTX-824 D_82400013891懳墳 暯壀 2007.09.11
//////////////////////////////////////////////////////////////////////////////////////
// 儕僗僩儃僢僋僗張棟
//////////////////////////////////////////////////////////////////////////////////////
/**
* 儕僗僩儃僢僋僗偺敿婸搙挷惍
*
* @param aState [in] FilterView
*/
void CSmbMusicAPMainPlayerFilterListViewMeta::AdjustListBoxL(TBool /*aState*/)
{
}
/**
* 儊僯儏儕僜乕僗俬俢
*
* @return 儕僜乕僗俬俢
*/
TInt CSmbMusicAPMainPlayerFilterListViewMeta::SubMenuID()
{
TInt aMenuResID;
TInt aNumberOfItems = ItemCount();
if(aNumberOfItems==0)
{
aMenuResID = R_SB_MUSIC_MAIN_FLT_EMPTYLIST;
}
else
{
aMenuResID = R_SB_MUSIC_MAIN_FLT_OTHER;
}
return aMenuResID;
}
// 僒僽儊僯儏乕敿婸搙張棟
void CSmbMusicAPMainPlayerFilterListViewMeta::AdjustSubMenuL(CSkonSubMenu *aSubMenu, TInt /*aResId*/)
{
// 嵞惗拞偐偳偆偐傪僠僃僢僋偡傞
TSmbPGMusicAPPlayerState playState = SmbPGMusic::MusicAPPlayerStateL(View()->PropAgent());
if(ESmbPGMusicAPPlayerStatePlaying==playState) // 嵞惗拞
{
aSubMenu->SetItemDisableL(aSubMenu->MenuItemArrayL(), 0, EFalse);
aSubMenu->SetItemDisableL(aSubMenu->MenuItemArrayL(), 1, EFalse);
}
else
{
aSubMenu->SetItemDisableL(aSubMenu->MenuItemArrayL(), 0, ETrue);
aSubMenu->SetItemDisableL(aSubMenu->MenuItemArrayL(), 1, ETrue);
}
}
// 慖戰僉乕僐儅儞僪
TInt CSmbMusicAPMainPlayerFilterListViewMeta::SelectKeyCommand(TBool aLongPress)
{
return EFalse!=aLongPress ? EMainPlayerFilterViewKGCmdLongSelect : EMainPlayerFilterViewKGCmdSelect;
}
// 僉乕僈僀僟儞僗忣曬
TBool CSmbMusicAPMainPlayerFilterListViewMeta::KeyGuidanceInfo(TSkonKeyGuidanceKeyIds aKey, TBool& aVisible, TInt& aTitleResId, TInt& aCommandID)
{
aVisible = EFalse;
aTitleResId = 0;
aCommandID = 0;
//亂僕儍儞儖丒傾乕僥傿僗僩丒傾儖僶儉夋柺亃
//寛掕僉乕(ESkonKeyGuidanceSelectKey)
// 丂仭昞帵偡傞僨乕僞偑偁傞応崌丂丂丂仺亂慖戰亃SFT003丂崁栚慖戰
// 丂仭昞帵偡傞僨乕僞偑側偄応崌丂丂丂仺<柍岠>
switch(aKey)
{
case ESkonKeyGuidanceSelectKey:
if(ItemCount()>0)
{
aVisible = ETrue;
aTitleResId = R_SMB_AF_STR_SFT003;
aCommandID = 0;
}
else
{
aVisible = EFalse;
aTitleResId = 0;
aCommandID = 0;
}
return ETrue;
case ESkonKeyGuidanceSoftKeyRight:
aVisible = EFalse;
aTitleResId = 0;
aCommandID = 0;
return ETrue;
}
return EFalse;
}
SEMCJ_NAMESPACE_END
// end of SmbMusicAPMainPlayerFilterListViewMeta.cpp
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?