?? smbmusicapfilemgrlistview.cpp
字號:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*--------------------------------------------------------------------*/
/**
* @file SmbMusicAPFileMgrListView.cpp
* @brief 儈儏乕僕僢僋僼傽僀儖娗棟傾僾儕働乕僔儑儞儕僗僩View僋儔僗
*/
/*--------------------------------------------------------------------*/
//曄峏棜楌
//擔晅 |曄峏幰 |撪梕
//--------------+-----------+-------------------------------------------
//2006/07/04 |SDNA挿旜 |怴婯嶌惉
//2006/07/06 |SDNA挿旜 |iNumOfHierarchy傪僙僢僩偡傞傛偆偵廋惓 (NotifyChangeDirectoryL())
//2006/07/07 |SDNA挿旜 |RefreshListBoxL()傪捛壛
//2006/07/09 |SDNA挿旜 |儕僗僩儃僢僋僗偺嵞昤夋張棟傪捛壛
// | | - ApplyListBoxInfoL()偺捛壛
// | | - CloseAndDeleteDialog()偺嵞掕媊
//2006/07/09 |SDNA挿旜 |CloseListBoxDirectoryL()傪捛壛
//2006/07/11 |SDNA挿旜 |僕儍働僢僩昞帵愗懼帪偵丆儕僗僩儃僢僋僗傪儕僼儗僢僔儏偡傞傛偆偵廋惓
//2006/07/21 |SDNA挿旜 |僟僀傾儘僌偺嫮惂僋儘乕僘傪CloseAndDeleteDialog()偐傜CloseDialog()偵曄峏
//2006/07/21 |SDNA挿旜 |DeleteDialog()傪捛壛
//2006/07/22 |SDNA挿旜 |MSmbMusicAPFileSystemComListBoxControl偺昤夋巇條偺曄峏偵懳墳
// | | - ApplyListBoxInfoL()偺嶍彍
// | | - CloseDialog()偺嶍彍
// | | - DeleteDialog()偺嶍彍
//2006/08/04 |SDNA挿旜 |RefreshListBoxL()偵儕僗僩儃僢僋僗偺昞帵僗僞僀儖愝掕張棟傪捛壛
// | | - ChangeListViewStyleL()偱昞帵僗僞僀儖愝掕張棟傪峴傢側偄傛偆偵曄峏
//2006/08/05 |SDNA挿旜 |僼僅儖僟慗堏奐巒帪偵丆僼僅乕僇僗埵抲偺傾僀僥儉弨旛傪枹姰偵愝掕偡傞廋惓
// | | - NotifyPreChangeDirectoryL()偺廋惓
//2006/08/05 |SDNA挿旜 |昞帵壜擻側僼僅儖僟柤偺嵟戝挿傪256暥帤偵曄峏 (NotifyChangeDirectoryL())
//2006/08/31 |SDNA挿旜 |ClearListBoxL()傪捛壛
//2006/09/06 |SDNA挿旜 |儕僗僩儃僢僋僗昞帵僗僞僀儖傪愝掕偡傞柦椷暥傪曄峏 (RefreshListBoxL())
//2006/09/06 |SDNA挿旜 |儕僗僩儃僢僋僗昞帵僗僞僀儖傪愝掕屻丆ApplyL()傪屇傃弌偡傛偆偵廋惓 (RefreshListBoxL()) (TRK8527)
//2006/09/11 |SDNA挿旜 |ApplyCurrentListViewStyleL()傪捛壛
//2006/09/11 |SDNA挿旜 |RefreshListBoxL()偺懼傢傝偵ApplyCurrentListViewStyleL()傪梡偄傞 (ChangeListViewStyleL())
//2006/09/25 |SDNA挿旜 |僟僀傾儘僌昞帵拞偵偼儕僗僩儃僢僋僗傪儕僼儗僢僔儏偟側偄傛偆偵廋惓 (TRK10139)
// | | - RefreshListBoxL()傪廋惓
//2006/10/04 |SDNA挿旜 |僐乕僨傿儞僌婯栺忋偺廋惓
//2006/10/12 |SDNA挿旜 |儕僗僩儃僢僋僗偺昞帵傪堦帪掆巭偡傞偙偲偱張棟懍搙偺岦忋傪恾傞
// | | - SuspendListBox(), ResumeListBox()傪捛壛
//2006/10/16 |SDNA挿旜 |ClearListBoxL()傪嶍彍
//2006/10/16 |SDNA挿旜 |儘僌僒乕僶傪僐儞僗僩儔僋僞偐傜庢摼偟側偄傛偆偵曄峏
//2006/10/21 |SDNA挿旜 |NumOfHierarchy()傪捛壛
//PTX824岦偗師婡庬懳墳
//2006/12/20 |SEMC崍綺 |[PTX810]TRK12323偺懳墳
//--------------+-----------+-------------------------------------------
//PTX824
//2007/03/16 |SEMC崍綺 |M.S.僆乕僨傿僆-僌儖乕僾堦棗夋柺(杮懱奼挘)偺幚憰捛壛
#include <FjAfEnv.h>
#include "SmbMusicAPFileMgrCommonDef.h"
#include "SmbMusicAPFileMgrListView.h"
#include "SmbMusicAPFileMgrListCmd.h"
#include "SmbMusicAPFileMgrDebugLog.h"
#include "SmbMusicAPFileMgr.hrh"
#include <SmbAfWording.rsg>
#include <SmbMusicAPFileMgr.rsg>
#include <SmbAfEnv.h>
//ADD-START PTX824
#include <SmbMusicAPSongInfoInterfaceParam.h>
//ADD-END PTX824
//CQ-TRK11550 ADD-START PTX824
#ifndef __SMBMUSICAPFILEMGR_CQTRK11550_ENABLE__
#include "SmbMusicAPFileMgrDocument.h"
#endif
//CQ-TRK11550 ADD-END PTX824
USING_NAMESPACE_SEMCJ
/**
* @param[in] aViewParam 價儏乕僋儔僗 僷儔儊乕僞峔憿懱
* @param[in] aAppUi 傾僾儕働乕僔儑儞UI
*/
CSmbMusicAPFileMgrListView::CSmbMusicAPFileMgrListView(const TAfViewParam& aViewParam, CSmbMusicAPFileMgrAppUi& aAppUi)
:CSmbMusicAPFileMgrViewBase(aViewParam, aAppUi), iRefreshListBox(EFalse), iRefreshByIterator(EFalse)
{
// 強桳偡傞僆僽僕僃僋僩偼偙偙偱嶍彍偡傞丏
// 偨偩偟 AddControlL 偱搊榐偟偨僐儞僩儘乕儖偼 CAfView::~CAfView 偱
// 嶍彍偝傟傞偨傔丆偙偙偱嶍彍偟偰偼側傜側偄丏
}
/**
* @note 嬻幚憰偱偡
*/
CSmbMusicAPFileMgrListView::~CSmbMusicAPFileMgrListView()
{
//
}
/**
* 儕僗僩儃僢僋僗偺乽僕儍働僢僩(僒儉僱僀儖)昞帵乿偲乽儕僗僩昞帵乿傪岎屳偵愗傝懼偊傞丏
*
* @panic EInvalidStatus CSmbMusicAPFileMgrListView::iListBox偑NULL偺応崌
* @panic KErrArgument 尰嵼昞帵拞偺僗僞僀儖偑婯掕奜偺応崌
*/
void CSmbMusicAPFileMgrListView::ChangeListViewStyleL(void)
{
__ASSERT_ALWAYS(iListBox, PANIC(EInvalidStatus));
// 尰嵼偺昞帵僗僞僀儖傪PA偐傜庢摼偡傞
TSmbPGMusicAPListViewStyle style = GetListViewStyleL();
// 愗懼屻偺昞帵僗僞僀儖傪愝掕偡傞
switch (style)
{
case ESmbPGMusicAPListViewStyleThumbnail:
// PA偵搊榐偡傞
SetListViewStyleL(ESmbPGMusicAPListViewStyleTitle);
break;
case ESmbPGMusicAPListViewStyleTitle:
// PA偵搊榐偡傞
SetListViewStyleL(ESmbPGMusicAPListViewStyleThumbnail);
break;
default:
__ASSERT_DEBUG(EFalse, PANIC(KErrArgument));
break;
}
// 尰嵼愝掕偝傟偰偄傞僼僅儖僟忣曬傪夋柺昞帵偵揔梡偡傞
ApplyCurrentListViewStyleL();
}
/**
* 儕僗僩儃僢僋僗偺昞帵撪梕傪嵟怴偺忣曬偵峏怴偡傞丏
*
* @panic EInvalidStatus CSmbMusicAPFileMgrListView::iListBox偑NULL偺応崌
*/
void CSmbMusicAPFileMgrListView::RefreshListBoxL(void)
{
__ASSERT_ALWAYS(iListBox, PANIC(EInvalidStatus));
//TRK10139 9/25 start
// // 昞帵僗僞僀儖傪愝掕偡傞
// ApplyCurrentListViewStyleL();
//
// // 儕僗僩儃僢僋僗傪儕僼儗僢僔儏偡傞
// iListBox->RefreshL();
if (iDialogResourceId == 0)
{
// 儕僼儗僢僔儏偵敽偄傾僀僥儉庬暿偵埶懚偡傞僜僼僩僉乕傪僋儕傾偡傞
ClearSoftKeyInfo();
// 昞帵僗僞僀儖傪愝掕偡傞
ApplyCurrentListViewStyleL();
// 儕僗僩儃僢僋僗傪儕僼儗僢僔儏偡傞
iListBox->RefreshL();
iRefreshListBox = EFalse;
}
else
{
iRefreshListBox = ETrue;
}
//TRK10139 9/25 end
}
//CQ-TRK11550 ADD-START PTX824
#ifndef __SMBMUSICAPFILEMGR_CQTRK11550_ENABLE__
/**
* 儕僗僩儃僢僋僗偺昞帵偲僼僅乕僇僗傪嵟怴偺忣曬偵峏怴偡傞丏
*
* @panic EInvalidStatus CSmbMusicAPFileMgrListView::iListBox偑NULL偺応崌
*/
void CSmbMusicAPFileMgrListView::RefreshAndFocusItemL(void)
{
__ASSERT_ALWAYS(iListBox, PANIC(EInvalidStatus));
if (iDialogResourceId == 0)
{
// 儕僼儗僢僔儏偵敽偄傾僀僥儉庬暿偵埶懚偡傞僜僼僩僉乕傪僋儕傾偡傞
ClearSoftKeyInfo();
// 昞帵僗僞僀儖傪愝掕偡傞
ApplyCurrentListViewStyleL();
// 僪僉儏儊儞僩傪嶲徠
CSmbMusicAPFileMgrDocument* doc = iAppUi.Document();
ASSERT(doc);
// 儕僗僩儃僢僋僗傪儕僼儗僢僔儏偡傞
CSmbMusicAPFileSystemComMusicItem* musicItem = doc->CurrentFocusItem();
if(NULL != musicItem)
{
iListBox->RefreshAndFocusItemL(*musicItem);
}
else
{
iListBox->RefreshL();
}
iRefreshListBox = EFalse;
}
else
{
iRefreshListBox = ETrue;
}
}
#endif
//CQ-TRK11550 ADD-END PTX824
//CQ-TRK11550-2 ADD-START PTX824
/**
* 儕僗僩儃僢僋僗偺昞帵撪梕傪嵟怴偺忣曬偵峏怴偡傞丏
*
* @panic EInvalidStatus CSmbMusicAPFileMgrListView::iListBox偑NULL偺応崌
*/
void CSmbMusicAPFileMgrListView::RefreshByIteratorL(void)
{
__ASSERT_ALWAYS(iListBox, PANIC(EInvalidStatus));
if (iDialogResourceId == 0)
{
// 儕僼儗僢僔儏偵敽偄傾僀僥儉庬暿偵埶懚偡傞僜僼僩僉乕傪僋儕傾偡傞
ClearSoftKeyInfo();
// 昞帵僗僞僀儖傪愝掕偡傞
ApplyCurrentListViewStyleL();
// 儕僗僩儃僢僋僗傪儕僼儗僢僔儏偡傞
iListBox->RefreshByIteratorL();
iRefreshByIterator = EFalse;
}
else
{
iRefreshByIterator = ETrue;
}
}
//CQ-TRK11550-2 ADD-END PTX824
/**
* 儕僗僩儃僢僋僗偺昞帵張棟傪堦帪拞抐偡傞丏
* @note 晄昁梫側昞帵張棟傪拞抐偡傞偙偲偱丆僷僼僅乕儅儞僗岦忋傪恾傞丏
* @see ResumeListBox()
*/
void CSmbMusicAPFileMgrListView::SuspendListBox(void)
{
__ASSERT_ALWAYS(iListBox, PANIC(EInvalidStatus));
TRAPD(error, iListBox->SuspendL());
if (error)
{
OUTPUT_LOG1_ERROR("MSmbMusicAPFileSystemComListBoxControl::SuspendL(): %d", error);
}
}
/**
* 儕僗僩儃僢僋僗偺昞帵張棟傪嵞奐偡傞丏
* @see SuspendListBox()
*/
void CSmbMusicAPFileMgrListView::ResumeListBox(void)
{
__ASSERT_ALWAYS(iListBox, PANIC(EInvalidStatus));
TRAPD(error, iListBox->ResumeL());
if (error)
{
OUTPUT_LOG1_ERROR("MSmbMusicAPFileSystemComListBoxControl::ResumeL(): %d", error);
}
}
/**
* 儕僗僩儃僢僋僗偱奐偄偰偄傞僨傿儗僋僩儕傪僋儘乕僘偡傞丏
* 僋儘乕僘偡傞偙偲偱丆僉乕僈僀僟儞僗偺昤夋張棟傕拞抐偡傞丏
* @note 乽儊儌儕愗懼乿憖嶌側偳偱丆傾僋僥傿僽價儏乕偑 CSmbMusicAPFileMgrListView 偐傜 CSmbMusicAPFileMgrCategoryView
* 偵堏峴偡傞応崌丆帠慜偵杮儊僜僢僪傪屇傃弌偟丆
* 儕僗僩儃僢僋僗偺僉乕僈僀僟儞僗偑 CSmbMusicAPFileMgrCategoryView 忋偱昤夋偝傟側偄傛偆偵偡傞偙偲丏
*
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -