smbmusicapmainplayerfilterlistviewsongmulti.cpp
来自「symbian」· C++ 代码 · 共 453 行 · 第 1/2 页
CPP
453 行
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*-------------------------------------------------------------------------*/
// FileName:
// SmbMusicAPMainPlayerFilterListViewSongMulti.cpp
//
// Description:
// CSmbMusicAPMainPlayerFilterListViewSongMulti class source.
/*------------------------------------------------------------------------*/
//曄峏棜楌
//擔晅 |曄峏幰 |撪梕
//--------------+-----------+----------------------------------------------
//2006/08/16 |SDNA嶳壀 | 怴婯嶌惉
//2006/08/23 |SDNA嶳壀 | 僒儉僱僀儖昞帵/儕僗僩昞帵愗懼偺懳墳廋惓
//2006/09/02 |SDNA嶳壀 | 僋儕傾僉乕張棟傪廋惓
//2007/07/05 |SEMC暯壀 | HasParentList()偺抣傪廋惓
#include <SmbAfWordingFormatter.h>
#include <SmbAfWording.rsg>
#include <SmbAfWording.loc>
#include <Music.mbg>
#include <SmbMusicAPMainPlayer.rsg>
#include "SmbMusicAPMainPlayer.hrh"
#include <SmbMusicAPSongInfoExternalInterface.h>
#include "SmbMusicAPMainPlayerFilterView.hrh"
#include "SmbMusicAPMainPlayerFilterView.h"
#include "SmbMusicAPMainPlayerFilterListView.h"
#include "SmbMusicAPMainPlayerFilterListViewSongMulti.h"
#include "SmbMusicAPMainPlayerFilterListItem.h"
#include "SmbMusicAPMainPlayerFilterSyncServerController.h"
#include "SmbMusicAPMainPlayerFilterProcessDeleteOne.h"
#include "SmbMusicAPMainPlayerPLSelectView.h"
#include <FjAfEnv.h>
#include "SmbMusicAPMainPlayerUtility.h"
SEMCJ_NAMESPACE_BEGIN
/**
* 暋悢慖戰嬋堦棗儕僗僩僋儔僗
* KSmbMusicAPMainPlayerSongListViewUid
*/
//////////////////////////////////////////////////////////////////////////////////////
// 僋儔僗偺惗惉偲攋婞
//////////////////////////////////////////////////////////////////////////////////////
/**
* 嬋堦棗僋儔僗偺惗惉
*
* @param aView [in] 僼傿儖僞價儏乕
* @return 嬋堦棗儕僗僩僋儔僗
*/
CSmbMusicAPMainPlayerFilterListViewSongMulti* CSmbMusicAPMainPlayerFilterListViewSongMulti::NewL(TUid aViewUid, CSmbMusicAPMainPlayerFilterView* aView)
{
// 僀儞僗僞儞僗惗惉
CSmbMusicAPMainPlayerFilterListViewSongMulti* self = new(ELeave) CSmbMusicAPMainPlayerFilterListViewSongMulti();
// 僋儕乕儞傾僢僾僗僞僢僋妋曐
CleanupStack::PushL(self);
// 僙僇儞僪僐儞僗僩儔僋僞
self->ConstructL(aViewUid, aView);
// 僋儕乕儞傾僢僾僗僞僢僋奐曻
CleanupStack::Pop();// self
return self;
}
/**
* 僐儞僗僩儔僋僞
*
* @param aView [in] 僼傿儖僞價儏乕
* @return 嬋堦棗儕僗僩僋儔僗
*/
CSmbMusicAPMainPlayerFilterListViewSongMulti::CSmbMusicAPMainPlayerFilterListViewSongMulti()
{
}
/**
* 僙僇儞僪僐儞僗僩儔僋僞
* @param aView [in] FilterView
* @param aSyncEngine [in] 摨婜僄儞僕儞
*
*/
void CSmbMusicAPMainPlayerFilterListViewSongMulti::ConstructL(TUid aViewUid, CSmbMusicAPMainPlayerFilterView* aView)
{
// 僞僀僩儖僶乕丄儕僗僩儃僢僋僗傪惗惉偡傞
CSmbMusicAPMainPlayerFilterListView::ConstructL(aViewUid, aView);
// 儕僗僩儃僢僋僗僞僀僾偺弶婜抣傪庢摼偡傞
iViewStyle = SmbPGMusic::ListViewStyleL(View()->PropAgent());
// 儕僗僩儃僢僋僗僞僀僾傪愝掕偡傞
ListBox()->SetListBoxFormat(ListBoxFormat());
// 儕僗僩儃僢僋僗僆儁儗乕僔儑儞儌乕僪傪愝掕偡傞
ListBox()->SetOperationMode(CSkonRichListBoxBase::EOperationMultiSelect);
}
/**
* 僨僗僩儔僋僞
*/
CSmbMusicAPMainPlayerFilterListViewSongMulti::~CSmbMusicAPMainPlayerFilterListViewSongMulti()
{
}
//////////////////////////////////////////////////////////////////////////////////////
// 弶婜愝掕
//////////////////////////////////////////////////////////////////////////////////////
void CSmbMusicAPMainPlayerFilterListViewSongMulti::SetupModelL()
{
}
void CSmbMusicAPMainPlayerFilterListViewSongMulti::SetupControlL()
{
// 僞僀僩儖傪撉傒崬傫偱愝掕偡傞
SetTitleTextL(R_SMB_AF_STR_WRD2812);
}
////////////////////////////////////////////////////////////////////////////
// 僼傿儖僞儕僗僩儌僨儖僀儀儞僩
////////////////////////////////////////////////////////////////////////////
TBool CSmbMusicAPMainPlayerFilterListViewSongMulti::HasParentList()
{
// Change-S PTX-824 暯壀 2007.07.05
// // 恊奒憌偼偁傞
// return ETrue;
// 恊奒憌偼側偄
return EFalse;
// Change-E PTX-824 暯壀 2007.07.05
}
TBool CSmbMusicAPMainPlayerFilterListViewSongMulti::HasChildList()
{
// 巕奒憌偼側偄
return EFalse;
}
////////////////////////////////////////////////////////////////////////////
// 僐儅儞僪幚峴
////////////////////////////////////////////////////////////////////////////
// from MSmbAfCommandBase
/**
* 儐乕僓僐儅儞僪幚峴
*
* @param aCommandId [in] 僐儅儞僪ID
*/
MSmbAfCommandBase::TSmbAfCmdIdResponse CSmbMusicAPMainPlayerFilterListViewSongMulti::HandleCommandL(TInt aCommandId)
{
// 婎杮僐儅儞僪
switch(aCommandId)
{
case EMainPlayerFilterViewKGCmdSelect: // 崁栚慖戰僐儅儞僪乮抁墴偟乯
case EMainPlayerFilterViewKGCmdPlay: // 亂嵞惗亃
break;
case EMainPlayerFilterViewKGCmdChildView: // 巕奒憌夋柺慗堏僐儅儞僪
return MSmbAfCommandBase::ESmbAfCmdIdWasConsumed;
case EMainPlayerFilterViewKGCmdLongSelect: // 崁栚慖戰僐儅儞僪乮挿墴偟乯
break;
case EMainPlayerFilterViewKGCmdClear: // 僋儕傾乮慜夋柺乯僐儅儞僪
// 2006.09.02 TRK#8193
return ProcessCommandL(ECmdFilterViewAddEntryMultipleSelectCancel);
case EMainPlayerFilterViewKGCmdParentView: // 恊奒憌夋柺慗堏僐儅儞僪
break;
case ECmdFilterViewAddEntryMultipleSelectComplete: // 慖戰姰椆
case ECmdFilterViewAddEntryMultipleSelectCancel: // 慖戰拞巭
return ProcessCommandL(aCommandId);
}
return CSmbMusicAPMainPlayerFilterListView::HandleCommandL(aCommandId);
}
/**
* 僐儅儞僪幚峴
*
* @param aCommandId [in] 僐儅儞僪ID
*/
MSmbAfCommandBase::TSmbAfCmdIdResponse CSmbMusicAPMainPlayerFilterListViewSongMulti::ProcessCommandL(TInt aCommandId)
{
CSmbMusicAPMainPlayerPLSelectView* view = static_cast<CSmbMusicAPMainPlayerPLSelectView*>(View());
// CSmbMusicAPMainPlayerPLSelectView* view = STATIC_CAST(CSmbMusicAPMainPlayerPLSelectView*, View());
switch(aCommandId)
{
case ECmdFilterViewAddEntryMultipleSelectComplete: // 慖戰姰椆
{
// 侾審傕慖戰偝傟偰偄側偄応崌偼僾儗僀儕僗僩慖戰偵慗堏偟側偄
if(EFalse!=IsItemsEdited())
{
// 慖戰偝傟偰偄傞傾僀僥儉僀儞僨僢僋僗偺攝楍傪庢摼偡傞
// 庢摼偟偨攝楍偼嶲徠側偺偱嶍彍偟偰偼僟儊
const CArrayFix<TInt>* selectedItemArray = ListBox()->SelectionIndexes();
DoViewDeactivated();
// 慖戰偝傟偨傾僀僥儉攝楍傪曐帩偟偰偍偔
//慖戰崁栚僆僽僕僃僋僩傪惗惉偡傞
view->CreateSelectedItemsL();
TInt count = selectedItemArray->Count();
for(TInt i=0;i<count;i++)
{
const TInt itemIndex = selectedItemArray->At(i);
view->AppendSelectedItem(itemIndex);
}
view->SetSrcCount(count);
// 僾儗僀儕僗僩慖戰夋柺偵傾僀僥儉傪撉傒崬傓
CSmbMusicAPMainPlayerFilterListView* activeview = View()->ViewModel()->FindListViewByViewUid(KSmbMusicAPMainPlayerPLListViewUid);
activeview->ProcessCommandL(ECmdFilterViewShowOriginalPlaylistForInsert);
// 搊榐愭慖戰僆儕僕僫儖僾儗僀儕僗僩嬋儕僗僩傪傾僋僥傿僽偵偡傞
View()->ViewModel()->SetActiveChildViewL(KSmbMusicAPMainPlayerPLListViewUid);
// 搊榐愭慖戰僆儕僕僫儖僾儗僀儕僗僩嬋儕僗僩傪庢摼偡傞
View()->JumpToNextScreen();
}
}
return MSmbAfCommandBase::ESmbAfCmdIdWasConsumed;
case ECmdFilterViewAddEntryMultipleSelectCancel: // 慖戰拞巭
{
// 侾審傕慖戰偝傟偰偄側偄応崌偼僾儗僀儕僗僩慖戰偵慗堏偟側偄
if(EFalse!=IsItemsEdited())
{
// 僉儍儞僙儖妋擣僟僀傾儘僌傪昞帵偡傞
HandleDialogCommandL(EShowSelectionModelessDialog, R_DL_MUSIC_MAIN_FLT_SELECT_CANCEL_SELECTION, NULL, NULL);
}
else
{
view->DeleteSelectedItems();
view->HandleReturnViewL();
}
}
return MSmbAfCommandBase::ESmbAfCmdIdWasConsumed;
default:
break;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?