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

📄 smbmusicapfilemgrfolderselectcmd.cpp

📁 索爱手机代码
💻 CPP
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*--------------------------------------------------------------------*/
/**
 * @file  SmbMusicAPFileMgrFolderSelectCmd.cpp
 * @brief 儈儏乕僕僢僋僼傽僀儖娗棟僼僅儖僟慖戰View僐儅儞僪僋儔僗
 */
/*--------------------------------------------------------------------*/
//曄峏棜楌
//擔晅          |曄峏幰     |撪梕
//--------------+-----------+-------------------------------------------
//2006/07/04    |SDNA挿旜   |怴婯嶌惉
//2006/07/06    |SDNA挿旜   |儘乕僇儖曄悢柤傪堦晹曄峏 (HandleSetDestFolderL())
//2006/07/09    |SDNA挿旜   |HandleReset()傪Reset()偵柤徧傪曄峏
//2006/07/09    |SDNA挿旜   |HandleBackViewL()傪捛壛
//              |           |  - HandleViewCommandImplL()偐傜HandleBackViewL()傪屇傃弌偡傛偆偵曄峏
//2006/07/13    |SDNA挿旜   |慜夋柺慗堏屻偵儕僼儗僢僔儏偺桳柍傪巜掕偡傞婡擻傪捛壛
//              |           |  - ECmdBackViewWithRefresh僴儞僪儕儞僌偺捛壛 (HandleViewCommandImplL())
//              |           |  - HandleViewCommandL(ECmdBackViewWithRefresh)傪屇傃弌偡傛偆偵曄峏 (NotifyXXXCompleted())
//2006/07/13    |SDNA挿旜   |NotifyReadyFocusItemL()偺廋惓
//              |           |  - ESkonKeyGuidanceSoftKeyRightBottom偵廋惓
//              |           |  - iView.KeyGuidance()->DrawNow()傪屇傃弌偡傛偆偵廋惓
//2006/07/20    |SDNA挿旜   |僼傽僀儖僼僅乕僇僗帪偺僉乕僈僀僟儞僗昞帵張棟偺捛壛 (NotifyReadyFocusItemL())
//2006/08/28    |SDNA挿旜   |僼傽僀儖堏摦(杮懱傊)偵偍偗傞堏摦拞僟僀傾儘僌傪乽BIND僼傽僀儖堏摦拞乿偵曄峏 (TRK7471)
//              |           |  - NotifyRequestMoveOneFileToDbxCompleteL()傪捛壛
//              |           |  - HandleSetDestFolderL()傪廋惓
//2006/09/25    |SDNA挿旜   |僐儅儞僪ID:ECmdPrepareToExit偺張棟傪捛壛 (HandleViewCommandImplL())
//2006/09/27    |SDNA挿旜   |僐儅儞僪ID:ECmdPrepareToExit偺張棟傪嶍彍 (HandleViewCommandImplL())
//2006/10/01    |SDNA挿旜   |捠抦宯僐儅儞僪偺僀儀儞僩僴儞僪儖傪捛壛 (HandleViewCommandImplL())
//2006/10/04    |SDNA挿旜   |僐乕僨傿儞僌婯栺忋偺廋惓
//2006/10/11    |SDNA挿旜   |__ASSERT_DEBUG(EFalse, PANIC(KErrArgument))傪嶍彍 (HandleViewCommandImplL())
//2006/10/16    |SDNA挿旜   |儘僌僒乕僶傪僐儞僗僩儔僋僞偐傜庢摼偟側偄傛偆偵曄峏
//2006/10/25    |SDNA挿旜   |iView傪嶍彍 (僐儞僗僩儔僋僞)
//              |           |  - 昁梫偵墳偠偰iView傪CSmbMusicAPFileMgrFolderSelectView宆偵僗僞僥傿僢僋僉儍僗僩偡傞
//--------------+-----------+-------------------------------------------
//PTX824
//2007/03/19    |SEMC崃绮   |儕僜乕僗嫞崌庢摼幚憰

#include <SmbMusicAPFileMgrExternalInterface.h>

#include "SmbMusicAPFileMgrFolderSelectCmd.h"
#include "SmbMusicAPFileMgr.hrh"
#ifdef __PTX825MUSICAP__								//  825_katsu 伀
#include "SmbMusicAPFileMgrDebugLog.h"
#endif 													// __PTX825MUSICAP__  825_katsu 仾

#include <SmbMusicAPFileMgr.rsg>

#include "SmbMusicAPFileMgrDebugLog.h"

USING_NAMESPACE_SEMCJ

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


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


/**
 * @param[in]		aCommand	僐儅儞僪ID
 */
void CSmbMusicAPFileMgrFolderSelectCmd::HandleViewCommandImplL(TInt aCommand)
	{
	switch(aCommand)
		{
	case ECmdShowSubMenu:
		HandleShowSubMenuL();
		break;
	case ECmdSetDestFolder:
		HandleSetDestFolderL();
		break;
	case ECmdChangeListStyle:
		HandleChangeListStyle();
		break;
	case ECmdPlaySong:
		HandlePlaySongL(EFalse);
		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 ECmdCancel:
		HandleCancelMove();
		break;
	case ECmdReset:
		Reset();
		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;
//CQ-TRK9849 ADD-START PTX824
	//奜晹儊儌儕側偟夋柺傊慗堏
	case ECmdShowExtMemoryView:
		HandleShowExtMemoryView();
		break;
	//儕僜乕僗嫞崌拞惂尷夋柺傊慗堏
	case ECmdShowRequestResourceNGView:
		HandleChangeLocalView(ETypeRequestRecourceNGCategory);
		break;
	//儊儌儕儌乕僪拞惂尷夋柺傊慗堏
	case ECmdShowMemoryModeBusyView:
		HandleChangeLocalView(ETypeMemoryModeBusyCategory);
		break;
	//MTP儌乕僪拞惂尷夋柺傊慗堏
	case ECmdShowMTPModeBusyView:
		HandleChangeLocalView(ETypeMTPModeBusyCategory);
		break;
//CQ-TRK9849 ADD-END PTX824

#ifdef __PTX825MUSICAP__								//  825_katsu 伀
	case ECmdShowMoveSuccessDialog:						/* SD偐傜偺拝怣壒愝掕惉岟僟僀傾儘僌昞帵		*/
		HandleShowMoveSuccessDialogL();
		break;
#endif 													// __PTX825MUSICAP__  825_katsu 仾

	default:
		break;
		}
	}


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

	static_cast<CSmbMusicAPFileMgrFolderSelectView&>(iView).ShowSubMenuL(R_SUBMENU_MP03S010);		// 堏摦愭僼僅儖僟慖戰僒僽儊僯儏乕
	}


/**
 * @panic			EInvalidStatus	CSmbMusicAPFileMgrFolderSelectCmd::iListBoxModel偑NULL偺応崌
 * @note			杮儊僜僢僪傪屇傃弌偡帪揰偱偼丆僼僅乕僇僗偺摉偨偭偰偄傞傾僀僥儉偼弨旛姰椆偱偁傞偙偲丏
 */
void CSmbMusicAPFileMgrFolderSelectCmd::HandleSetDestFolderL(void)
	{
	__ASSERT_ALWAYS(iListBoxModel, PANIC(EInvalidStatus));

	CSmbMusicAPFileSystemComMusicItem* folderItem = iListBoxModel->GetCurrentListL();

//ADD-START PTX824
	// 奜晹儊儌儕敳嫀敪惗僼儔僌傪儕僙僢僩偡傞
	iAppUi.SetHasUnMountedMemory(EFalse);					// 敳嫀敪惗偟偰偄側偄
	// 儕僜乕僗嫞崌敪惗僼儔僌傪儕僙僢僩偡傞
	iAppUi.SetHasResourceNG(EFalse);						//儕僜乕僗嫞崌敪惗偟偰偄側偄
	// 儊儌儕儌乕僪撍擖嵪傒僼儔僌偵僙僢僩偡傞
	iAppUi.SetHasMemoryModeResourceNG(EFalse);
	// MTP儌乕僪撍擖嵪傒僼儔僌偵僙僢僩偡傞
	iAppUi.SetHasMTPModeResourceNG(EFalse);
//ADD-END PTX824
	
	switch (iView.ViewType())
		{
	case ETypeFolderSelectForMoveOneFile:		// 堏摦愭僼僅儖僟慖戰夋柺(僼傽僀儖堏摦(1審))偺応崌
		iController.RequestMoveOneFileL(folderItem);
		break;
	case ETypeFolderSelectForMoveSelectedFiles:	// 堏摦愭僼僅儖僟慖戰夋柺(僼傽僀儖堏摦(慖戰))偺応崌
		iController.RequestMoveSelectedFilesL(folderItem);
		break;
	case ETypeFolderSelectForMoveAllFiles:		// 堏摦愭僼僅儖僟慖戰夋柺(僼傽僀儖堏摦(僼僅儖僟撪))偺応崌
		iController.RequestMoveAllFilesL(folderItem);
		break;
//TRK7471 8/28 start
	case ETypeFolderSelectForMoveOneFileToDbx:	// 堏摦愭僼僅儖僟慖戰夋柺(僼傽僀儖堏摦(杮懱傊))偺応崌
		iController.RequestMoveOneFileToDbxL(folderItem);
		break;
//TRK7471 8/28 end
	default:
		__ASSERT_DEBUG(EFalse, PANIC(EInvalidStatus));
		break;
		}
	}


/**
 * 傾僋僔儑儞僐儞僩儘乕儔偵旕摨婜張棟偺僉儍儞僙儖傪峴偆丏(CSmbMusicAPFileMgrActionController::CancelAction())
 */
void CSmbMusicAPFileMgrFolderSelectCmd::HandleCancelMove(void)
	{
	iController.CancelAction();
	}


/**
 * 傾僋僔儑儞僐儞僩儘乕儔傪儕僙僢僩偡傞丏		
 */
void CSmbMusicAPFileMgrFolderSelectCmd::Reset(void)
	{
	// 傾僋僔儑儞僐儞僩儘乕儔傪儕僙僢僩偡傞
	iController.Reset();
	}


/**
 * @param[in]		aResult				張棟寢壥
 */
void CSmbMusicAPFileMgrFolderSelectCmd::NotifyRequestMoveOneFileCompleteL(TInt /*aResult*/)
	{
	// 慜夋柺偵慗堏偡傞 (慗堏愭偱儕僗僩儃僢僋僗傪儕僼儗僢僔儏偝偣傞)
//MOD-START PTX824
//	HandleViewCommandL(ECmdBackViewWithRefresh);
	iAppUi.AsyncHandleCommand(ECmdBackViewWithRefresh);
//MOD-END PTX824
	}


/**
 * @param[in]		aResult				張棟寢壥
 */
void CSmbMusicAPFileMgrFolderSelectCmd::NotifyRequestMoveSelectedFilesCompleteL(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]		aResult				張棟寢壥
 */
void CSmbMusicAPFileMgrFolderSelectCmd::NotifyRequestMoveAllFilesCompleteL(TInt /*aResult*/)
	{
	// 慜夋柺偵慗堏偡傞 (慗堏愭偱儕僗僩儃僢僋僗傪儕僼儗僢僔儏偝偣傞)
//MOD-START PTX824
//	HandleViewCommandL(ECmdBackViewWithRefresh);
	iAppUi.AsyncHandleCommand(ECmdBackViewWithRefresh);
//MOD-END PTX824
	}


//TRK7471 8/28 start
/**
 * @param[in]		aResult				張棟寢壥
 */
