⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 smbmusicapmainplayerfilterlistviewplsongmulti.cpp

📁 symbian
💻 CPP
📖 第 1 页 / 共 2 页
字号:
/* 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 + -