smbmusicapfilemgrfolderselectview.cpp

来自「索爱手机代码」· C++ 代码 · 共 395 行 · 第 1/2 页

CPP
395
字号

	// 價儏乕傊僐儞僩儘乕儖傪愝掕
	CleanupStack::Pop(listBox);
	AddControlL(listBox->GetCoeControl(), &(listBox->KeyGuidance()));
	iListBox = listBox;
	
	// Listbox 偺僉乕僈僀僟儞僗偺恊偲偟偰丄View 偺僉乕僈僀僟儞僗傪巜掕偡傞
//	iListBox->KeyGuidance().SetParentKeyGuidance(KeyGuidance());

//TRK11848 10/19 start
	// 恊僉乕僈僀僟儞僗偑僐儞僩儘乕儖偡傞曽岦僉乕傪巜帵偡傞(...偲丆嬻儕僗僩偱嵍栴報偑昤夋偝傟傞偨傔)
	iListBox->KeyGuidance().SetParentArrowMask(ESkonKeyGuidanceArrowLeft);
//TRK11848 10/19 end

   	SetFocusToControl(CountComponentControls() - 1);

	// 僉乕僈僀僟儞僗偺僜僼僩1僉乕偵乽婡擻乿(僒僽儊僯儏乕昞帵)傪捛壛偡傞丏
	HBufC* buf = (CEikonEnv::Static())->AllocReadResourceLC(R_SMB_AF_STR_SFT021);
	KeyGuidance()->SetKeyInfoL(ESkonKeyGuidanceSoftKeyLeft, *buf, NULL, NULL, ECmdShowSubMenu);
	CleanupStack::PopAndDestroy(buf);
	
	// 僉乕僈僀僟儞僗偺僜僼僩2僉乕偵乽姰椆乿傪捛壛偡傞丏
	buf = (CEikonEnv::Static())->AllocReadResourceLC(R_SMB_AF_STR_SFT004);
	KeyGuidance()->SetKeyInfoL(ESkonKeyGuidanceSoftKeyRight, *buf, NULL, NULL, ECmdSetDestFolder);
	CleanupStack::PopAndDestroy(buf);

	// 僉乕僈僀僟儞僗偺僜僼僩4僉乕偵乽嵞惗乿傪捛壛偡傞丏
	buf = (CEikonEnv::Static())->AllocReadResourceLC(R_SMB_AF_STR_SFT024);
	KeyGuidance()->SetKeyInfoL(ESkonKeyGuidanceSoftKeyRightBottom, *buf, NULL, NULL, ECmdPlaySong);
	CleanupStack::PopAndDestroy(buf);

	// 僉乕僈僀僟儞僗偺乽嵞惗乿僉乕傪昞帵偝偣側偄(僨僼僅儖僩)
	KeyGuidance()->MakeVisibleKey(ESkonKeyGuidanceSoftKeyRightBottom, EFalse);

	// 偙偺View偱巊梡偟偰偄側偄僉乕僈僀僟儞僗忣曬傪弶婜壔偡傞(偪傜偮偒杊巭)
	KeyGuidance()->ResetKeyInfoL(ESkonKeyGuidanceSelectKey);
	}


/**
 * @param[in]		aViewId				屇傃弌偟尦價儏乕ID
 * @param[in]		aCustomMessageId	儊僢僙乕僕ID
 * @param[in]		aCustomMessage		儊僢僙乕僕僶僢僼傽
 * @leave			res					僼僅乕僇僗愝掕偵幐攕偟偨応崌
 */
void CSmbMusicAPFileMgrFolderSelectView::DoViewActivatedImplL(const TVwsViewId& /*aViewId*/,
                                                              TUid aCustomMessageId,
                                                              const TDesC8& aCustomMessage)
	{
	TSmbMusicAPFileMgrViewType localViewType = ETypeNone;	// 儘乕僇儖價儏乕愗懼帪偺價儏乕庬暿
	TBool refreshListBox = EFalse;							// ETrue: 儕僗僩儃僢僋僗傪儕僼儗僢僔儏偡傞 / EFalse: 儕僼儗僢僔儏偟側偄
	TBool needsToRefreshListBox = iAppUi.NeedsToRefreshListBox();
	iAppUi.ResetNeedsToRefreshListBox();

	// 儘乕僇儖價儏乕愗傝懼偊偺応崌
	if (aCustomMessageId == KSmbMusicAPFileMgrDnlLocalUid)
		{
		// 僇僗僞儉儊僢僙乕僕傪庢摼偡傞丏僇僗僞儉儊僢僙乕僕偑側偄応崌偼偁傝偊側偄丏
		if (aCustomMessage != (TDesC8)KNullDesC8)
			{
			const TSmbMusicAPFileMgrLocalViewStartParam* param;
			param = reinterpret_cast<const TSmbMusicAPFileMgrLocalViewStartParam *>(aCustomMessage.Ptr());
	 		localViewType = param->iViewType;
#ifdef __PTX825MUSICAP__					// 825_katsu 伀
			static_cast<CSmbMusicAPFileMgrFolderSelectCmd*>(iCmd)->SetSongId(param->iSongId);
#endif											// __PTX825MUSICAP__ 825_katsu 仾
			}
		}
	 else	// 儘乕僇儖價儏乕愗傝懼偊偱側偄応崌
		{
		localViewType = ETypeNone;

//TRK5537 9/1 start
		// 僞僗僋愗懼敪惗偟偨応崌偼丆儕僗僩儃僢僋僗傪儕僼儗僢僔儏偡傞
		if (needsToRefreshListBox)
			{
			refreshListBox = ETrue;
			}
//TRK5537 9/1 end
		}

	TBool isUpdated = EFalse;	// 僐儞僩儘乕儖晹昳偺愝掕桳柍

	switch (localViewType)
		{
	case ETypeFolderSelectForMoveOneFile:		// 堏摦愭僼僅儖僟慖戰夋柺(僼傽僀儖堏摦(1審))偺応崌
	case ETypeFolderSelectForMoveSelectedFiles:	// 堏摦愭僼僅儖僟慖戰夋柺(僼傽僀儖堏摦(慖戰))偺応崌
	case ETypeFolderSelectForMoveAllFiles:		// 堏摦愭僼僅儖僟慖戰夋柺(僼傽僀儖堏摦(僼僅儖僟撪))偺応崌
//TRK7471 8/28 start
	case ETypeFolderSelectForMoveOneFileToDbx:	// 堏摦愭僼僅儖僟慖戰夋柺(僼傽僀儖堏摦(杮懱傊))偺応崌
//TRK7471 8/28 end
		// 僞僀僩儖僶乕偵丆僞僀僩儖暥帤楍傪愝掕偡傞
		CSmbMusicAPFileMgrViewBase::SetTitleBarL(iTitleBar, R_SMB_AF_STR_WRD2446);
//ADD-START PTX824
		ClearSoftKeyInfo();
//ADD-END PTX824			
		// 僼僅儖僟傪奐偔
		iListBox->OpenDirectoryL(EMusicRootFolderTypeDataBox);

		iViewType = localViewType;
		isUpdated = ETrue;
		break;
	case ETypeNone:
		break;
	default:									// 憐掕奜偺儘乕僇儖價儏乕愗懼偺応崌
		__ASSERT_ALWAYS(EFalse, PANIC(KErrArgument));
		break;
		}

	// 僐儞僩儘乕儖晹昳偺愝掕傪峴偆
	if (isUpdated)
		{
		iNumOfHierarchy = 1;

		// 昞帵僗僞僀儖傪愝掕偡傞
//DEL-START PTX824
//		TSmbMusicAPFileSystemComListPattern listPattern;	// 嵟怴偺昞帵僗僞僀儖
//		listPattern = (GetListViewStyleL() == ESmbPGMusicAPListViewStyleThumbnail)
//		              ? ESmbMusicAPListPatternListWithThumbnail : ESmbMusicAPListPatternList;
//		iListBox->SetDisplayPatternL(listPattern);
//DEL-END PTX824

		// 僉乕僀儀儞僩傪梷惂偡傞
		DisableKeyEvent();

//DEL-START PTX824
		// 儕僗僩儃僢僋僗偺愝掕傪揔梡偡傞
//		iListBox->ApplyL();
//DEL-END PTX824
		
//ADD-START PTX824
		// 昞帵僗僞僀儖傪愝掕偡傞
		ApplyCurrentListViewStyleL();
//ADD-END PTX824
		}
	else if (refreshListBox)
		{
		// 儕僗僩儃僢僋僗傪儕僼儗僢僔儏偡傞
		RefreshListBoxL();
		}
	}


/**
 * 僉乕僈僀僟儞僗乽嵞惗乿傪旕昞帵偵偡傞
 */
void CSmbMusicAPFileMgrFolderSelectView::ClearSoftKeyInfo(void)
	{
//TRK9579 9/20 start
	// 僉乕僈僀僟儞僗偺乽嵞惗乿僉乕傪昞帵偝偣側偄 (僼傽僀儖僼僅乕僇僗帪偺傒昞帵偝偣傞偨傔)
	KeyGuidance()->MakeVisibleKey(ESkonKeyGuidanceSoftKeyRightBottom, EFalse);
	KeyGuidance()->Apply();
//TRK9579 9/20 end
	}
	

/**
 * @param[in]		aKeyEvent			僉乕僀儀儞僩 
 * @param[in]		aType				僀儀儞僩僞僀僾 
 * @return			僉乕儗僗億儞僗
 */
TKeyResponse CSmbMusicAPFileMgrFolderSelectView::OfferKeyEventImplL(const TKeyEvent& aKeyEvent, TEventCode /*aType*/)
	{
	TKeyResponse res = EKeyWasNotConsumed;

	switch (aKeyEvent.iCode)
		{
	case EWcdmaMpKeyClear:		// 僋儕傾僉乕
		if (iNumOfHierarchy == 1)	// 僼僅儖僟偑戞1奒憌栚偺応崌
			{
			// 乽慜夋柺偵慗堏乿偡傞
//TRK4122 7/15 start
//			iAppUi.HandleCommandL(ECmdBackView);
			iAppUi.HandleCommandL(ECmdBackViewWithRefresh);
//TRK4122 7/15 end

			return EKeyWasConsumed;
			}
		break;
	case EWcdmaMpKeyLeft:		// 嵍僉乕
		if (iNumOfHierarchy == 1)	// 僼僅儖僟偑戞1奒憌栚偺応崌
			{
			// 乽嵍僉乕墴壓乿傪柍岠偵偡傞
			return EKeyWasConsumed;
			}
		break;
	default:
		break;
		}

	return res;
	}


// end of SmbMusicAPFileMgrFolderSelectView.cpp
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */

⌨️ 快捷键说明

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