⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 smbmusicapmainplayerfilterlistviewmemtype.cpp

📁 symbian
💻 CPP
📖 第 1 页 / 共 2 页
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*-------------------------------------------------------------------------*/
// FileName:
//  SmbMusicAPMainPlayerFilterListViewMemType.cpp
//
// Description: 
//  CSmbMusicAPMainPlayerListBoxControl class source.
/*------------------------------------------------------------------------*/
//曄峏棜楌
//擔晅          |曄峏幰     |撪梕
//--------------+-----------+----------------------------------------------
//2006/08/16	|SDNA嶳壀	| 怴婯嶌惉
//2006/08/28	|SDNA嶳壀	| 儕僗僩僴儞僪儖偵掕媊抣傪愝掕
//2007/06/11	|SEMCJ暯壀	| PTX-824懳墳
//2007/07/23	|SEMCJ暯壀	| D_82400006405, D_82400004469 儈儏乕僕僢僋儊僯儏乕傾僀僐儞懳墳

#include <SmbAfWordingFormatter.h>
#include <SmbAfWording.rsg>
#include <SmbAfWording.loc>
#include <Music.mbg>
#include <SmbMusicAPMainPlayer.rsg>
#include "SmbMusicAPMainPlayer.hrh"
#include "SmbMusicAPMainPlayerFilterView.hrh"
#include "SmbMusicAPMainPlayerFilterView.h"
#include "SmbMusicAPMainPlayerFilterListView.h"
#include "SmbMusicAPMainPlayerFilterListViewMemType.h"
#include "SmbMusicAPMainPlayerFilterListItem.h"
#include "SmbMusicAPMainPlayerFilterSyncServerController.h"

#include <FjAfEnv.h>
#include "SmbMusicAPMainPlayerUtility.h"

SEMCJ_NAMESPACE_BEGIN

/**
 * 曐懚愭暿儊僯儏乕儕僗僩僋儔僗
 *	KSmbMusicAPMainPlayerMemTypeListViewUid
 */

//////////////////////////////////////////////////////////////////////////////////////
// 僋儔僗偺惗惉偲攋婞
//////////////////////////////////////////////////////////////////////////////////////
/**
 * 曐懚愭暿儊僯儏乕僋儔僗偺惗惉
 *
 * @param aView [in]	僼傿儖僞價儏乕
 * @return				儈儏乕僕僢僋儊僯儏乕儕僗僩僋儔僗
 */
CSmbMusicAPMainPlayerFilterListViewMemType* CSmbMusicAPMainPlayerFilterListViewMemType::NewL(TUid aViewUid, CSmbMusicAPMainPlayerFilterView* aView)
	{
	// 僀儞僗僞儞僗惗惉
	CSmbMusicAPMainPlayerFilterListViewMemType* self = new(ELeave) CSmbMusicAPMainPlayerFilterListViewMemType();
	// 僋儕乕儞傾僢僾僗僞僢僋妋曐
	CleanupStack::PushL(self);
	// 僙僇儞僪僐儞僗僩儔僋僞
	self->ConstructL(aViewUid, aView);
	// 僋儕乕儞傾僢僾僗僞僢僋奐曻
	CleanupStack::Pop();// self
	return self;
	}

/**
 * 僐儞僗僩儔僋僞
 *
 * @param aView [in]	僼傿儖僞價儏乕
 * @return				儈儏乕僕僢僋儊僯儏乕儕僗僩僋儔僗
 */
CSmbMusicAPMainPlayerFilterListViewMemType::CSmbMusicAPMainPlayerFilterListViewMemType()
	{
	}

/**
 * 僙僇儞僪僐儞僗僩儔僋僞
 * @param aView       [in] FilterView
 * @param aSyncEngine [in] 摨婜僄儞僕儞
 * 
 */
void CSmbMusicAPMainPlayerFilterListViewMemType::ConstructL(TUid aViewUid, CSmbMusicAPMainPlayerFilterView* aView)
	{
	// 僞僀僩儖僶乕丄儕僗僩儃僢僋僗傪惗惉偡傞
	CSmbMusicAPMainPlayerFilterListView::ConstructL(aViewUid, aView);
	// 儕僗僩僴儞僪儖傪愝掕偡傞
	SetListHandle(ESmbLocalListHandleMemType);
	// 奜晹儊儌儕僂僅僢僠儍惗惉
	iExtMemWatcher = CSmbExtMemWatcher::NewL();
	// 奜晹儊儌儕僆僽僓乕僶傪愝掕
	// 娔帇懳徾: M.S. & SD僇乕僪
// Change-S PTX-824懳墳丂暯壀丂2007.06.11
#ifdef __MS_DRIVE_OFF__
	iExtMemWatcher->SetObserver(CSmbExtMemWatcher::ESd, this);
#else
	iExtMemWatcher->SetObserver(CSmbExtMemWatcher::EMs | CSmbExtMemWatcher::ESd, this);
#endif
// Change-E PTX-824懳墳
	}

