smbmusicapmainplayerfilterlistviewplsong.cpp

来自「symbian」· C++ 代码 · 共 854 行 · 第 1/3 页

CPP
854
字号
				TInt requestedCount = processObj->GetRequestedCount();
				//幚嵺偵嶍彍偝傟偨僇僂儞僩
				TInt deletedCount = processObj->GetRemovedCount();

//				CSmbMusicAPMainPlayerFilterListView::HandleDialogCommandL(ECloseModelessDialog, R_DL_MUSIC_MAIN_FLT_PROGRESS_MP04P001_PLURAL);
//				FinishProgress();
				switch(aResult)
					{
					case KErrNone:
						{
						if(deletedCount == 0)	//堦審傕嶍彍偟偰偄側偄偲偒
							{
							// 恑捇僟僀傾儘僌傪暵偠傞
//							CSmbMusicAPMainPlayerFilterListView::HandleDialogCommandL(ECloseModelessDialog, R_DL_MUSIC_MAIN_FLT_PROGRESS_MP04P001_PLURAL);
							// TRK#11387 2006/10/13
							if(R_DL_MUSIC_MAIN_FLT_PROGRESS_MP04P001_SINGULAR==iLocalDlogResId || R_DL_MUSIC_MAIN_FLT_PROGRESS_MP04P001_PLURAL==iLocalDlogResId)
								{
								CSmbMusicAPMainPlayerFilterListView::HandleDialogCommandL(ECloseModelessDialog, iLocalDlogResId);
								}
							// 嶍彍幐攕僟僀傾儘僌傪昞帵偡傞
							CSmbMusicAPMainPlayerFilterListView::HandleDialogCommandL(EShowWarningModelessDialog, R_DL_MUSIC_MAIN_FLT_OPERATION_DELETE_FAILED);
							}
						else if(deletedCount < requestedCount)	//堦晹嶍彍偟偨偲偒
							{
							// 恑捇僟僀傾儘僌傪暵偠傞
							CSmbMusicAPMainPlayerFilterListView::HandleDialogCommandL(ECloseModelessDialog, R_DL_MUSIC_MAIN_FLT_PROGRESS_MP04P001_PLURAL);
							// 嶍彍幐攕僟僀傾儘僌乽嶍彍偱偒側偄僼傽僀儖偑偁傝傑偡{NNNN}審嶍彍偟傑偟偨
							HandleFormatDialogCommandL(EShowWarningModelessDialog, R_DL_MUSIC_MAIN_FLT_OPERATION_DELETE_WARNING, R_SMB_AF_STR_MSG1417, deletedCount);
							}
						else	//梫媮暘慡偰嶍彍偟偨偲偒
							{
							// 恑捇傪嵟屻傑偱恑傔偰偐傜恑捇僟僀傾儘僌傪暵偠傞
							FinishProgress();
//							CSmbMusicAPMainPlayerFilterListView::HandleDialogCommandL(ECloseModelessDialog, R_DL_MUSIC_MAIN_FLT_PROGRESS_MP04P001_PLURAL);
							// TRK#11387 2006/10/13
							if(R_DL_MUSIC_MAIN_FLT_PROGRESS_MP04P001_SINGULAR==iLocalDlogResId || R_DL_MUSIC_MAIN_FLT_PROGRESS_MP04P001_PLURAL==iLocalDlogResId)
								{
//Add-S PTX-824 2007.07.12 暯壀
								FinishProgress(iLocalDlogResId);
//Add-E PTX-824 2007.07.12 暯壀
								CSmbMusicAPMainPlayerFilterListView::HandleDialogCommandL(ECloseModelessDialog, iLocalDlogResId);
								}
							// 嶍彍姰椆僟僀傾儘僌傪昞帵偡傞
							HandleDialogCommandL(EShowConfirmModelessDialog, R_DL_MUSIC_MAIN_FLT_DELETE_CONFIRM, NULL, NULL);//嶍彍屻妋擣僟僀傾儘僌傪昞帵
							}
						}
						break;
					case KErrCancel:
						{
						if(0==deletedCount)	//堦審傕嶍彍偟偰偄側偄偲偒
							{
							// 恑捇僟僀傾儘僌傪暵偠傞
							CSmbMusicAPMainPlayerFilterListView::HandleDialogCommandL(ECloseModelessDialog, R_DL_MUSIC_MAIN_FLT_PROGRESS_MP04P001_PLURAL);
							// 憖嶌拞巭僟僀傾儘僌傪昞帵偡傞
							CSmbMusicAPMainPlayerFilterListView::HandleDialogCommandL(EShowConfirmModelessDialog, R_DL_MUSIC_MAIN_FLT_OPERATION_CANCEL_CONFIRM);
							}
						else
							{
							// 恑捇僟僀傾儘僌傪暵偠傞
							CSmbMusicAPMainPlayerFilterListView::HandleDialogCommandL(ECloseModelessDialog, R_DL_MUSIC_MAIN_FLT_PROGRESS_MP04P001_PLURAL);
							// 嶍彍拞巭僟僀傾儘僌乽拞巭偟傑偟偨{NNNN}審嶍彍偟傑偟偨乿
							CSmbMusicAPMainPlayerFilterListView::HandleFormatDialogCommandL(EShowConfirmModelessDialog, R_DL_MUSIC_MAIN_FLT_OPERATION_DELETE_CANCEL_CONFIRM, R_SMB_AF_STR_MSG102, deletedCount);
							}
						}
						break;
					default:
						{
						if(deletedCount == 0)	//堦審傕嶍彍偟偰偄側偄偲偒
							{
							// 恑捇僟僀傾儘僌傪暵偠傞
//							CSmbMusicAPMainPlayerFilterListView::HandleDialogCommandL(ECloseModelessDialog, R_DL_MUSIC_MAIN_FLT_PROGRESS_MP04P001_PLURAL);
							// TRK#11387 2006/10/13
							if(R_DL_MUSIC_MAIN_FLT_PROGRESS_MP04P001_SINGULAR==iLocalDlogResId || R_DL_MUSIC_MAIN_FLT_PROGRESS_MP04P001_PLURAL==iLocalDlogResId)
								{
								CSmbMusicAPMainPlayerFilterListView::HandleDialogCommandL(ECloseModelessDialog, iLocalDlogResId);
								}
							// 嶍彍幐攕僟僀傾儘僌傪昞帵偡傞
							CSmbMusicAPMainPlayerFilterListView::HandleDialogCommandL(EShowWarningModelessDialog, R_DL_MUSIC_MAIN_FLT_OPERATION_DELETE_FAILED);
							}
						else
							{
							// 恑捇僟僀傾儘僌傪暵偠傞
//							CSmbMusicAPMainPlayerFilterListView::HandleDialogCommandL(ECloseModelessDialog, R_DL_MUSIC_MAIN_FLT_PROGRESS_MP04P001_PLURAL);
							// TRK#11387 2006/10/13
							if(R_DL_MUSIC_MAIN_FLT_PROGRESS_MP04P001_SINGULAR==iLocalDlogResId || R_DL_MUSIC_MAIN_FLT_PROGRESS_MP04P001_PLURAL==iLocalDlogResId)
								{
								CSmbMusicAPMainPlayerFilterListView::HandleDialogCommandL(ECloseModelessDialog, iLocalDlogResId);
								}
							// 嶍彍幐攕僟僀傾儘僌乽嶍彍偱偒側偄僼傽僀儖偑偁傝傑偡{NNNN}審嶍彍偟傑偟偨
							HandleFormatDialogCommandL(EShowWarningModelessDialog, R_DL_MUSIC_MAIN_FLT_OPERATION_DELETE_WARNING, R_SMB_AF_STR_MSG1417, deletedCount);
							}
						}
						break;
					}
				}
				break;
			}
		}
	// 嬋堦棗傪宲彸偡傞
	CSmbMusicAPMainPlayerFilterListViewSong::ProcessComplete(aResult, aProcess);
	}

/**
 * 僟僀傾儘僌僋儘乕僘捠抦
 *
 * @param[in]		aResourceId		儕僜乕僗俬俢
 * @param[in]		aResult			慖戰寢壥
 */
void CSmbMusicAPMainPlayerFilterListViewPLSong::HandleDialogClosed(TInt aResourceId, TInt aResult)
	{
	// 宲彸
	CSmbMusicAPMainPlayerFilterListViewSong::HandleDialogClosed(aResourceId, aResult);
	
	switch(aResourceId)
		{
		// 僾儗僀儕僗僩僄儞僩儕乕嶍彍妋擣僟僀傾儘僌
		case R_DL_MUSIC_MAIN_FLT_DELETEPLSONG_SELECT:
			{
			if (MSmbMusicAPMainPlayerDialogManagerBase::ESelectKey == aResult)//乽偼偄乿偑慖戰偝傟偨
				{
				// 僀儀儞僩梷惂偡傞
				// 2006.10.04 恑捇僟僀傾儘僌昞帵屻丄僀儀儞僩梷惂夝彍傪偡傞
				View()->SetEventDisabled(ETrue);
				ProcessCommandL(ECmdFilterViewDeleteEntries);
				}
			else
				{
				//2006.10.18 TRK#11638
				View()->FinishProcesses();
				}
			break;
			}
		// 2006.09.21 僾儘僌儗僗僟僀傾儘僌捛壛廋惓
		//嶍彍拞僾儘僌儗僗僟僀傾儘僌
		case R_DL_MUSIC_MAIN_FLT_PROGRESS_MP04P001_PLURAL:
			if (MSmbMusicAPMainPlayerDialogManagerBase::EClearKey == aResult)	//乽僋儕傾僉乕乿(拞巭乯偑慖戰偝傟偨
				{
				if(NULL!=ProcessObj())
					{
					// 幚峴拞偺僐儅儞僪傪僠僃僢僋偟偰拞巭偡傞
					switch(ProcessObj()->GetRequestOwnerInfo())
						{
						case ECmdFilterViewDeleteEntries:		// 僾儗僀儕僗僩嶍彍僐儅儞僪
							{
//							FinishProgress();
//							CancelProcess(CSmbMusicAPMainPlayerFilterProcess::EProcessTypeRemoveItems);	// 幚峴拞偺旕摨婜僾儘僙僗傪拞抐偡傞
							CSmbMusicAPMainPlayerFilterProcessRemoveItems* processObj = static_cast<CSmbMusicAPMainPlayerFilterProcessRemoveItems*>(ProcessObj());
							processObj->CancelRemoveItems();
							}
							break;
						}
					}
				}
			break;
		//嶍彍屻妋擣僟僀傾儘僌(惓忢)
		case R_DL_MUSIC_MAIN_FLT_DELETE_CONFIRM:
			if(NULL == ProcessObj() || CSmbMusicAPMainPlayerFilterProcess::EProcessTypeDeleteOne != ProcessObj()->GetProcessType())
				{
				ProcessLoadListItems(ECmdFilterViewGetListItems);
				}
			break;

		//嶍彍屻妋擣僟僀傾儘僌(旕惓忢)
		case R_DL_MUSIC_MAIN_FLT_OPERATION_DELETE_CANCEL_CONFIRM:
		case R_DL_MUSIC_MAIN_FLT_OPERATION_DELETE_WARNING:
		case R_DL_MUSIC_MAIN_FLT_OPERATION_DELETE_FAILED:
//			View()->SetEventDisabled(EFalse);
			ProcessLoadListItems(ECmdFilterViewGetListItems);
			break;
		//憖嶌拞巭僟僀傾儘僌
		case R_DL_MUSIC_MAIN_FLT_OPERATION_CANCEL_CONFIRM:
			// 僀儀儞僩梷惂傪夝彍偡傞
//			View()->SetEventDisabled(EFalse);
			break;
		}
	}

//////////////////////////////////////////////////////////////////////////////////////
// 僐儅儞僪儌乕僪
//////////////////////////////////////////////////////////////////////////////////////
// 僐儅儞僪儌乕僪傪愝掕偡傞
void CSmbMusicAPMainPlayerFilterListViewPLSong::SetCommandMode(TSmbMusicAPMainPlayerCommandMode aMode)
	{
	if(CommandMode()==aMode)
		{
		return;
		}
	switch(aMode)
		{
		case EFilteringMode:
	    	{
    		// 僼傿儖僞儕儞僌儌乕僪
    		// 
			if(0<iListTitle.Length())
				{
	    		SetTitleTextL(iListTitle);
	    		_LIT(KEmptyText, "");
	    		iListTitle.Set(KEmptyText);
				}
	    	}
			break;
    	case ESelectItemMode:
			break;
    	case ESelectMultipleMode:
	    	{
	    	// 尰嵼愝掕偝傟偰偄傞僞僀僩儖傪曐帩偟偰偍偔
//			TBuf<256> listTitle;
//	    	if(KErrNone==View()->SyncModel().GetListTitle(ListHandle(), listTitle))
//		    	{
//		    	if(0<listTitle.Length())
//			    	{
//			    	iListTitle.Set(listTitle);
//			    	}
//		    	}
    		// 慖戰嶍彍儌乕僪
    		SetTitleTextL(R_SMB_AF_STR_WRD009);
	    	}
			break;
    	case EOrderItemMode:
	    	{
	    	// 尰嵼愝掕偝傟偰偄傞僞僀僩儖傪曐帩偟偰偍偔
//			TBuf<256> listTitle;
//	    	if(KErrNone==View()->SyncModel().GetListTitle(ListHandle(), listTitle))
//		    	{
//		    	if(0<listTitle.Length())
//			    	{
//			    	iListTitle.Set(listTitle);
//			    	}
//		    	}
    		// 暲傋懼偊儌乕僪
    		SetTitleTextL(R_SMB_AF_STR_WRD015);
	    	}
			break;
		}
	CSmbMusicAPMainPlayerFilterListView::SetCommandMode(aMode);
	}

/**
 * 儊僯儏儕僜乕僗俬俢
 *
 * @return				儕僜乕僗俬俢
 */
TInt CSmbMusicAPMainPlayerFilterListViewPLSong::SubMenuID()
	{
	TInt aMenuResID = 0;
	if(EFilteringMode==CommandMode())
		{
		TInt aNumberOfItems = ItemCount();

		if(aNumberOfItems==0)
			{
			aMenuResID = R_SB_MUSIC_MAIN_FLT_EMPTYLIST;
			}
		else
			{
			aMenuResID = R_SB_MUSIC_MAIN_FLT_PLSONGLIST;
			}
		}
	return aMenuResID;
	}

// 僒僽儊僯儏乕敿婸搙張棟
void CSmbMusicAPMainPlayerFilterListViewPLSong::AdjustSubMenuL(CSkonSubMenu *aSubMenu, TInt aResId)
	{
	//僆儕僕僫儖僾儗僀儕僗僩/僀儞億乕僩僾儗僀儕僗僩偺幆暿傪偡傞
	TSmbMusicAPSyncEngineListType listType = ESmbMusicAPSyncEngineTypeOriginalPlaylist;
	// 慗堏尦偺儕僗僩傪庢摼偡傞
	TSmbMusicAPSyncEnginePrevListInfo prevList;
	if(KErrNone==View()->SyncModel().GetPrevList(ListHandle(), prevList))
		{
		///<慗堏尦儕僗僩忣曬偑儕僗僩傾僀僥儉偐斲偐乮ETrue:慗堏尦儕僗僩傾僀僥儉丄EFalse:専嶕忣曬乯
		if(EFalse!=prevList.iListInfo)
			{
			// 儕僗僩僞僀僾偱僠僃僢僋偡傟偽傛偄
			switch(prevList.iListType)
				{
				case ESmbMusicAPSyncEngineOriginalPlaylist:				///<僆儕僕僫儖僾儗僀儕僗僩
					listType = ESmbMusicAPSyncEngineTypeOriginalPlaylist;
					break;
				case ESmbMusicAPSyncEngineImportPlaylist:				///<僀儞億乕僩僾儗僀儕僗僩
					listType = ESmbMusicAPSyncEngineTypeImportPlaylist;
					break;
// Add-S PTX-824懳墳丂暯壀
				case ESmbMusicAPSyncEngineWMAPlaylist:					///<WMA僾儗僀儕僗僩
					listType = ESmbMusicAPSyncEngineTypeWMAPlaylist;

⌨️ 快捷键说明

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