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 + -
显示快捷键?