smbmusicapmainplayerfilterlistviewmemtype.cpp

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

CPP
526
字号
			// 僀儀儞僩梷惂偡傞
			View()->SetEventDisabled(ETrue);
			ProcessGetListFromSearchTop(aCommandId, ESmbMusicAPSyncEngineMassStorage, ESmbMusicAPSyncEngineSongList, KSmbMusicAPMainPlayerSongListViewUid);
			}
			return MSmbAfCommandBase::ESmbAfCmdIdWasConsumed;
#endif
// Del-E PTX-824懳墳 TRK955 暯壀
		case ECmdFilterViewShowSongListExternalMem:	// 奜晹儊儌儕(MS, SD)
		case ECmdFilterViewShowSongListExternalMemLong:	// 奜晹儊儌儕(MS, SD)
			{
// Change-S PTX-824懳墳 暯壀
//			// 儊儌儕儌乕僪/MTP儌乕僪拞偐偳偆偐傪僠僃僢僋偡傞
//			if (EFalse != View()->IsMemoryOrMTPModeL())
//				{
//				// 儊儌儕儌乕僪拞偁傞偄偼MTP儌乕僪拞偺応崌偼microSD偼慖戰晄壜
//				HandleDialogCommandL(EShowWarningModelessDialog, R_DL_MUSIC_MAIN_FLT_PLAYLIST_MEMORYMODE_WARNING);
//				}
//			else
//				{
#ifdef __MS_DRIVE_OFF__
				// 僀儀儞僩梷惂偡傞
				View()->SetEventDisabled(ETrue);
				ProcessGetListFromSearchTop(aCommandId, ESmbMusicAPSyncEngineMiniSD, ESmbMusicAPSyncEngineSongList, KSmbMusicAPMainPlayerSongListViewUid);
#else
				// 僀儀儞僩梷惂偡傞
				View()->SetEventDisabled(ETrue);
				// SD僇乕僪偑巊梡壜擻偐偳偆偐挷傋傞
				if(EFalse!=AvailableExtMemoryL(CSmbExtMemWatcher::ESd))
					{
					ProcessGetListFromSearchTop(aCommandId, ESmbMusicAPSyncEngineMiniSD, ESmbMusicAPSyncEngineSongList, KSmbMusicAPMainPlayerSongListViewUid);
					}
				//MOD-S 2006.09.09 SDNA 壀嶳 TRK7909懳墳
				// MemoryStick偐丄奜晹儊儌儕偑柍偄応崌偼丄MemoryStick偲偟偰専嶕傪峴偆
				else
					{
					ProcessGetListFromSearchTop(aCommandId, ESmbMusicAPSyncEngineMSDuo, ESmbMusicAPSyncEngineSongList, KSmbMusicAPMainPlayerSongListViewUid);
					}
				//MOD-E 2006.09.09 SDNA 壀嶳 TRK7909懳墳
#endif
//				}
// Change-E 2007.06.29 儊儌儕儌乕僪/MTP儌乕僪偱傕専嶕偵峴偔傛偆曄峏丂暯壀
//			// 僀儀儞僩梷惂偡傞
//			View()->SetEventDisabled(ETrue);
//			// SD僇乕僪偑巊梡壜擻偐偳偆偐挷傋傞
//			if(EFalse!=AvailableExtMemoryL(CSmbExtMemWatcher::ESd))
//				{
//				ProcessGetListFromSearchTop(aCommandId, ESmbMusicAPSyncEngineMiniSD, ESmbMusicAPSyncEngineSongList, KSmbMusicAPMainPlayerSongListViewUid);
//				}
// Change-E
////MOD-S 2006.09.09 SDNA 壀嶳 TRK7909懳墳
//			// MemoryStick偐丄奜晹儊儌儕偑柍偄応崌偼丄MemoryStick偲偟偰専嶕傪峴偆
//			else
//				{
//				ProcessGetListFromSearchTop(aCommandId, ESmbMusicAPSyncEngineMSDuo, ESmbMusicAPSyncEngineSongList, KSmbMusicAPMainPlayerSongListViewUid);
//				}
////MOD-E 2006.09.09 SDNA 壀嶳 TRK7909懳墳
			}
			return MSmbAfCommandBase::ESmbAfCmdIdWasConsumed;
		}
	return MSmbAfCommandBase::ESmbAfCmdIdWasNotConsumed;
	}

