smbmusicapmainplayerfilterlistviewplaylist.cpp

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

CPP
1,673
字号
//						if(ECmdFilterViewShowOriginalPlaylist==processCommandID
//						|| ECmdFilterViewShowOriginalPlaylistForInsert==processCommandID
//						|| ECmdFilterViewShowOriginalPlaylistForStartApp==processCommandID)
//							{
//							SetListType(EPLOriginalPLListType);
//							}
//						else
//							{
//							SetListType(EPLImportPLListType);
//							}
						switch (processCommandID)	
							{
						case ECmdFilterViewShowOriginalPlaylist:
						case ECmdFilterViewShowOriginalPlaylistForInsert:
						case ECmdFilterViewShowOriginalPlaylistForStartApp:
							SetListType(EPLOriginalPLListType);
							break;
					
						case ECmdFilterViewShowImportPlaylist:
						case ECmdFilterViewShowImportPlaylistForStartApp:
							SetListType(EPLImportPLListType);
							break;

						case ECmdFilterViewShowWMAPlaylist:
						case ECmdFilterViewShowWMAPlaylistForStartApp:
						default:
							SetListType(EPLWMAPLListType);
							break;
							}
// Change-E PTX-824懳墳丂暯壀

						// 婎掙僋儔僗偱姰椆張棟偡傞
						CSmbMusicAPMainPlayerFilterListView::ProcessComplete(aResult, aProcess);

// Add-S PTX-824 D_82400012386懳墳 暯壀 2007.09.04
						iGettingPLInsertList = EFalse;		// 僾儗僀儕僗僩搊榐梡儕僗僩僴儞僪儖庢摼拞僼儔僌偺弶婜壔
// Add-E PTX-824 D_82400012386懳墳 暯壀 2007.09.04

						
						//2006.10.17 TRK#11605
						if(ECmdFilterViewShowImportPlaylist==processCommandID
						|| ECmdFilterViewShowImportPlaylistForStartApp==processCommandID
// Add-S PTX-824懳墳丂暯壀
						|| ECmdFilterViewShowWMAPlaylist == processCommandID
						|| ECmdFilterViewShowWMAPlaylistForStartApp == processCommandID)
// Add-E PTX-824懳墳丂暯壀
							{
							View()->SetEventDisabled(EFalse);
							//2006.10.19 TRK#11052,11798
							//DB峔抸拞偐偳偆偐傪僠僃僢僋偡傞
							if(EFalse!=iMusicDBUpdating)
								{
// Change-S PTX-824 暯壀
								// 恊僾儗僀儕僗僩慗堏慜嫟捠張棟(奜晹儊儌儕憓敳)
								CommonMoveParentPlaylistL(processCommandID);
								//儕僗僩傪弶婜壔偡傞
//								TInt listHandle = ListHandle();
//								ResetListInfo();
//								SetListHandle(listHandle);
//								SetItemCount(0);
//								// 僀儞億乕僩僾儗僀儕僗僩堦棗夋柺偵慗堏偡傞
//								SetListType(EPLImportPLListType);
//								// 傾僋僥傿僽愝掕傪偡傞乮僞僀僩儖僶乕丄僉乕僈僀僟儞僗偺嵞愝掕乯
//								DoViewActivatedL();
//								// 恊夋柺偺僼僅乕僇僗傪愝掕偡傞
//								AdjustParentIndex();
// Change-E PTX-824 暯壀
								}
							else if(EFalse!=View()->IsMusicDbUpdatingL())
								{
// Change-S PTX-824 暯壀
								// 恊僾儗僀儕僗僩慗堏慜嫟捠張棟(奜晹儊儌儕憓敳)
								CommonMoveParentPlaylistL(processCommandID);
//								//儕僗僩傪弶婜壔偡傞
//								TInt listHandle = ListHandle();
//								ResetListInfo();
//								SetListHandle(listHandle);
//								SetItemCount(0);
//								// 僀儞億乕僩僾儗僀儕僗僩堦棗夋柺偵慗堏偡傞
//								SetListType(EPLImportPLListType);
//								// 傾僋僥傿僽愝掕傪偡傞乮僞僀僩儖僶乕丄僉乕僈僀僟儞僗偺嵞愝掕乯
//								DoViewActivatedL();
//								// 恊夋柺偺僼僅乕僇僗傪愝掕偡傞
//								AdjustParentIndex();
// Change-E PTX-824 暯壀
								//DB峔抸拞偺惂尷捠抦僟僀傾儘僌傪昞帵偡傞
								View()->SetDelayShowDialogL(R_DL_MUSIC_MAIN_BASE_DB_RESTRICTION);
								}
							else
								{
								ProcessLoadListItemsAtListTop(ECmdFilterViewGetListItems);
								}
							}
						else
							{
							// 僆儕僕僫儖僾儗僀儕僗僩偺応崌(娷僾儗僀儕僗僩搊榐丄僼傽僀儖娗棟偐傜偺婲摦)
							ProcessLoadListItemsAtListTop(ECmdFilterViewGetListItems);
							}
						
						// 傾僋僥傿僽愝掕傪偡傞乮僞僀僩儖僶乕丄僉乕僈僀僟儞僗偺嵞愝掕乯
						DoViewActivatedL();
//2006.09.05 SEMCJ嬥岝 TRK7903, 8447懳墳 ADD-S
//						if(ECmdFilterViewShowOriginalPlaylistForStartApp == aProcess.GetRequestOwnerInfo()
//						|| ECmdFilterViewShowImportPlaylistForStartApp == aProcess.GetRequestOwnerInfo()) 
						if(ECmdFilterViewShowOriginalPlaylistForStartApp == processCommandID
						|| ECmdFilterViewShowImportPlaylistForStartApp == processCommandID 
// Add-S PTX-824懳墳丂暯壀
						|| ECmdFilterViewShowWMAPlaylistForStartApp == processCommandID) 
// Add-E PTX-824懳墳丂暯壀
							{
							View()->SetEventDisabled(EFalse);
							//僒僽僾儗僀儎乕偵儕僗僩僴儞僪儖傪捠抦偡傞
							//仸偙偙偱偼僼傽僀儖娗棟偱慖戰捈屻丄抂枛暵偝傟傞働乕僗傪峫椂偟丄
							//丂抂枛暵帪偱傕捠抦偡傞昁梫偑偁傞偨傔丄ChangeListHandleSyncEvent傪巊梡偟側偄
							if(ESmbPGMusicAPPlayerStateStarting == SmbPGMusic::MusicAPPlayerStateL(View()->PropAgent()))
								{
								//捠抦偟偰偄側偄巪傪View偵愝掕偡傞
								View()->NonNotifyListHandleByFileSystem(ETrue);
								}
							else
								{
								View()->UpdateSyncEvent(ESmbMusicAPPlayerFilteringViewChangeListHandleEvent, listHandle, 0, ETrue);
								}
							//2006.10.06 TRK#10229
							//if(EFalse != View()->IsCaseClosedL())
								{
								//抂枛暵偺忬懺偱偁傟偽丄儕僗僩僴儞僪儖傪Append偡傞
								View()->ViewModel()->ResetSyncPath();
								View()->ViewModel()->ChildPositionSyncPath(ESmbMusicAPPlayerPlayListMenu);
								View()->ViewModel()->ChildPositionSyncPath(listHandle);
								}
							// 恊夋柺偺僼僅乕僇僗傪愝掕偡傞
							AdjustParentIndex();
							}
//2006.09.05 SEMCJ嬥岝 TRK7903, 8447懳墳 ADD-E
//						else if(ECmdFilterViewShowOriginalPlaylistForInsert==aProcess.GetRequestOwnerInfo())
						else if(ECmdFilterViewShowOriginalPlaylistForInsert==processCommandID)
							{
							View()->SetEventDisabled(EFalse);
							// 搊榐愭慖戰夋柺乮僾儗僀儕僗僩堦棗乯傊慗堏
							View()->ChangeViewSyncEvent(ESmbMusicAPPlayerChangePLRegistViewEvent, listHandle);
							}
						}
					else
						{
						iEditItemIndex = 0;
						iScreenTopIndex	= 0;
// Change-S PTX-824懳墳丂暯壀
						switch (processCommandID)
							{
						case ECmdFilterViewShowOriginalPlaylist:
						case ECmdFilterViewShowOriginalPlaylistForInsert:
						case ECmdFilterViewShowOriginalPlaylistForStartApp:
							SetListType(EPLOriginalPLListType);
							break;
						case ECmdFilterViewShowImportPlaylist:
						case ECmdFilterViewShowImportPlaylistForStartApp:
							SetListType(EPLImportPLListType);
							break;
						case ECmdFilterViewShowWMAPlaylist:
						case ECmdFilterViewShowWMAPlaylistForStartApp:
						default:
							SetListType(EPLWMAPLListType);
							break;
							}
//						if(ECmdFilterViewShowOriginalPlaylist==aProcess.GetRequestOwnerInfo()
//						|| ECmdFilterViewShowOriginalPlaylistForInsert==aProcess.GetRequestOwnerInfo()
//						|| ECmdFilterViewShowOriginalPlaylistForStartApp==aProcess.GetRequestOwnerInfo())
//							{
//							SetListType(EPLOriginalPLListType);
//							}
//						else
//							{
//							SetListType(EPLImportPLListType);
//							}
// Change-E PTX-824懳墳丂暯壀
						// 傾僋僥傿僽愝掕傪偡傞乮僞僀僩儖僶乕丄僉乕僈僀僟儞僗偺嵞愝掕乯
						DoViewActivatedL();
// Add PTX-824 D_82400015471懳墳丂暯壀丂2007.09.20
						// 僼傽僀儖娗棟偐傜偺僾儗僀儕僗僩堦棗婲摦僼儔僌偺儕僙僢僩
						View()->SetResetPLStartAppVal();
						}
					//DB峔抸拞僼儔僌傪儕僙僢僩偟偰偍偔
					iMusicDBUpdating = EFalse;
#if 0
//2006.10.24 TRK#12006 師婡庬(PTX-824)懳墳 TRK-507
//ADD-S>
					if(ECmdFilterViewShowOriginalPlaylistForStartApp==processCommandID
					|| ECmdFilterViewShowImportPlaylistForStartApp==processCommandID)
					|| ECmdFilterViewShowWMAPlaylistForStartApp==processCommandID)
						{
						View()->DelayReleaseSyncEngine();
						}
