⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 smbmusicapfilemgritemselectcmd.cpp

📁 索爱手机代码
💻 CPP
📖 第 1 页 / 共 2 页
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*--------------------------------------------------------------------*/
/**
 * @file  SmbMusicAPFileMgrItemSelectCmd.cpp
 * @brief 儈儏乕僕僢僋僼傽僀儖娗棟傾僀僥儉慖戰View僐儅儞僪僋儔僗
 */
/*--------------------------------------------------------------------*/
//曄峏棜楌
//擔晅			|曄峏幰 	|撪梕
//--------------+-----------+-------------------------------------------
//2006/07/04    |SDNA挿旜   |怴婯嶌惉
//2006/07/06    |SDNA挿旜   |R_SELECTION_DIALOG_MP03P024乣26偐傜R_SELECTION_DIALOG_COM01P018偺曄峏偵敽偆廋惓 (HandleCancelSelectionsL())
//2006/07/08    |SDNA挿旜   |傾僀僥儉慖戰帪偵埲壓偺張棟傪捛壛 (NotifyConfirmSelectionItemL())
//              |           |  - 慖戰審悢挻夁偺敾掕
//              |           |  - 僼傽僀儖嶍彍偺応崌丆懠婡擻愝掕桳柍偺敾掕
//2006/07/08    |SDNA挿旜   |廔榖僉乕墴壓偵傛傞暋悢崁栚慖戰偺拞抐帪偵傾僾儕傪廔椆偱偒傞傛偆偵廋惓
//              |           |  - HandleViewOnHookL()偺嵞掕媊
//              |           |  - 廔榖僉乕墴壓僀儀儞僩桳柍僼儔僌(iHandlesViewOnHook)偺捛壛
//2006/07/09    |SDNA挿旜   |HandleReset()傪Reset()偵柤徧傪曄峏
//2006/07/09    |SDNA挿旜   |HandleBackViewL()傪捛壛
//2006/07/13    |SDNA挿旜   |慜夋柺慗堏屻偵儕僼儗僢僔儏偺桳柍傪巜掕偡傞婡擻傪捛壛
//              |           |  - ECmdBackViewWithRefresh僴儞僪儕儞僌偺捛壛 (HandleViewCommandImplL())
//              |           |  - HandleViewCommandL(ECmdBackViewWithRefresh)傪屇傃弌偡傛偆偵曄峏 (NotifyXXXCompleted())
//2006/07/13    |SDNA挿旜   |Reset()偵傾僋僔儑儞僐儞僩儘乕儔儕僙僢僩(iController.Reset())傪捛壛
//2006/07/15    |SDNA挿旜   |僼傽僀儖堦棗夋柺偵慗堏帪偵慗堏愭偺儕僗僩儃僢僋僗傪儕僼儗僢僔儏偡傞傛偆偵曄峏
//2006/07/20    |SDNA挿旜   |僼傽僀儖僼僅乕僇僗帪偺僉乕僈僀僟儞僗昞帵張棟偺捛壛 (NotifyReadyFocusItemL())
//2006/07/24    |SDNA挿旜   |TRK4792偺廋惓 (僉儍儞僙儖妋擣僟僀傾儘僌昞帵拞偵廔榖僉乕傪墴壓偟偰傕傾僾儕廔椆偟側偄栤戣傪廋惓)
//2006/07/27    |SDNA挿旜   |廔榖僉乕墴壓帪偵僞僗僋廔椆偡傞傛偆偵廋惓 (TRK4979)
//              |           |  - HandleViewOnHookL()傪廋惓
//2006/07/28    |SDNA挿旜   |奜晹儊儌儕敳嫀帪丆乽奜晹儊儌儕側偟夋柺乿偵慗堏偡傞傛偆偵廋惓 (TRK5162)
//2006/08/04    |SDNA挿旜   |堏摦愭僼僅儖僟慖戰夋柺偵慗堏幐攕帪偵偍偗傞CleanupStack張棟傪廋惓 (HandleApplySelectionsL())
//2006/08/10    |SDNA挿旜   |奜晹儊儌儕忋偺巕婲摦傾僾儕昞帵拞偵丆奜晹儊儌儕敳嫀屻偵儊儌儕側偟夋柺偵慗堏偡傞張棟傪捛壛 (TRK5992)
//2006/09/01    |SDNA挿旜   |TRK5537偵傛傞TSmbMusicAPFileMgrViewType偺曄峏偵懳墳
//              |           |  - HandleApplySelectionsL(), HandleCancelSelectionsL(), NotifyConfirmSelectionItemL()傪曄峏
//2006/09/06    |SDNA挿旜   |嶍彍/堏摦拞抐屻偺張棟嵪審悢傪庢摼偡傞偨傔丆儕僗僩偺傾僀僥儉悢傪庢摼偡傞傛偆曄峏 (TRK7331,7356)
//              |           |  - CSmbMusicAPFileMgrActionController偵iListBoxModel傪搉偡傛偆偵曄峏
//2006/09/16    |SDNA挿旜   |儘僌弌椡張棟偺曄峏
//2006/09/22    |SDNA挿旜   |奜晹儊儌儕敳嫀帪丆堦嬋嵞惗僾儗僀儎乕傪廔椆偝偣側偄傛偆偵曄峏 (HandleViewCommandImplL()) (TRK7272)
//2006/09/25    |SDNA挿旜   |僐儅儞僪ID:ECmdPrepareToExit偺張棟傪捛壛 (HandleViewCommandImplL())
//2006/09/26    |SDNA挿旜   |傾僾儕働乕僔儑儞View昞帵僞僀僾偺曄峏偵懳墳
//              |           |  - HandleViewCommandImplL(), HandleApplySelectionsL(), HandleCancelSelectionsL()傪廋惓
//2006/10/01    |SDNA挿旜   |捠抦宯僐儅儞僪偺僀儀儞僩僴儞僪儖傪HandleNotifyCommandL()偱峴偆傛偆偵曄峏
//              |           |  - HandleViewCommandImplL()傪廋惓
//2006/10/03    |SDNA挿旜   |SmbMusicAPFileMgrCmdBase偵HandleShowExtMemoryView()偑捛壛偝傟偨偙偲傊偺懳墳
//              |           |  - HandleViewCommandImplL()傪廋惓
//2006/10/04    |SDNA挿旜   |僐乕僨傿儞僌婯栺忋偺廋惓
//2006/10/06    |SDNA挿旜   |奜晹儊儌儕忋僼傽僀儖憖嶌拞偵儊儌儕敳嫀屻偵丆張棟拞抐僟僀傾儘僌昞帵屻偵夋柺慗堏偡傞傛偆廋惓
//              |           |  - HandleApplySelectionsL(), NotifyRequestDeleteSelectedFilesCompleteL()傪廋惓
//2006/10/11    |SDNA挿旜   |__ASSERT_DEBUG(EFalse, PANIC(KErrArgument))傪嶍彍 (HandleViewCommandImplL())
//2006/10/12    |SDNA挿旜   |儕僗僩儃僢僋僗偺昞帵傪堦帪掆巭偡傞偙偲偱張棟懍搙偺岦忋傪恾傞
//              |           |  - HandleApplySelectionsL()傪廋惓
//2006/10/16    |SDNA挿旜   |儘僌僒乕僶傪僐儞僗僩儔僋僞偐傜庢摼偟側偄傛偆偵曄峏
//2006/10/25    |SDNA挿旜   |iView傪嶍彍 (僐儞僗僩儔僋僞)
//              |           |  - 昁梫偵墳偠偰iView傪CSmbMusicAPFileMgrItemSelectView宆偵僗僞僥傿僢僋僉儍僗僩偡傞
//--------------+-----------+-------------------------------------------
//PTX824
//2007/03/19    |SEMC崃绮   |儕僜乕僗嫞崌庢摼幚憰
//2007/03/19    |SEMC崃绮   |儕僜乕僗嫞崌拞偺惂尷夋柺幚憰
//2007/03/26    |SEMC崃绮   |嵞惗惂尷柍岠僐儞僥儞僣偵懳偡傞憖嶌傪幚憰

#include <SmbMusicAPFileMgrExternalInterface.h>
#include <SmbMusicAPSinglePlayerExternalInterface.h>

#include "SmbMusicAPFileMgrItemSelectCmd.h"
#include "SmbMusicAPFileMgrDebugLog.h"
#include "SmbMusicAPFileMgr.hrh"

#include <SmbMusicAPFileMgr.rsg>

USING_NAMESPACE_SEMCJ

/**
 * @param[in]		aAppUi				傾僾儕働乕僔儑儞UI
 * @param[in]		aView				傾僾儕働乕僔儑儞價儏乕
 * @param[in]		aController			傾僋僔儑儞僐儞僩儘乕儔
 */
CSmbMusicAPFileMgrItemSelectCmd::CSmbMusicAPFileMgrItemSelectCmd(CSmbMusicAPFileMgrAppUi& aAppUi,
                                                                 CSmbMusicAPFileMgrItemSelectView& aView,
                                                                 CSmbMusicAPFileMgrActionController& aController)
	:CSmbMusicAPFileMgrListCmd(aAppUi, aView, aController), iHandlesViewOnHook(EFalse)
	{
	//
	}

/**
 * @note 嬻幚憰偱偡
 */
CSmbMusicAPFileMgrItemSelectCmd::~CSmbMusicAPFileMgrItemSelectCmd()
	{
	//
	}


/**
 * @param[in]		aCommand		僐儅儞僪ID
 */