void CSmbMusicAPFileMgrFolderSelectCmd::NotifyRequestMoveOneFileToDbxCompleteL(TInt /*aResult*/)
	{
//ADD-START PTX824
	if (iAppUi.HasUnMountedMemory())	// 堏摦張棟拞偵奜晹儊儌儕敳嫀偝傟偨応崌
		{
		// 奜晹儊儌儕夋柺偵慗堏偡傞
		HandleShowExtMemoryView();
		}
	else if (iAppUi.HasMemoryModeResourceNG())	// 堏摦張棟拞偵儊儌儕儌乕僪偵撍擖偝傟偨応崌
		{
		// 儕僜乕僗嫞崌惂尷夋柺偵慗堏
		OUTPUT_LOG("Call HandleChangeLocalView(ETypeMemoryModeBusyCategory);");
		HandleChangeLocalView(ETypeMemoryModeBusyCategory);
		}
	else if (iAppUi.HasMTPModeResourceNG())	// 堏摦張棟拞偵MTP儌乕僪偵撍擖偝傟偨応崌
		{
		// 儕僜乕僗嫞崌惂尷夋柺偵慗堏
		OUTPUT_LOG("Call HandleChangeLocalView(ETypeMTPModeBusyCategory);");
		HandleChangeLocalView(ETypeMTPModeBusyCategory);
		}
	else if (iAppUi.HasResourceNG())	// 堏摦張棟拞偵SDBind儕僜乕僗夝曻偝傟偨応崌
		{
		// 儕僜乕僗嫞崌惂尷夋柺偵慗堏
		OUTPUT_LOG("Call HandleChangeLocalView(ETypeRequestRecourceNGCategory);");
		HandleChangeLocalView(ETypeRequestRecourceNGCategory);
		}
	else
		{
		// 慜夋柺偵慗堏偡傞 (慗堏愭偱儕僗僩儃僢僋僗傪儕僼儗僢僔儏偝偣傞)
		iAppUi.AsyncHandleCommand(ECmdBackViewWithRefresh);
		}
//ADD-END PTX824
	// 慜夋柺偵慗堏偡傞 (慗堏愭偱儕僗僩儃僢僋僗傪儕僼儗僢僔儏偝偣傞)
//MOD-START PTX824
//	HandleViewCommandL(ECmdBackViewWithRefresh);
//	iAppUi.AsyncHandleCommand(ECmdBackViewWithRefresh);
//MOD-END PTX824
	}
//TRK7471 8/28 end


/**
 * @param[in]		aIndex			弨旛姰椆偲側偭偨Item(僼僅乕僇僗埵抲偺Item)偺Index埵抲
 */
void CSmbMusicAPFileMgrFolderSelectCmd::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))							// 晄姰慡僐儞僥儞僣偱乽側偄乿応崌
			{
			isPlayableSong = ETrue;
			}
		iView.KeyGuidance()->MakeVisibleKey(ESkonKeyGuidanceSoftKeyRightBottom, isPlayableSong);	// 嵞惗僉乕
//CQ-TRK12053 MOD-START PTX824
//		iView.KeyGuidance()->DrawNow();
//CQ-TRK12053 MOD-END PTX824

		delete musicItem;
		}
	}
#ifdef __PTX825MUSICAP__								//  825_katsu 伀
void CSmbMusicAPFileMgrFolderSelectCmd::NotifyRequestCreateSongItemL(TInt /*aResult*/)
	{
	// MusicItem偺惗惉傪峴偆
	TInt result = KErrArgument;

	TRAPD(error, result = iListBoxModel->RequestCreateSongItemL(iSongId));
	if ((KErrNone != error) || (KErrNone != result))
		{
		// 儘僌傪弌椡
		OUTPUT_LOG_MUST("CSmbMusicAPFileMgrFolderSelectCmd::NotifyRequestCreateSongItemL Fail");
		User::Leave(KErrArgument);	
		}
	}

/**
 * 
 */
void CSmbMusicAPFileMgrFolderSelectCmd::HandleShowMoveSuccessDialogL(void)
	{
//	iController.MoveFileStatus(ETrue);
	CloseDialog();
	}
/**
 * 僆僗僗儊愝掕忣曬傪曐桳偡傞儈儏乕僕僢僋傾僀僥儉
 *
 * @param[in]		aMusicItem	儈儏乕僕僢僋傾僀僥儉
 * @param[in]		aImageType	夋憸庬暿
 */
void CSmbMusicAPFileMgrFolderSelectCmd::SetSongId(TUint64 aSongId)
	{
	iSongId = aSongId;
	}

#endif 													// __PTX825MUSICAP__  825_katsu 仾

// end of SmbMusicAPFileMgrCategoryCmd.cpp
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */

⌨️ 快捷键说明

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