/**
 * 僨僗僩儔僋僞
 */
CSmbMusicAPMainPlayerFilterListViewMemType::~CSmbMusicAPMainPlayerFilterListViewMemType()
	{
	// 奜晹儊儌儕僂僅僢僠儍嶍彍
	delete iExtMemWatcher;
	}

//////////////////////////////////////////////////////////////////////////////////////
// 儕僗僩僞僀僾
//////////////////////////////////////////////////////////////////////////////////////
// 儕僗僩僞僀僾傪愝掕偡傞
void CSmbMusicAPMainPlayerFilterListViewMemType::AdjustListType()
	{
	//壗傕偟側偄
	}
	
//////////////////////////////////////////////////////////////////////////////////////
// 儕僗僩僴儞僪儖掕媊抣
//////////////////////////////////////////////////////////////////////////////////////
TInt CSmbMusicAPMainPlayerFilterListViewMemType::ListHandle()
	{
	return ESmbLocalListHandleMemType;
	}
	
//////////////////////////////////////////////////////////////////////////////////////
// 弶婜愝掕
//////////////////////////////////////////////////////////////////////////////////////
void CSmbMusicAPMainPlayerFilterListViewMemType::SetupModelL()
	{
	// 曐懚愭暿儊僯儏乕偺弶婜傾僀僥儉傪撉傒崬傓
	ReadItemsFromResourceL(R_OT_MUSIC_MAIN_FLT_MEMTYPELIST_LIST);
	}

void CSmbMusicAPMainPlayerFilterListViewMemType::SetupControlL()
	{
	// 僞僀僩儖傪撉傒崬傫偱愝掕偡傞
	SetTitleTextL(R_OT_MUSIC_MAIN_FLT_MEMTYPELIST_TITLE);
// Change-S PTX-824懳墳(D_82400006405, D_82400004469) 儈儏乕僕僢僋儊僯儏乕傾僀僐儞懳墳
//	SetTitleIconL(EMbmMusicMc_titlebar_icon_clear_main, EMbmMusicMc_track_icon);
	SetTitleIconL(EMbmMusicMc_titlebar_icon_menu_main, EMbmMusicMc_track_icon);
// Change-E PTX-824懳墳(D_82400006405, D_82400004469) 儈儏乕僕僢僋儊僯儏乕傾僀僐儞懳墳	
	}

////////////////////////////////////////////////////////////////////////////
// 僼傿儖僞儕僗僩儌僨儖僀儀儞僩
////////////////////////////////////////////////////////////////////////////
TBool CSmbMusicAPMainPlayerFilterListViewMemType::HasParentList()
	{
	// 恊奒憌偼偁傞
	return ETrue;
	}

TBool CSmbMusicAPMainPlayerFilterListViewMemType::HasChildList()
	{
	// 奜晹儊儌儕偑慖戰偝傟偰偄傞応崌
	CSmbMusicAPMainPlayerFilterListItem* item = CurrentItem();
//DEL-S 2006.09.09 SDNA 壀嶳 TRK7909懳墳
//	if(NULL!=item && ECmdFilterViewShowSongListExternalMem==item->CommandID())
//		{
//		// 奜晹儊儌儕偑巊梡壜擻偐偳偆偐挷傋傞
//		if(EFalse==AvailableExtMemoryL(CSmbExtMemWatcher::ESd) && EFalse==AvailableExtMemoryL(CSmbExtMemWatcher::EMs))
//			{
//			return EFalse;
//			}
//		}
//DEL-E 2006.09.09 SDNA 壀嶳 TRK7909懳墳

	// 巕奒憌偼偁傞
	return ETrue;
	}

TBool CSmbMusicAPMainPlayerFilterListViewMemType::CanResetCache() const
	{
	return EFalse;
	}
	
////////////////////////////////////////////////////////////////////////////
// 僐儅儞僪幚峴
////////////////////////////////////////////////////////////////////////////
// from MSmbAfCommandBase
/**
 * 儐乕僓僐儅儞僪幚峴
 *
 * @param aCommandId [in]	僐儅儞僪ID
 */
MSmbAfCommandBase::TSmbAfCmdIdResponse CSmbMusicAPMainPlayerFilterListViewMemType::HandleCommandL(TInt aCommandId)
	{
	// 婎杮僐儅儞僪
	switch(aCommandId)
		{
		case EMainPlayerFilterViewKGCmdSelect:			// 崁栚慖戰僐儅儞僪乮抁墴偟乯
		case EMainPlayerFilterViewKGCmdChildView:		// 巕奒憌夋柺慗堏僐儅儞僪
			{
			// 慖戰偝傟偨傾僀僥儉傪庢摼偡傞
			CSmbMusicAPMainPlayerFilterListItem* item = CurrentItem();
			// 儊僯儏乕僐儅儞僪偑愝掕偝傟偰偄傞応崌
			if(NULL!=item && 0!=item->CommandID())
				{
				// 僐儅儞僪張棟偡傞
				return ProcessCommandL(item->CommandID());
				}
			}
			return MSmbAfCommandBase::ESmbAfCmdIdWasConsumed;
		case EMainPlayerFilterViewKGCmdLongSelect:		// 崁栚慖戰僐儅儞僪乮挿墴偟乯
			{
			// 慖戰偝傟偨傾僀僥儉傪庢摼偡傞
			CSmbMusicAPMainPlayerFilterListItem* item = CurrentItem();
			// 儊僯儏乕僐儅儞僪偑愝掕偝傟偰偄傞応崌
			if(NULL!=item && 0!=item->CommandID())
				{
				switch(item->CommandID())
					{
					case ECmdFilterViewShowSongListDatabox:		// 僨乕僞BOX
						{
						return ProcessCommandL(ECmdFilterViewShowSongListDataboxLong);
						}
// Del-S PTX-824懳墳 TRK955 暯壀
#ifdef EXPANDEDMEM_DELETE
					case ECmdFilterViewShowSongListExpandedMem:	// 杮懱奼挘儊儌儕
						{
						return ProcessCommandL(ECmdFilterViewShowSongListExpandedMemLong);
						}
#endif
// Del-E PTX-824懳墳 TRK955 暯壀
					case ECmdFilterViewShowSongListExternalMem:	// 奜晹儊儌儕(MS, SD)
						{
						return ProcessCommandL(ECmdFilterViewShowSongListExternalMemLong);
						}
					}
				}
			}
			return MSmbAfCommandBase::ESmbAfCmdIdWasConsumed;
		case EMainPlayerFilterViewKGCmdClear:			// 僋儕傾乮慜夋柺乯僐儅儞僪
			break;
		case EMainPlayerFilterViewKGCmdParentView:		// 恊奒憌夋柺慗堏僐儅儞僪
			break;
		}
	return CSmbMusicAPMainPlayerFilterListView::HandleCommandL(aCommandId);
	}

/**
 * 僐儅儞僪幚峴
 *
 * @param aCommandId [in]	僐儅儞僪ID
 */
MSmbAfCommandBase::TSmbAfCmdIdResponse CSmbMusicAPMainPlayerFilterListViewMemType::ProcessCommandL(TInt aCommandId)
	{
	//
	// 曐懚愭暿儊僯儏乕僐儅儞僪
	//
	switch(aCommandId)
		{
		case ECmdFilterViewShowSongListDatabox:		// 僨乕僞BOX
		case ECmdFilterViewShowSongListDataboxLong:		// 僨乕僞BOX
			{
			// 僀儀儞僩梷惂偡傞
			View()->SetEventDisabled(ETrue);
			ProcessGetListFromSearchTop(aCommandId, ESmbMusicAPSyncEngineDataBox, ESmbMusicAPSyncEngineSongList, KSmbMusicAPMainPlayerSongListViewUid);
			}
			return MSmbAfCommandBase::ESmbAfCmdIdWasConsumed;
// Del-S PTX-824懳墳 TRK955 暯壀
#ifdef EXPANDEDMEM_DELETE
		case ECmdFilterViewShowSongListExpandedMem:	// 杮懱奼挘儊儌儕
		case ECmdFilterViewShowSongListExpandedMemLong:	// 杮懱奼挘儊儌儕
			{

⌨️ 快捷键说明

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