void CSmbMusicAPFileMgrItemSelectCmd::HandleViewCommandImplL(TInt aCommand)
	{
	switch(aCommand)
		{
	case ECmdShowSubMenu:
		HandleShowSubMenuL();
		break;
	case ECmdConfirmApplySelections:
		HandleApplySelectionsL(ETrue);
		break;
	case ECmdApplySelections:
		HandleApplySelectionsL(EFalse);
		break;
	case ECmdConfirmCancelSelections:	// 僋儕傾僉乕墴壓/僒僽儊僯儏乕偺乽慖戰拞巭乿墴壓偺応崌 (廔榖僉乕埲奜偺応崌)
		// 榖廔僉乕墴壓偱側偄偺偱丆iHandlesViewOnHook傪柍岠偵偡傞
		iHandlesViewOnHook = EFalse;				
		HandleCancelSelectionsL(ETrue);
		break;
	case ECmdCancelSelections:
		HandleCancelSelectionsL(EFalse);
		break;
//ADD-START PTX824
	case ECmdCurrentSelection:
		HandleSelectCurrentItemL();
		break;
//ADD-END PTX824
	case ECmdCancelCurrentSelection:
		break;
	case ECmdPlaySong:
		HandlePlaySongL(EFalse);
		break;
	case ECmdShowDetailInfo:
		HandleShowSongInfoL();
		break;
	case ECmdBackView:
		HandleBackViewL();
		break;
	case ECmdBackViewWithRefresh:
		HandleBackViewL(ETrue);
		break;
//CQ-TRK11550 ADD-START PTX824
#ifndef __SMBMUSICAPFILEMGR_CQTRK11550_ENABLE__
	// 儕僗僩BOX偺昞帵偲僼僅乕僇僗偺儕僼儗僢僔儏僐儅儞僪
	case ECmdBackViewWithRefreshAndFocusItem:
		HandleBackRefreshAndFocusItemL();
		break;
#endif
//CQ-TRK11550 ADD-END PTX824
	case ECmdShowExtMemoryView:
		HandleShowExtMemoryView();
		break;
	case ECmdNotifyMountedMs:
	case ECmdNotifyMountingMs:
	case ECmdNotifyUnMountedMs:
	case ECmdNotifyErrorMs:
	case ECmdNotifyUpdatingDbMs:
	case ECmdNotifyMountedSd:
	case ECmdNotifyMountingSd:
	case ECmdNotifyUnMountedSd:
	case ECmdNotifyErrorSd:
	case ECmdNotifyUpdatingDbSd:
	case ECmdNotifyUpdatingDbMass:
//ADD-START PTX824
	case ECmdNotifyReleaseSDBindResource:
	case ECmdNotifyReleaseMemoryModeResource:
	case ECmdNotifyReleaseMTPModeResource:
	//儊儌儕儌乕僪拞捠抦
	case ECmdNotifyErrorCommsBreakSd:
//ADD-END PTX824
		HandleNotifyCommand(aCommand);
		break;
	case ECmdCancel:
		HandleCancelDelete();
		break;
	case ECmdReset:
		Reset();
		break;
//ADD-START PTX824
//810TRK12786-START 
	//抂枛僋儘乕僘帪
	case ECmdChangeCaseClosed:
		//慖戰億僢僾傾僢僾偺傒僋儘乕僘
		iView.CloseSelectionDialog();
		break;
//810TRK12786-END
//ADD-END PTX824
//ADD-START PTX824
	//儕僜乕僗嫞崌拞夋柺昞帵
	case ECmdShowRequestResourceNGView:
		//SDBind儕僜乕僗夝曻
//		iAppUi.ReleaseSDBindResourceL();
		HandleChangeLocalView(ETypeRequestRecourceNGCategory);
		break;
	//儊儌儕儌乕僪拞惂尷夋柺傊慗堏
	case ECmdShowMemoryModeBusyView:
		//慡儌乕僪儕僜乕僗夝曻
//		iAppUi.ReleaseAllResourceL();
		HandleChangeLocalView(ETypeMemoryModeBusyCategory);
		break;
	//MTP儌乕僪拞惂尷夋柺傊慗堏
	case ECmdShowMTPModeBusyView:
		//慡儌乕僪儕僜乕僗夝曻
//		iAppUi.ReleaseAllResourceL();
		HandleChangeLocalView(ETypeMTPModeBusyCategory);
		break;
//ADD-END PTX824
	default:
		break;
		}
	}


/**
 * 廔榖僉乕墴壓偺偨傔丆(慖戰嵪傒偺応崌)僉儍儞僙儖妋擣僟僀傾儘僌傪昞帵偟偰丆妋擣屻偵傾僾儕傪廔椆偝偣傞丏
 */
void CSmbMusicAPFileMgrItemSelectCmd::HandleViewOnHookL(void)
	{
//TRK4792 7/24 start
	// 僟僀傾儘僌枹昞帵偺応崌偼丆僉儍儞僙儖妋擣僟僀傾儘僌傪昞帵偡傞丏
//CQ-TRK11456 MOD-START PTX824
//	if (iView.DialogResourceId() == 0)
	if (R_SELECTION_DIALOG_COM01P018 != iView.DialogResourceId())
//CQ-TRK11456 MOD-END PTX824
		{
//CQ-TRK11456 ADD-START PTX824
		//億僢僾傾僢僾僋儘乕僘
		iView.CloseDialog();
//CQ-TRK11456 ADD-END PTX824
//TRK4792 7/24 end
		iHandlesViewOnHook = ETrue;		// HandleCancelSelectionsL(EFalse)偱丆傾僾儕傪廔椆偝偣傞偨傔
	
		HandleCancelSelectionsL(ETrue);
//TRK4792 7/24 start
		}
	// 僟僀傾儘僌昞帵拞偺応崌偼丆傾僾儕傪廔椆偡傞丏
	else
		{
		// 傾僾儕傪廔椆偡傞
//TRK4979 7/27 start
		iController.HandleViewOnHook();		// 僐儞僩儘乕儔偵廔榖僉乕僀儀儞僩傪捠抦偡傞
//TRK4979 7/27 end
		CSmbMusicAPFileMgrCmdBase::HandleViewOnHookL();
		}
//TRK4792 7/24 end
	}


/**
 * @panic			EInvalidStatus	CSmbMusicAPFileMgrFileCmd::iListBoxModel偑NULL偺応崌
 */
void CSmbMusicAPFileMgrItemSelectCmd::HandleShowSubMenuL(void)
	{
	__ASSERT_ALWAYS(iListBoxModel, PANIC(EInvalidStatus));

	// 僼僅乕僇僗偝傟偨傾僀僥儉偑弨旛姰椆偝傟傞傑偱僉乕僈僀僟儞僗傪昞帵偝偣側偄丏
	if (iListBoxModel->Count() > 0 && !iReadyFocusedItem)
		{
		return;
		}

	static_cast<CSmbMusicAPFileMgrItemSelectView&>(iView).ShowSubMenuL(R_SUBMENU_MP03S006);		// 暋悢崁栚慖戰夋柺僒僽儊僯儏乕
	}


/**
 * @param[in]		aShowDialog		嶍彍/堏摦妋擣僟僀傾儘僌昞帵僼儔僌丏(ETrue: 昞帵偡傞 / EFalse: 昞帵偟側偄)
 * @panic			EInvalidStatus	CSmbMusicAPFileMgrFileCmd::iListBoxModel偑NULL偺応崌
 * @note			杮儊僜僢僪傪屇傃弌偡帪揰偱偼丆僼僅乕僇僗偺摉偨偭偰偄傞傾僀僥儉偼弨旛姰椆偱偁傞偙偲丏
 */
void CSmbMusicAPFileMgrItemSelectCmd::HandleApplySelectionsL(TBool aShowDialog)
	{
	__ASSERT_ALWAYS(iListBoxModel, PANIC(EInvalidStatus));

	// 嶍彍/堏摦妋擣僟僀傾儘僌昞帵偺応崌丆僟僀傾儘僌傪昞帵偡傞丏
	if (aShowDialog)
		{
		TInt count = iListBoxModel->SelectedCount();
		switch (iView.ViewType())
			{
		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
			iView.ShowSelectionDialogL(R_SELECTION_DIALOG_MP03P009, count);
			break;
		case ETypeMoveFileSelections:				// 僼傽僀儖堏摦
			iView.ShowSelectionDialogL(R_SELECTION_DIALOG_MP03P027, count);
			break;
		case ETypeDeleteFolderSelections:			// 僼僅儖僟嶍彍
			iView.ShowSelectionDialogL(R_SELECTION_DIALOG_MP03P016);
			break;
		default:
			__ASSERT_DEBUG(EFalse, PANIC(EInvalidStatus));
			break;
			}
		}
	// 嶍彍/堏摦妋擣僟僀傾儘僌昞帵嵪傒偺応崌丆儕僗僩儃僢僋僗儌僨儖偐傜慖戰嵪傾僀僥儉傪庢摼偟丆嶍彍/堏摦幚峴丏
	else
		{
		// 奜晹儊儌儕敳嫀敪惗僼儔僌傪儕僙僢僩偡傞
		iAppUi.SetHasUnMountedMemory(EFalse);					// 敳嫀敪惗偟偰偄側偄
//ADD-START PTX824
		// 儕僜乕僗嫞崌敪惗僼儔僌傪儕僙僢僩偡傞
		iAppUi.SetHasResourceNG(EFalse);						//儕僜乕僗嫞崌敪惗偟偰偄側偄

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -