📄 smbmusicapfilemgritemselectcmd.cpp
字号:
// 儊儌儕儌乕僪撍擖嵪傒僼儔僌偵僙僢僩偡傞
iAppUi.SetHasMemoryModeResourceNG(EFalse);
// MTP儌乕僪撍擖嵪傒僼儔僌偵僙僢僩偡傞
iAppUi.SetHasMTPModeResourceNG(EFalse);
//ADD-END PTX824
// 慖戰嵪傾僀僥儉傪庢摼偡傞
RPointerArray<CSmbMusicAPFileSystemComMusicItem>* musicItemArray = new(ELeave) RPointerArray<CSmbMusicAPFileSystemComMusicItem>;
CleanupStack::PushL(musicItemArray);
iListBoxModel->GetItemSelectionsL(*musicItemArray);
CleanupStack::Pop(musicItemArray);
TInt result;
switch (iView.ViewType())
{
case ETypeDeleteMassFileSelections: // 僼傽僀儖嶍彍
case ETypeDeleteDbxFileSelections: // 僼傽僀儖嶍彍
case ETypeDeleteMsMsaFileSelections: // 僼傽僀儖嶍彍
case ETypeDeleteMsMp3FileSelections: // 僼傽僀儖嶍彍
case ETypeDeleteSdImotionFileSelections: // 僼傽僀儖嶍彍
case ETypeDeleteSdMp3FileSelections: // 僼傽僀儖嶍彍
//ADD-START PTX824
case ETypeDeleteMassWMAFileSelections: // 僼傽僀儖嶍彍
case ETypeDeleteMassMsaFileSelections: // 僼傽僀儖嶍彍
case ETypeDeleteSdWMAFileSelections: // 僼傽僀儖嶍彍
case ETypeDeleteSdMsaFileSelections: // 僼傽僀儖嶍彍
//ADD-END PTX824
// 僼傽僀儖嶍彍傪幚峴偡傞
iController.RequestDeleteSelectedFilesL(musicItemArray, iListBoxModel);
break;
case ETypeMoveFileSelections: // 僼傽僀儖堏摦
// 堏摦懳徾偺僼傽僀儖傪搊榐偡傞
iController.SetTargetItemSelections(musicItemArray, iListBoxModel);
// 堏摦愭僼僅儖僟慖戰夋柺偵慗堏偡傞
result = ChangeLocalView(ETypeFolderSelectForMoveSelectedFiles);
if (result == KErrNone)
{
OUTPUT_LOG1_MUST("CSmbMusicAPFileMgrCmdBase::ChangeLocalView(%d)", ETypeFolderSelectForMoveSelectedFiles);
//MOD-END PTX824
// static_cast<CSmbMusicAPFileMgrItemSelectView&>(iView).SuspendListBox(); // 儕僗僩儃僢僋僗偺昞帵張棟傪堦帪拞抐偡傞丏(昞帵惈擻岦忋偺偨傔)
static_cast<CSmbMusicAPFileMgrItemSelectView&>(iView).ClearDisplayL(); // 儕僗僩儃僢僋僗偺昞帵傪僋儕傾
//MOD-END PTX824
}
else
{
OUTPUT_LOG2_ERROR("CSmbMusicAPFileMgrCmdBase::ChangeLocalView(%d): %d", ETypeFolderSelectForMoveSelectedFiles, result);
// 儕乕僽張棟
User::Leave(result);
}
break;
case ETypeDeleteFolderSelections: // 僼僅儖僟嶍彍
// 僼僅儖僟嶍彍傪幚峴偡傞
iController.RequestDeleteSelectedFoldersL(musicItemArray, iListBoxModel);
break;
default:
break;
}
}
}
/**
* 暋悢崁栚慖戰拞偵拞巭憖嶌(拞巭/僋儕傾/廔榖僉乕墴壓)偟偨応崌丆慖戰僟僀傾儘僌傪昞帵偡傞丏
*
* @param[in] aShowDialog 嶍彍/堏摦僉儍儞僙儖僟僀傾儘僌昞帵僼儔僌丏(ETrue: 昞帵偡傞 / EFalse: 昞帵偟側偄)
* @panic EInvalidStatus CSmbMusicAPFileMgrFileCmd::iListBoxModel偑NULL偺応崌
* @note 杮儊僜僢僪傪屇傃弌偡帪揰偱偼丆僼僅乕僇僗偺摉偨偭偰偄傞傾僀僥儉偼弨旛姰椆偱偁傞偙偲丏
*/
void CSmbMusicAPFileMgrItemSelectCmd::HandleCancelSelectionsL(TBool aShowDialog)
{
__ASSERT_ALWAYS(iListBoxModel, PANIC(EInvalidStatus));
// 嶍彍/堏摦僉儍儞僙儖僟僀傾儘僌昞帵偐偮慖戰嵪審悢偑1審埲忋偱偁傞応崌丆慖戰僟僀傾儘僌傪昞帵偡傞丏
if (aShowDialog && (iListBoxModel->SelectedCount() > 0))
{
// 嶍彍/堏摦僉儍儞僙儖僟僀傾儘僌傪昞帵偡傞
TInt resourceId = 0;
switch (iView.ViewType())
{
case ETypeDeleteDbxFileSelections: // 僼傽僀儖嶍彍
case ETypeDeleteMassFileSelections: // 僼傽僀儖嶍彍
case ETypeDeleteMsMsaFileSelections: // 僼傽僀儖嶍彍
case ETypeDeleteMsMp3FileSelections: // 僼傽僀儖嶍彍
case ETypeDeleteSdImotionFileSelections: // 僼傽僀儖嶍彍
case ETypeDeleteSdMp3FileSelections: // 僼傽僀儖嶍彍
case ETypeMoveFileSelections: // 僼傽僀儖堏摦
case ETypeDeleteFolderSelections: // 僼僅儖僟嶍彍
//ADD-START PTX824
case ETypeDeleteMassWMAFileSelections: // 僼傽僀儖嶍彍
case ETypeDeleteMassMsaFileSelections: // 僼傽僀儖嶍彍
case ETypeDeleteSdWMAFileSelections: // 僼傽僀儖嶍彍
case ETypeDeleteSdMsaFileSelections: // 僼傽僀儖嶍彍
//ADD-END PTX824
resourceId = R_SELECTION_DIALOG_COM01P018;
break;
default:
__ASSERT_DEBUG(EFalse, PANIC(EInvalidStatus));
break;
}
//MOD-START PTX824
// iView.ShowSelectionDialogL(resourceId);
iView.ShowSelectionCancelDialogL(resourceId);
//MOD-END PTX824
}
// 嶍彍/堏摦妋擣僟僀傾儘僌昞帵嵪傒丆偍傛傃慖戰嵪審悢偑0審偺応崌丆慜夋柺偵慗堏偡傞丏
else
{
// 傾僋僔儑儞僐儞僩儘乕儔偵搊榐偟偨儈儏乕僕僢僋傾僀僥儉側偳傪嶍彍偡傞
iController.CancelAction();
if (iHandlesViewOnHook)
{
// 傾僾儕傪廔椆偡傞
CSmbMusicAPFileMgrCmdBase::HandleViewOnHookL();
}
else
{
// 僼傽僀儖堦棗夋柺偵慗堏偡傞 (慗堏愭偱儕僗僩儃僢僋僗傪儕僼儗僢僔儏偝偣傞)
//MOD-START PTX824
// HandleViewCommandL(ECmdBackViewWithRefresh);
iAppUi.AsyncHandleCommand(ECmdBackViewWithRefresh);
//MOD-END PTX824
}
}
}
/**
* 傾僋僔儑儞僐儞僩儘乕儔偵旕摨婜張棟偺僉儍儞僙儖傪峴偆丏(CSmbMusicAPFileMgrActionController::CancelAction())
*/
void CSmbMusicAPFileMgrItemSelectCmd::HandleCancelDelete(void)
{
iController.CancelAction();
}
/**
* 儊儞僶曄悢偍傛傃傾僋僔儑儞僐儞僩儘乕儔傪儕僙僢僩偡傞丏
* @note 懠偺價儏乕偵慗堏偡傞嵺偵偼丆杮儊僜僢僪傪屇傃弌偟儊儞僶曄悢傪弶婜壔偡傞偙偲
*/
void CSmbMusicAPFileMgrItemSelectCmd::Reset(void)
{
iHandlesViewOnHook = EFalse;
// 傾僋僔儑儞僐儞僩儘乕儔傪儕僙僢僩偡傞
iController.Reset();
}
/**
* @param[in] aResult 張棟寢壥
*/
void CSmbMusicAPFileMgrItemSelectCmd::NotifyRequestDeleteSelectedFilesCompleteL(TInt /*aResult*/)
{
if (iAppUi.HasUnMountedMemory()) // 嶍彍張棟拞偵奜晹儊儌儕敳嫀偝傟偨応崌
{
// 奜晹儊儌儕夋柺偵慗堏偡傞
HandleShowExtMemoryView();
}
//ADD-START PTX824
else if (iAppUi.HasMemoryModeResourceNG()) // 嶍彍張棟拞偵儊儌儕儌乕僪偵撍擖偝傟偨応崌
{
// 儊儌儕儌乕僪惂尷夋柺偵慗堏
OUTPUT_LOG("Call HandleChangeLocalView(ETypeMemoryModeBusyCategory);");
HandleChangeLocalView(ETypeMemoryModeBusyCategory);
}
else if (iAppUi.HasMTPModeResourceNG()) // 嶍彍張棟拞偵MTP儌乕僪偵撍擖偝傟偨応崌
{
// MTP儌乕僪惂尷夋柺偵慗堏
OUTPUT_LOG("Call HandleChangeLocalView(ETypeMTPModeBusyCategory);");
HandleChangeLocalView(ETypeMTPModeBusyCategory);
}
else if (iAppUi.HasResourceNG()) // 嶍彍張棟拞偵SDBind儕僜乕僗夝曻偝傟偨応崌
{
// 儕僜乕僗嫞崌惂尷夋柺偵慗堏
OUTPUT_LOG("Call HandleChangeLocalView(ETypeRequestRecourceNGCategory);");
HandleChangeLocalView(ETypeRequestRecourceNGCategory);
}
//ADD-END PTX824
else
{
// 慜夋柺偵慗堏偡傞 (慗堏愭偱儕僗僩儃僢僋僗傪儕僼儗僢僔儏偝偣傞)
//MOD-START PTX824
// HandleViewCommandL(ECmdBackViewWithRefresh);
//CQ-TRK11550 MOD-START PTX824
#ifndef __SMBMUSICAPFILEMGR_CQTRK11550_ENABLE__
// 儕僗僩BOX偺昞帵偲僼僅乕僇僗偺儕僼儗僢僔儏僐儅儞僪敪峴
iAppUi.AsyncHandleCommand(ECmdBackViewWithRefreshAndFocusItem);
#else
iAppUi.AsyncHandleCommand(ECmdBackViewWithRefresh);
#endif
//CQ-TRK11550 MOD-END PTX824
//MOD-END PTX824
}
}
/**
* @param[in] aResult 張棟寢壥
*/
void CSmbMusicAPFileMgrItemSelectCmd::NotifyRequestMoveSelectedFilesCompleteL(TInt /*aResult*/)
{
// 慜夋柺偵慗堏偡傞 (慗堏愭偱儕僗僩儃僢僋僗傪儕僼儗僢僔儏偝偣傞)
//MOD-START PTX824
// HandleViewCommandL(ECmdBackViewWithRefresh);
//CQ-TRK11550 MOD-START PTX824
#ifdef __SMBMUSICFILEMGR_CQTRK11550_ENABLE__
iAppUi.AsyncHandleCommand(ECmdBackViewWithRefreshAndFocusItem);
#else
iAppUi.AsyncHandleCommand(ECmdBackViewWithRefresh);
#endif
//CQ-TRK11550 MOD-END PTX824
//MOD-END PTX824
}
/**
* @param[in] aResult 張棟寢壥
*/
void CSmbMusicAPFileMgrItemSelectCmd::NotifyRequestDeleteSelectedFoldersCompleteL(TInt /*aResult*/)
{
// 慜夋柺偵慗堏偡傞 (慗堏愭偱儕僗僩儃僢僋僗傪儕僼儗僢僔儏偝偣傞)
//MOD-START PTX824
// HandleViewCommandL(ECmdBackViewWithRefresh);
//CQ-TRK11550 MOD-START PTX824
#ifndef __SMBMUSICAPFILEMGR_CQTRK11550_ENABLE__
// 儕僗僩BOX偺昞帵偲僼僅乕僇僗偺儕僼儗僢僔儏僐儅儞僪敪峴
iAppUi.AsyncHandleCommand(ECmdBackViewWithRefreshAndFocusItem);
#else
iAppUi.AsyncHandleCommand(ECmdBackViewWithRefresh);
#endif
//CQ-TRK11550 MOD-END PTX824
//MOD-END PTX824
}
/**
* @param[in] aIndex 弨旛姰椆偲側偭偨Item(僼僅乕僇僗埵抲偺Item)偺Index埵抲
*/
void CSmbMusicAPFileMgrItemSelectCmd::NotifyReadyFocusItemL(TInt aIndex)
{
CSmbMusicAPFileMgrListCmd::NotifyReadyFocusItemL(aIndex);
// 僼僅乕僇僗偝傟偨傾僀僥儉偑僼傽僀儖(嬋)偱偁傝丆UIM揔崌偐偮姰慡僐儞僥儞僣偱偁傟偽乽嵞惗乿僉乕傪昞帵偡傞
if (iReadyFocusedItem)
{
TBool isPlayableSong = EFalse;
CSmbMusicAPFileSystemComMusicItem* musicItem = iListBoxModel->GetCurrentItemL();
if (musicItem != NULL
&& musicItem->ItemType() == ESmbMusicMWLibItemTypeSong // 僼傽僀儖偺応崌
&& IsUimConformityFile(musicItem) // UIM揔崌僼傽僀儖偺応崌
&& !IsIncompleteFile(musicItem) // 晄姰慡僐儞僥儞僣偱乽側偄乿応崌
//ADD-START PTX824
&& !IsLimitInvalidationFile(musicItem)) // 嵞惗惂尷柍岠僐儞僥儞僣偱乽側偄乿応崌丂824偱捛壛
//ADD-END PTX824
{
isPlayableSong = ETrue;
}
iView.KeyGuidance()->MakeVisibleKey(ESkonKeyGuidanceSoftKeyRightBottom, isPlayableSong); // 嵞惗僉乕
//CQ-TRK12053 DEL-START PTX824
// iView.KeyGuidance()->DrawNow();
//CQ-TRK12053 DEL-END PTX824
delete musicItem;
}
}
/**
* @param[in] aMusicItem 妋擣懳徾儈儏乕僕僢僋傾僀僥儉
* @retval ETrue 慖戰嫋壜
* @retval EFalse 慖戰嫅斲
*/
TBool CSmbMusicAPFileMgrItemSelectCmd::NotifyConfirmSelectionItemL(const CSmbMusicAPFileSystemComMusicItem& aMusicItem)
{
// 慖戰審悢挻夁偲側傞応崌(偡偱偵嵟戝審悢偑慖戰偝傟偨応崌)丆寈崘僟僀傾儘僌(慖戰審悢挻夁)傪昞帵偟慖戰傪柍岠偵偡傞丏
if (iListBoxModel->SelectedCount() >= KSmbMusicAPFileMgrMaxNumOfSeletectedItems)
{
iView.ShowWarningDialogL(R_WARNING_DIALOG_MP03P028);
return EFalse;
}
// 僼傽僀儖嶍彍偺応崌丆慖戰偝傟偨僼傽僀儖偑懠婡擻偵愝掕嵪傒偱偁傟偽丆慖戰僟僀傾儘僌(懠婡擻愝掕(慖戰堏摦丒嶍彍)傪昞帵偡傞丏
if (iView.ViewType() == ETypeDeleteDbxFileSelections
&& const_cast<CSmbMusicAPFileSystemComMusicItem&>(aMusicItem).IsSettingInfoL())
{
iView.ShowSelectionDialogL(R_SELECTION_DIALOG_MP03P032); // 懠婡擻愝掕(慖戰嶍彍)僟僀傾儘僌偱妋擣偡傞
return EFalse;
}
return ETrue;
}
/**
* @param[in] aCount 慖戰嵪傒Item悢
*/
void CSmbMusicAPFileMgrItemSelectCmd::NotifyChangedItemSelectionsL(TInt aCount)
{
static_cast<CSmbMusicAPFileMgrItemSelectView&>(iView).SetSelectedItemCountL(aCount);
}
// end of SmbMusicAPFileMgrCategoryCmd.cpp
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -