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

📄 smbmusicapfilemgrfilecmd.cpp

📁 索爱手机代码
💻 CPP
📖 第 1 页 / 共 5 页
字号:
//				iView.DisableKeyEvent();					// 僉乕僀儀儞僩傪梷惂偡傞
//				iRequestingCommand = ECmdShowSubMenu;		// 杮價儏乕僐儅儞僪傪乽梫媮拞乿偵愝掕 (NotifyReadyFilterList懳墳偺偨傔)
//				}
//			else
//				{
//				OUTPUT_LOG1_ERROR("CSmbMusicAPFileMgrActionController::RequestLimitConditionInfo(): %d", result);
//				HandleShowSubMenuL(EShow);
//				HandleShowSubMenuL(ERequestDetailInfo);
//				}
//CQ-TRK12911 DEL-END PTX824
//CQ-TRK12911 ADD-START PTX824
			if(IsLimit(musicItem))
				{
				TInt result = iController.RequestLimitInfomation(musicItem, iSongLimit);
				if (result == KErrNone)
					{
					OUTPUT_LOG("CSmbMusicAPFileMgrActionController::RequestLimitConditionInfo()");
					iView.DisableKeyEvent();					// 僉乕僀儀儞僩傪梷惂偡傞
					iRequestingCommand = ECmdShowSubMenu;		// 杮價儏乕僐儅儞僪傪乽梫媮拞乿偵愝掕 (NotifyReadyFilterList懳墳偺偨傔)
					}
				else
					{
					OUTPUT_LOG1_ERROR("CSmbMusicAPFileMgrActionController::RequestLimitConditionInfo(): %d", result);
					HandleShowSubMenuL(EShow);
					}
				}
			else
				{
				delete musicItem;
				HandleShowSubMenuL(EShow);
				}
			}
//CQ-TRK12911 ADD-END PTX824
		else
			{
			HandleShowSubMenuL(EShow);
//			HandleShowSubMenuL(ERequestDetailInfo);
			}
		break;
//ADD-START PTX824
#if 0
	//庢摼尦偑i儌乕僪埲奜偼僐儞僥儞僣堏峴傪晄壜偲偝偣傞偨傔徻嵶忣曬傪庢摼
	case ERequestDetailInfo:
		if (iSubMenuResourceId == R_SUBMENU_MP03S002)			// 僼儖妝嬋僼傽僀儖僒僽儊僯儏乕
			{
			// 嵞惗惂尷忣曬偺庢摼(旕摨婜)傪埶棅偡傞
			CSmbMusicAPFileSystemComMusicItem* musicItem = iListBoxModel->GetCurrentItemL();
			delete iDetailSongInfo;
			iDetailSongInfo = CSmbMusicMWLibDetailSongInfo::NewL();
			TInt result = iController.RequestDetailSongInfo(musicItem, *iDetailSongInfo);
			if (result == KErrNone)
				{
				OUTPUT_LOG("CSmbMusicAPFileMgrActionController::RequestLimitConditionInfo()");
				iView.DisableKeyEvent();					// 僉乕僀儀儞僩傪梷惂偡傞
				}
			else
				{
				OUTPUT_LOG1_ERROR("CSmbMusicAPFileMgrActionController::RequestLimitConditionInfo(): %d", result);
				delete iDetailSongInfo;
				iDetailSongInfo = NULL;
				HandleShowSubMenuL(EShow);
				}
			}
		else
			{
			HandleShowSubMenuL(EShow);
			}
		break;
#endif
//ADD-END PTX824
	case EShow:
		// 儕僗僩儃僢僋僗偺昞帵張棟傪嵞奐偡傞丏
		static_cast<CSmbMusicAPFileMgrFileView&>(iView).ResumeListBox();
//ADD-START PTX824
		iView.DisableKeyEvent();		// 僉乕僀儀儞僩傪梷惂偡傞
//ADD-END PTX824		
		iAsyncCallBack->CallBack();
		break;
	default:
		break;
		}
	}


/**
 * @param[in]		aShowDialog		嶍彍妋擣僟僀傾儘僌昞帵僼儔僌丏(ETrue: 昞帵偡傞 / EFalse: 昞帵偟側偄)
 * @panic			EInvalidStatus	CSmbMusicAPFileMgrFileCmd::iListBoxModel偑NULL偺応崌
 * @note			杮儊僜僢僪傪屇傃弌偡帪揰偱偼丆僼僅乕僇僗偺摉偨偭偰偄傞傾僀僥儉偼弨旛姰椆偱偁傞偙偲丏
 */
void CSmbMusicAPFileMgrFileCmd::HandleDeleteOneFileL(TBool aShowDialog)
	{
	__ASSERT_ALWAYS(iListBoxModel, PANIC(EInvalidStatus));

	// 嶍彍妋擣僟僀傾儘僌昞帵偺応崌丆懠婡擻愝掕桳柍傪挷嵏偟僟僀傾儘僌傪昞帵偡傞丏
	if (aShowDialog)
		{
		// 撉傒弌偟愱梡儊儌儕偺応崌丆僟僀傾儘僌傪昞帵偟屇傃弌偟尦偵栠傞丏
		if (static_cast<CSmbMusicAPFileMgrFileView&>(iView).ShowDialogIfErrorL())
			{
			return;
			}

		// 嶍彍懳徾僼傽僀儖傪庢摼丒搊榐偡傞
		CSmbMusicAPFileSystemComMusicItem* musicItem = iListBoxModel->GetCurrentItemL();
		CleanupStack::PushL(musicItem);
		// 懠婡擻愝掕桳柍傪挷嵏偟丆嶍彍妋擣僟僀傾儘僌傪昞帵偡傞
		TBool settingFlag = musicItem->IsSettingInfoL();
		CleanupStack::Pop(musicItem);
		iMusicItem = musicItem;

		if (!settingFlag)			// 懠婡擻愝掕側偟偺応崌
			{
			TSmbMusicAPFileMgrIconType iconType;
			iconType = SmbMusicAPFileMgrUtility::ConvertIconType(iMusicItem->GetItemIconType());	// 傾僀僐儞庬暿傪庢摼偡傞
			TFileName itemName;
			iMusicItem->GetItemName(itemName);														// 傾僀僥儉柤傪庢摼偡傞
			iView.ShowSelectionDialogL(R_SELECTION_DIALOG_MP04P012, iconType, itemName);
			}
		else						// 懠婡擻愝掕偁傝偺応崌
			{
			iView.ShowSelectionDialogL(R_SELECTION_DIALOG_MP04P011);		
			}
		}
	// 嶍彍幚峴偺応崌
	else
		{
		// 奜晹儊儌儕敳嫀敪惗僼儔僌傪儕僙僢僩偡傞
		iAppUi.SetHasUnMountedMemory(EFalse);					// 敳嫀敪惗偟偰偄側偄
//ADD-START PTX824
		// 儕僜乕僗嫞崌敪惗僼儔僌傪儕僙僢僩偡傞
		iAppUi.SetHasResourceNG(EFalse);						//儕僜乕僗嫞崌敪惗偟偰偄側偄
		// 儊儌儕儌乕僪撍擖嵪傒僼儔僌偵僙僢僩偡傞
		iAppUi.SetHasMemoryModeResourceNG(EFalse);
		// MTP儌乕僪撍擖嵪傒僼儔僌偵僙僢僩偡傞
		iAppUi.SetHasMTPModeResourceNG(EFalse);
//ADD-END PTX824

		if (iMusicItem == NULL)	// 嶍彍妋擣側偟偺僔乕働儞僗偵懳墳 (TRK7470娭楢)
			{
			iMusicItem = iListBoxModel->GetCurrentItemL();
			}
		iController.RequestDeleteOneFileL(iMusicItem, iListBoxModel);
		// iMusicItem偺強桳尃偼傾僋僔儑儞僐儞僩儘乕儔偵堏忳偟偨偨傔丆iMusicItem傪NULL偵僙僢僩偡傞
		iMusicItem = NULL;
		}
	}


/**
 * @panic			EInvalidStatus	CSmbMusicAPFileMgrFileCmd::iListBoxModel偑NULL偺応崌
 * @note			杮儊僜僢僪傪屇傃弌偡帪揰偱偼丆僼僅乕僇僗偺摉偨偭偰偄傞傾僀僥儉偼弨旛姰椆偱偁傞偙偲丏
 */
void CSmbMusicAPFileMgrFileCmd::HandleDeleteSelectedFilesL(void)
	{
	__ASSERT_ALWAYS(iListBoxModel, PANIC(EInvalidStatus));

	// 撉傒弌偟愱梡儊儌儕偺応崌丆僟僀傾儘僌傪昞帵偟屇傃弌偟尦偵栠傞丏
	if (static_cast<CSmbMusicAPFileMgrFileView&>(iView).ShowDialogIfErrorL())
		{
		return;
		}

	// 婲摦僷儔儊乕僞(僇僗僞儉儊僢僙乕僕)傪嶌惉偡傞
	TSmbMusicAPFileMgrLocalViewStartParam param;
	switch (iView.ViewType())
		{
	case ETypeDbxImotionFile:
		param.iViewType = ETypeDeleteDbxFileSelections;			// 暋悢崁栚慖戰夋柺(僼傽僀儖嶍彍)(僨乕僞BOX)
		break;
	case ETypeMassMp3File:
		param.iViewType = ETypeDeleteMassFileSelections;		// 暋悢崁栚慖戰夋柺(僼傽僀儖嶍彍)(僨乕僞BOX)
		break;
	case ETypeMsMsaFile:
		param.iViewType = ETypeDeleteMsMsaFileSelections;		// 暋悢崁栚慖戰夋柺(M.S.僆乕僨傿僆-僼傽僀儖嶍彍)(儊儌儕乕僗僥傿僢僋)
		break;
	case ETypeMsMp3File:
		param.iViewType = ETypeDeleteMsMp3FileSelections;		// 暋悢崁栚慖戰夋柺(MP3懠-僼傽僀儖嶍彍)(儊儌儕乕僗僥傿僢僋)
		break;
	case ETypeSdImotionFile:
		param.iViewType = ETypeDeleteSdImotionFileSelections;	// 暋悢崁栚慖戰夋柺(僼儖妝嬋-僼傽僀儖嶍彍)(SD僇乕僪)
		break;
	case ETypeSdMp3File:
//TRK7028 8/22 start
//		param.iViewType = ETypeDeleteMsMp3FileSelections;		// 暋悢崁栚慖戰夋柺(MP3懠-僼傽僀儖嶍彍)(SD僇乕僪)
		param.iViewType = ETypeDeleteSdMp3FileSelections;		// 暋悢崁栚慖戰夋柺(MP3懠-僼傽僀儖嶍彍)(SD僇乕僪)
//TRK7028 8/22 start
		break;
//ADD-START PTX824
	case ETypeMassMsaFile:
		param.iViewType = ETypeDeleteMassMsaFileSelections;		// 暋悢崁栚慖戰夋柺(AAD-僼傽僀儖嶍彍)(杮懱奼挘)
		break;
	case ETypeSdMsaFile:
		param.iViewType = ETypeDeleteSdMsaFileSelections;		// 暋悢崁栚慖戰夋柺(AAD-僼傽僀儖嶍彍)(SD僇乕僪)
		break;
	case ETypeMassWMAFile:
		param.iViewType = ETypeDeleteMassWMAFileSelections;		// 暋悢崁栚慖戰夋柺(WMA-僼傽僀儖嶍彍)(杮懱奼挘)
		break;
	case ETypeSdWMAFile:
		param.iViewType = ETypeDeleteSdWMAFileSelections;		// 暋悢崁栚慖戰夋柺(WMA-僼傽僀儖嶍彍)(SD僇乕僪)
		break;
//ADD-END PTX824
	default:
		__ASSERT_ALWAYS(EFalse, PANIC(EInvalidStatus));
		break;
		}
		
//CQ-TRK11550 ADD-START PTX824
#ifndef __SMBMUSICAPFILEMGR_CQTRK11550_ENABLE__
		// 僪僉儏儊儞僩傪嶲徠
		CSmbMusicAPFileMgrDocument* doc = iAppUi.Document();
		ASSERT(doc);
		// 僇儗儞僩傾僀僥儉傪僙僢僩
		doc->SetCurrentFocusItem(iListBoxModel->GetCurrentItemL());
#endif
//CQ-TRK11550 ADD-END PTX824

	param.iMusicItem = iListBoxModel->GetCurrentListL();		// 僇儗儞僩僼僅儖僟傪庢摼偡傞
	param.iNum = static_cast<CSmbMusicAPFileMgrFileView&>(iView).CurrentIndex();
	param.iTopIndex = static_cast<CSmbMusicAPFileMgrFileView&>(iView).TopIndex();
	TPckgC<TSmbMusicAPFileMgrLocalViewStartParam> paramBuf(param);

	// 儘乕僇儖價儏乕愗傝懼偊傪峴偆
	TInt result = ChangeLocalView(TUid::Uid(ESmbMusicAPFileMgrItemSelectView), paramBuf);
	if (result == KErrNone)
		{
		OUTPUT_LOG1_MUST("CSmbMusicAPFileMgrCmdBase::ChangeLocalView(%d)", param.iViewType);
		static_cast<CSmbMusicAPFileMgrFileView&>(iView).SuspendListBox();		// 儕僗僩儃僢僋僗偺昞帵張棟傪堦帪拞抐偡傞丏(昞帵惈擻岦忋偺偨傔)
		}
	else		 
		{
		OUTPUT_LOG2_ERROR("CSmbMusicAPFileMgrCmdBase::ChangeLocalView(%d): %d", param.iViewType, result);
		delete param.iMusicItem;
		}
	}


/**
 * 埲壓偺弴彉偱屇傃弌偝傟傞偙偲傪憐掕偟偰偄傞丏
 *   -# HandleDeleteAllFilesL(ETrue,  EFalse) called by HandleViewCommandImplL(ECmdConfirmDeleteAllFiles)
 *   -# HandleDeleteAllFilesL(EFalse, EFalse) called by HandleViewCommandImplL(ECmdDeleteAllFiles)
 *   -# HandleDeleteAllFilesL(EFalse, ETrue)  called by NotifyReadyFilterListL()
 *
 * @param[in]		aShowDialog		嶍彍妋擣僟僀傾儘僌昞帵僼儔僌(ETrue: 昞帵偡傞 / EFalse: 昞帵偟側偄)
 * @param[in]		aIsListReady	儕僗僩庢摼姰椆僼儔僌(ETrue: 庢摼姰椆 / EFalse: 枹庢摼)
 * @panic			EInvalidStatus	CSmbMusicAPFileMgrFileCmd::iListBoxModel偑NULL偺応崌
 * @note			杮儊僜僢僪傪屇傃弌偡帪揰偱偼丆僼僅乕僇僗偺摉偨偭偰偄傞傾僀僥儉偼弨旛姰椆偱偁傞偙偲丏
 */
void CSmbMusicAPFileMgrFileCmd::HandleDeleteAllFilesL(TBool aShowDialog, TBool aIsListReady)
	{
	__ASSERT_ALWAYS(iListBoxModel, PANIC(EInvalidStatus));
	
	if (aShowDialog)			// 嶍彍妋擣僟僀傾儘僌傪昞帵偡傞
		{
		// 撉傒弌偟愱梡儊儌儕偺応崌丆僟僀傾儘僌傪昞帵偟屇傃弌偟尦偵栠傞丏
		if (static_cast<CSmbMusicAPFileMgrFileView&>(iView).ShowDialogIfErrorL())
			{
			return;
			}

		// 僷僗儚乕僪僟僀傾儘僌傪昞帵偟丆擣徹OK偺応崌偼丆嶍彍妋擣僟僀傾儘僌傪昞帵偡傞丏
		TInt result = static_cast<CSmbMusicAPFileMgrFileView&>(iView).ShowPasswordDialogL();	
		if (result == KErrNone)		// 擣徹OK偺応崌丆嶍彍妋擣僟僀傾儘僌傪昞帵偡傞
			{
			iView.ShowSelectionDialogL(R_SELECTION_DIALOG_MP03P011);
			}
		else						// 僋儕傾僉乕墴壓偺応崌(擣徹NG)丆嶍彍傪拞抐偡傞	
			{						
			return;			// 壗傕張棟偟側偄
			}	
		}
	// 嶍彍懳徾儕僗僩枹庢摼偺応崌丆儕僗僩儃僢僋僗儌僨儖偵懳偟儕僗僩庢摼埶棅(旕摨婜)傪峴偆丏
	else if (!aIsListReady)
		{
		TInt result = iListBoxModel->RequestCurrentFilterListL(EMusicItemTypeSongItem);
		if (result == KErrNone)
			{
			iView.DisableKeyEvent();					// 僉乕僀儀儞僩傪梷惂偡傞
			iRequestingCommand = ECmdDeleteAllFiles;	// 杮價儏乕僐儅儞僪傪乽梫媮拞乿偵愝掕 (NotifyReadyFilterList懳墳偺偨傔)

			OUTPUT_LOG1_MUST("MSmbMusicAPFileSystemComListBoxModel::RequestCurrentFilterListL(%d)", EMusicItemTypeSongItem);
			}
		else
			{
			OUTPUT_LOG2_ERROR("MSmbMusicAPFileSystemComListBoxModel::RequestCurrentFilterListL(%d): %d", EMusicItemTypeSongItem, result);

			iView.ShowWarningDialogL(R_WARNING_DIALOG_MP04P015);		// 乽嶍彍晄壜僼傽僀儖偁傝(0審嶍彍)乿
			}
		}
	else							// 嶍彍傪幚峴偡傞
		{
		// 奜晹儊儌儕敳嫀敪惗僼儔僌傪儕僙僢僩偡傞
		iAppUi.SetHasUnMountedMemory(EFalse);					// 敳嫀敪惗偟偰偄側偄
//ADD-START PTX824
		// 儕僜乕僗嫞崌敪惗僼儔僌傪儕僙僢僩偡傞
		iAppUi.SetHasResourceNG(EFalse);						//儕僜乕僗嫞崌敪惗偟偰偄側偄
		// 儊儌儕儌乕僪撍擖嵪傒僼儔僌偵僙僢僩偡傞
		iAppUi.SetHasMemoryModeResourceNG(EFalse);
		// MTP儌乕僪撍擖嵪傒僼儔僌偵僙僢僩偡傞
		iAppUi.SetHasMTPModeResourceNG(EFalse);
//ADD-END PTX824

		// 杮懱僨乕僞BOX撪僼儖妝嬋偺応崌偼懠婡擻愝掕僠僃僢僋傪峴偄丆偦傟埲奜偺応崌偼懠婡擻愝掕僠僃僢僋傪峴傢側偄丏
		TBool checkSettings = (iView.ViewType() == ETypeDbxImotionFile) ? ETrue : EFalse;	// 懠婡擻愝掕僠僃僢僋桳柍 (ETrue: 峴偆)
		iController.RequestDeleteAllFilesL(iMusicItem, checkSettings, iListBoxModel);
		// iMusicItem偺強桳尃偼傾僋僔儑儞僐儞僩儘乕儔偵堏忳偟偨偨傔丆iMusicItem傪NULL偵僙僢僩偡傞
		iMusicItem = NULL;
		}
	}


/**
 * @panic			EInvalidStatus	CSmbMusicAPFileMgrFileCmd::iListBoxModel偑NULL偺応崌
 * @note			杮儊僜僢僪傪屇傃弌偡帪揰偱偼丆僼僅乕僇僗偺摉偨偭偰偄傞傾僀僥儉偼弨旛姰椆偱偁傞偙偲丏
 */
void CSmbMusicAPFileMgrFileCmd::HandleMoveOneFileL(void)
	{
	__ASSERT_ALWAYS(iListBoxModel, PANIC(EInvalidStatus));

	// 堏摦懳徾僼傽僀儖傪庢摼偟丆傾僋僔儑儞僐儞僩儘乕儔偵張棟懳徾傾僀僥儉偲偟偰僙僢僩偡傞
	CSmbMusicAPFileSystemComMusicItem* musicItem = iListBoxModel->GetCurrentItemL();
	iController.SetTargetItem(musicItem, iListBoxModel);

⌨️ 快捷键说明

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