smbmusicapmainplayerdialogmanager.cpp

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

CPP
932
字号
TInt CSmbMusicAPMainPlayerDialogManager::ShowWarningModalDialogL(TInt aResId, const TDesC* aText, CSkonCombinedText* aCombinedText)
	{
//	// 儌乕僟儖僟僀傾儘僌昞帵拞偵儌乕僟儖昞帵梫媮偑峴傢傟偰傕栤戣側偄傛偆偵偟偰偄傞偑丄杮棃偦偺傛偆側儐乕僗働乕僗偼側偄偼偢側偺偱丄ASSERT傪偐偗傞
//	__ASSERT_DEBUG(iModalDialog == NULL, PANIC(9018002));

	//_LIT(KLogFmt1, "CSmbMusicAPMainPlayerDialogManager::ShowWarningModalDialogL(0x%08x)[start.]");
	//SmbMusicAPMainPlayerUtility::OutputLog(iLog, 18010, ELogLevelLowest, KLogFmt1, aResId);

	// CloseModalDialog();偵彂偒姺偊傞
	if (iModalDialog != NULL)
		{// 婛偵昞帵拞
		iModalDialog->CloseDialog();
		iModalDialog = NULL;

		//_LIT(KLogFmt, "CSmbMusicAPMainPlayerDialogManager::ShowWarningModalDialogL()[close.]");
		//SmbMusicAPMainPlayerUtility::OutputLog(iLog, 18011, ELogLevelLowest, KLogFmt);
		}

	// 強桳尃埾忳慜偵儕乕僽偟偰傕aCombinedText偑儕乕僋偟側偄傛偆偵拲堄
	if (aCombinedText != NULL)
		{
		CleanupStack::PushL(aCombinedText);
		//User::Leave(KErrNoMemory);  // UT丗PushL()偱偺Leave偺戙傢傝
		}

	//__UHEAP_FAILNEXT(1);  // UT丗CSmbMusicAPMainPlayerDialogItem惗惉幐攕
	CSmbMusicAPMainPlayerDialogItem* modalDialog = new(ELeave) CSmbMusicAPMainPlayerDialogItem(*this, iSyncEngine, aResId, aText, aCombinedText);

	if (aCombinedText != NULL)
		{
		CleanupStack::Pop();
		}

	iModalDialog = modalDialog;
	TInt result = modalDialog->ShowWarningModalDialogLD(); // 仐嵎暘

	iModalDialog = NULL;

	//_LIT(KLogFmt2, "CSmbMusicAPMainPlayerDialogManager::ShowWarningModalDialogL(0x%08x)[%d end.]");
	//SmbMusicAPMainPlayerUtility::OutputLog(iLog, 18012, ELogLevelLowest, KLogFmt2, aResId, result);

	return result;
	}

/**
 * 儌乕僟儖慖戰僟僀傾儘僌昞帵
 *
 * @param[in] aResId 儕僜乕僗ID乮SkonSelectionDialog弨嫆乯
 * @param[in] aText 昞帵僥僉僗僩乮摦揑偵嶌惉偟偨僥僉僗僩傪昞帵偡傞嵺偵巊梡偡傞堷悢丅aCombinedText偑巜掕偝傟偨応崌偼杮堷悢偼柍帇偝傟傞乯
 * @param[in,out] aCombinedText 昞帵僐儞僶僀儞僪僥僉僗僩乮摦揑偵嶌惉偟偨僐儞僶僀儞僪僥僉僗僩傪昞帵偡傞嵺偵巊梡偡傞堷悢丅杮堷悢偑巜掕偝傟偨応崌偼aText偼柍帇偝傟傞丅仸強桳尃偼埾忳偝傟傞乯
 * @return 僋儘乕僘偝傟偨棟桼
 * @leave CSmbMusicAPMainPlayerDialogManager::ShowModalDialogL()
 * @see MSmbMusicAPMainPlayerDialogManagerBase::TSmbMusicAPMainPlayerDialogState
 */
TInt CSmbMusicAPMainPlayerDialogManager::ShowSelectionModalDialogL(TInt aResId, const TDesC* aText, CSkonCombinedText* aCombinedText)
	{
//	// 儌乕僟儖僟僀傾儘僌昞帵拞偵儌乕僟儖昞帵梫媮偑峴傢傟偰傕栤戣側偄傛偆偵偟偰偄傞偑丄杮棃偦偺傛偆側儐乕僗働乕僗偼側偄偼偢側偺偱丄ASSERT傪偐偗傞
//	__ASSERT_DEBUG(iModalDialog == NULL, PANIC(9018003));

	//_LIT(KLogFmt1, "CSmbMusicAPMainPlayerDialogManager::ShowSelectionModalDialogL(0x%08x)[start.]");
	//SmbMusicAPMainPlayerUtility::OutputLog(iLog, 18013, ELogLevelLowest, KLogFmt1, aResId);

	// CloseModalDialog();偵彂偒姺偊傞
	if (iModalDialog != NULL)
		{// 婛偵昞帵拞
		iModalDialog->CloseDialog();
		iModalDialog = NULL;

		//_LIT(KLogFmt, "CSmbMusicAPMainPlayerDialogManager::ShowSelectionModalDialogL()[close.]");
		//SmbMusicAPMainPlayerUtility::OutputLog(iLog, 18014, ELogLevelLowest, KLogFmt);
		}

	// 強桳尃埾忳慜偵儕乕僽偟偰傕aCombinedText偑儕乕僋偟側偄傛偆偵拲堄
	if (aCombinedText != NULL)
		{
		CleanupStack::PushL(aCombinedText);
		//User::Leave(KErrNoMemory);  // UT丗PushL()偱偺Leave偺戙傢傝
		}

	//__UHEAP_FAILNEXT(1);  // UT丗CSmbMusicAPMainPlayerDialogItem惗惉幐攕
	CSmbMusicAPMainPlayerDialogItem* modalDialog = new(ELeave) CSmbMusicAPMainPlayerDialogItem(*this, iSyncEngine, aResId, aText, aCombinedText);

	if (aCombinedText != NULL)
		{
		CleanupStack::Pop();
		}

	iModalDialog = modalDialog;
	TInt result = modalDialog->ShowSelectionModalDialogLD(); // 仐嵎暘

	iModalDialog = NULL;

	//_LIT(KLogFmt2, "CSmbMusicAPMainPlayerDialogManager::ShowSelectionModalDialogL(0x%08x)[%d end.]");
	//SmbMusicAPMainPlayerUtility::OutputLog(iLog, 18015, ELogLevelLowest, KLogFmt2, aResId, result);

	return result;
	}

/**
 * 儌乕僟儖僷僗儚乕僪僟僀傾儘僌昞帵
 *
 * @return 僋儘乕僘偝傟偨棟桼乮KErrNone丗埫徹斣崋偺曄峏偵惉岟偟偨応崌 | KErrCancel丗僉儍儞僙儖偺応崌乯
 */
TInt CSmbMusicAPMainPlayerDialogManager::ShowPasswordModalDialogL()
	{
//	// 儌乕僟儖僟僀傾儘僌昞帵拞偵儌乕僟儖昞帵梫媮偑峴傢傟偰傕栤戣側偄傛偆偵偟偰偄傞偑丄杮棃偦偺傛偆側儐乕僗働乕僗偼側偄偼偢側偺偱丄ASSERT傪偐偗傞
//	__ASSERT_DEBUG(iModalDialog == NULL, PANIC(9018003));

	//_LIT(KLogFmt1, "CSmbMusicAPMainPlayerDialogManager::ShowSelectionModalDialogL(0x%08x)[start.]");
	//SmbMusicAPMainPlayerUtility::OutputLog(iLog, 18013, ELogLevelLowest, KLogFmt1, aResId);

	// CloseModalDialog();偵彂偒姺偊傞
	if (iModalDialog != NULL)
		{// 婛偵昞帵拞
		iModalDialog->CloseDialog();
		iModalDialog = NULL;

		//_LIT(KLogFmt, "CSmbMusicAPMainPlayerDialogManager::ShowSelectionModalDialogL()[close.]");
		//SmbMusicAPMainPlayerUtility::OutputLog(iLog, 18014, ELogLevelLowest, KLogFmt);
		}

//	// 強桳尃埾忳慜偵儕乕僽偟偰傕aCombinedText偑儕乕僋偟側偄傛偆偵拲堄
//	if (aCombinedText != NULL)
//		{
//		CleanupStack::PushL(aCombinedText);
//		//User::Leave(KErrNoMemory);  // UT丗PushL()偱偺Leave偺戙傢傝
//		}

	// 儕僜乕僗ID偺巜掕偼偄傜側偄偨傔丄偲傝偁偊偢0傪巜掕偟偰偍偔
	//__UHEAP_FAILNEXT(1);  // UT丗CSmbMusicAPMainPlayerDialogItem惗惉幐攕
	CSmbMusicAPMainPlayerDialogItem* modalDialog = new(ELeave) CSmbMusicAPMainPlayerDialogItem(*this, iSyncEngine, 0, NULL, NULL);

//	if (aCombinedText != NULL)
//		{
//		CleanupStack::Pop();
//		}

	iModalDialog = modalDialog;
	TInt result = modalDialog->ShowPasswordModalDialogLD(); // 仐嵎暘

	iModalDialog = NULL;

	//_LIT(KLogFmt2, "CSmbMusicAPMainPlayerDialogManager::ShowSelectionModalDialogL(0x%08x)[%d end.]");
	//SmbMusicAPMainPlayerUtility::OutputLog(iLog, 18015, ELogLevelLowest, KLogFmt2, aResId, result);

	return result;
	}

/**
 * 儌乕僪儗僗妋擣僟僀傾儘僌昞帵
 *
 * @param[in] aResId 儕僜乕僗ID乮SkonConfirmDialog弨嫆乯
 * @param[in] aDialogObserver 僟僀傾儘僌傾僀僥儉僆僽僓乕僶乮僟僀傾儘僌徚嫀帪偵僐乕儖僶僢僋偑傎偟偄応崌偵巊梡偡傞堷悢乯
 * @param[in] aText 昞帵僥僉僗僩乮摦揑偵嶌惉偟偨僥僉僗僩傪昞帵偡傞嵺偵巊梡偡傞堷悢丅aCombinedText偑巜掕偝傟偨応崌偼杮堷悢偼柍帇偝傟傞乯
 * @param[in,out] aCombinedText 昞帵僐儞僶僀儞僪僥僉僗僩乮摦揑偵嶌惉偟偨僐儞僶僀儞僪僥僉僗僩傪昞帵偡傞嵺偵巊梡偡傞堷悢丅杮堷悢偑巜掕偝傟偨応崌偼aText偼柍帇偝傟傞丅仸強桳尃偼埾忳偝傟傞乯
 */
void CSmbMusicAPMainPlayerDialogManager::ShowConfirmModelessDialogL(TInt aResId, MSmbMusicAPMainPlayerDialogObserver* aDialogObserver, const TDesC* aText, CSkonCombinedText* aCombinedText)
	{
	//_LIT(KLogFmt1, "CSmbMusicAPMainPlayerDialogManager::ShowConfirmModelessDialogL(0x%08x)[start.]");
	//SmbMusicAPMainPlayerUtility::OutputLog(iLog, 18016, ELogLevelLowest, KLogFmt1, aResId);

	// 摨偠儕僜乕僗ID偺僟僀傾儘僌偑昞帵拞偺応崌偼暵偠偰偐傜昞帵偡傞
	CloseModelessDialog(aResId);

	// 強桳尃埾忳慜偵儕乕僽偟偰傕aCombinedText偑儕乕僋偟側偄傛偆偵拲堄
	if (aCombinedText != NULL)
		{
		CleanupStack::PushL(aCombinedText);
		//User::Leave(KErrNoMemory);  // UT丗PushL()撪晹偺Leave偺戙傢傝
		}

	// 僟僀傾儘僌惗惉
	//__UHEAP_FAILNEXT(1);  // UT丗CSmbMusicAPMainPlayerDialogItem幐攕
	CSmbMusicAPMainPlayerDialogItem* dialog = new(ELeave) CSmbMusicAPMainPlayerDialogItem(*this, iSyncEngine, aResId, aText, aCombinedText, aDialogObserver);

	// 僋儕乕儞傾僢僾僗僞僢僋偐傜庢傝彍偄偰偍偔
	if (aCombinedText != NULL)
		{
		CleanupStack::Pop();// aCombinedText
		}

	// Leave偟偰傕戝忎晇側傛偆偵攝楍傪捛壛偟偰偍偔
	//__UHEAP_FAILNEXT(1);  // UT丗Append幐攕
	TInt err = iModelessDialogs.Append(dialog);
	if (err != KErrNone)
		{
		delete dialog;

		_LIT(KLogFmt, "CSmbMusicAPMainPlayerDialogManager::ShowConfirmModelessDialogL(0x%08x)[%d append failed.]");
		SmbMusicAPMainPlayerUtility::OutputLog(iLog, 18017, ELogLevelHighest, KLogFmt, aResId, err);

		User::Leave(err);
		}

	// 儌乕僪儗僗僟僀傾儘僌昞帵
	TRAP(err, dialog->ShowConfirmModelessDialogL());// 仐嵎暘
	if (err != KErrNone)
		{
		// 嵟屻偵捛壛偟偰偄偨偺傪庢傝彍偔
		TInt lastIndex = iModelessDialogs.Count() - 1;
		iModelessDialogs.Remove(lastIndex);

		delete dialog;

		_LIT(KLogFmt, "CSmbMusicAPMainPlayerDialogManager::ShowConfirmModelessDialogL(0x%08x)[show failed.]");
		SmbMusicAPMainPlayerUtility::OutputLog(iLog, 18018, ELogLevelHighest, KLogFmt, aResId);

		User::Leave(err);
		}
	}

/**
 * 儌乕僪儗僗寈崘僟僀傾儘僌昞帵
 *
 * @param[in] aResId 儕僜乕僗ID乮SkonWarningDialog弨嫆乯
 * @param[in] aDialogObserver 僟僀傾儘僌傾僀僥儉僆僽僓乕僶乮僟僀傾儘僌徚嫀帪偵僐乕儖僶僢僋偑傎偟偄応崌偵巊梡偡傞堷悢乯
 * @param[in] aText 昞帵僥僉僗僩乮摦揑偵嶌惉偟偨僥僉僗僩傪昞帵偡傞嵺偵巊梡偡傞堷悢丅aCombinedText偑巜掕偝傟偨応崌偼杮堷悢偼柍帇偝傟傞乯
 * @param[in,out] aCombinedText 昞帵僐儞僶僀儞僪僥僉僗僩乮摦揑偵嶌惉偟偨僐儞僶僀儞僪僥僉僗僩傪昞帵偡傞嵺偵巊梡偡傞堷悢丅杮堷悢偑巜掕偝傟偨応崌偼aText偼柍帇偝傟傞丅仸強桳尃偼埾忳偝傟傞乯
 * @param[in] aTimeout 昞帵僞僀儉傾僂僩巜掕丂ETrue:偁傝丄EFalse:側偟
 */
void CSmbMusicAPMainPlayerDialogManager::ShowWarningModelessDialogL(TInt aResId, MSmbMusicAPMainPlayerDialogObserver* aDialogObserver, const TDesC* aText, CSkonCombinedText* aCombinedText, TBool aTimeout/*=ETrue*/)
	{
	//_LIT(KLogFmt1, "CSmbMusicAPMainPlayerDialogManager::ShowWarningModelessDialogL(0x%08x)[start.]");
	//SmbMusicAPMainPlayerUtility::OutputLog(iLog, 18019, ELogLevelLowest, KLogFmt1, aResId);

	// 摨偠儕僜乕僗ID偺僟僀傾儘僌偑昞帵拞偺応崌偼暵偠偰偐傜昞帵偡傞
	CloseModelessDialog(aResId);

	// 強桳尃埾忳慜偵儕乕僽偟偰傕aCombinedText偑儕乕僋偟側偄傛偆偵拲堄
	if (aCombinedText != NULL)
		{
		CleanupStack::PushL(aCombinedText);
		//User::Leave(KErrNoMemory);  // UT丗PushL()撪晹偺Leave偺戙傢傝
		}

	// 僟僀傾儘僌惗惉
	//__UHEAP_FAILNEXT(1);  // UT丗CSmbMusicAPMainPlayerDialogItem幐攕
	CSmbMusicAPMainPlayerDialogItem* dialog = new(ELeave) CSmbMusicAPMainPlayerDialogItem(*this, iSyncEngine, aResId, aText, aCombinedText, aDialogObserver);

	// 僋儕乕儞傾僢僾僗僞僢僋偐傜庢傝彍偄偰偍偔
	if (aCombinedText != NULL)
		{
		CleanupStack::Pop();// aCombinedText
		}

	// Leave偟偰傕戝忎晇側傛偆偵攝楍傪捛壛偟偰偍偔
	//__UHEAP_FAILNEXT(1);  // UT丗Append幐攕
	TInt err = iModelessDialogs.Append(dialog);
	if (err != KErrNone)
		{
		delete dialog;

		_LIT(KLogFmt, "CSmbMusicAPMainPlayerDialogManager::ShowWarningModelessDialogL(0x%08x)[%d append failed.]");
		SmbMusicAPMainPlayerUtility::OutputLog(iLog, 18020, ELogLevelHighest, KLogFmt, aResId, err);

		User::Leave(err);
		}

	// 儌乕僪儗僗僟僀傾儘僌昞帵
	TRAP(err, dialog->ShowWarningModelessDialogL(aTimeout));// 仐嵎暘
	if (err != KErrNone)
		{
		// 嵟屻偵捛壛偟偰偄偨偺傪庢傝彍偔
		TInt lastIndex = iModelessDialogs.Count() - 1;
		iModelessDialogs.Remove(lastIndex);

		delete dialog;

		_LIT(KLogFmt, "CSmbMusicAPMainPlayerDialogManager::ShowWarningModelessDialogL(0x%08x)[show failed.]");
		SmbMusicAPMainPlayerUtility::OutputLog(iLog, 18021, ELogLevelHighest, KLogFmt, aResId);

		User::Leave(err);
		}
	}

/**
 * 儌乕僪儗僗慖戰僟僀傾儘僌昞帵
 *
 * @param[in] aResId 儕僜乕僗ID乮SkonSelectionDialog弨嫆乯
 * @param[in] aDialogObserver 僟僀傾儘僌傾僀僥儉僆僽僓乕僶乮僟僀傾儘僌徚嫀帪偵僐乕儖僶僢僋偑傎偟偄応崌偵巊梡偡傞堷悢乯
 * @param[in] aText 昞帵僥僉僗僩乮摦揑偵嶌惉偟偨僥僉僗僩傪昞帵偡傞嵺偵巊梡偡傞堷悢丅aCombinedText偑巜掕偝傟偨応崌偼杮堷悢偼柍帇偝傟傞乯
 * @param[in,out] aCombinedText 昞帵僐儞僶僀儞僪僥僉僗僩乮摦揑偵嶌惉偟偨僐儞僶僀儞僪僥僉僗僩傪昞帵偡傞嵺偵巊梡偡傞堷悢丅杮堷悢偑巜掕偝傟偨応崌偼aText偼柍帇偝傟傞丅仸強桳尃偼埾忳偝傟傞乯
 */
void CSmbMusicAPMainPlayerDialogManager::ShowSelectionModelessDialogL(TInt aResId, MSmbMusicAPMainPlayerDialogObserver* aDialogObserver, const TDesC* aText, CSkonCombinedText* aCombinedText)
	{
	//_LIT(KLogFmt1, "CSmbMusicAPMainPlayerDialogManager::ShowSelectionModelessDialogL(0x%08x)[start.]");
	//SmbMusicAPMainPlayerUtility::OutputLog(iLog, 18022, ELogLevelLowest, KLogFmt1, aResId);

	// 摨偠儕僜乕僗ID偺僟僀傾儘僌偑昞帵拞偺応崌偼暵偠偰偐傜昞帵偡傞
	CloseModelessDialog(aResId);

	// 強桳尃埾忳慜偵儕乕僽偟偰傕aCombinedText偑儕乕僋偟側偄傛偆偵拲堄
	if (aCombinedText != NULL)
		{
		CleanupStack::PushL(aCombinedText);
		//User::Leave(KErrNoMemory);  // UT丗PushL()撪晹偺Leave偺戙傢傝
		}

	// 僟僀傾儘僌惗惉
	//__UHEAP_FAILNEXT(1);  // UT丗CSmbMusicAPMainPlayerDialogItem幐攕
	CSmbMusicAPMainPlayerDialogItem* dialog = new(ELeave) CSmbMusicAPMainPlayerDialogItem(*this, iSyncEngine, aResId, aText, aCombinedText, aDialogObserver);

	// 僋儕乕儞傾僢僾僗僞僢僋偐傜庢傝彍偄偰偍偔
	if (aCombinedText != NULL)
		{
		CleanupStack::Pop();// aCombinedText
		}

	// Leave偟偰傕戝忎晇側傛偆偵攝楍傪捛壛偟偰偍偔
	//__UHEAP_FAILNEXT(1);  // UT丗Append幐攕
	TInt err = iModelessDialogs.Append(dialog);

⌨️ 快捷键说明

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