smbmusicapmainplayerfilterlistviewplaylistmulti.cpp

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

CPP
469
字号
	if( NULL!=ProcessObj() && &aProcess==ProcessObj())
		{
		// 幚峴拞偺僐儅儞僪傪僠僃僢僋偡傞
		switch(aProcess.GetRequestOwnerInfo())
			{
			case ECmdFilterViewDeletePLItem:					// 僾儗僀儕僗僩嶍彍
				{
				CSmbMusicAPMainPlayerPLSelectView* view = STATIC_CAST(CSmbMusicAPMainPlayerPLSelectView*, View());
				view->SetEditStatus(CSmbMusicAPMainPlayerPLSelectView::EEditCompleted);
				}
				break;
			default:
				break;
			}
		}
	// 婎掙僋儔僗偱姰椆張棟偡傞
	CSmbMusicAPMainPlayerFilterListViewPlaylist::ProcessComplete(aResult, aProcess);
	}
//ADD-E< 810TRK#12258 PTX-824(TRK-575) 暯壀

/**
 * 僟僀傾儘僌僋儘乕僘捠抦
 *
 * @param[in]		aResourceId		儕僜乕僗俬俢
 * @param[in]		aResult			慖戰寢壥
 */
void CSmbMusicAPMainPlayerFilterListViewPlaylistMulti::HandleDialogClosed(TInt aResourceId, TInt aResult)
	{
	CSmbMusicAPMainPlayerPLSelectView* view = static_cast<CSmbMusicAPMainPlayerPLSelectView*>(View());
//	CSmbMusicAPMainPlayerPLSelectView* view = STATIC_CAST(CSmbMusicAPMainPlayerPLSelectView*, View());
	// 宲彸
	CSmbMusicAPMainPlayerFilterListViewPlaylist::HandleDialogClosed(aResourceId, aResult);
	
	switch(aResourceId)
		{
//DEL-S 2006/10/05 TRK#10722
//2006.10.04 TRK#10722
//		// 2006.09.21 僾儘僌儗僗僟僀傾儘僌捛壛廋惓
//		//嶍彍拞僾儘僌儗僗僟僀傾儘僌
//		case R_DL_MUSIC_MAIN_FLT_PROGRESS_MP04P001_PLURAL:
//			if (MSmbMusicAPMainPlayerDialogManagerBase::EClearKey == aResult)	//乽僋儕傾僉乕乿(拞巭乯偑慖戰偝傟偨
//				{
//				if(NULL!=ProcessObj())
//					{
//					// 幚峴拞偺僐儅儞僪傪僠僃僢僋偟偰拞巭偡傞
//					switch(ProcessObj()->GetRequestOwnerInfo())
//						{
//						case ECmdFilterViewDeletePLItem:		// 僾儗僀儕僗僩嶍彍僐儅儞僪
//							{
//							FinishProgress();
//							CancelProcess(CSmbMusicAPMainPlayerFilterProcess::EProcessTypeDeleteItems);	// 幚峴拞偺旕摨婜僾儘僙僗傪拞抐偡傞
//							}
//							break;
//						}
//					}
//				}
//			break;
//DEL-E 2006/10/05 TRK#10722
		//嶍彍屻妋擣僟僀傾儘僌
		case R_DL_MUSIC_MAIN_FLT_DELETE_CONFIRM:
		case R_DL_MUSIC_MAIN_FLT_OPERATION_DELETE_WARNING:
		case R_DL_MUSIC_MAIN_FLT_OPERATION_DELETE_FAILED:
		case R_DL_MUSIC_MAIN_FLT_OPERATION_DELETE_CANCEL_CONFIRM:
		case R_DL_MUSIC_MAIN_FLT_OPERATION_CANCEL_CONFIRM:
			{
			view->DeleteSelectedItems();
			view->HandleReturnViewL();
			}
			break;
		// 慖戰僉儍儞僙儖僟僀傾儘僌
		case R_DL_MUSIC_MAIN_FLT_SELECT_CANCEL_SELECTION:
			{
			if (MSmbMusicAPMainPlayerDialogManagerBase::ESelectKey == aResult)	//乽僉儍儞僙儖偟偰廔椆乿偑慖戰偝傟偨
				{
				// 慖戰儌乕僪傪夝彍偟偰丄屇傃弌偟尦偵栠傞
				view->DeleteSelectedItems();
				view->HandleReturnViewL();
				}
			else
				{
				view->HandleReturnViewCancel();
				}
			}
			break;
		}
	}

//////////////////////////////////////////////////////////////////////////////////////
// 僞僀僩儖僶乕張棟
//////////////////////////////////////////////////////////////////////////////////////
/**
 * 僞僀僩儖僶乕傾僀僐儞偺愝掕
 *
 * @param aState       [in] FilterView
 */
void CSmbMusicAPMainPlayerFilterListViewPlaylistMulti::AdjustTitleIconL()
	{
	}

//////////////////////////////////////////////////////////////////////////////////////
// 儕僗僩儃僢僋僗張棟
//////////////////////////////////////////////////////////////////////////////////////
// 儕僗僩傾僀僥儉偺敿婸搙挷惍傪偡傞
void CSmbMusicAPMainPlayerFilterListViewPlaylistMulti::AdjustListBoxL(TBool /*aState*/)
	{
	}

// 僐儅儞僪儌乕僪傪愝掕偡傞
void CSmbMusicAPMainPlayerFilterListViewPlaylistMulti::SetCommandMode(TSmbMusicAPMainPlayerCommandMode aMode)
	{
	CSmbMusicAPMainPlayerFilterListView::SetCommandMode(aMode);
	}

// 儕僗僩儃僢僋僗偺僆儁儗乕僔儑儞儌乕僪傪愝掕偡傞
void CSmbMusicAPMainPlayerFilterListViewPlaylistMulti::SetOperationMode(CSkonRichListBoxBase::TOperationMode aMode)
	{
	// 崁栚慖戰儌乕僪丗CSkonRichListBoxBase::EOperationNormal
	// 崁栚曇廤儌乕僪丗CSkonRichListBoxBase::EOperationModification
	// 暋悢崁栚慖戰儌乕僪丗CSkonRichListBoxBase::EOperationMultiSelect
	ListBox()->SetOperationMode(aMode);
	}

// 儕僗僩憖嶌儌乕僪傪曉偡
CSkonRichListBoxBase::TOperationMode CSmbMusicAPMainPlayerFilterListViewPlaylistMulti::OperationMode()
	{
	return ListBox()->OperationMode();
	}

/**
 * 儊僯儏儕僜乕僗俬俢
 *
 * @return				儕僜乕僗俬俢
 */
TInt CSmbMusicAPMainPlayerFilterListViewPlaylistMulti::SubMenuID()
	{
	return 0;
	}

// 慖戰僉乕僐儅儞僪
TInt CSmbMusicAPMainPlayerFilterListViewPlaylistMulti::SelectKeyCommand(TBool aLongPress)
	{
	if(EFilteringMode==CommandMode())
		{
		return EFalse!=aLongPress ? EMainPlayerFilterViewKGCmdLongPlay : EMainPlayerFilterViewKGCmdSelect;
		}
	else if(ESelectItemMode==CommandMode())
		{
		return ECmdFilterViewSelectPlaylistComplete;
		}
	else if(ESelectMultipleMode==CommandMode())
		{
		return EMainPlayerFilterViewKGCmdSelect;
		}
	return 0;
	}

// 僉乕僈僀僟儞僗忣曬
TBool CSmbMusicAPMainPlayerFilterListViewPlaylistMulti::KeyGuidanceInfo(TSkonKeyGuidanceKeyIds aKey, TBool& aVisible, TInt& aTitleResId, TInt& aCommandID)
	{
    aVisible = EFalse;
    aTitleResId = 0;
    aCommandID = 0;	
	//亂暋悢崁栚慖戰夋柺(僾儗僀儕僗僩堦棗)亃
	//寛掕僉乕(ESkonKeyGuidanceSelectKey)
	//	仭僼僅乕僇僗懳徾偑枹慖戰偺応崌
	//	丂仩慖戰嵪審悢偑慖戰壜擻審悢枹枮偺応崌
	//	丂丂仺亂慖戰亃丂慖戰
	//	丂仩慖戰嵪審悢偑慖戰壜擻審悢埲忋偺応崌
	//	丂丂仺亂慖戰亃丂慖戰悢僆乕僶乕丂
	//	仭僼僅乕僇僗懳徾偑慖戰嵪偺応崌
	//	丂仺亂夝彍亃丂慖戰夝彍
	//僜僼僩侾僉乕(ESkonKeyGuidanceSoftKeyLeft)
	//	仭慖戰嵪審悢偑0審偺応崌
	//	丂仺亂拞巭亃丂to慜夋柺
	//	仭慖戰嵪審悢偑1審埲忋偺応崌
	//	丂仺亂拞巭亃丂慖戰僉儍儞僙儖妋擣
	//僜僼僩俀僉乕(ESkonKeyGuidanceSoftKeyRight)
	//	仭慖戰審悢偑0審偺応崌
	//	丂仺<柍岠>
	//	仭慖戰審悢偑1審埲忋偺応崌
	//	丂仺亂姰椆亃丂慖戰姰椆
	switch(aKey)
		{
		case ESkonKeyGuidanceSelectKey:
		    aVisible = ETrue;
		    aTitleResId = 0;
		    aCommandID = 0;
			if(EFalse==IsMultiModeSelected())
				{
			    aTitleResId = R_SMB_AF_STR_SFT003;
				}
			else
				{
			    aTitleResId = R_SMB_AF_STR_SFT008;
				}
		    return ETrue;
		case ESkonKeyGuidanceSoftKeyLeft:
		    aVisible = ETrue;
		    aTitleResId = R_SMB_AF_STR_SFT005;
		    aCommandID = ECmdFilterViewAddEntryMultipleSelectCancel;
		    return ETrue;
		case ESkonKeyGuidanceSoftKeyRight:
			if(0<CountMultiSelection())
				{
			    aVisible = ETrue;
			    aTitleResId = R_SMB_AF_STR_SFT004;
			    aCommandID = ECmdFilterViewAddEntryMultipleSelectComplete;
				}
		    return ETrue;
		}
	return EFalse;
	}

//2006.09.27 TRK#9337
////////////////////////////////////////////////////////////////////////////
// 曇廤忬懺僼儔僌
////////////////////////////////////////////////////////////////////////////
TBool CSmbMusicAPMainPlayerFilterListViewPlaylistMulti::IsItemsEdited()
	{
	// 慖戰偝傟偰偄傞傾僀僥儉僀儞僨僢僋僗偺攝楍傪庢摼偡傞
	const CArrayFix<TInt>* selectedItemArray = ListBox()->SelectionIndexes();
	// 侾審傕慖戰偝傟偰偄側偄応崌偼尦偺夋柺偵栠傞
	if(NULL!=selectedItemArray && 0<selectedItemArray->Count())
		{
		return ETrue;
		}
	return EFalse;
	}

SEMCJ_NAMESPACE_END

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

⌨️ 快捷键说明

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