📄 smbmusicapmainplayerfilterlistviewplsongmulti.cpp
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*-------------------------------------------------------------------------*/
// FileName:
// SmbMusicAPMainPlayerFilterListViewPLSongMulti.cpp
//
// Description:
// CSmbMusicAPMainPlayerFilterListViewPLSongMulti class source.
/*------------------------------------------------------------------------*/
//曄峏棜楌
//擔晅 |曄峏幰 |撪梕
//--------------+-----------+----------------------------------------------
//2006/08/16 |SDNA嶳壀 | 怴婯嶌惉
//2006/09/02 |SDNA嶳壀 | 僋儕傾僉乕張棟傪廋惓
//2007/05/24 |SEMCJ暯壀 | 810TRK#12258 PTX-824(TRK-575)懳墳
//2007/07/05 |SEMC暯壀 | HasParentList()娭悢傪捛壛
#include <SmbAfWordingFormatter.h>
#include <SmbAfWording.rsg>
#include <SmbMusicAPMainPlayer.rsg>
#include "SmbMusicAPMainPlayer.hrh"
#include "SmbMusicAPMainPlayerFilterView.hrh"
#include "SmbMusicAPMainPlayerFilterView.h"
#include "SmbMusicAPMainPlayerFilterListView.h"
#include "SmbMusicAPMainPlayerFilterListViewPLSongMulti.h"
#include "SmbMusicAPMainPlayerFilterListItem.h"
#include "SmbMusicAPMainPlayerFilterSyncServerController.h"
#include "SmbMusicAPMainPlayerPLSelectView.h"
#include <FjAfEnv.h>
#include "SmbMusicAPMainPlayerUtility.h"
SEMCJ_NAMESPACE_BEGIN
/**
* 僾儗僀儕僗僩嬋堦棗儕僗僩僋儔僗
* KSmbMusicAPMainPlayerPLSongListViewUid
*/
//////////////////////////////////////////////////////////////////////////////////////
// 僋儔僗偺惗惉偲攋婞
//////////////////////////////////////////////////////////////////////////////////////
/**
* 僾儗僀儕僗僩嬋堦棗僋儔僗偺惗惉
*
* @param aView [in] 僼傿儖僞價儏乕
* @return 嬋堦棗儕僗僩僋儔僗
*/
CSmbMusicAPMainPlayerFilterListViewPLSongMulti* CSmbMusicAPMainPlayerFilterListViewPLSongMulti::NewL(TUid aViewUid, CSmbMusicAPMainPlayerFilterView* aView)
{
// 僀儞僗僞儞僗惗惉
CSmbMusicAPMainPlayerFilterListViewPLSongMulti* self = new(ELeave) CSmbMusicAPMainPlayerFilterListViewPLSongMulti();
// 僋儕乕儞傾僢僾僗僞僢僋妋曐
CleanupStack::PushL(self);
// 僙僇儞僪僐儞僗僩儔僋僞
self->ConstructL(aViewUid, aView);
// 僋儕乕儞傾僢僾僗僞僢僋奐曻
CleanupStack::Pop();// self
return self;
}
/**
* 僐儞僗僩儔僋僞
*
* @param aView [in] 僼傿儖僞價儏乕
* @return 嬋堦棗儕僗僩僋儔僗
*/
CSmbMusicAPMainPlayerFilterListViewPLSongMulti::CSmbMusicAPMainPlayerFilterListViewPLSongMulti()
{
}
/**
* 僙僇儞僪僐儞僗僩儔僋僞
* @param aView [in] FilterView
* @param aSyncEngine [in] 摨婜僄儞僕儞
*
*/
void CSmbMusicAPMainPlayerFilterListViewPLSongMulti::ConstructL(TUid aViewUid, CSmbMusicAPMainPlayerFilterView* aView)
{
// 僞僀僩儖僶乕丄儕僗僩儃僢僋僗傪惗惉偡傞
CSmbMusicAPMainPlayerFilterListViewSong::ConstructL(aViewUid, aView);
}
/**
* 僨僗僩儔僋僞
*/
CSmbMusicAPMainPlayerFilterListViewPLSongMulti::~CSmbMusicAPMainPlayerFilterListViewPLSongMulti()
{
}
//////////////////////////////////////////////////////////////////////////////////////
// 弶婜愝掕
//////////////////////////////////////////////////////////////////////////////////////
void CSmbMusicAPMainPlayerFilterListViewPLSongMulti::SetupModelL()
{
}
void CSmbMusicAPMainPlayerFilterListViewPLSongMulti::SetupControlL()
{
// 僞僀僩儖傪撉傒崬傫偱愝掕偡傞
SetTitleTextL(R_SMB_AF_STR_WRD009);
}
////////////////////////////////////////////////////////////////////////////
// 僐儅儞僪幚峴
////////////////////////////////////////////////////////////////////////////
// from MSmbAfCommandBase
/**
* 儐乕僓僐儅儞僪幚峴
*
* @param aCommandId [in] 僐儅儞僪ID
*/
MSmbAfCommandBase::TSmbAfCmdIdResponse CSmbMusicAPMainPlayerFilterListViewPLSongMulti::HandleCommandL(TInt aCommandId)
{
// 婎杮僐儅儞僪
switch(aCommandId)
{
case ECmdFilterViewDeleteEntryMultipleSelectComplete:
case ECmdFilterViewDeleteEntryMultipleSelectCancel:
case ECmdFilterViewDeleteEntries: // 僾儗僀儕僗僩僄儞僩儕乕嶍彍幚峴
return ProcessCommandL(aCommandId);
case EMainPlayerFilterViewKGCmdChildView: // 巕奒憌夋柺慗堏僐儅儞僪
return MSmbAfCommandBase::ESmbAfCmdIdWasConsumed;
case EMainPlayerFilterViewKGCmdSelect: // 崁栚慖戰僐儅儞僪乮抁墴偟乯
break;
case EMainPlayerFilterViewKGCmdLongSelect: // 崁栚慖戰僐儅儞僪乮挿墴偟乯
break;
case EMainPlayerFilterViewKGCmdClear: // 僋儕傾乮慜夋柺乯僐儅儞僪
if(NULL!=ProcessObj() && ProcessObj()->InService()
&& CSmbMusicAPMainPlayerFilterProcess::EProcessTypeRemoveItems==ProcessObj()->GetProcessType())
{
return ProcessCommandL(ECmdFilterViewDeleteEntriesCancel);
}
// 2006.09.02 TRK#8193
return ProcessCommandL(ECmdFilterViewDeleteEntryMultipleSelectCancel);
case EMainPlayerFilterViewKGCmdParentView: // 恊奒憌夋柺慗堏僐儅儞僪
break;
}
// 嬋堦棗傪宲彸偡傞
return CSmbMusicAPMainPlayerFilterListViewSong::HandleCommandL(aCommandId);
}
/**
* 僐儅儞僪幚峴
*
* @param aCommandId [in] 僐儅儞僪ID
*/
MSmbAfCommandBase::TSmbAfCmdIdResponse CSmbMusicAPMainPlayerFilterListViewPLSongMulti::ProcessCommandL(TInt aCommandId)
{
CSmbMusicAPMainPlayerPLSelectView* view = static_cast<CSmbMusicAPMainPlayerPLSelectView*>(View());
// CSmbMusicAPMainPlayerPLSelectView* view = STATIC_CAST(CSmbMusicAPMainPlayerPLSelectView*, View());
switch(aCommandId)
{
case ECmdFilterViewDeleteEntryMultipleSelectComplete:
{
// 侾審傕慖戰偝傟偰偄側偄応崌偼僾儗僀儕僗僩慖戰偵慗堏偟側偄
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);
}
//慖戰僼儔僌傪愝掕偡傞
view->SetAllItem(EFalse);
//慖戰嶍彍傪妋擣偡傞僟僀傾儘僌傪昞帵偡傞
HandleDialogCommandL(EShowSelectionModelessDialog, R_DL_MUSIC_MAIN_FLT_DELETEPLSONG_SELECT, NULL, NULL);
}
}
return MSmbAfCommandBase::ESmbAfCmdIdWasConsumed;
case ECmdFilterViewDeleteEntries: // 僾儗僀儕僗僩僄儞僩儕乕嶍彍幚峴
{
TSmbMusicAPMainPlayerFilterListItems selectedItems;
view->SelectedItems(selectedItems);
ProcessRemoveItems(ECmdFilterViewDeleteEntries, selectedItems.iAllItem, selectedItems.iIndexArray);
// 2006.09.21 僾儘僌儗僗僟僀傾儘僌捛壛廋惓
ResetProgress();
// 僾儘僌儗僗僶乕傪昞帵偡傞
// CSmbMusicAPMainPlayerFilterListView::HandleDialogCommandL(EShowProgressModelessDialog, R_DL_MUSIC_MAIN_FLT_PROGRESS_MP04P001_PLURAL);
CSmbMusicAPMainPlayerFilterListView::HandleDialogCommandL(EShowProgressModelessDialogEx, R_DL_MUSIC_MAIN_FLT_PROGRESS_MP04P001_PLURAL);
// 僀儀儞僩梷惂傪夝彍偡傞
View()->SetEventDisabled(EFalse);
}
return MSmbAfCommandBase::ESmbAfCmdIdWasConsumed;
case ECmdFilterViewDeleteEntryMultipleSelectCancel:
{
// 侾審傕慖戰偝傟偰偄側偄応崌偼尦偺夋柺偵栠傞
if(EFalse!=IsItemsEdited())
{
// 僉儍儞僙儖妋擣僟僀傾儘僌傪昞帵偡傞
HandleDialogCommandL(EShowSelectionModelessDialog, R_DL_MUSIC_MAIN_FLT_SELECT_CANCEL_SELECTION, NULL, NULL);
}
else
{
view->DeleteSelectedItems();
view->HandleReturnViewL();
}
}
return MSmbAfCommandBase::ESmbAfCmdIdWasConsumed;
}
// 嬋堦棗傪宲彸偡傞
return CSmbMusicAPMainPlayerFilterListViewPLSong::ProcessCommandL(aCommandId);
}
/**
* 僟僀傾儘僌僋儘乕僘捠抦
*
* @param[in] aResourceId 儕僜乕僗俬俢
* @param[in] aResult 慖戰寢壥
*/
void CSmbMusicAPMainPlayerFilterListViewPLSongMulti::HandleDialogClosed(TInt aResourceId, TInt aResult)
{
CSmbMusicAPMainPlayerPLSelectView* view = static_cast<CSmbMusicAPMainPlayerPLSelectView*>(View());
// CSmbMusicAPMainPlayerPLSelectView* view = STATIC_CAST(CSmbMusicAPMainPlayerPLSelectView*, View());
// 宲彸
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -