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

📄 smbmusicapfilemgrfileview.cpp

📁 索爱手机代码
💻 CPP
📖 第 1 页 / 共 5 页
字号:
				case R_SELECTION_DIALOG_MP02P010:
					// 乽僆僗僗儊愝掕乿堦棗夋柺傪昞帵偡傞
					iCmd->HandleViewCommandL(ECmdSetPartSong);
					return;
					break;

//UPDETA Start PTX825 CQ-TRK D_82400015433 
//				case R_SELECTION_DIALOG_MP02P029:
				case R_SELECTION_DIALOG_MP02P031:
//UPDETA End PTX825 CQ-TRK D_82400015433 
					// 杮懱傊偺堏峴OK
					//僉儍儞僙儖張棟敪惗
					// 價儏乕僐儅儞僪偵儕僙僢僩巜帵傪峴偆
					iCmd->HandleViewCommandL(ECmdHandleReset);
					// 埲崀丆僼儗乕儉儚乕僋偐傜廔椆張棟偑峴傢傟傞
					return;
					break;
#endif													// __PTX825MUSICAP__ katsu 仾

				default:
					break;
					}
				}
//ADD-END PTX824
//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
			// 價儏乕僐儅儞僪偵儕僙僢僩巜帵傪峴偆
			iCmd->HandleViewCommandL(ECmdReset);
			}
		}
	// 僋儘乕僘偟偨僟僀傾儘僌偑妋擣僟僀傾儘僌偺応崌
	else if (aDialog == iConfirmDialog)
		{
//TRK10224 9/26 start
		// 傾僾儕偑廔椆偡傞応崌丆儊僀儞僾儗僀儎乕傪婲摦偟側偄丏
		if (aResult != CSkonDialogBase::EClearKey)	// 傾僾儕偑廔椆偟側偄応崌
			{
//TRK10224 9/26 start
			switch (aDialogResourceId)
				{
			case R_CONFIRM_DIALOG_MP01P041:					// CSmbMusicAPFileMgrFileCmd::HandleStartPlayerModeL()
				iCmd->HandleViewCommandL(ECmdStartPlayerMode);
				break;

#ifdef __PTX825MUSICAP__									//  825_katsu 伀
			case R_CONFIRM_DIALOG_MP02P030_1:
				// 價儏乕僐儅儞僪偵儕僙僢僩巜帵傪峴偆
				iCmd->HandleViewCommandL(ECmdSelectCallEnd);
//DELETE Start PTX825 CQ-TRK D_82400012098懳墳
//				// 僟僀傾儘僌昞帵拞偵僞僗僋愗懼側偳偱儕僗僩儃僢僋僗偺儕僼儗僢僔儏偑梫媮偝傟偰偄傟偽丆儕僼儗僢僔儏偡傞丏
//				if (iRefreshListBox)
//					{
//					RefreshListBoxL();
//					}
//DELETE End PTX825 CQ-TRK D_82400012098懳墳
				break;
#endif													// __PTX825MUSICAP__ katsu 仾

			default:
				__ASSERT_DEBUG(EFalse, KErrArgument);
				break;
				}
//TRK10224 9/26 start
			}
		else										// 傾僾儕偑廔椆偡傞応崌
			{
			// 壗傕偟側偄
			}
//TRK10224 9/26 end				
		}
	// 僋儘乕僘偟偨僟僀傾儘僌偑寈崘僟僀傾儘僌偺応崌
	else if (aDialog == iWarningDialog)
		{
//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
		// 價儏乕僐儅儞僪偵儕僙僢僩巜帵傪峴偆
		iCmd->HandleViewCommandL(ECmdReset);
		}
	// 僋儘乕僘偟偨僟僀傾儘僌偑恑捇僟僀傾儘僌偺応崌
	else if (aDialog == iProgressDialog)
		{
		switch (aDialogResourceId)
			{
		case R_PROGRESS_DIALOG_SD01P038:					// CSmbMusicAPFileMgrFileCmd::HandleCheckSdMountStateL()
			if (aResult != CSkonDialogBase::EClearKey)		// 儊儌儕忬懺偑曄壔偟偨応崌 (廔榖僉乕墴壓埲奜偺応崌)
				{
				iCmd->HandleViewCommandL(ECmdCheckSdMountState);
				}
			else											// 廔榖僉乕墴壓偺応崌
				{
				// 價儏乕僐儅儞僪偵儕僙僢僩巜帵傪峴偆
				iCmd->HandleViewCommandL(ECmdReset);
				// 埲崀丆僼儗乕儉儚乕僋偐傜廔椆張棟偑峴傢傟傞
				}
			break;
		default:
			__ASSERT_DEBUG(EFalse, KErrArgument);
			break;
			}
		}
	}


/**
 * @param[in]		aResourceId			僒僽儊僯儏乕偺儕僜乕僗ID
 */
void CSmbMusicAPFileMgrFileView::ShowSubMenuL(TInt aResourceId)
	{
	// 僒僽儊僯儏乕惗惉
	CSkonSubMenu* subMenu = new(ELeave) CSkonSubMenu();
	CleanupStack::PushL(subMenu);

	// 儕僜乕僗儕乕僟惗惉
	TResourceReader reader;
	// 儕僜乕僗偺撉傒崬傒
	CEikonEnv::Static()->CreateResourceReaderLC(reader, aResourceId);
	subMenu->ConstructFromResourceL(reader);
	CleanupStack::PopAndDestroy();					// reader
	CleanupStack::Pop(subMenu);						// subMenu->ShowLD()撪偱subMenu偑delete偝傟傞偨傔
		
	// 敿婸搙昞帵愝掕傪峴偆
	CSmbMusicAPFileMgrFileCmd* cmd = static_cast<CSmbMusicAPFileMgrFileCmd*>(iCmd);
	MSmbMusicAPFileSystemComListBoxModel& listBoxModel = cmd->ListBoxModel();
	CSmbMusicAPFileSystemComMusicItem* musicItem = listBoxModel.GetCurrentItemL();
	TBool isUimConformityFile = EFalse;
	TBool isIncompleteFile    = EFalse;
//CQ-TRK12911 ADD-START PTX824
	TBool isLimit    = EFalse;
//CQ-TRK12911 ADD-END PTX824
	switch (aResourceId)
		{
	case R_SUBMENU_MP03S002:	// 僼儖妝嬋僼傽僀儖僒僽儊僯儏乕
	case R_SUBMENU_MP03S004:	// 儊儌儕乕僗僥傿僢僋僼傽僀儖僒僽儊僯儏乕
	case R_SUBMENU_MP03S005:	// SD僇乕僪僼傽僀儖僒僽儊僯儏乕
		isUimConformityFile = cmd->IsUimConformityFile(musicItem);
		isIncompleteFile    = cmd->IsIncompleteFile(musicItem);
//CQ-TRK12911 ADD-START PTX824
		isLimit = cmd->IsLimit(musicItem);
//CQ-TRK12911 ADD-END PTX824
		break;
	default:
		break;
		}
#ifndef __PTX825MUSICAP__					//  825_katsu 伀
	delete musicItem;
#endif													// __PTX825MUSICAP__ katsu 仾
	// 乽僼僅儖僟憖嶌乿偺巕奒憌偺敿婸搙昞帵敾掕傪峴偆
	if (aResourceId == R_SUBMENU_MP03S001				// 僼儖妝嬋僼僅儖僟僒僽儊僯儏乕
	    || aResourceId == R_SUBMENU_MP03S002			// 僼儖妝嬋僼傽僀儖僒僽儊僯儏乕
	    || aResourceId == R_SUBMENU_MP03S007)			// 嬻儕僗僩(僼儖妝嬋)僒僽儊僯儏乕
		{
		TInt arrayIndex = 0;
		switch (aResourceId)
			{
		case R_SUBMENU_MP03S001:
			arrayIndex = KSmbMusicAPFileMgrIndexOfSubmenuMp03s001Folder;
			break;
		case R_SUBMENU_MP03S002:
			arrayIndex = KSmbMusicAPFileMgrIndexOfSubmenuMp03s002Folder;
			break;
		case R_SUBMENU_MP03S007:
			arrayIndex = KSmbMusicAPFileMgrIndexOfSubmenuMp03s007Folder;
			break;			
		default:				
			__ASSERT_ALWAYS(EFalse, PANIC(KErrArgument));
			break;
			}
		CSkonSubMenuItemArray* menuArray = subMenu->MenuItemArrayL(arrayIndex);
		TInt folderCount = cmd->FolderCountOfCurrentList();

		// 乽僼僅儖僟嶌惉乿偺敿婸搙昞帵敾掕傪峴偆
		if (iNumOfHierarchy >= KSmbMusicAPFileMgrMaxHierarchyOfDbxFolder					// 嵟戝僼僅儖僟奒憌偺応崌
		    || folderCount >= KSmbMusicAPFileMgrMaxNumOfDbxFolders)							// 嵟戝僼僅儖僟悢偺応崌
			{
			// 乽僼僅儖僟嶌惉乿傪敿婸搙昞帵偡傞
			TInt index = subMenu->IndexByCommand(menuArray, ECmdCreateFolder);
			subMenu->SetItemDisableL(menuArray, index, ETrue);
			}
		// 乽僼僅儖僟慖戰嶍彍乿乽僼僅儖僟慡審嶍彍乿偺敿婸搙昞帵敾掕傪峴偆
//MOD-START PTX824
//		if (aResourceId != R_SUBMENU_MP03S007 && folderCount <= 0)
		if (folderCount <= 0)							// 僼僅儖僟悢偑0偺応崌
//MOD-START PTX824
			{
			// 乽僼僅儖僟慖戰嶍彍乿傪敿婸搙昞帵偡傞
			TInt index = subMenu->IndexByCommand(menuArray, ECmdDeleteSelectedFolders);
			subMenu->SetItemDisableL(menuArray, index, ETrue);
			// 乽僼僅儖僟慡審嶍彍乿傪敿婸搙昞帵偡傞
			index = subMenu->IndexByCommand(menuArray, ECmdConfirmDeleteAllFolders);
			subMenu->SetItemDisableL(menuArray, index, ETrue);
			}
//TRK10980 10/5 start
		// 乽僼僅儖僟憖嶌乿偺敿婸搙昞帵敾掕傪峴偆
		TInt arrayCount = subMenu->PopupMenuItemArrayCount(menuArray);
		TInt i;
		for (i = 0; i < arrayCount; i++)
			{
			if (!subMenu->IsItemDisableL(menuArray, i))
				{
				// 婸搙昞帵偺応崌偼丆儖乕僾傪敳偗傞
				break;
				}
			}
		if (i == arrayCount)																// 巕崁栚偑慡偰敿婸搙昞帵偺応崌
			{
			// 乽僼僅儖僟憖嶌乿傪敿婸搙昞帵偡傞
		    subMenu->SetItemDisableL(subMenu->MenuItemArrayL(), arrayIndex, ETrue);
			}
//TRK10980 10/5 end
		}
//DEL-START PTX824
//	// 乽僐儞僥儞僣堏峴乿偺敿婸搙昞帵敾掕傪峴偆
//	if (aResourceId == R_SUBMENU_MP03S002)				// 僼儖妝嬋僼傽僀儖僒僽儊僯儏乕
//		{
//		if (!isUimConformityFile															// UIM幚峴惂尷拞僼傽僀儖偺応崌
//		    || cmd->IsPlayRestrictedCurrentItem()											// 嵞惗惂尷拞偺僼傽僀儖偺応崌
//		    || isIncompleteFile																// 僟僂儞儘乕僪搑拞僼傽僀儖偺応崌
//ADD-START PTX824
//		    || !cmd->IsEnabeSDSaveItem())													// 僐儞僥儞僣堏晄壜
//ADD-END PTX824
//			{
//			// 乽僐儞僥儞僣堏摦乿傪敿婸搙昞帵偡傞
//			CSkonSubMenuItemArray* menuArray = subMenu->MenuItemArrayL();
//			TInt index = subMenu->IndexByCommand(menuArray, ECmdConfirmMoveOneFileToSd);
//			subMenu->SetItemDisableL(menuArray, index, ETrue);
//			}
//		}*/
//DEL-START PTX824
	// 乽杮懱傊堏摦乿偺敿婸搙昞帵敾掕傪峴偆
	if (aResourceId == R_SUBMENU_MP03S005)				// SD僇乕僪僼傽僀儖僒僽儊僯儏乕
		{
		if ((iViewType != ETypeSdImotionFile)												// 僼儖妝嬋埲奜偺応崌
		    || !isUimConformityFile															// UIM幚峴惂尷拞僼傽僀儖偺応崌
//CQ-TRK12911 MOD-START PTX824
//		    || cmd->IsPlayRestrictedCurrentItem()											// 嵞惗惂尷拞偺僼傽僀儖偺応崌
			|| (isLimit && cmd->IsPlayRestrictedCurrentItem())								// 嵞惗惂尷拞偺僼傽僀儖偺応崌
//CQ-TRK12911 MOD-START PTX824
		    || isIncompleteFile)															// 僟僂儞儘乕僪搑拞僼傽僀儖偺応崌
			{
			// 乽杮懱傊堏摦乿傪敿婸搙昞帵偡傞
			CSkonSubMenuItemArray* menuArray = subMenu->MenuItemArrayL();
			TInt index = subMenu->IndexByCommand(menuArray, ECmdMoveOneFileToDbx);
			subMenu->SetItemDisableL(menuArray, index, ETrue);
			}
		}
#ifdef __PTX825MUSICAP__					//  825_katsu 伀
	// 乽壒愝掕乿傪敿婸搙昞帵偡傞
	if (aResourceId == R_SUBMENU_MP03S002				// 僼儖妝嬋僼傽僀儖僒僽儊僯儏乕
	    || aResourceId == R_SUBMENU_MP03S005)			// SD僇乕僪僼傽僀儖僒僽儊僯儏乕
		{
		// 惂尷忬懺 忬懺偱側偗傟偽丄昞帵
		if ((iViewType != ETypeDbxImotionFile && iViewType != ETypeSdImotionFile)			// 僼儖妝嬋埲奜偺応崌
//UPDATE Start PTX825 CQ-TRK D_82400014771
		|| (EFalse != cmd->IsCurrentItemRestricted(*musicItem, isLimit))
//		|| (EFalse != cmd->IsCurrentItemRestricted(*musicItem))
//UPDATE End PTX825 CQ-TRK D_82400014771
		|| (EFalse == cmd->IsSubscriptionSetting())
	    || isIncompleteFile)															// 僟僂儞儘乕僪搑拞僼傽僀儖偺応崌
			{
			CSkonSubMenuItemArray* menuArray = subMenu->MenuItemArrayL();
			TInt index = subMenu->IndexByCommand(menuArray, ECmdSoundSet);
			subMenu->SetItemDisableL(menuArray, index, ETrue);
			}
		iCmd->HandleViewCommandL(ECmdSelectCallEnd);
		}

	delete musicItem;

#endif													// __PTX825MUSICAP__ katsu 仾

	// 乽夋憸昞帵乿偺敿婸搙昞帵敾掕傪峴偆
	TSmbMusicAPFileSystemComImageCount imageCount = cmd->ImageCountOfCurrentItem();		// 夋憸枃悢偺庢摼
	if (aResourceId == R_SUBMENU_MP03S002				// 僼儖妝嬋僼傽僀儖僒僽儊僯儏乕
	    || aResourceId == R_SUBMENU_MP03S004			// 儊儌儕乕僗僥傿僢僋僼傽僀儖僒僽儊僯儏乕
	    || aResourceId == R_SUBMENU_MP03S005)			// SD僇乕僪僼傽僀儖僒僽儊僯儏乕
		{
//TRK6610 8/16 start
//		if (imageCount.iJacketCount <= 0)													// 夋憸偑側偄応崌
		if (imageCount.iJacketCount <= 0													// 夋憸偑側偄応崌
		    || !isUimConformityFile															// UIM幚峴惂尷拞僼傽僀儖偺応崌
		    || isIncompleteFile)															// 僟僂儞儘乕僪搑拞僼傽僀儖偺応崌
//TRK6610 8/16 end
			{
			// 乽夋憸昞帵乿傪敿婸搙昞帵偡傞
			CSkonSubMenuItemArray* menuArray = subMenu->MenuItemArrayL();
			TInt index = subMenu->IndexByCommand(menuArray, ECmdShowImage);
			subMenu->SetItemDisableL(menuArray, index, ETrue);
			}
		}
	// 乽壧帉昞帵乿偺敿婸搙昞帵敾掕傪峴偆
	if (aResourceId == R_SUBMENU_MP03S002				// 僼儖妝嬋僼傽僀儖僒僽儊僯儏乕

⌨️ 快捷键说明

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