smbmusicapmainplayerdialogitem.cpp

来自「symbian」· C++ 代码 · 共 774 行 · 第 1/2 页

CPP
774
字号
/* Copyright (C) 2005-2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*-------------------------------------------------------------------------*/
// FileName:
//	SmbMusicAPMainPlayerDialogItem.cpp
//
// Description: 
//	儈儏乕僕僢僋儊僀儞僾儗僀儎乕偺僟僀傾儘僌儅僱乕僕儍偺幚憰丅
/*------------------------------------------------------------------------*/
//曄峏棜楌
//擔晅			|曄峏幰 	|撪梕
//--------------+-----------+----------------------------------------------
//2006/06/07	|K3戝嫶		|怴婯嶌惉
//2006/08/01	|K3戝嫶		|恑捇僟僀傾儘僌昞帵帪丄HoldApp傪憲怣偡傞偐巜掕偱偒傞傛偆偵奼挘
//2006/08/05	|K3戝嫶		|嶍彍僼儔僌傪棫偰傞僞僀儈儞僌傪丄僆僽僓乕僶偺HandleDialogClosed()傪屇傃弌偡慜偵曄峏
//2006/08/22	|K3戝嫶		|i-keeper(TRK):7064懳墳丅奜晹儊儌儕憓敳帪偼僒僽僾儗僀儎乕偵憲怣偟側偄傛偆丄CancelHoldAppEx()傪巊梡偡傞傛偆偵廋惓
//2006/09/27	|K3戝嫶		|傒側偟恑捇僟僀傾儘僌傪捛壛

#ifndef FJAFENV_H__
#include <FjAfEnv.h>
#endif
#ifndef FJTSUIPASSWORD_H__
#include <FJTSUIPassword.h>
#endif
#ifndef __SKONCONFIRMDIALOG_H__
#include <SkonConfirmDialog.h>
#endif
#ifndef __SKONWARNINGDIALOG_H__
#include <SkonWarningDialog.h>
#endif
#ifndef __SKONSELECTIONDIALOG_H__
#include <SkonSelectionDialog.h>
#endif
#ifndef __SMBMUSICAPSYNCENGINE_H__
#include <SmbMusicAPSyncEngine.h>
#endif
#ifndef __SMBMUSICAPPLAYERCOMMONDEF_H__
#include "SmbMusicAPPlayerCommonDef.h"
#endif
#ifndef __SMBMUSICAPMAINPLAYERDIALOGOBSERVER_H__
#include "SmbMusicAPMainPlayerDialogObserver.h"
#endif
#ifndef __SMBMUSICAPMAINPLAYERUTILITY_H__
#include "SmbMusicAPMainPlayerUtility.h"
#endif
#ifndef __SMBMUSICAPMAINPLAYERDIALOGITEM_H__
#include "SmbMusicAPMainPlayerDialogItem.h"
#endif
//ADD-S 2006.08.22 K3戝嫶 [i-keeper(TRK):7064] CancelHoldAppEx()傪巊梡偡傞偨傔偵AppUi傪僀儞僋儖乕僪
#ifndef __SMBMUSICAPMAINPLAYERAPPUI_H__
#include "SmbMusicAPMainPlayerAppUi.h"
#endif
//ADD-E 2006.08.22 K3戝嫶 [i-keeper(TRK):7064] CancelHoldAppEx()傪巊梡偡傞偨傔偵AppUi傪僀儞僋儖乕僪

USING_NAMESPACE_DCM
SEMCJ_NAMESPACE_BEGIN

/**
 * 僐儞僗僩儔僋僞
 *
 * @param[in] aDialogManager 帺暘偑強懏偡傞僟僀傾儘僌儅僱乕僕儍
 * @param[in] aSyncEngine 摨婜僄儞僕儞
 * @param[in] aResId 儕僜乕僗ID
 * @param[in] aText 昞帵僥僉僗僩乮摦揑偵嶌惉偟偨僥僉僗僩傪昞帵偡傞嵺偵巊梡偡傞堷悢丅aCombinedText偑巜掕偝傟偨応崌偼杮堷悢偼柍帇偝傟傞乯
 * @param[in,out] aCombinedText 昞帵僐儞僶僀儞僪僥僉僗僩乮摦揑偵嶌惉偟偨僐儞僶僀儞僪僥僉僗僩傪昞帵偡傞嵺偵巊梡偡傞堷悢丅杮堷悢偑巜掕偝傟偨応崌偼aText偼柍帇偝傟傞丅仸強桳尃偼埾忳偝傟傞乯
 * @param[in] aDialogObserver 僟僀傾儘僌僋儘乕僘帪偵捠抦偡傞僆僽僓乕僶
 */
CSmbMusicAPMainPlayerDialogItem::CSmbMusicAPMainPlayerDialogItem(CSmbMusicAPMainPlayerDialogManager& aDialogManager,
                                                                 CSmbMusicAPSyncEngine& aSyncEngine,
                                                                 TInt aResId,
                                                                 const TDesC* aText,
                                                                 CSkonCombinedText* aCombinedText,
                                                                 MSmbMusicAPMainPlayerDialogObserver* aDialogObserver)
	: iDialogManager(aDialogManager), iSyncEngine(aSyncEngine), iLog(CAfEnv::Static()->Log()), iResourceId(aResId), iText(aText), iCombinedText(aCombinedText), iObserver(aDialogObserver)
	{
	// nothing
	}

/**
 * 僨僗僩儔僋僞
 */
CSmbMusicAPMainPlayerDialogItem::~CSmbMusicAPMainPlayerDialogItem()
	{
	//_LIT(KLogFmt, "CSmbMusicAPMainPlayerDialogItem::~CSmbMusicAPMainPlayerDialogItem()");
	//SmbMusicAPMainPlayerUtility::OutputLog(iLog, 19001, ELogLevelLowest, KLogFmt);

	if (iModalFlag == EFalse)
		{// 儌乕僟儖僟僀傾儘僌偲偟偰昞帵拞埲奜偺応崌偵嶍彍偡傞
		delete iConfirmDialog;
		delete iWarningDialog;
		delete iSelectionDialog;
		delete iProgressDialog;
//ADD-S 2006.09.27 K3戝嫶 傒側偟恑捇僟僀傾儘僌捛壛
		delete iProgressDialogEx;
//ADD-E 2006.09.27 K3戝嫶 傒側偟恑捇僟僀傾儘僌捛壛
		//delete iPasswordDialog;// 儌乕僟儖僟僀傾儘僌昞帵偟偐峴偊側偄偨傔丄delete偼梡堄偝傟偰偄側偄
		}

	// CombinedText傪Skon僟僀傾儘僌偵埾忳偡傞嵺丄Leave偑敪惗偟偰傕儊儌儕儕乕僋傪婲偙偝側偄傛偆偨傔偺張抲
	delete iCombinedText;
	}

/**
 * 妋擣儌乕僟儖僟僀傾儘僌昞帵
 *
 * @return 僋儘乕僘偝傟偨棟桼
 */
TInt CSmbMusicAPMainPlayerDialogItem::ShowConfirmModalDialogLD()
	{
	//_LIT(KLogFmt1, "CSmbMusicAPMainPlayerDialogItem::ShowConfirmModalDialogL(0x%08x)[start.]");
	//SmbMusicAPMainPlayerUtility::OutputLog(iLog, 19002, ELogLevelLowest, KLogFmt1, iResourceId);

	CleanupStack::PushL(this);
	//User::Leave(KErrNoMemory);  // UT丗PushL()幐攕偺戙傢傝

	// 妋擣僟僀傾儘僌偺惗惉(僗僞僢僋忋偵傾僪儗僗傪妎偊傞)
	//__UHEAP_FAILNEXT(1);  // UT丗CSkonConfirmDialog惗惉幐攕
	CSkonConfirmDialog* dialog = new(ELeave) CSkonConfirmDialog();  // 仐嵎暘

	//__UHEAP_FAILNEXT(1);  // UT丗PrepareLC()幐攕
	dialog->PrepareLC(iResourceId);

	// 僥僉僗僩偺愝掕(儕僜乕僗僼傽僀儖偱愝掕偟偨偲偒偺Text偲CombinedText偺桪愭弴偲摨偠)
	if (iCombinedText != NULL)
		{
		// aCombinedText偺強桳尃傪埾忳
		CSkonCombinedText* combinedText = iCombinedText;
		iCombinedText = NULL;// 強桳尃傪埾忳偡傞偨傔偵丄NULL偵偡傞
		//__UHEAP_FAILNEXT(1);  // UT丗SetCombinedTextL()幐攕
		dialog->SetCombinedTextL(combinedText);
		}
	else if (iText != NULL)
		{
		//__UHEAP_FAILNEXT(1);  // UT丗SetTextL()幐攕
		dialog->SetTextL(*iText);
		}

	// 傾僾儕偵傛偭偰僋儘乕僘傪偐偗傜傟傞傛偆偵僗僞僢僋偵媗傑傟偨傾僪儗僗傪婰壇偟偰偍偔
	iConfirmDialog = dialog;  // 仐嵎暘
	iModalFlag = ETrue;

	// 妋擣儌乕僟儖僟僀傾儘僌昞帵奐巒
	//__UHEAP_FAILNEXT(1);  // UT丗ShowLD()幐攕
	TInt result = dialog->ShowLD();

	// 昞帵姰椆屻丄僗僞僢僋傊偺嶲徠傪偼偢偡
	iConfirmDialog = NULL;  // 仐嵎暘

	// Close帪偼-3偱曉傞

	//_LIT(KLogFmt2, "CSmbMusicAPMainPlayerDialogItem::ShowConfirmModalDialogL(0x%08x)[%d ShowLD]");
	//SmbMusicAPMainPlayerUtility::OutputLog(iLog, 19004, ELogLevelLowest, KLogFmt2, iResourceId, result);

	CleanupStack::PopAndDestroy();// this

	return CloseReason(result);
	}

/**
 * 寈崘儌乕僟儖僟僀傾儘僌昞帵
 *
 * @return 僋儘乕僘偝傟偨棟桼
 */
TInt CSmbMusicAPMainPlayerDialogItem::ShowWarningModalDialogLD()
	{
	//_LIT(KLogFmt1, "CSmbMusicAPMainPlayerDialogItem::ShowWarningModalDialogL(0x%08x)[start.]");
	//SmbMusicAPMainPlayerUtility::OutputLog(iLog, 19005, ELogLevelLowest, KLogFmt1, iResourceId);

	CleanupStack::PushL(this);
	//User::Leave(KErrNoMemory);  // UT丗PushL()幐攕偺戙傢傝

	// 寈崘僟僀傾儘僌偺惗惉(僗僞僢僋忋偵傾僪儗僗傪妎偊傞)
	//__UHEAP_FAILNEXT(1);  // UT丗CSkonWarningDialog惗惉幐攕
	CSkonWarningDialog* dialog = new(ELeave) CSkonWarningDialog();  // 仐嵎暘

	//__UHEAP_FAILNEXT(1);  // UT丗PrepareLC()幐攕
	dialog->PrepareLC(iResourceId);

	// 僥僉僗僩偺愝掕(儕僜乕僗僼傽僀儖偱愝掕偟偨偲偒偺Text偲CombinedText偺桪愭弴偲摨偠)
	if (iCombinedText != NULL)
		{
		// aCombinedText偺強桳尃傪埾忳
		CSkonCombinedText* combinedText = iCombinedText;
		iCombinedText = NULL;// 強桳尃傪埾忳偡傞偨傔偵丄NULL偵偡傞
		//__UHEAP_FAILNEXT(1);  // UT丗SetCombinedTextL()幐攕
		dialog->SetCombinedTextL(combinedText);
		}
	else if (iText != NULL)
		{
		//__UHEAP_FAILNEXT(1);  // UT丗SetTextL()幐攕
		dialog->SetTextL(*iText);
		}

	// 傾僾儕偵傛偭偰僋儘乕僘傪偐偗傜傟傞傛偆偵僗僞僢僋偵媗傑傟偨傾僪儗僗傪婰壇偟偰偍偔
	iWarningDialog = dialog;  // 仐嵎暘
	iModalFlag = ETrue;

	// 妋擣儌乕僟儖僟僀傾儘僌昞帵奐巒
	//__UHEAP_FAILNEXT(1);  // UT丗ShowLD()幐攕
	TInt result = dialog->ShowLD();

	// 昞帵姰椆屻丄僗僞僢僋傊偺嶲徠傪偼偢偡
	iWarningDialog = NULL;  // 仐嵎暘

	// Close帪偼-3偱曉傞

	//_LIT(KLogFmt2, "CSmbMusicAPMainPlayerDialogItem::ShowWarningModalDialogL(0x%08x)[%d ShowLD]");
	//SmbMusicAPMainPlayerUtility::OutputLog(iLog, 19007, ELogLevelLowest, KLogFmt2, iResourceId, result);

	CleanupStack::PopAndDestroy();// this

	return CloseReason(result);
	}

/**
 * 慖戰儌乕僟儖僟僀傾儘僌昞帵
 *
 * @return 僋儘乕僘偝傟偨棟桼
 */
TInt CSmbMusicAPMainPlayerDialogItem::ShowSelectionModalDialogLD()
	{
	//_LIT(KLogFmt1, "CSmbMusicAPMainPlayerDialogItem::ShowSelectionModalDialogL(0x%08x)[start.]");
	//SmbMusicAPMainPlayerUtility::OutputLog(iLog, 19008, ELogLevelLowest, KLogFmt1, iResourceId);

	CleanupStack::PushL(this);
	//User::Leave(KErrNoMemory);  // UT丗PushL()幐攕偺戙傢傝

	// 妋擣僟僀傾儘僌偺惗惉(僗僞僢僋忋偵傾僪儗僗傪妎偊傞)
	//__UHEAP_FAILNEXT(1);  // UT丗CSkonSelectionDialog惗惉幐攕
	CSkonSelectionDialog* dialog = new(ELeave) CSkonSelectionDialog();  // 仐嵎暘

	//__UHEAP_FAILNEXT(1);  // UT丗PrepareLC()幐攕
	dialog->PrepareLC(iResourceId);

	// 僥僉僗僩偺愝掕(儕僜乕僗僼傽僀儖偱愝掕偟偨偲偒偺Text偲CombinedText偺桪愭弴偲摨偠)
	if (iCombinedText != NULL)
		{
		// aCombinedText偺強桳尃傪埾忳
		CSkonCombinedText* combinedText = iCombinedText;
		iCombinedText = NULL;// 強桳尃傪埾忳偡傞偨傔偵丄NULL偵偡傞
		//__UHEAP_FAILNEXT(1);  // UT丗SetCombinedTextL()幐攕
		dialog->SetCombinedTextL(combinedText);
		}
	else if (iText != NULL)
		{
		//__UHEAP_FAILNEXT(1);  // UT丗SetTextL()幐攕
		dialog->SetTextL(*iText);
		}

	// 傾僾儕偵傛偭偰僋儘乕僘傪偐偗傜傟傞傛偆偵僗僞僢僋偵媗傑傟偨傾僪儗僗傪婰壇偟偰偍偔
	iSelectionDialog = dialog;  // 仐嵎暘
	iModalFlag = ETrue;

	// 妋擣儌乕僟儖僟僀傾儘僌昞帵奐巒
	//__UHEAP_FAILNEXT(1);  // UT丗ShowLD()幐攕
	TInt result = dialog->ShowLD();

	// 昞帵姰椆屻丄僗僞僢僋傊偺嶲徠傪偼偢偡
	iSelectionDialog = NULL;  // 仐嵎暘

	// Close帪偼-3偱曉傞

	//_LIT(KLogFmt2, "CSmbMusicAPMainPlayerDialogItem::ShowSelectionModalDialogL(0x%08x)[%d ShowLD]");
	//SmbMusicAPMainPlayerUtility::OutputLog(iLog, 19010, ELogLevelLowest, KLogFmt2, iResourceId, result);

	CleanupStack::PopAndDestroy();// this

	return CloseReason(result);
	}


/**
 * 僷僗儚乕僪儌乕僟儖僟僀傾儘僌昞帵
 *
 * @return 僋儘乕僘偝傟偨棟桼
 */
TInt CSmbMusicAPMainPlayerDialogItem::ShowPasswordModalDialogLD()
	{
	CleanupStack::PushL(this);
	//User::Leave(KErrNoMemory);  // UT丗PushL()幐攕偺戙傢傝

	// 寈崘僟僀傾儘僌偺惗惉(僗僞僢僋忋偵傾僪儗僗傪妎偊傞)
	//__UHEAP_FAILNEXT(1);  // UT丗CSkonWarningDialog惗惉幐攕
	CTSUIPassword* dialog = new(ELeave) CTSUIPassword();  // 仐嵎暘

//	//__UHEAP_FAILNEXT(1);  // UT丗PrepareLC()幐攕
//	dialog->PrepareLC(iResourceId);
//
//	// 僥僉僗僩偺愝掕(儕僜乕僗僼傽僀儖偱愝掕偟偨偲偒偺Text偲CombinedText偺桪愭弴偲摨偠)
//	if (iCombinedText != NULL)
//		{
//		// aCombinedText偺強桳尃傪埾忳
//		CSkonCombinedText* combinedText = iCombinedText;
//		iCombinedText = NULL;// 強桳尃傪埾忳偡傞偨傔偵丄NULL偵偡傞
//		//__UHEAP_FAILNEXT(1);  // UT丗SetCombinedTextL()幐攕
//		dialog->SetCombinedTextL(combinedText);
//		}
//	else if (iText != NULL)
//		{
//		//__UHEAP_FAILNEXT(1);  // UT丗SetTextL()幐攕
//		dialog->SetTextL(*iText);
//		}

	// 傾僾儕偵傛偭偰僋儘乕僘傪偐偗傜傟傞傛偆偵僗僞僢僋偵媗傑傟偨傾僪儗僗傪婰壇偟偰偍偔
	iPasswordDialog = dialog;  // 仐嵎暘
	iModalFlag = ETrue;

	// 妋擣儌乕僟儖僟僀傾儘僌昞帵奐巒
	//__UHEAP_FAILNEXT(1);  // UT丗ShowLD()幐攕
	TInt result = dialog->ShowLD();

	// 昞帵姰椆屻丄僗僞僢僋傊偺嶲徠傪偼偢偡
	iPasswordDialog = NULL;  // 仐嵎暘

	CleanupStack::PopAndDestroy();// this

	// 曉傝抣偺曄姺
	if (result == KErrNone)
		{// KErrNone丗埫徹斣崋偺曄峏偵惉岟偟偨応崌 仺 SelectKey偑慖戰偝傟偨応崌偲摨偠偵偡傞
		result = CSkonDialogBase::ESelectKey;
		}
	else
		{// KErrCancel丗僉儍儞僙儖偺応崌 仺 僋儕傾僉乕偑墴偝傟偨応崌偲摨偠偵偡傞
		result = CSkonDialogBase::EClearKey;
		}

	return CloseReason(result);
	}

/**
 * 妋擣儌乕僪儗僗僟僀傾儘僌昞帵
 */
void CSmbMusicAPMainPlayerDialogItem::ShowConfirmModelessDialogL()
	{
	//_LIT(KLogFmt1, "CSmbMusicAPMainPlayerDialogItem::ShowConfirmModelessDialogL(0x%08x)[start.]");
	//SmbMusicAPMainPlayerUtility::OutputLog(iLog, 19011, ELogLevelLowest, KLogFmt1, iResourceId);

	// 僟僀傾儘僌偺惗惉
	//__UHEAP_FAILNEXT(1);  // UT丗CSkonConfirmDialog惗惉幐攕
	iConfirmDialog = new(ELeave) CSkonConfirmDialog(); // 仐嵎暘

	//__UHEAP_FAILNEXT(1);  // UT丗PrepareL惗惉幐攕
	iConfirmDialog->PrepareL(iResourceId);

	// 僥僉僗僩偺愝掕
	if (iCombinedText != NULL)
		{
		// aCombinedText偺強桳尃傪埾忳
		CSkonCombinedText* combinedText = iCombinedText;
		iCombinedText = NULL;// 強桳尃傪埾忳偡傞偨傔偵丄NULL偵偡傞
		//__UHEAP_FAILNEXT(1);  // UT丗SetCombinedTextL惗惉幐攕
		iConfirmDialog->SetCombinedTextL(combinedText);
		}
	else if (iText != NULL)
		{
		//__UHEAP_FAILNEXT(1);  // UT丗SetTextL惗惉幐攕
		iConfirmDialog->SetTextL(*iText);
		}

	// 帺暘帺恎傪僙僢僩
	iConfirmDialog->SetDialogObserver(this);  // 仐嵎暘

	// Close()偺屇傃弌偟偱丄昁偢僆僽僓乕僶偑屇偽傟傞傛偆偵偡傞
	iConfirmDialog->SetExResultMode(ETrue);

	// 愝掕
	iCloseWhenCaseClosedFlag = ETrue;  // 仐嵎暘

	// Hold梫媮
//	iHoldRequest = ETrue;   // 仐嵎暘
//	iSyncEngine.HoldApp();  // 仐嵎暘

	// 儌乕僪儗僗昞帵奐巒
	//__UHEAP_FAILNEXT(1);  // UT丗ShowL幐攕
	iConfirmDialog->ShowL();
	}

/**
 * 寈崘儌乕僪儗僗僟僀傾儘僌昞帵
 * @param[in] aTimeout 昞帵僞僀儉傾僂僩巜掕丂ETrue:偁傝丄EFalse:側偟
 */
void CSmbMusicAPMainPlayerDialogItem::ShowWarningModelessDialogL(TBool aTimeout/*=ETrue*/)
	{
	//_LIT(KLogFmt1, "CSmbMusicAPMainPlayerDialogItem::ShowWarningModelessDialogL(0x%08x)[start.]");
	//SmbMusicAPMainPlayerUtility::OutputLog(iLog, 19015, ELogLevelLowest, KLogFmt1, iResourceId);

	// 僟僀傾儘僌偺惗惉
	//__UHEAP_FAILNEXT(1);  // UT丗CSkonWarningDialog惗惉幐攕

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?