//ADD-E<
#endif
					}
					return;
				case EMainPlayerFilterViewKGCmdSelect:				// 僾儗僀儕僗僩嬋堦棗専嶕
					{
					_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterListViewPlaylist::ProcessCompleteL() - CmdSelect");
					SmbMusicAPMainPlayerUtility::OutputLog(iLog, 190032, ELogLevelNormal, KLogFmt);
					
					//2006.10.20 摨婜僒乕僶強桳尃傪僠僃僢僋偟偰幚峴偡傞
					if(EFalse!=View()->IsAccessSyncEngine())
						{
						if(KErrNone==aResult)
							{
							CSmbMusicAPMainPlayerFilterProcessGetListFromSearchCurrentList* processObj = static_cast<CSmbMusicAPMainPlayerFilterProcessGetListFromSearchCurrentList*>(&aProcess);
//							CSmbMusicAPMainPlayerFilterProcessGetListFromSearchCurrentList* processObj = STATIC_CAST(CSmbMusicAPMainPlayerFilterProcessGetListFromSearchCurrentList*,&aProcess);

							TInt listHandle = 0;
							TInt count = 0;
							processObj->GetListHandle(listHandle);
							processObj->GetCount(count);
							// 巕夋柺偵慗堏偡傞
							View()->ShowChildViewL(ProcessTargetViewUid(), listHandle, count);
							}
						}
					else
						{
						// 僀儀儞僩梷惂夝彍偡傞
						View()->SetEventDisabled(EFalse);
						}
					}
					break;
				case EMainPlayerFilterViewKGCmdLongSelect:			// 挿墴偟嵞惗
					{
					_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterListViewPlaylist::ProcessCompleteL() - CmdLongSelect");
					SmbMusicAPMainPlayerUtility::OutputLog(iLog, 190033, ELogLevelNormal, KLogFmt);

					//2006.10.20 摨婜僒乕僶強桳尃傪僠僃僢僋偟偰幚峴偡傞
					if(EFalse!=View()->IsAccessSyncEngine())
						{
						if(KErrNone==aResult)
							{
							CSmbMusicAPMainPlayerFilterProcessGetListFromSearchCurrentList* processObj = static_cast<CSmbMusicAPMainPlayerFilterProcessGetListFromSearchCurrentList*>(&aProcess);
//							CSmbMusicAPMainPlayerFilterProcessGetListFromSearchCurrentList* processObj = STATIC_CAST(CSmbMusicAPMainPlayerFilterProcessGetListFromSearchCurrentList*,&aProcess);

							TSmbMusicAPMainPlayerPrmPlayList param;
							processObj->GetListHandle(param.iListHandle);
							processObj->GetCount(param.iCount);
							param.iIndex	= 0;
							param.iShuffle	= EFalse;
							param.iListType	= ESmbMusicAPMainPlayerPlayListTypePlaylist;
							// 嵞惗奐巒偡傞
							View()->StartPlayViewL(KSmbMusicAPMainPlayerPlayListMsgUid, param);
							}
						}
					else
						{
						// 僀儀儞僩梷惂夝彍偡傞
						View()->SetEventDisabled(EFalse);
						}
					}
					break;
				case ECmdFilterViewCreatePlaylist:					// 僾儗僀儕僗僩嶌惉
					{
					_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterListViewPlaylist::ProcessCompleteL() - CreatePlaylist");
					SmbMusicAPMainPlayerUtility::OutputLog(iLog, 190034, ELogLevelNormal, KLogFmt);

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

						TInt listHandle = processObj->GetParamListHandle();

						TInt topIndex	= 0;
						TInt itemCount	= 0;

						RArray<TSmbMusicAPSyncEngineListItemInfo> items;
						if( EFalse!=processObj->GetItems(items) 		&& 
							EFalse!=processObj->GetTopIndex(topIndex) 	&& 
							EFalse!=processObj->GetCount(itemCount)		&& 
							EFalse!=processObj->GetIndex(iEditItemIndex))
							{
							// 僉儍僢僔儏傪儕僙僢僩偡傞
							Model()->Reset();
							// 儕僗僩僴儞僪儖偲傾僀僥儉悢傪愝掕偡傞
							SetListHandle(listHandle);
							SetItemCount(itemCount);
							// 儌僨儖偵傾僀僥儉攝楍傪愝掕
							Model()->SetListItemL(topIndex, items);
							SetActiveIndex(iEditItemIndex);
							//2006.10.01 TRK#9778
							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();

						// 僾儗僀儕僗僩嶌惉姰椆僟僀傾儘僌傪昞帵偡傞
						HandleDialogCommandL(EShowConfirmModelessDialog, R_DL_MUSIC_MAIN_FLT_CREATEPLAYLIST_COMPLETE_CONFIRM);
						}
					}
					break;
					
				case ECmdFilterViewRenamePlaylist:					// 僾儗僀儕僗僩柤曇廤
					{
					_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterListViewPlaylist::ProcessCompleteL() - RenamePlaylist");
					SmbMusicAPMainPlayerUtility::OutputLog(iLog, 190035, ELogLevelNormal, KLogFmt);

					if(KErrNone==aResult)
						{
						CSmbMusicAPMainPlayerFilterProcessEditPlaylistTitle* processObj = static_cast<CSmbMusicAPMainPlayerFilterProcessEditPlaylistTitle*>(&aProcess);
//						CSmbMusicAPMainPlayerFilterProcessEditPlaylistTitle* processObj = STATIC_CAST(CSmbMusicAPMainPlayerFilterProcessEditPlaylistTitle*,&aProcess);
						TInt listHandle = processObj->GetParamListHandle();

						TInt topIndex	= 0;
						TInt itemCount	= 0;

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

⌨️ 快捷键说明

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