📄 smbmusicapmainplayerfilterlistviewmemtype.cpp
字号:
/* 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 + -