smbmusicapmainplayerfilterlistviewplaylist.cpp

来自「symbian」· C++ 代码 · 共 1,673 行 · 第 1/5 页

CPP
1,673
字号
					_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterListViewPlaylist::HandleDialogClosed(%d, %d)");
					SmbMusicAPMainPlayerUtility::OutputLog(iLog, 190051, ELogLevelNormal, KLogFmt, aResourceId, aResult);
					View()->FinishProcesses();
					View()->SetEventDisabled(EFalse);
					}
//				ProcessCommandL(ECmdFilterViewDeletePLItem);
				}
			else
				{
				//2006.10.18 TRK#11638
				View()->FinishProcesses();
				}
			break;
			}
// Add-S PTX-824 2007.08.30 D_82400012340 暯壀
		case R_DL_MUSIC_MAIN_FLT_PROGRESS_MP04P001_SINGULAR:
			if (EFalse != iDelComplete)
				{
				HandleDialogCommandL(EShowConfirmModelessDialog, R_DL_MUSIC_MAIN_FLT_DELETE_CONFIRM, NULL, NULL);//嶍彍屻妋擣僟僀傾儘僌傪昞帵
				}
			break;
// Add-E PTX-824 2007.08.30 D_82400012340 暯壀
		// 2006.09.21 僾儘僌儗僗僟僀傾儘僌捛壛廋惓
		//嶍彍拞僾儘僌儗僗僟僀傾儘僌
		case R_DL_MUSIC_MAIN_FLT_PROGRESS_MP04P001_PLURAL:
			if (MSmbMusicAPMainPlayerDialogManagerBase::EClearKey == aResult)	//乽僋儕傾僉乕乿(拞巭乯偑慖戰偝傟偨
				{
				if(NULL!=ProcessObj())
					{
					// 幚峴拞偺僐儅儞僪傪僠僃僢僋偟偰拞巭偡傞
					switch(ProcessObj()->GetRequestOwnerInfo())
						{
						case ECmdFilterViewDeletePLItem:		// 僾儗僀儕僗僩嶍彍僐儅儞僪
							{
//2006.10.10
							FinishProgress();
//							CancelProcess(CSmbMusicAPMainPlayerFilterProcess::EProcessTypeDeleteItems);	// 幚峴拞偺旕摨婜僾儘僙僗傪拞抐偡傞
							CSmbMusicAPMainPlayerFilterProcessDeleteItems* processObj = static_cast<CSmbMusicAPMainPlayerFilterProcessDeleteItems*>(ProcessObj());
							processObj->CancelDeleteItems();
							}
							break;
						}
					}
				}
// Add-S PTX-824 2007.08.30 D_82400012340 暯壀
			if (EFalse != iDelComplete)
				{
				HandleDialogCommandL(EShowConfirmModelessDialog, R_DL_MUSIC_MAIN_FLT_DELETE_CONFIRM, NULL, NULL);//嶍彍屻妋擣僟僀傾儘僌傪昞帵
				}
// Add-E PTX-824 2007.08.30 D_82400012340 暯壀
			break;
		//嶍彍屻妋擣僟僀傾儘僌
		case R_DL_MUSIC_MAIN_FLT_DELETE_CONFIRM:
		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:
			// 2006.09.13 TRK#8040
			// 僀儀儞僩梷惂夝彍偡傞
//			View()->SetEventDisabled(EFalse);

			ProcessLoadListItems(ECmdFilterViewGetListItems);
			break;
		//憖嶌拞巭僟僀傾儘僌
		case R_DL_MUSIC_MAIN_FLT_OPERATION_CANCEL_CONFIRM:
			// 僀儀儞僩梷惂夝彍偡傞
//			View()->SetEventDisabled(EFalse);
			break;
// Add-S PTX-824 暯壀
		//暋惢妋擣僟僀傾儘僌
		case R_DL_MUSIC_MAIN_FLT_DUPLICATEPL_SELECT:
			if (MSmbMusicAPMainPlayerDialogManagerBase::ESelectKey == aResult)	//乽偼偄乿偑慖戰偝傟偨
				{
				// 僀儀儞僩梷惂偡傞
				// 恑捇僟僀傾儘僌昞帵屻丄僀儀儞僩梷惂夝彍傪偡傞
				View()->SetEventDisabled(ETrue);
				TRAPD(error, ProcessCommandL(ECmdFilterViewDuplicatePLItem));
				if (KErrNone != error)
					{
					_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterListViewPlaylist::HandleDialogClosed(%d, %d)");
					SmbMusicAPMainPlayerUtility::OutputLog(iLog, 190052, ELogLevelNormal, KLogFmt, aResourceId, aResult);
					View()->FinishProcesses();
					View()->SetEventDisabled(EFalse);
					}
				}
			else
				{
				View()->FinishProcesses();
				// 僀儀儞僩梷惂夝彍
				View()->SetEventDisabled(EFalse);
				}
			break;
		//暋惢屻妋擣僟僀傾儘僌
// Add-S PTX-824 2007.08.29 D_82400012340 暯壀
		case R_DL_MUSIC_MAIN_FLT_PROGRESS_DUPLICATE:
			// 僾儗僀儕僗僩暋惢姰椆僟僀傾儘僌傪昞帵偡傞
			HandleDialogCommandL(EShowConfirmModelessDialog, R_DL_MUSIC_MAIN_FLT_DUPLICATEPL_COMPLETE_CONFIRM);
// Add-E PTX-824 2007.08.29 D_82400012340 暯壀

		//暋惢姰椆僟僀傾儘僌
		case R_DL_MUSIC_MAIN_FLT_DUPLICATEPL_COMPLETE_CONFIRM:
			ProcessLoadListItems(ECmdFilterViewGetListItems);
			break;
			
// Add-E PTX-824 暯壀
		}
// Add-S PTX-824 2007.08.30 D_82400012340 暯壀
	iDelComplete = EFalse;
// Add-E PTX-824 2007.08.30 D_82400012340 暯壀
	}

//////////////////////////////////////////////////////////////////////////////////////
// 僞僀僩儖僶乕張棟
//////////////////////////////////////////////////////////////////////////////////////
/**
 * 僞僀僩儖僶乕傾僀僐儞偺愝掕
 *
 * @param aState       [in] FilterView
 */
void CSmbMusicAPMainPlayerFilterListViewPlaylist::AdjustTitleIconL()
	{
/*
	if(EPLOriginalPLListType==ListType())
		{
		SetTitleIconL(EMbmMusicMc_original_playlist_icon, 0);
		}
	else if(EPLImportPLListType==ListType())
		{
		SetTitleIconL(EMbmMusicMc_import_playlist_icon, 0);
		}
	else
		{
		SetTitleIconL(EMbmMusicMc_original_playlist_icon, 0);
		}
*/
	}

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

// 僐儅儞僪儌乕僪傪愝掕偡傞
void CSmbMusicAPMainPlayerFilterListViewPlaylist::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:
	    	{
	    	// 尰嵼愝掕偝傟偰偄傞僞僀僩儖傪曐帩偟偰偍偔
//			TBuf<256> listTitle;
//	    	if(KErrNone==View()->SyncModel().GetListTitle(ListHandle(), listTitle))
//		    	{
//		    	if(0<listTitle.Length())
//			    	{
//			    	iListTitle.Set(listTitle);
//			    	}
//		    	}
    		// 搊榐愭慖戰儌乕僪
    		SetTitleTextL(R_SMB_AF_STR_WRD2806);
	    	}
			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:
			break;
		}
	CSmbMusicAPMainPlayerFilterListView::SetCommandMode(aMode);
	}

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

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

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

		if(numberOfItems==0)
			{
			menuResID = R_SB_MUSIC_MAIN_FLT_EMPTYLIST;
			}
		else
			{
			menuResID = R_SB_MUSIC_MAIN_FLT_PLLIST;
			}
		}
	return menuResID;
	}

// 僒僽儊僯儏乕敿婸搙張棟
void CSmbMusicAPMainPlayerFilterListViewPlaylist::AdjustSubMenuL(CSkonSubMenu *aSubMenu, TInt aResId)
	{
	// 嵞惗拞偐偳偆偐傪僠僃僢僋偡傞
	TSmbPGMusicAPPlayerState playState = SmbPGMusic::MusicAPPlayerStateL(View()->PropAgent());
	
	switch(aResId)
		{
		case R_SB_MUSIC_MAIN_FLT_PLLIST:
// Change-S PTX-824懳墳丂暯壀
//			if(EPLImportPLListType==ListType())					// 僀儞億乕僩僾儗僀儕僗僩偺応崌
			// 僀儞億乕僩僾儗僀儕僗僩/WMA僾儗僀儕僗僩偺応崌
			if(EPLImportPLListType==ListType() || EPLWMAPLListType == ListType())
// Change-E PTX-824懳墳丂暯壀
				{
				aSubMenu->SetItemDisableL(aSubMenu->MenuItemArrayL(), KRenamePlaylist, ETrue);
// Add-S PTX-824懳墳丂暯壀
				aSubMenu->SetItemDisableL(aSubMenu->MenuItemArrayL(), KDuplicatePlaylist, ETrue);
// Add-E PTX-824懳墳丂暯壀
				}
			else												// 僆儕僕僫儖僾儗僀儕僗僩偺応崌
				{
				aSubMenu->SetItemDisableL(aSubMenu->MenuItemArrayL(), KRenamePlaylist, EFalse);
// Add-S PTX-824懳墳丂暯壀
				if(KOriginalPlaylistMaxCount == ItemCount())	// 僾儗僀儕僗僩悢嵟戝
					{
					// 僾儗僀儕僗僩悢偑嵟戝偺応崌偼乽僾儗僀儕僗僩僐僺乕乿傪敿婸搙偵偡傞
					aSubMenu->SetItemDisableL(aSubMenu->MenuItemArrayL(), KDuplicatePlaylist, ETrue);
					}
				else
					{
					aSubMenu->SetItemDisableL(aSubMenu->MenuItemArrayL(), KDuplicatePlaylist, EFalse);
					}
// Add-E PTX-824懳墳丂暯壀
				}
// Change-S PTX-824懳墳丂暯壀
//			if(ESmbPGMusicAPPlayerStatePlaying==playState)	// 嵞惗拞
//				{
//				aSubMenu->SetItemDisableL(aSubMenu->MenuItemArrayL(), 2, EFalse);
//				aSubMenu->SetItemDisableL(aSubMenu->MenuItemArrayL(), 3, EFalse);
//				}
//			else
//				{
//				aSubMenu->SetItemDisableL(aSubMenu->MenuItemArrayL(), 2, ETrue);
//				aSubMenu->SetItemDisableL(aSubMenu->MenuItemArrayL(), 3, ETrue);
//				}
			if(ESmbPGMusicAPPlayerStatePlaying==playState)	// 嵞惗拞
				{
				aSubMenu->SetItemDisableL(aSubMenu->MenuItemArrayL(), KShowPlayView, EFalse);
				aSubMenu->SetItemDisableL(aSubMenu->MenuItemArrayL(), KStopPlayer, EFalse);
				}
			else
				{
				aSubMenu->SetItemDisableL(aSubMenu->MenuItemArrayL(), KShowPlayView, ETrue);
				aSubMenu->SetItemDisableL(aSubMenu->MenuItemArrayL(), KStopPlayer, ETrue);
				}
// Change-E PTX-824懳墳丂暯壀
			break;
		case R_SB_MUSIC_MAIN_FLT_EMPTYLIST:
			if(ESmbPGMusicAPPlayerStatePlaying==playState)	// 嵞惗拞
				{
				aSubMenu->SetItemDisableL(aSubMenu->MenuItemArrayL(), KEmptyListShowPlayView, EFalse);
				aSubMenu->SetItemDisableL(aSubMenu->MenuItemArrayL(), KEmptyListStopPlayer, EFalse);
				}
			else
				{
				aSubMenu->SetItemDisableL(aSubMenu->MenuItemArrayL(), KEmptyListShowPlayView, ETrue);
				aSubMenu->SetItemDisableL(aSubMenu->MenuItemArrayL(), KEmptyListStopPlayer, ETrue);
				}
			break;
		}
	}

// 慖戰僉乕僐儅儞僪
TInt CSmbMusicAPMainPlayerFilterListViewPlaylist::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;
	}

// 僉乕

⌨️ 快捷键说明

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