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

📄 smbmusicapfilemgritemselectview.cpp

📁 索爱手机代码
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	// 儘乕僇儖價儏乕愗傝懼偊偺応崌丆僇僗僞儉儊僢僙乕僕傪庢摼偡傞
	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 + -