smbmusicapmainplayerfilterlistviewplsongorder.cpp

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

CPP
543
字号
	{
	CSmbMusicAPMainPlayerPLSelectView* view = static_cast<CSmbMusicAPMainPlayerPLSelectView*>(View());
//	CSmbMusicAPMainPlayerPLSelectView* view = STATIC_CAST(CSmbMusicAPMainPlayerPLSelectView*, View());
	// 宲彸
	CSmbMusicAPMainPlayerFilterListViewPLSong::HandleDialogClosed(aResourceId, aResult);
	switch(aResourceId)
		{
		// 慖戰僉儍儞僙儖僟僀傾儘僌
		case R_DL_MUSIC_MAIN_FLT_SELECT_CANCEL_SELECTION:
			{
			if (MSmbMusicAPMainPlayerDialogManagerBase::ESelectKey == aResult)	//乽僉儍儞僙儖偟偰廔椆乿偑慖戰偝傟偨
				{
				// 暲傋懼偊張棟拞偱偁傟偽暲傋懼偊拞巭張棟傪偡傞
				View()->SyncModel().RollBackOrderItems();
				view->DeleteSelectedItems();
				view->HandleReturnViewL();
//ADD-S> 2006.10.31 TRK#12267
				SetEditStatus(CSmbMusicAPMainPlayerFilterListView::EEditInit);
//ADD-E< 2006.10.31 TRK#12267
				}
			else
				{
				view->HandleReturnViewCancel();
//ADD-S> 2006.10.31 TRK#12267
				SetEditStatus(CSmbMusicAPMainPlayerFilterListView::EEditPreparing);
//ADD-E< 2006.10.31 TRK#12267
				}
			break;
			}
		// 暲傋懼偊姰椆僟僀傾儘僌
		case R_DL_MUSIC_MAIN_FLT_COMMITORDERITEMS_COMPLETE_CONFIRM:
			{
			view->DeleteSelectedItems();
			view->HandleReturnViewL();
//ADD-S> 2006.10.31 TRK#12267
			SetEditStatus(CSmbMusicAPMainPlayerFilterListView::EEditInit);
//ADD-E< 2006.10.31 TRK#12267
			}
		break;
		}
	}

//////////////////////////////////////////////////////////////////////////////////////
// 旕摨婜僾儘僙僗
//////////////////////////////////////////////////////////////////////////////////////
// from MSmbMusicAPMainPlayerFilterProcessObserver
void CSmbMusicAPMainPlayerFilterListViewPLSongOrder::ProcessComplete(TInt aResult, CSmbMusicAPMainPlayerFilterProcess& aProcess)
	{
	if( NULL!=ProcessObj() && &aProcess==ProcessObj() )
		{
		// 幚峴拞偺僐儅儞僪傪僠僃僢僋偡傞
		switch(aProcess.GetRequestOwnerInfo())
			{
			case ECmdFilterViewCommitOrderItems:
				{
//ADD-S> 2006.10.31 TRK#12258 PTX-824(TRK-575)
				CSmbMusicAPMainPlayerPLSelectView* view = static_cast<CSmbMusicAPMainPlayerPLSelectView*>(View());
//				CSmbMusicAPMainPlayerPLSelectView* view = STATIC_CAST(CSmbMusicAPMainPlayerPLSelectView*, View());
//				SetEditStatus(CSmbMusicAPMainPlayerFilterListView::EEditCompleted);
				view->SetEditStatus(CSmbMusicAPMainPlayerPLSelectView::EEditCompleted);
//ADD-E< 2006.10.31 TRK#12258 PTX-824(TRK-575)
				// 暲傋懼偊姰椆僟僀傾儘僌傪昞帵偡傞
				HandleDialogCommandL(EShowConfirmModelessDialog, R_DL_MUSIC_MAIN_FLT_COMMITORDERITEMS_COMPLETE_CONFIRM, NULL, NULL);
				}
				break;
			}
		}
	// 嬋堦棗傪宲彸偡傞
	CSmbMusicAPMainPlayerFilterListViewPLSong::ProcessComplete(aResult, aProcess);
	}

