smbmusicapmainplayerfilterlistviewplaylistselect.cpp

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

CPP
676
字号
				}
				break;
			}
		}
	// 恊僋儔僗偱姰椆張棟偡傞
	CSmbMusicAPMainPlayerFilterListViewPlaylist::ProcessComplete(aResult, aProcess);
	}
	
/**
 * 僾儘僙僗宱夁捠抦
 * @param[in] aResult	張棟寢壥
 * 						 KErrNone	:惓忢廔椆
 * 						 KErrInUse	:傾僋僙僗尃柍偟
 * 						 KErrCancel	:僉儍儞僙儖
 * @param[in] aProcess	奩摉偺僾儘僙僗偺嶲徠
 */
void CSmbMusicAPMainPlayerFilterListViewPlaylistSelect::ProcessProgress(TInt aResult, CSmbMusicAPMainPlayerFilterProcess& /*aProcess*/)
	{
	if(KErrNone==aResult)
		{
		IncrementProgress(1);
		}
	}

/**
 * 僟僀傾儘僌僋儘乕僘捠抦
 *
 * @param[in]		aResourceId		儕僜乕僗俬俢
 * @param[in]		aResult			慖戰寢壥
 */
void CSmbMusicAPMainPlayerFilterListViewPlaylistSelect::HandleDialogClosed(TInt aResourceId, TInt aResult)
	{
	// 宲彸
	CSmbMusicAPMainPlayerFilterListViewPlaylist::HandleDialogClosed(aResourceId, aResult);
	
	CSmbMusicAPMainPlayerPLSelectView* view = static_cast<CSmbMusicAPMainPlayerPLSelectView*>(View());
//	CSmbMusicAPMainPlayerPLSelectView* view = STATIC_CAST(CSmbMusicAPMainPlayerPLSelectView*, View());
	switch(aResourceId)
		{
		// 僾儗僀儕僗僩搊榐曽朄慖戰僟僀傾儘僌
		case R_DL_MUSIC_MAIN_FLT_PLAYLIST_REGISTERMODE_SELECTION:
			{
			if (MSmbMusicAPMainPlayerDialogManagerBase::ESelectKey == aResult)	//乽捛壛搊榐乿偑慖戰偝傟偨
				{
				// 僾儗僀儕僗僩捛壛搊榐僐儅儞僪傪幚峴偡傞
				ProcessCommandL(ECmdFilterViewInsertItemsToPlaylist);				
				// 僾儘僌儗僗僟僀傾儘僌傪昞帵偡傞
				//2006.10.14 TRK#11387
				//HandleDialogCommandL(EShowProgressModelessDialog, R_MUSIC_MAINPLAYER_PLAYLIST_REGISTER_PROGRESS);
				TSmbMusicAPMainPlayerFilterListItems selectedItems;
				view->SelectedItems(selectedItems);
				//2006.10.14 TRK#11387
				if(1==selectedItems.iCount)
					{
					HandleDialogCommandL(EShowProgressModelessDialog, R_DL_MUSIC_MAIN_FLT_PLAYLIST_REGISTER_PROGRESS_SINGULAR);
					}
				else
					{
					HandleDialogCommandL(EShowProgressModelessDialog, R_DL_MUSIC_MAIN_FLT_PLAYLIST_REGISTER_PROGRESS);
					}
				//2006.10.10 TRK#11240
				//SetProgressFinalValue(selectedItems.iCount);
				if(KOriginalPlaylistSongMaxCount>selectedItems.iCount)
					{
					SetProgressFinalValue(selectedItems.iCount);
					}
				else
					{
					SetProgressFinalValue(KOriginalPlaylistSongMaxCount);
					}
				// 僉乕僈僀僟儞僗傪嵞昞帵偡傞
				View()->KeyGuidance()->DrawNow();
				}
			// TRK#7951
			else if (MSmbMusicAPMainPlayerDialogManagerBase::EClearKey == aResult)	//乽僋儕傾僉乕乿(拞巭乯偑慖戰偝傟偨
				{
				break;
				}
//2006.09.28 TRK#10434
//			else																//乽慡擖懼偊乿偑慖戰偝傟偨
			else if (1 == aResult)												//乽慡擖懼偊乿偑慖戰偝傟偨
				{
				// 僾儗僀儕僗僩忋彂偒搊榐妋擣僟僀傾儘僌傪昞帵偡傞
				HandleDialogCommandL(EShowSelectionModelessDialog, R_DL_MUSIC_MAIN_FLT_PLAYLIST_OVERWRITECONFIRM_SELECTION);
				}
			}
			break;
		case R_DL_MUSIC_MAIN_FLT_PLAYLIST_OVERWRITECONFIRM_SELECTION:
			{
			if (MSmbMusicAPMainPlayerDialogManagerBase::ESelectKey == aResult)	//乽偼偄乿偑慖戰偝傟偨
				{
				// 僾儗僀儕僗僩忋彂偒搊榐僐儅儞僪傪幚峴偡傞
				ProcessCommandL(ECmdFilterViewOverWritePlaylist);				
				//2006.10.14 TRK#11387
				// 僾儘僌儗僗僶乕傪昞帵偡傞
				//HandleDialogCommandL(EShowProgressModelessDialog, R_MUSIC_MAINPLAYER_PLAYLIST_REGISTER_PROGRESS);
				TSmbMusicAPMainPlayerFilterListItems selectedItems;
				view->SelectedItems(selectedItems);
				//2006.10.14 TRK#11387
				if(1==selectedItems.iCount)
					{
					HandleDialogCommandL(EShowProgressModelessDialog, R_DL_MUSIC_MAIN_FLT_PLAYLIST_REGISTER_PROGRESS_SINGULAR);
					}
				else
					{
					HandleDialogCommandL(EShowProgressModelessDialog, R_DL_MUSIC_MAIN_FLT_PLAYLIST_REGISTER_PROGRESS);
					}
				//2006.10.10 TRK#11240
				//SetProgressFinalValue(selectedItems.iCount);
				if(KOriginalPlaylistSongMaxCount>selectedItems.iCount)
					{
					SetProgressFinalValue(selectedItems.iCount);
					}
				else
					{
					SetProgressFinalValue(KOriginalPlaylistSongMaxCount);
					}
				// 僉乕僈僀僟儞僗傪嵞昞帵偡傞
				View()->KeyGuidance()->DrawNow();
				}
			}
			break;
		// 搊榐僾儘僌儗僗僟僀傾儘僌
		// 2006.09.03 TRK#5139
		case R_DL_MUSIC_MAIN_FLT_PLAYLIST_REGISTER_PROGRESS:
			if (MSmbMusicAPMainPlayerDialogManagerBase::EClearKey == aResult)	//乽僋儕傾僉乕乿(拞巭乯偑慖戰偝傟偨
				{
				CSmbMusicAPMainPlayerFilterProcessRegisterToPlaylist* processObj = static_cast<CSmbMusicAPMainPlayerFilterProcessRegisterToPlaylist*>(ProcessObj());
//				CSmbMusicAPMainPlayerFilterProcessRegisterToPlaylist* processObj = STATIC_CAST(CSmbMusicAPMainPlayerFilterProcessRegisterToPlaylist*,ProcessObj());
				if(NULL!=processObj)
					{
					// 幚峴拞偺僐儅儞僪傪僠僃僢僋偟偰拞巭偡傞
					switch(processObj->GetRequestOwnerInfo())
						{
						case ECmdFilterViewInsertItemsToPlaylist:		// 僾儗僀儕僗僩捛壛搊榐僐儅儞僪
						case ECmdFilterViewOverWritePlaylist:			// 僾儗僀儕僗僩忋彂偒搊榐僐儅儞僪
							{
							FinishProgress();
							CancelProcess(CSmbMusicAPMainPlayerFilterProcess::EProcessTypeRegisterToPlaylist);	// 幚峴拞偺旕摨婜僾儘僙僗傪拞抐偡傞
							}
							break;
						}
					}
				}
			break;
		// 憖嶌拞巭僟僀傾儘僌
		case R_DL_MUSIC_MAIN_FLT_PLAYLIST_REGISTER_COMPLETE_CONFIRM:
// Add-S PTX-824(TRK-569懳墳) 暯壀
		case R_DL_MUSIC_MAIN_FLT_PLAYLIST_LIMITOVER_NOREGIST_WARNING:
// Add-E PTX-824(TRK-569懳墳) 暯壀
		case R_DL_MUSIC_MAIN_FLT_PLAYLIST_REGISTER_LIMITOVER_WARNING:
		case R_DL_MUSIC_MAIN_FLT_PLAYLIST_REGISTER_CANCEL_CONFIRM:
		case R_DL_MUSIC_MAIN_FLT_OPERATION_CANCEL_CONFIRM:
		case R_DL_MUSIC_MAIN_FLT_PLAYLIST_REGISTER_FAILED_WARNING:
		case R_DL_MUSIC_MAIN_FLT_PLAYLIST_REGISTER_DISABLED_WARNING:
			{
			// 慖戰儌乕僪傪夝彍偟偰丄屇傃弌偟尦偵栠傞
			view->DeleteSelectedItems();
			view->HandleReturnViewL();
			}
			break;
		// 僾儗僀儕僗僩嶌惉姰椆捠抦
		case R_DL_MUSIC_MAIN_FLT_CREATEPLAYLIST_COMPLETE_CONFIRM:
			// 壗傕偟側偄
			break;
		}
	}

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

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

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

// 儕僗僩儃僢僋僗偺僆儁儗乕僔儑儞儌乕僪傪愝掕偡傞
void CSmbMusicAPMainPlayerFilterListViewPlaylistSelect::SetOperationMode(CSkonRichListBoxBase::TOperationMode /*aMode*/)
	{
	}

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

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

// 慖戰僉乕僐儅儞僪
TInt CSmbMusicAPMainPlayerFilterListViewPlaylistSelect::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 CSmbMusicAPMainPlayerFilterListViewPlaylistSelect::KeyGuidanceInfo(TSkonKeyGuidanceKeyIds aKey, TBool& aVisible, TInt& aTitleResId, TInt& aCommandID)
	{
	CSmbMusicAPMainPlayerPLSelectView* view = static_cast<CSmbMusicAPMainPlayerPLSelectView*>(View());
//	CSmbMusicAPMainPlayerPLSelectView* view = STATIC_CAST(CSmbMusicAPMainPlayerPLSelectView*, View());
    aVisible = EFalse;
    aTitleResId = 0;
    aCommandID = 0;
    
    TBool progressDialog = EFalse;
    // 僾儗僀儕僗僩搊榐拞偐偳偆偐傪僠僃僢僋偡傞
	if(NULL!=ProcessObj()
	&& CSmbMusicAPMainPlayerFilterProcess::EProcessTypeRegisterToPlaylist==ProcessObj()->GetProcessType())
		{
		progressDialog = ETrue;
		}
	//亂搊榐愭慖戰夋柺乮僾儗僀儕僗僩)亃
	//寛掕僉乕(ESkonKeyGuidanceSelectKey)
	// 丂仭亂慖戰亃丂崁栚慖戰
	//僜僼僩侾僉乕(ESkonKeyGuidanceSoftKeyLeft)
	// 丂亂拞巭亃丂慖戰拞巭
	//僜僼僩俀僉乕(ESkonKeyGuidanceSoftKeyRight)
	// 丂仭僆儕僕僫儖僾儗僀儕僗僩偺応崌
	// 丂丂仩僾儗僀儕僗僩偑嵟戝悢側偄応崌仺亂怴婯亃SFT033丂怴婯僾儗僀儕僗僩嶌惉
	// 丂丂仩僾儗僀儕僗僩偑嵟戝悢偺応崌丂仺<柍岠>
	// 丂仭僀儞億乕僩僾儗僀儕僗僩偺応崌丂仺<柍岠>
	switch(aKey)
		{
		case ESkonKeyGuidanceSelectKey:
			if(EFalse!=progressDialog)
				{
			    aVisible = EFalse;
			    aTitleResId = 0;
			    aCommandID = 0;
				}
			else if(ItemCount()>0)
				{
			    aVisible = ETrue;
			    aTitleResId = R_SMB_AF_STR_SFT003;
			    aCommandID = EMainPlayerFilterViewKGCmdSelect;
				}
			else
				{
			    aVisible = EFalse;
			    aTitleResId = 0;
			    aCommandID = 0;
				}
		    return ETrue;
		case ESkonKeyGuidanceSoftKeyLeft:
			if(EFalse!=progressDialog)
				{
				TSmbMusicAPMainPlayerFilterListItems selectedItems;
				view->SelectedItems(selectedItems);
				if(1<selectedItems.iCount)
					{
				    aVisible = ETrue;
				    aTitleResId = R_SMB_AF_STR_SFT005;
				    aCommandID = ECmdFilterViewSelectPlaylistCancel;
					}
				else
					{
				    aVisible = EFalse;
				    aTitleResId = 0;
				    aCommandID = 0;
					}
				}
			else
				{
			    aVisible = ETrue;
			    aTitleResId = R_SMB_AF_STR_SFT005;
			    aCommandID = ECmdFilterViewSelectPlaylistCancel;
				}
		    return ETrue;
		case ESkonKeyGuidanceSoftKeyRight:
			if(EFalse!=progressDialog)
				{
			    aVisible = EFalse;
			    aTitleResId = 0;
			    aCommandID = 0;
				}
			//2006.10.01 TRK#10729
//			else if(20>ItemCount())
//			else if(CSmbMusicAPMainPlayerFilterListViewPlaylist::KOriginalPlaylistMaxCount>ItemCount())
			else if(KOriginalPlaylistMaxCount>ItemCount())
				{
			    aVisible = ETrue;
			    aTitleResId = R_SMB_AF_STR_SFT033;
			    aCommandID = EMainPlayerFilterViewKGCmdCreate;
				}
			else
				{
			    aVisible = EFalse;
			    aTitleResId = 0;
			    aCommandID = 0;
				}
		    return ETrue;
		}
	return EFalse;
	}

SEMCJ_NAMESPACE_END

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

⌨️ 快捷键说明

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