//////////////////////////////////////////////////////////////////////////////////////
// 旕摨婜僾儘僙僗
//////////////////////////////////////////////////////////////////////////////////////
// from MSmbMusicAPMainPlayerFilterProcessObserver
void CSmbMusicAPMainPlayerFilterListViewMemType::ProcessComplete(TInt aResult, CSmbMusicAPMainPlayerFilterProcess& aProcess)
	{
	if( NULL!=ProcessObj() && &aProcess==ProcessObj() &&
		CSmbMusicAPMainPlayerFilterProcess::EProcessTypeGetListFromSearchTop == aProcess.GetProcessType() && 
		KErrNone == aResult)
		{
		CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop* processObj = static_cast<CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop*>(&aProcess);
//		CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop* processObj = STATIC_CAST(CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop*,&aProcess);

		// 幚峴拞偺僐儅儞僪傪僠僃僢僋偡傞
		switch(aProcess.GetRequestOwnerInfo())
			{
			case ECmdFilterViewShowSongListDatabox:		// 僨乕僞BOX
// Del-S PTX-824懳墳 TRK955 暯壀
#ifdef EXPANDEDMEM_DELETE
			case ECmdFilterViewShowSongListExpandedMem:	// 杮懱奼挘儊儌儕
#endif
// Del-E PTX-824懳墳 TRK955 暯壀
			case ECmdFilterViewShowSongListExternalMem:	// 奜晹儊儌儕(MS, SD)
				{
				//2006.10.20 摨婜僒乕僶強桳尃傪僠僃僢僋偟偰幚峴偡傞
				if(EFalse!=View()->IsAccessSyncEngine())
					{
					TInt listHandle = 0;
					TInt count = 0;
					processObj->GetListHandle(listHandle);
					processObj->GetCount(count);
					// 巕夋柺偵慗堏偡傞
					View()->ShowChildViewL(ProcessTargetViewUid(), listHandle, count);
					}
				else
					{
					// 僀儀儞僩梷惂夝彍偡傞
					View()->SetEventDisabled(EFalse);
					}
				}
				break;
			// 挿墴偟嵞惗
			case ECmdFilterViewShowSongListDataboxLong:		// 僨乕僞BOX
// Del-S PTX-824懳墳 TRK955 暯壀
#ifdef EXPANDEDMEM_DELETE
			case ECmdFilterViewShowSongListExpandedMemLong:	// 杮懱奼挘儊儌儕
#endif
// Del-E PTX-824懳墳 TRK955 暯壀
			case ECmdFilterViewShowSongListExternalMemLong:	// 奜晹儊儌儕(MS, SD)
				{
				//2006.10.20 摨婜僒乕僶強桳尃傪僠僃僢僋偟偰幚峴偡傞
				if(EFalse!=View()->IsAccessSyncEngine())
					{
					TSmbMusicAPMainPlayerPrmPlayList param;
					processObj->GetListHandle(param.iListHandle);
					processObj->GetCount(param.iCount);
					param.iIndex	= 0;
					param.iShuffle	= EFalse;
					param.iListType	= ESmbMusicAPMainPlayerPlayListTypeFilterlist;
					// 嵞惗奐巒偡傞
					View()->StartPlayViewL(KSmbMusicAPMainPlayerPlayListMsgUid, param);
					}
				else
					{
					// 僀儀儞僩梷惂夝彍偡傞
					View()->SetEventDisabled(EFalse);
					}
				}
				break;
			}
		}
	// 婎掙僋儔僗偱姰椆張棟偡傞
	CSmbMusicAPMainPlayerFilterListView::ProcessComplete(aResult, aProcess);
	}

//////////////////////////////////////////////////////////////////////////////////////
// 儕僗僩儃僢僋僗張棟
//////////////////////////////////////////////////////////////////////////////////////
/**
 * 儕僗僩儃僢僋僗偺敿婸搙挷惍
 *
 * @param aState       [in] FilterView
 */
void CSmbMusicAPMainPlayerFilterListViewMemType::AdjustListBoxL(TBool /*aState*/)
	{
	// SD僇乕僪丒MemoryStick偑巊梡壜擻偐偳偆偐挷傋傞
// Change-S PTX-824懳墳丂暯壀丂2007.06.11
#ifdef __MS_DRIVE_OFF__
	if(EFalse==AvailableExtMemoryL(CSmbExtMemWatcher::ESd))
#else
	if(EFalse==AvailableExtMemoryL(CSmbExtMemWatcher::ESd) && EFalse==AvailableExtMemoryL(CSmbExtMemWatcher::EMs))
#endif
// Change-E PTX-824懳墳
		{
		}
	else
		{
		}
	}

//////////////////////////////////////////////////////////////////////////////////////
// 僒僽儊僯儏乕
//////////////////////////////////////////////////////////////////////////////////////
/**
 * 儊僯儏儕僜乕僗俬俢
 *
 * @return				儕僜乕僗俬俢
 */
TInt CSmbMusicAPMainPlayerFilterListViewMemType::SubMenuID()
	{
	return R_SB_MUSIC_MAIN_FLT_OTHER;
	}

// 僒僽儊僯儏乕敿婸搙張棟
void CSmbMusicAPMainPlayerFilterListViewMemType::AdjustSubMenuL(CSkonSubMenu* aSubMenu, TInt /*aResId*/)
	{
	// 嵞惗拞偐偳偆偐傪僠僃僢僋偡傞
	TSmbPGMusicAPPlayerState playState = SmbPGMusic::MusicAPPlayerStateL(View()->PropAgent());
	if(ESmbPGMusicAPPlayerStatePlaying==playState)	// 嵞惗拞
		{
		aSubMenu->SetItemDisableL(aSubMenu->MenuItemArrayL(), 0, EFalse);
		aSubMenu->SetItemDisableL(aSubMenu->MenuItemArrayL(), 1, EFalse);
		}
	else
		{
		aSubMenu->SetItemDisableL(aSubMenu->MenuItemArrayL(), 0, ETrue);
		aSubMenu->SetItemDisableL(aSubMenu->MenuItemArrayL(), 1, ETrue);
		}
	}

//////////////////////////////////////////////////////////////////////////////////////
// 奜晹儊儌儕僂僅僢僠儍
//////////////////////////////////////////////////////////////////////////////////////
/**
 *  奜晹儊儌儕僂僅僢僠儍傪庢摼偡傞
 *
 * @note			嶲徠宆偱曉媝偡傞	
 * @return			奜晹儊儌儕僂僅僢僠儍
 */
CSmbExtMemWatcher& CSmbMusicAPMainPlayerFilterListViewMemType::ExtMemWatcher(void) const
 	{
	return *iExtMemWatcher;
 	}

/**
 *  奜晹儊儌儕偺棙梡忬懺傪挷傋傞
 *
 * @param[in]		aType				儊儌儕庬暿
 * @retval			ETrue				巊梡壜
 * @retval			EFalse				巊梡晄壜
 */
TBool CSmbMusicAPMainPlayerFilterListViewMemType::AvailableExtMemoryL(CSmbExtMemWatcher::TType aType)
	{
	CSmbExtMemWatcher::TState state = iExtMemWatcher->StateL(aType);
	
	return ((state.iMountState == KErrNone) ? ETrue : EFalse);
	}

/**
 *  奜晹儊儌儕偑巊梡壜擻忬懺(Mount姰椆忬懺)偲側偭偨偙偲傪捠抦偡傞丅
 *
 *  @param[in] aType  憓敳忬懺偑曄峏偝傟偨奜晹儊儌儕偺庬暿丅
 */
void CSmbMusicAPMainPlayerFilterListViewMemType::NotifyMountedExtMemL(CSmbExtMemWatcher::TType /*aType*/)
	{
	}

/**
 *  奜晹儊儌儕偑Mount拞忬懺偲側偭偨偙偲傪捠抦偡傞丅
 *
 *  @param[in] aType  憓敳忬懺偑曄峏偝傟偨奜晹儊儌儕偺庬暿丅
 */
void CSmbMusicAPMainPlayerFilterListViewMemType::NotifyMountingExtMemL(CSmbExtMemWatcher::TType /*aType*/)
	{
	}

/**
 *  奜晹儊儌儕偑枹憓擖忬懺偲側偭偨偙偲傪捠抦偡傞丅
 *
 *  @param[in] aType  憓敳忬懺偑曄峏偝傟偨奜晹儊儌儕偺庬暿丅
 */
void CSmbMusicAPMainPlayerFilterListViewMemType::NotifyUnMountedExtMemL(CSmbExtMemWatcher::TType /*aType*/)
	{
	}

/**
 *  Mount帪偵僄儔乕偑敪惗偟偨偙偲傪捠抦偡傞丅
 *
 *  @param[in] aType  憓敳忬懺偑曄峏偝傟偨奜晹儊儌儕偺庬暿丅
 *  @param[in] aError 僄儔乕庬暿丅
 */
void CSmbMusicAPMainPlayerFilterListViewMemType::NotifyErrorExtMemL(CSmbExtMemWatcher::TType /*aType*/, TInt /*aError*/)
	{
	}


SEMCJ_NAMESPACE_END

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

⌨️ 快捷键说明

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