smbmusicapmainplayerfilterlistviewplaylistmulti.cpp
来自「symbian」· C++ 代码 · 共 469 行 · 第 1/2 页
CPP
469 行
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*-------------------------------------------------------------------------*/
// FileName:
// SmbMusicAPMainPlayerFilterListViewPlaylistMulti.cpp
//
// Description:
// CSmbMusicAPMainPlayerFilterListViewPlaylistMulti class source.
/*------------------------------------------------------------------------*/
//曄峏棜楌
//擔晅 |曄峏幰 |撪梕
//--------------+-----------+----------------------------------------------
//2006/08/16 |SDNA嶳壀 | 怴婯嶌惉
//2006/09/02 |SDNA嶳壀 | 僋儕傾僉乕張棟傪廋惓
#include <SmbAfWordingFormatter.h>
#include <SmbAfWording.rsg>
#include <SmbAfWording.loc>
#include <Music.mbg>
#include <SmbMusicAPMainPlayer.rsg>
#include "SmbMusicAPMainPlayer.hrh"
#include "SmbMusicAPMainPlayer.hrh"
#include "SmbMusicAPMainPlayerFilterView.hrh"
#include "SmbMusicAPMainPlayerFilterView.h"
#include "SmbMusicAPMainPlayerFilterListView.h"
#include "SmbMusicAPMainPlayerFilterListViewPlaylistMulti.h"
#include "SmbMusicAPMainPlayerFilterListItem.h"
#include "SmbMusicAPMainPlayerFilterSyncServerController.h"
#include "SmbMusicAPMainPlayerPLSelectView.h"
#include <FjAfEnv.h>
#include "SmbMusicAPMainPlayerUtility.h"
SEMCJ_NAMESPACE_BEGIN
/**
* 僾儗僀儕僗僩堦棗僋儔僗
* KSmbMusicAPMainPlayerPLSelectViewUid
*/
//////////////////////////////////////////////////////////////////////////////////////
// 僋儔僗偺惗惉偲攋婞
//////////////////////////////////////////////////////////////////////////////////////
/**
* 嬋堦棗僋儔僗偺惗惉
*
* @param aView [in] 僼傿儖僞價儏乕
* @return 僾儗僀儕僗僩堦棗僋儔僗
*/
CSmbMusicAPMainPlayerFilterListViewPlaylistMulti* CSmbMusicAPMainPlayerFilterListViewPlaylistMulti::NewL(TUid aViewUid, CSmbMusicAPMainPlayerFilterView* aView)
{
// 僀儞僗僞儞僗惗惉
CSmbMusicAPMainPlayerFilterListViewPlaylistMulti* self = new(ELeave) CSmbMusicAPMainPlayerFilterListViewPlaylistMulti();
// 僋儕乕儞傾僢僾僗僞僢僋妋曐
CleanupStack::PushL(self);
// 僙僇儞僪僐儞僗僩儔僋僞
self->ConstructL(aViewUid, aView);
// 僋儕乕儞傾僢僾僗僞僢僋奐曻
CleanupStack::Pop();// self
return self;
}
/**
* 僐儞僗僩儔僋僞
*
* @param aView [in] 僼傿儖僞價儏乕
* @return 僾儗僀儕僗僩堦棗僋儔僗
*/
CSmbMusicAPMainPlayerFilterListViewPlaylistMulti::CSmbMusicAPMainPlayerFilterListViewPlaylistMulti()
{
}
/**
* 僙僇儞僪僐儞僗僩儔僋僞
* @param aView [in] FilterView
* @param aSyncEngine [in] 摨婜僄儞僕儞
*
*/
void CSmbMusicAPMainPlayerFilterListViewPlaylistMulti::ConstructL(TUid aViewUid, CSmbMusicAPMainPlayerFilterView* aView)
{
// 僞僀僩儖僶乕丄儕僗僩儃僢僋僗傪惗惉偡傞
CSmbMusicAPMainPlayerFilterListView::ConstructL(aViewUid, aView);
}
/**
* 僨僗僩儔僋僞
*/
CSmbMusicAPMainPlayerFilterListViewPlaylistMulti::~CSmbMusicAPMainPlayerFilterListViewPlaylistMulti()
{
}
//////////////////////////////////////////////////////////////////////////////////////
// 弶婜愝掕
//////////////////////////////////////////////////////////////////////////////////////
void CSmbMusicAPMainPlayerFilterListViewPlaylistMulti::SetupModelL()
{
}
void CSmbMusicAPMainPlayerFilterListViewPlaylistMulti::SetupControlL()
{
// 僞僀僩儖傪撉傒崬傫偱愝掕偡傞
SetTitleTextL(R_SMB_AF_STR_WRD009);
}
////////////////////////////////////////////////////////////////////////////
// 僼傿儖僞儕僗僩儌僨儖僀儀儞僩
////////////////////////////////////////////////////////////////////////////
TBool CSmbMusicAPMainPlayerFilterListViewPlaylistMulti::HasParentList()
{
// 恊奒憌偼側偄
return EFalse;
}
TBool CSmbMusicAPMainPlayerFilterListViewPlaylistMulti::HasChildList()
{
// 巕奒憌偼側偄
return EFalse;
}
////////////////////////////////////////////////////////////////////////////
// 僐儅儞僪幚峴
////////////////////////////////////////////////////////////////////////////
// from MSmbAfCommandBase
/**
* 儐乕僓僐儅儞僪幚峴
*
* @param aCommandId [in] 僐儅儞僪ID
*/
MSmbAfCommandBase::TSmbAfCmdIdResponse CSmbMusicAPMainPlayerFilterListViewPlaylistMulti::HandleCommandL(TInt aCommandId)
{
// 婎杮僐儅儞僪
switch(aCommandId)
{
case ECmdFilterViewAddEntryMultipleSelectComplete:
case ECmdFilterViewAddEntryMultipleSelectCancel:
case ECmdFilterViewDeletePLItem: // 僾儗僀儕僗僩嶍彍
return ProcessCommandL(aCommandId);
case EMainPlayerFilterViewKGCmdSelect: // 崁栚慖戰僐儅儞僪乮抁墴偟乯
case EMainPlayerFilterViewKGCmdChildView: // 巕奒憌夋柺慗堏僐儅儞僪
case EMainPlayerFilterViewKGCmdLongSelect: // 崁栚慖戰僐儅儞僪乮挿墴偟乯
break;
case EMainPlayerFilterViewKGCmdClear: // 僋儕傾乮慜夋柺乯僐儅儞僪
//ADD-S 2006/10/05 TRK#10722
if(NULL!=ProcessObj() && ProcessObj()->InService()
&& CSmbMusicAPMainPlayerFilterProcess::EProcessTypeDeleteItems==ProcessObj()->GetProcessType())
{
return ProcessCommandL(ECmdFilterViewDeletePLItemCancel);
}
//ADD-E 2006/10/05 TRK#10722
// 2006.09.02 TRK#8193
return ProcessCommandL(ECmdFilterViewAddEntryMultipleSelectCancel);
case EMainPlayerFilterViewKGCmdParentView: // 恊奒憌夋柺慗堏僐儅儞僪
break;
}
return CSmbMusicAPMainPlayerFilterListView::HandleCommandL(aCommandId);
}
/**
* 僐儅儞僪幚峴
*
* @param aCommandId [in] 僐儅儞僪ID
*/
MSmbAfCommandBase::TSmbAfCmdIdResponse CSmbMusicAPMainPlayerFilterListViewPlaylistMulti::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();
//慖戰崁栚僆僽僕僃僋僩傪惗惉偡傞
view->CreateSelectedItemsL();
for(TInt i=0;i<selectedItemArray->Count();i++)
{
//慖戰崁栚傪捛壛偡傞
const TInt itemIndex = selectedItemArray->At(i);
view->AppendSelectedItem(itemIndex);
}
//ADD-S 2006/10/05 TRK#10722
//慖戰僼儔僌傪愝掕偡傞
view->SetAllItem(EFalse);
//ADD-E 2006/10/05 TRK#10722
//慖戰嶍彍傪妋擣偡傞僟僀傾儘僌傪昞帵偡傞
HandleDialogCommandL(EShowSelectionModelessDialog, R_DL_MUSIC_MAIN_FLT_DELETEPLMULTI_SELECT, NULL, NULL);
}
}
return MSmbAfCommandBase::ESmbAfCmdIdWasConsumed;
case ECmdFilterViewDeletePLItem:
{
TSmbMusicAPMainPlayerFilterListItems selectedItems;
view->SelectedItems(selectedItems);
ProcessDeleteItems(ECmdFilterViewDeletePLItem, selectedItems.iAllItem, selectedItems.iIndexArray);
// 2006.09.21 僾儘僌儗僗僟僀傾儘僌捛壛廋惓
ResetProgress();
// 僾儘僌儗僗僶乕傪昞帵偡傞
// HandleDialogCommandL(EShowProgressModelessDialog, R_DL_MUSIC_MAIN_FLT_PROGRESS_MP04P001_PLURAL);
HandleDialogCommandL(EShowProgressModelessDialogEx, R_DL_MUSIC_MAIN_FLT_PROGRESS_MP04P001_PLURAL);
// 僀儀儞僩梷惂傪夝彍偡傞
View()->SetEventDisabled(EFalse);
}
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;
}
return CSmbMusicAPMainPlayerFilterListViewPlaylist::ProcessCommandL(aCommandId);
}
//ADD-S> 810TRK#12258 PTX-824(TRK-575) 暯壀
//////////////////////////////////////////////////////////////////////////////////////
// 旕摨婜僾儘僙僗
//////////////////////////////////////////////////////////////////////////////////////
// from MSmbMusicAPMainPlayerFilterProcessObserver
void CSmbMusicAPMainPlayerFilterListViewPlaylistMulti::ProcessComplete(TInt aResult, CSmbMusicAPMainPlayerFilterProcess& aProcess)
{
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?