//ADD-S> 2006.10.31 TRK#12267
//幚峴拞張棟偺嫮惂廔椆
void CSmbMusicAPMainPlayerFilterListViewPLSongOrder::KillProcess()
	{
	CSmbMusicAPMainPlayerPLSelectView* view = static_cast<CSmbMusicAPMainPlayerPLSelectView*>(View());
//	CSmbMusicAPMainPlayerPLSelectView* view = STATIC_CAST(CSmbMusicAPMainPlayerPLSelectView*, View());
	if(CSmbMusicAPMainPlayerFilterListView::EEditPreparing==EditStatus())
		{
		// 暲傋懼偊張棟拞偱偁傟偽暲傋懼偊拞巭張棟傪偡傞
		View()->SyncModel().RollBackOrderItems();
		}
	SetEditStatus(CSmbMusicAPMainPlayerFilterListView::EEditInit);
    CSmbMusicAPMainPlayerFilterListView::KillProcess();
	}
//ADD-E< 2006.10.31 TRK#12267

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

//////////////////////////////////////////////////////////////////////////////////////
// 僞僀僩儖僶乕張棟
//////////////////////////////////////////////////////////////////////////////////////
/**
 * 僞僀僩儖僶乕傾僀僐儞偺愝掕
 *
 * @param aState       [in] FilterView
 */
void CSmbMusicAPMainPlayerFilterListViewPLSongOrder::AdjustTitleIconL()
	{
	}
	
//////////////////////////////////////////////////////////////////////////////////////
// 儕僗僩儃僢僋僗張棟
//////////////////////////////////////////////////////////////////////////////////////
// 儕僗僩傾僀僥儉偺敿婸搙挷惍傪偡傞
void CSmbMusicAPMainPlayerFilterListViewPLSongOrder::AdjustListBoxL(TBool /*aState*/)
	{
	// 儕僗僩儃僢僋僗僞僀僾傪庢摼偡傞
	iViewStyle = SmbPGMusic::ListViewStyleL(View()->PropAgent());
	// SkonMusicListBox偱偼丄暋悢慖戰儌乕僪偱偼昞帵僼僅乕儅僢僩曄峏偑偱偒側偄巇條
	// 偵側偭偰偄傞偨傔丄僲乕儅儖儌乕僪偵栠偟偰昞帵僼僅乕儅僢僩曄峏偡傞
	ListBox()->SetOperationMode(CSkonRichListBoxBase::EOperationNormal);
	// 儕僗僩儃僢僋僗僞僀僾傪愝掕偡傞
	ListBox()->SetListBoxFormat(ListBoxFormat());
	// 暋悢慖戰儌乕僪偵栠偡
	ListBox()->SetOperationMode(CSkonRichListBoxBase::EOperationModification);
	}

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


// 慖戰僉乕僐儅儞僪
TInt CSmbMusicAPMainPlayerFilterListViewPLSongOrder::SelectKeyCommand(TBool /*aLongPress*/)
	{
	return EMainPlayerFilterViewKGCmdSelect;
	}

// 僉乕僈僀僟儞僗忣曬
TBool CSmbMusicAPMainPlayerFilterListViewPLSongOrder::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:
		    if(EFalse==ListBox()->IsModifyingItem())
				{
			    aVisible = ETrue;
			    aTitleResId = R_SMB_AF_STR_SFT003;
			    aCommandID = 0;
				}
			else
				{
				return EFalse;
				}
		    return ETrue;
		case ESkonKeyGuidanceSoftKeyLeft:
		    if(EFalse==ListBox()->IsModifyingItem())
				{
			    aVisible = ETrue;
			    aTitleResId = R_SMB_AF_STR_SFT005;
			    aCommandID = ECmdFilterViewOrderEntryCancel;
				}
			else
				{
			    aVisible = EFalse;
			    aTitleResId = 0;
			    aCommandID = 0;
				}
		    return ETrue;
		case ESkonKeyGuidanceSoftKeyRight:
		    if(EFalse==ListBox()->IsModifyingItem())
				{
			    aVisible = ETrue;
			    aTitleResId = R_SMB_AF_STR_SFT004;
			    aCommandID = ECmdFilterViewOrderEntryComplete;
				}
			else
				{
			    aVisible = EFalse;
			    aTitleResId = 0;
			    aCommandID = 0;
				}
		    return ETrue;
		}
	return EFalse;
	}
	
//2006.09.27 TRK#9337
////////////////////////////////////////////////////////////////////////////
// 曇廤忬懺僼儔僌
////////////////////////////////////////////////////////////////////////////
TBool CSmbMusicAPMainPlayerFilterListViewPLSongOrder::IsItemsEdited()
	{
	//傾僀僥儉憤悢傪庢摼偡傞
	TInt count = ItemCount();
	for(TInt index=0;index<count;index++)
		{
		CSmbMusicAPMainPlayerFilterListItem* item = static_cast<CSmbMusicAPMainPlayerFilterListItem*>(Model()->Item(index));
//		CSmbMusicAPMainPlayerFilterListItem* item = STATIC_CAST(CSmbMusicAPMainPlayerFilterListItem*, Model()->Item(index));
		//傾僀僥儉偵愝掕偝傟偰偄傞僀儞僨僢僋僗斣崋偲堦抳偟偰偄傞偐偳偆偐傪僠僃僢僋偡傞
//DEL-S> Yamaoka 2006.12.11 TRK12612
//		if(NULL!=item && index!=item->Index())
//DEL-E> Yamaoka 2006.12.11 TRK12612
//ADD-S> Yamaoka 2006.12.11 TRK12612
		//傾僀僥儉庢摼拞偱僟儈乕傾僀僥儉偑偁傞応崌偼僠僃僢僋偟側偄
		if(NULL!=item && index!=item->Index() && -1!=item->Index())
//ADD-E> Yamaoka 2006.12.11 TRK12612
			{
			//僀儞僨僢僋僗斣崋偑堦抳偟偰偄側偗傟偽傾僀僥儉偑暲傋懼偊傜傟偰偄傞偺偱乽撪梕曄峏拞乿
			return ETrue;
			}
		}
	return EFalse;
	}

//ADD-S> Yamaoka 2006.12.11 TRK12612
/**
 * 僉乕僀儀儞僩傪張棟偡傞
 *
 * @param	aKeyEvent	[in]	僉乕僀儀儞僩
 * @param	aType		[in]	僀儀儞僩僞僀僾
 * @return	僉乕僀儀儞僩徚旓僼儔僌
 */
TKeyResponse CSmbMusicAPMainPlayerFilterListViewPLSongOrder::OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType)
	{
	if(EEventKey==aType && EWcdmaMpKeySelect==aKeyEvent.iCode)
		{
		//暲傋懼偊夋柺偱撉崬傒嵪傒偺傾僀僥儉偑側偄応崌乮傾僀僥儉庢摼拞偺応崌乯
		if(0>=Model()->NumberOfCacheItems())
			{
			//僉乕僀儀儞僩張棟傪偣偢暲傋懼偊憖嶌傪嫋梕偟側偄
			return EKeyWasConsumed;
			}
		}
	return CSmbMusicAPMainPlayerFilterListViewPLSong::OfferKeyEventL(aKeyEvent, aType);
	}
//ADD-E> Yamaoka 2006.12.11 TRK12612

// Add-S PTX-824 暯壀 2007.07.05
TBool CSmbMusicAPMainPlayerFilterListViewPLSongOrder::HasParentList()
	{
	// 恊奒憌偼側偄
	return EFalse;
	}
// Add-E PTX-824 暯壀 2007.07.05

SEMCJ_NAMESPACE_END

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

⌨️ 快捷键说明

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