smbmusicapmainplayerfilterlistviewplaylist.cpp

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

CPP
1,673
字号
							Model()->SetListItemL(topIndex, items);
							SetActiveIndex(iEditItemIndex);

							TInt visibleBegin	= ListBox()->VisibleItemIndex()+1;
							iScreenTopIndex	= CalculateTopIndex(visibleBegin, iEditItemIndex);
							ListBox()->SetTopItemIndex(iScreenTopIndex);
							ListBox()->SetCurrentItemIndex(iEditItemIndex);
							
							// 僼僅乕僇僗埵抲傪PA偵曐帩偡傞
							View()->SetListFocusSyncEvent();

							// 昞帵峏怴傪捠抦偡傞
							HandleControlStatusUpdatedL();
							}
						items.Reset();
						items.Close();
						}
					}
					break;

// Add-S PTX-824懳墳丂暯壀
//				case ECmdFilterViewDuplicatePlaylist:					// 僾儗僀儕僗僩暋惢
				case ECmdFilterViewDuplicatePLItem:						// 僾儗僀儕僗僩暋惢
					{
					_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterListViewPlaylist::ProcessCompleteL() - DuplicatePlaylist");
					SmbMusicAPMainPlayerUtility::OutputLog(iLog, 190036, ELogLevelNormal, KLogFmt);

					if(KErrNone==aResult)
						{
						// 嶌惉偟偨傾僀僥儉偺僀儞僨僢僋僗傪曐帩偟偰偍偔
						CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist* processObj = static_cast<CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist*>(&aProcess);
						TInt listHandle = processObj->GetParamListHandle();

						TInt topIndex	= 0;
						TInt itemCount	= 0;
						iEditItemIndex = ListBox()->CurrentItemIndex();
						
						RArray<TSmbMusicAPSyncEngineListItemInfo> items;
						if( EFalse!=processObj->GetItems(items) 		&& 
							EFalse!=processObj->GetTopIndex(topIndex) 	&& 
							EFalse!=processObj->GetCount(itemCount)) 
							{
							// 僉儍僢僔儏傪儕僙僢僩偡傞
							Model()->Reset();
							// 儕僗僩僴儞僪儖偲傾僀僥儉悢傪愝掕偡傞
							SetListHandle(listHandle);
							SetItemCount(itemCount);
							// 儌僨儖偵傾僀僥儉攝楍傪愝掕
							Model()->SetListItemL(topIndex, items);
							SetActiveIndex(iEditItemIndex);
							
							AdjustActiveIndex();
							iEditItemIndex = ActiveIndex();

							TInt visibleBegin	= ListBox()->VisibleItemIndex()+1;
							iScreenTopIndex	= CalculateTopIndex(visibleBegin, iEditItemIndex);
							ListBox()->SetTopItemIndex(iScreenTopIndex);
							ListBox()->SetCurrentItemIndex(iEditItemIndex);

							// 僼僅乕僇僗埵抲傪PA偵曐帩偡傞
							View()->SetListFocusSyncEvent();

							// 昞帵峏怴傪捠抦偡傞
							HandleControlStatusUpdatedL();
							}
						items.Reset();
						items.Close();

						// 恑捇傪嵟屻傑偱恑傔偰偐傜恑捇僟僀傾儘僌傪暵偠傞
						FinishProgress();
						if (R_DL_MUSIC_MAIN_FLT_PROGRESS_DUPLICATE == iLocalDlogResId)
							{
// Add-S PTX-824 2007.07.12 暯壀
							FinishProgress(iLocalDlogResId);
// Add-E PTX-824 2007.07.12 暯壀
							HandleDialogCommandL(ECloseModelessDialog, iLocalDlogResId);
							}

// Del-S PTX-824 2007.08.29 D_82400012340 暯壀
//						// 僾儗僀儕僗僩暋惢姰椆僟僀傾儘僌傪昞帵偡傞
//						HandleDialogCommandL(EShowConfirmModelessDialog, R_DL_MUSIC_MAIN_FLT_DUPLICATEPL_COMPLETE_CONFIRM);
// Del-E PTX-824 2007.08.29 D_82400012340 暯壀
						}
					else if(KErrDiskFull==aResult)
						{
						// 僟僀傾儘僌昞帵拞偺偨傔丄摿偵壗傕偟側偄
						}
					else
						{
						// 恑捇僟僀傾儘僌傪暵偠傞
						HandleDialogCommandL(ECloseModelessDialog, R_DL_MUSIC_MAIN_FLT_PROGRESS_DUPLICATE);
						// 僐僺乕幐攕僟僀傾儘僌傪昞帵偡傞
						HandleDialogCommandL(EShowConfirmModelessDialog, R_DL_MUSIC_MAIN_FLT_OPERATION_CANCEL_CONFIRM);
						}
					}
					break;
// Add-E PTX-824懳墳丂暯壀

				case ECmdFilterViewDeletePLItem:					// 僾儗僀儕僗僩嶍彍
					{
					//2006.10.10
					// 2006.09.21 僾儘僌儗僗僟僀傾儘僌捛壛廋惓
					// 僾儘僌儗僗僟僀傾儘僌傪徚嫀偡傞
					//FinishProgress();
					//HandleDialogCommandL(ECloseModelessDialog, R_DL_MUSIC_MAIN_FLT_PROGRESS_MP04P001_PLURAL);
					//TInt resultCount = View()->SyncModel().GetItemCount(ListHandle());

					CSmbMusicAPMainPlayerFilterProcessDeleteItems* processObj = static_cast<CSmbMusicAPMainPlayerFilterProcessDeleteItems*>(&aProcess);
//					CSmbMusicAPMainPlayerFilterProcessDeleteItems* processObj = STATIC_CAST(CSmbMusicAPMainPlayerFilterProcessDeleteItems*,&aProcess);
					//嶍彍梫媮僇僂儞僩
					TInt requestedCount = processObj->GetRequestedCount();
					//幚嵺偵嶍彍偝傟偨僇僂儞僩
					TInt deletedCount = processObj->GetDeletedCount();

// Add-S PTX-824 2007.08.30 D_82400012340 暯壀
					// 嶍彍張棟偑惓忢廔椆偟偨応崌偺傒ETrue偲側傝丄恑捇僟僀傾儘僌偺僋儘乕僘捠抦帪偵嶍彍姰椆僟僀傾儘僌傪昞帵偡傞
					iDelComplete = EFalse;
// Add-E PTX-824 2007.08.30 D_82400012340 暯壀

					//2006.10.02 TRK#10722
					switch(aResult)
						{
						case KErrNone:
							{
							// 嶍彍姰椆僟僀傾儘僌傪昞帵偡傞
							//HandleDialogCommandL(EShowConfirmModelessDialog, R_DL_MUSIC_MAIN_FLT_DELETE_CONFIRM, NULL, NULL);//嶍彍屻妋擣僟僀傾儘僌傪昞帵

							if(deletedCount == 0)	//堦審傕嶍彍偟偰偄側偄偲偒
								{
								// 恑捇僟僀傾儘僌傪暵偠傞
//								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)
									{
									HandleDialogCommandL(ECloseModelessDialog, iLocalDlogResId);
									}
								// 嶍彍幐攕僟僀傾儘僌傪昞帵偡傞
								HandleDialogCommandL(EShowWarningModelessDialog, R_DL_MUSIC_MAIN_FLT_OPERATION_DELETE_FAILED);
								}
							else if(deletedCount < requestedCount)	//堦晹嶍彍偟偨偲偒
								{
								// 恑捇僟僀傾儘僌傪暵偠傞
								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();
//								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 暯壀
									HandleDialogCommandL(ECloseModelessDialog, iLocalDlogResId);
									}
// Mod-S PTX-824 2007.08.30 D_82400012340 暯壀
								iDelComplete = ETrue;
								// 嶍彍姰椆僟僀傾儘僌傪昞帵偡傞
//								HandleDialogCommandL(EShowConfirmModelessDialog, R_DL_MUSIC_MAIN_FLT_DELETE_CONFIRM, NULL, NULL);//嶍彍屻妋擣僟僀傾儘僌傪昞帵
// Mod-S PTX-824 2007.08.30 D_82400012340 暯壀
								}
							}
							break;
						case KErrCancel:
							{
							//2006.10.10
							if(0==deletedCount)		//堦審傕嶍彍偟偰偄側偄偲偒
								{
								// 恑捇僟僀傾儘僌傪暵偠傞
								HandleDialogCommandL(ECloseModelessDialog, R_DL_MUSIC_MAIN_FLT_PROGRESS_MP04P001_PLURAL);
								// 憖嶌拞巭僟僀傾儘僌傪昞帵偡傞
								HandleDialogCommandL(EShowConfirmModelessDialog, R_DL_MUSIC_MAIN_FLT_OPERATION_CANCEL_CONFIRM);
								}
							else
								{
								// 恑捇僟僀傾儘僌傪暵偠傞
								HandleDialogCommandL(ECloseModelessDialog, R_DL_MUSIC_MAIN_FLT_PROGRESS_MP04P001_PLURAL);
								// 嶍彍拞巭僟僀傾儘僌乽拞巭偟傑偟偨{NNNN}審嶍彍偟傑偟偨乿
								HandleFormatDialogCommandL(EShowConfirmModelessDialog, R_DL_MUSIC_MAIN_FLT_OPERATION_DELETE_CANCEL_CONFIRM, R_SMB_AF_STR_MSG102, deletedCount);
								}
							}
							break;
						default:
							{
							if(deletedCount == 0)	//堦審傕嶍彍偟偰偄側偄偲偒
								{
								// 恑捇僟僀傾儘僌傪暵偠傞
//								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)
									{
									HandleDialogCommandL(ECloseModelessDialog, iLocalDlogResId);
									}
								// 嶍彍幐攕僟僀傾儘僌傪昞帵偡傞
								HandleDialogCommandL(EShowWarningModelessDialog, R_DL_MUSIC_MAIN_FLT_OPERATION_DELETE_FAILED);
								}
							else
								{
								// 恑捇僟僀傾儘僌傪暵偠傞
//								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)
									{
									HandleDialogCommandL(ECloseModelessDialog, iLocalDlogResId);
									}
								// 嶍彍幐攕僟僀傾儘僌乽嶍彍偱偒側偄僼傽僀儖偑偁傝傑偡{NNNN}審嶍彍偟傑偟偨
								HandleFormatDialogCommandL(EShowWarningModelessDialog, R_DL_MUSIC_MAIN_FLT_OPERATION_DELETE_WARNING, R_SMB_AF_STR_MSG1417, deletedCount);
								}
							}
							break;
						}
					iEditItemIndex = 0;
					iScreenTopIndex	= 0;
					}
					break;
				}
			}
		}
	// 婎掙僋儔僗偱姰椆張棟偡傞
	CSmbMusicAPMainPlayerFilterListView::ProcessComplete(aResult, aProcess);
	}

// from MSmbMusicAPMainPlayerFilterProcessObserver
void CSmbMusicAPMainPlayerFilterListViewPlaylist::ProcessComplete(TInt aResult, CSmbMusicAPMainPlayerFilterProcess& aProcess)
	{
	// TRAP
	TRAPD(error, ProcessCompleteL(aResult, aProcess));
	if (KErrNone != error)
		{
		// 儘僌
		_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterListViewPlaylist::ProcessComplete(%d)");
		SmbMusicAPMainPlayerUtility::OutputLog(iLog, 190040, ELogLevelNormal, KLogFmt, aResult);
		KillProcess();
		View()->FinishProcesses();
		View()->SetEventDisabled(EFalse);
		View()->DeleteProcessingIcon();
		}
	}
// Change-E PTX-824 僐乕僨傿儞僌婯栺堘斀懳墳丂暯壀

// Add-S PTX-824丂暯壀
/**
 * 恊僾儗僀儕僗僩慗堏慜嫟捠張棟(奜晹儊儌儕憓敳)
 *
 * @param[in]		aProcessCommandID		僐儅儞僪ID
 * @param[in]		aListType				儕僗僩僞僀僾
 */
void CSmbMusicAPMainPlayerFilterListViewPlaylist::CommonMoveParentPlaylistL(TInt aProcessCommandID)
	{
// Add-S 暯壀 Worning懳墳
	//儕僗僩傪弶婜壔偡傞
	TInt listHandle = ListHandle();
// Add-E 暯壀 Worning懳墳

	switch (aProcessCommandID)
		{
	case ECmdFilterViewShowImportPlaylist:
	case ECmdFilterViewShowImportPlaylistForStartApp:
	case ECmdFilterViewShowWMAPlaylist:
	case ECmdFilterViewShowWMAPlaylistForStartApp:

// Del-S 暯壀 Warning懳墳 2007.08.13
//		//儕僗僩傪弶婜壔偡傞
//		TInt listHandle = ListHandle();
// Del-E 暯壀 Warning懳墳 2007.08.13
		ResetListInfo();
		SetListHandle(listHandle);
		SetItemCount(0);

		if(ECmdFilterViewShowImportPlaylist==aProcessCommandID
		|| ECmdFilterViewShowImportPlaylistForStartApp==aProcessCommandID)
			{
			// 僀儞億乕僩僾儗僀儕僗僩堦棗夋柺偵慗堏偡傞
			SetListType(EPLImportPLListType);
			}
		else
			{
			// WMA僾儗僀儕僗僩堦棗夋柺偵慗堏偡傞
			SetListType(EPLWMAPLListType);
			}
		// 傾僋僥傿僽愝掕傪偡傞乮僞僀僩儖僶乕丄僉乕僈僀僟儞僗偺嵞愝掕乯
		DoViewActivatedL();
		// 恊夋柺偺僼僅乕僇僗傪愝掕偡傞
		AdjustParentIndex();

		break;
	default:
		// 壗傕偟側偄
		break;
		}
	}
// Add-E PTX-824丂暯壀



/**
 * 僟僀傾儘僌僋儘乕僘捠抦
 *
 * @param[in]		aResourceId		儕僜乕僗俬俢
 * @param[in]		aResult			慖戰寢壥
 */
void CSmbMusicAPMainPlayerFilterListViewPlaylist::HandleDialogClosed(TInt aResourceId, TInt aResult)
	{
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterListViewPlaylist::HandleDialogClosed(%d, %d)");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, 190050, ELogLevelNormal, KLogFmt, aResourceId, aResult);

	CSmbMusicAPMainPlayerFilterListView::HandleDialogClosed(aResourceId, aResult);
	
	switch(aResourceId)
		{
		// 僾儗僀儕僗僩嶌惉姰椆捠抦
		case R_DL_MUSIC_MAIN_FLT_CREATEPLAYLIST_COMPLETE_CONFIRM:
			// 僾儗僀儕僗僩堦棗偺嵞庢摼
//			ProcessLoadListItems(ECmdFilterViewGetListItems);
			break;
		case R_DL_MUSIC_MAIN_FLT_CREATEPLAYLIST_NOTITLE_WARNING:
			break;
		// 僾儗僀儕僗僩嶍彍妋擣僟僀傾儘僌
		case R_DL_MUSIC_MAIN_FLT_DELETEPL_SELECT:
		case R_DL_MUSIC_MAIN_FLT_DELETEPLALL_SELECT:
		case R_DL_MUSIC_MAIN_FLT_DELETEPLMULTI_SELECT:
			{
			if (MSmbMusicAPMainPlayerDialogManagerBase::ESelectKey == aResult)//乽偼偄乿偑慖戰偝傟偨
				{
				// 2006.09.13 TRK#8040
				// 僀儀儞僩梷惂偡傞
				// 2006.10.04 恑捇僟僀傾儘僌昞帵屻丄僀儀儞僩梷惂夝彍傪偡傞
				View()->SetEventDisabled(ETrue);
				TRAPD(error, ProcessCommandL(ECmdFilterViewDeletePLItem));
				if (KErrNone != error)
					{

⌨️ 快捷键说明

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