📄 smbmusicapfilemgritemselectview.cpp
字号:
// 儘乕僇儖價儏乕愗傝懼偊偺応崌丆僇僗僞儉儊僢僙乕僕傪庢摼偡傞
if (aCustomMessageId == KSmbMusicAPFileMgrDnlLocalUid && aCustomMessage != (TDesC8)KNullDesC8)
{
const TSmbMusicAPFileMgrLocalViewStartParam* param;
param = reinterpret_cast<const TSmbMusicAPFileMgrLocalViewStartParam *>(aCustomMessage.Ptr());
localViewType = param->iViewType;
folderItem = param->iMusicItem;
currentIndex = param->iNum;
topIndex = param->iTopIndex;
CleanupStack::PushL(folderItem);
}
else // 儘乕僇儖價儏乕愗傝懼偊偱側偄応崌
{
localViewType = ETypeNone;
if (iViewType == ETypeDeleteDbxFileSelections
//TRK10298 9/26 start
|| iViewType == ETypeDeleteSdImotionFileSelections
//TRK10298 9/26 end
|| iViewType == ETypeMoveFileSelections
|| iViewType == ETypeDeleteFolderSelections
//ADD-START PTX824
|| iViewType == ETypeDeleteSdWMAFileSelections)
//ADD-START PTX824
{
//TRK5537 9/1 start
if (needsToRefreshListBox)
{
refreshListBox = ETrue;
}
//TRK5537 9/1 end
}
}
CEikonEnv* env = CEikonEnv::Static();
HBufC* titleBuf = NULL;
TBool isUpdated = EFalse;
switch (localViewType)
{
// 暋悢崁栚慖戰夋柺(僼傽僀儖嶍彍)偺応崌
case ETypeDeleteDbxFileSelections:
case ETypeDeleteMassFileSelections:
case ETypeDeleteMsMsaFileSelections:
case ETypeDeleteMsMp3FileSelections:
case ETypeDeleteSdImotionFileSelections:
case ETypeDeleteSdMp3FileSelections:
//ADD-START PTX824
case ETypeDeleteMassWMAFileSelections:
case ETypeDeleteMassMsaFileSelections:
case ETypeDeleteSdWMAFileSelections:
case ETypeDeleteSdMsaFileSelections:
//ADD-END PTX824
// 僞僀僩儖僶乕偵丆僞僀僩儖暥帤楍傪愝掕偡傞
titleBuf = env->AllocReadResourceLC(R_SMB_AF_STR_WRD009);
// 慖戰壜擻側傾僀僥儉庬暿傪愝掕偡傞
iListBox->SetSelectableItemTypeL(EMusicItemTypeSongItem);
//MOD-START PTX824
// 惂尷懳徾(敿婸搙昞帵)偲側傞傾僀僥儉庬暿傪愝掕偡傞
iListBox->SetRestrictItemTypeL(ERestrictItemTypePlaylistFolder | ERestrictItemTypeBruShortCut | ERestrictItemTypeFolderItem);
//MOD-END PTX824
iViewType = localViewType;
isUpdated = ETrue;
break;
// 暋悢崁栚慖戰夋柺(僼傽僀儖堏摦)偺応崌
case ETypeMoveFileSelections:
// 僞僀僩儖僶乕偵丆僞僀僩儖暥帤楍傪愝掕偡傞
titleBuf = env->AllocReadResourceLC(R_SMB_AF_STR_WRD078);
// 慖戰壜擻側傾僀僥儉庬暿傪愝掕偡傞
iListBox->SetSelectableItemTypeL(EMusicItemTypeSongItem);
//MOD-START PTX824
// 惂尷懳徾(敿婸搙昞帵)偲側傞傾僀僥儉庬暿傪愝掕偡傞
iListBox->SetRestrictItemTypeL(ERestrictItemTypePlaylistFolder | ERestrictItemTypeBruShortCut | ERestrictItemTypeFolderItem);
//MOD-END PTX824
iViewType = localViewType;
isUpdated = ETrue;
break;
// 暋悢崁栚慖戰夋柺(僼僅儖僟嶍彍)偺応崌
case ETypeDeleteFolderSelections:
// 僞僀僩儖僶乕偵丆僞僀僩儖暥帤楍傪愝掕偡傞
//MOD-START PTX824
// titleBuf = env->AllocReadResourceLC(R_SMB_AF_STR_WRD009);
titleBuf = env->AllocReadResourceLC(R_SMB_AF_STR_WRD081);
//MOD-END PTX824
// 慖戰壜擻側傾僀僥儉庬暿傪愝掕偡傞
iListBox->SetSelectableItemTypeL(EMusicItemTypeFolderItem);
//MOD-START PTX824
// 惂尷懳徾(敿婸搙昞帵)偲側傞傾僀僥儉庬暿傪愝掕偡傞
iListBox->SetRestrictItemTypeL(ERestrictItemTypePlaylistFolder | ERestrictItemTypeBruShortCut | ERestrictItemTypeSongItem);
//MOD-END PTX824
iViewType = localViewType;
isUpdated = ETrue;
break;
default:
break;
}
//ADD-START PTX824
// 巕婲摦偐傜偺恊暅婣帪
if (aCustomMessage != (TDesC8)KNullDesC8)
{
const TLaViewParam* param;
param = reinterpret_cast<const TLaViewParam *>(aCustomMessage.Ptr());
//徻嵶忣曬昞帵傾僾儕偺応崌
if(KSmbMusicAPSongInfoUid == param->iViewId.iAppUid)
{
TUint32 songID = static_cast<const TSmbMusicAPSongInfoReturnParam*>(param)->iSongID;
TUint editPattern = static_cast<const TSmbMusicAPSongInfoReturnParam*>(param)->iEditPattern;
//傾僀僥儉僼僅乕僇僗僙僢僩
SetFocusItemL(songID, editPattern);
return;
}
}
//ADD-END PTX824
// 僐儞僩儘乕儖晹昳偺愝掕傪峴偆
if (isUpdated)
{
// 僞僀僩儖僶乕偺愝掕(僞僀僩儖暥帤楍)
iTitleBar->SetTextL(*titleBuf, CSkonTitleBar::ETitle);
CleanupStack::PopAndDestroy(titleBuf);
// 僞僀僩儖僶乕偺愝掕(晅壛暥帤楍)
SetSelectedItemCountL(0);
//ADD-START PTX824
KeyGuidance()->Apply();
//ADD-END PTX824
// 昞帵僗僞僀儖傪愝掕偡傞
TSmbMusicAPFileSystemComListPattern listPattern; // 嵟怴偺昞帵僗僞僀儖
listPattern = (GetListViewStyleL() == ESmbPGMusicAPListViewStyleThumbnail)
? ESmbMusicAPListPatternListWithThumbnail : ESmbMusicAPListPatternList;
if (iListBox->DisplayPattern() != listPattern)
{
iListBox->SetDisplayPatternL(listPattern);
}
// 儕僗僩儃僢僋僗偺昞帵張棟傪嵞奐偡傞丏
ResumeListBox();
// 僼僅儖僟傪奐偔
iListBox->OpenDirectoryL(*folderItem, currentIndex, topIndex);
CleanupStack::PopAndDestroy(folderItem);
// 僉乕僀儀儞僩傪梷惂偡傞
DisableKeyEvent();
// 儕僗僩儃僢僋僗偺愝掕傪揔梡偡傞
iListBox->ApplyL();
}
else if (refreshListBox)
{
// 儕僗僩儃僢僋僗傪儕僼儗僢僔儏偡傞
RefreshListBoxL();
}
}
/**
* @param[in] aKeyEvent 僉乕僀儀儞僩
* @param[in] aType 僀儀儞僩僞僀僾
* @return 僉乕儗僗億儞僗
*/
TKeyResponse CSmbMusicAPFileMgrItemSelectView::OfferKeyEventImplL(const TKeyEvent& aKeyEvent, TEventCode /*aType*/)
{
TKeyResponse res = EKeyWasNotConsumed;
switch (aKeyEvent.iCode)
{
// 僋儕傾僉乕
case EWcdmaMpKeyClear:
iAppUi.HandleCommandL(ECmdConfirmCancelSelections);
return EKeyWasConsumed;
default:
break;
}
return res;
}
/**
* @param[in] aResult 僋儘乕僘寢壥
* @param[in] aDialog 僋儘乕僘偟偨僟僀傾儘僌
* @param[in] aDialogResourceId 僋儘乕僘偟偨僟僀傾儘僌偺儕僜乕僗ID
* @leave KErrArgument 僋儘乕僘偟偨僟僀傾儘僌偑憐掕奜偺抣偺応崌
*/
void CSmbMusicAPFileMgrItemSelectView::HandleCloseEventImplL(TInt aResult, CSkonDialogBase* aDialog, TInt aDialogResourceId)
{
// 僋儘乕僘偟偨僟僀傾儘僌偑慖戰僟僀傾儘僌偺応崌
if (aDialog == iSelectionDialog)
{
switch (aDialogResourceId)
{
case R_SELECTION_DIALOG_MP03P009: // CSmbMusicAPFileMgrItemSelectCmd::HandleApplySelectionsL()
case R_SELECTION_DIALOG_MP03P027: // CSmbMusicAPFileMgrItemSelectCmd::HandleApplySelectionsL()
case R_SELECTION_DIALOG_MP03P016: // CSmbMusicAPFileMgrItemSelectCmd::HandleApplySelectionsL()
if (aResult == 0) // 慖戰僟僀傾儘僌忋偱乽偼偄乿偑慖戰偝傟偨応崌
{
iCmd->HandleViewCommandL(ECmdApplySelections);
}
else // 慖戰僟僀傾儘僌忋偱乽偼偄乿埲奜偑慖戰偝傟偨応崌
{
//TRK10139 9/25 start
// 僟僀傾儘僌昞帵拞偵僞僗僋愗懼側偳偱儕僗僩儃僢僋僗偺儕僼儗僢僔儏偑梫媮偝傟偰偄傟偽丆儕僼儗僢僔儏偡傞丏
if (iRefreshListBox)
{
RefreshListBoxL();
}
//CQ-TRK11550-2 ADD-START PTX824
else if (iRefreshByIterator)
{
RefreshByIteratorL();
}
//CQ-TRK11550-2 ADD-END PTX824
//TRK10139 9/25 end
}
break;
case R_SELECTION_DIALOG_MP03P032: // CSmbMusicAPFileMgrItemSelectCmd::NotifyConfirmSelectionItemL()
if (aResult == 0) // 慖戰僟僀傾儘僌忋偱乽偼偄乿偑慖戰偝傟偨応崌
{
//DEL-START PTX824
// TKeyEvent keyEvent;
// keyEvent.iCode = EWcdmaMpKeySelect;
// keyEvent.iScanCode = EStdKeyEnter; // 偲傝偁偊偢PCSim偱偺抣傪掕媊
// keyEvent.iModifiers = EModifierAutorepeatable | EModifierNumLock; // 偲傝偁偊偢PCSim偱偺抣傪掕媊
// keyEvent.iRepeats = 0;
// iListBox->GetCoeControl()->OfferKeyEventL(keyEvent, EEventKey);
//DEL-END PTX824
// 尰嵼偺傾僀僥儉傪慖戰偡傞
iCmd->HandleViewCommandL(ECmdCurrentSelection);
}
else // 慖戰僟僀傾儘僌忋偱乽偼偄乿埲奜偑慖戰偝傟偨応崌
{
// 尰嵼偺傾僀僥儉偺慖戰傪僉儍儞僙儖偡傞
iCmd->HandleViewCommandL(ECmdCancelCurrentSelection);
}
//TRK10139 9/25 start
// 僟僀傾儘僌昞帵拞偵僞僗僋愗懼側偳偱儕僗僩儃僢僋僗偺儕僼儗僢僔儏偑梫媮偝傟偰偄傟偽丆儕僼儗僢僔儏偡傞丏
if (iRefreshListBox)
{
RefreshListBoxL();
}
//CQ-TRK11550-2 ADD-START PTX824
else if (iRefreshByIterator)
{
RefreshByIteratorL();
}
//CQ-TRK11550-2 ADD-END PTX824
//TRK10139 9/25 end
break;
case R_SELECTION_DIALOG_COM01P018: // CSmbMusicAPFileMgrItemSelectCmd::HandleCancelSelectionsL()
if (aResult == 0) // 慖戰僟僀傾儘僌忋偱乽僉儍儞僙儖偟偰廔椆乿偑慖戰偝傟偨応崌
{
iCmd->HandleViewCommandL(ECmdCancelSelections);
}
else // 慖戰僟僀傾儘僌忋偱乽僉儍儞僙儖偟偰廔椆乿埲奜偑慖戰偝傟偨応崌
{
//TRK10139 9/25 start
// 僟僀傾儘僌昞帵拞偵僞僗僋愗懼側偳偱儕僗僩儃僢僋僗偺儕僼儗僢僔儏偑梫媮偝傟偰偄傟偽丆儕僼儗僢僔儏偡傞丏
if (iRefreshListBox)
{
RefreshListBoxL();
}
//CQ-TRK11550-2 ADD-START PTX824
else if (iRefreshByIterator)
{
RefreshByIteratorL();
}
//CQ-TRK11550-2 ADD-END PTX824
//TRK10139 9/25 end
}
break;
case R_SELECTION_DIALOG_MP03P039: // CSmbMusicAPFileMgrCmdBase::PlaySongL()
if (aResult == 0) // 慖戰僟僀傾儘僌忋偱乽偼偄乿偑慖戰偝傟偨応崌
{
iCmd->HandleViewCommandL(ECmdDownloadSong);
}
else // 慖戰僟僀傾儘僌忋偱乽偼偄乿埲奜偑慖戰偝傟偨応崌
{
//TRK10139 9/25 start
// 僟僀傾儘僌昞帵拞偵僞僗僋愗懼側偳偱儕僗僩儃僢僋僗偺儕僼儗僢僔儏偑梫媮偝傟偰偄傟偽丆儕僼儗僢僔儏偡傞丏
if (iRefreshListBox)
{
RefreshListBoxL();
}
//CQ-TRK11550-2 ADD-START PTX824
else if (iRefreshByIterator)
{
RefreshByIteratorL();
}
//CQ-TRK11550-2 ADD-END PTX824
//TRK10139 9/25 end
}
break;
default:
__ASSERT_ALWAYS(EFalse, PANIC(KErrArgument));
break;
}
}
//ADD-START PTX824
else if (aDialog == iSelectionCancelDialog)
{
switch (aDialogResourceId)
{
case R_SELECTION_DIALOG_COM01P018: // CSmbMusicAPFileMgrItemSelectCmd::HandleCancelSelectionsL()
if (aResult == 0) // 慖戰僟僀傾儘僌忋偱乽僉儍儞僙儖偟偰廔椆乿偑慖戰偝傟偨応崌
{
iCmd->HandleViewCommandL(ECmdCancelSelections);
}
else // 慖戰僟僀傾儘僌忋偱乽僉儍儞僙儖偟偰廔椆乿埲奜偑慖戰偝傟偨応崌
{
// 僟僀傾儘僌昞帵拞偵僞僗僋愗懼側偳偱儕僗僩儃僢僋僗偺儕僼儗僢僔儏偑梫媮偝傟偰偄傟偽丆儕僼儗僢僔儏偡傞丏
if (iRefreshListBox)
{
RefreshListBoxL();
}
//CQ-TRK11550-2 ADD-START PTX824
else if (iRefreshByIterator)
{
RefreshByIteratorL();
}
//CQ-TRK11550-2 ADD-END PTX824
}
break;
default:
__ASSERT_ALWAYS(EFalse, PANIC(KErrArgument));
break;
}
}
//ADD-END PTX824
}
// end of SmbMusicAPFileMgrItemSelectView.cpp
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -