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

📄 inboxdraftssentview.cpp

📁 个人手机助理套件:包含1、记事本(备忘录)、名片夹、名片夹的上传下载(异地备份)、短消息模块
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	pathMbm.Copy(_L("z:\\system\\apps\\HelperGenius\\HelperGenius.mbm"));
#else
	CHelperGeniusAppUi* pApp = (CHelperGeniusAppUi*)CEikonEnv::Static()->AppUi();
	pApp->GetAppPath(pathMbm);
	
	pathMbm.Append(_L("HelperGenius.mbm"));
#endif	
	
	CEikStatusPane* statusPane = StatusPane();
	
	//set icon
	CAknContextPane* contextPane=(CAknContextPane*) statusPane->ControlL(TUid::Uid(EEikStatusPaneUidContext));
	CFbsBitmap* bitmap = iEikonEnv->CreateBitmapL(pathMbm, EMbmHelpergeniusSms);
	CFbsBitmap* bitmapMask = iEikonEnv->CreateBitmapL(pathMbm, EMbmHelpergeniusSms_mask);
	
	//contextPane->SetPicture(bitmap);
	contextPane->SetPicture(bitmap, bitmapMask);
	TBuf<32> sTmpTitle;
	CEikonEnv::Static()->ReadResource(sTmpTitle, R_QTN_MH_DRAFTS_TITLE);
	
	CAknTitlePane* titlePane = (CAknTitlePane*) statusPane->ControlL(TUid::Uid(EEikStatusPaneUidTitle));
	titlePane->SetTextL(sTmpTitle);	
	
	CHelperGeniusAppUi* pApp = (CHelperGeniusAppUi*)CEikonEnv::Static()->AppUi();	
	tFlag = pApp->GetPointerSmsView()->m_tFlag;
	
	SetStatusPaneIconAndTitle();
	
	ShowDraftBoxL();
}

// ---------------------------------------------------------
// CSmsView::DoDeactivate()
// Deletes the Container class object.
// ---------------------------------------------------------
void CInBoxDraftsSentView::DoDeactivate()
{
    if (iContainer)
	{
		AppUi()->RemoveFromStack(iContainer);
		delete iContainer;
		iContainer = NULL;
	}
	//	DELPTR(m_PIdArray);
	
}
void CInBoxDraftsSentView::DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane)
{
	if(aResourceId != R_INBOXDRAFTSSENT_MENUPANE )
		return;
	//标志位:相当于显示或不显示菜单栏的开关
	CHelperGeniusAppUi* pAppui = (CHelperGeniusAppUi*)CEikonEnv::Static()->AppUi();

	switch(tFlag)
	{
		
	case EDrafts://草稿箱
		{
			m_PIdArray = pAppui->m_pMtmsExampleEngine->GetMessageIds();
			if ( m_PIdArray->Count() )
			{
			aMenuPane->SetItemDimmed(EHelperGeniusCmdReply, ETrue);
			aMenuPane->SetItemDimmed(EHelperGeniusCmdForward, ETrue);
			aMenuPane->SetItemDimmed(EHelperGeniusCmdSaveAs, ETrue);	
			aMenuPane->SetItemDimmed(EHelperGeniusCmdRemove, ETrue);
			aMenuPane->SetItemDimmed(EHelperGeniusCmdWriteSms, ETrue);
			break;
			}
			
			else	
			{
				aMenuPane->SetItemDimmed(EHelperGeniusCmdOpen, ETrue);  
				aMenuPane->SetItemDimmed(EHelperGeniusCmdReply, ETrue);
				aMenuPane->SetItemDimmed(EHelperGeniusCmdForward, ETrue);
				aMenuPane->SetItemDimmed(EHelperGeniusCmdSaveAs, ETrue);	
				aMenuPane->SetItemDimmed(EHelperGeniusCmdRemove, ETrue);			
				aMenuPane->SetItemDimmed(EHelperGeniusCmdEdit, ETrue);
				aMenuPane->SetItemDimmed(EHelperGeniusCmdDelete, ETrue);
				break;
			
			break;
		}
		
	case ESent://已发信息
		{
			m_PIdArray = pAppui->m_pMtmsExampleEngine->GetMessageIds();
			if(!m_PIdArray->Count())
			{
				aMenuPane->SetItemDimmed(EHelperGeniusCmdOpen, ETrue);
				aMenuPane->SetItemDimmed(EHelperGeniusCmdEdit, ETrue);
				aMenuPane->SetItemDimmed(EHelperGeniusCmdDelete, ETrue);
				aMenuPane->SetItemDimmed(EHelperGeniusCmdReply, ETrue);	
				aMenuPane->SetItemDimmed(EHelperGeniusCmdSaveAs, ETrue);
				aMenuPane->SetItemDimmed(EHelperGeniusCmdRemove, ETrue);
				aMenuPane->SetItemDimmed(EHelperGeniusCmdForward, ETrue);
				aMenuPane->SetItemDimmed(EHelperGeniusCmdWriteSms, ETrue);
		//		aMenuPane->SetItemDimmed(EHelperGeniusCmdBack, EFalse);
			}
			else
				
			{
		//		aMenuPane->SetItemDimmed(EHelperGeniusCmdOpen, EFalse);
				aMenuPane->SetItemDimmed(EHelperGeniusCmdEdit, ETrue);
				aMenuPane->SetItemDimmed(EHelperGeniusCmdDelete, ETrue);
				aMenuPane->SetItemDimmed(EHelperGeniusCmdReply, ETrue);	
		//		aMenuPane->SetItemDimmed(EHelperGeniusCmdSaveAs, EFalse);
		//		aMenuPane->SetItemDimmed(EHelperGeniusCmdRemove, EFalse);
		//		aMenuPane->SetItemDimmed(EHelperGeniusCmdForward, EFalse);
				aMenuPane->SetItemDimmed(EHelperGeniusCmdWriteSms, ETrue);
		//		aMenuPane->SetItemDimmed(EHelperGeniusCmdBack, EFalse);
			}
			
			break;
		}
	case EInBox://收件箱
		{
			//	DELPTR(m_PIdArray);
			m_PIdArray = pAppui->m_pMtmsExampleEngine->GetMessageIds();
			if(!m_PIdArray->Count())
			{
				aMenuPane->SetItemDimmed(EHelperGeniusCmdOpen, ETrue);
				aMenuPane->SetItemDimmed(EHelperGeniusCmdEdit, ETrue);
				aMenuPane->SetItemDimmed(EHelperGeniusCmdDelete, ETrue);
				aMenuPane->SetItemDimmed(EHelperGeniusCmdReply, ETrue);	
				aMenuPane->SetItemDimmed(EHelperGeniusCmdSaveAs, ETrue);
				aMenuPane->SetItemDimmed(EHelperGeniusCmdRemove, ETrue);
				aMenuPane->SetItemDimmed(EHelperGeniusCmdForward, ETrue);
				aMenuPane->SetItemDimmed(EHelperGeniusCmdWriteSms, EFalse);
				aMenuPane->SetItemDimmed(EHelperGeniusCmdBack, EFalse);
				
			}
			else
				
			{
				aMenuPane->SetItemDimmed(EHelperGeniusCmdOpen, EFalse);
				aMenuPane->SetItemDimmed(EHelperGeniusCmdEdit, EFalse);
				aMenuPane->SetItemDimmed(EHelperGeniusCmdDelete, EFalse);
				aMenuPane->SetItemDimmed(EHelperGeniusCmdReply, EFalse);	
				aMenuPane->SetItemDimmed(EHelperGeniusCmdSaveAs, EFalse);
				aMenuPane->SetItemDimmed(EHelperGeniusCmdRemove, EFalse);
				aMenuPane->SetItemDimmed(EHelperGeniusCmdWriteSms, EFalse);
				aMenuPane->SetItemDimmed(EHelperGeniusCmdBack, EFalse);
				aMenuPane->SetItemDimmed(EHelperGeniusCmdForward, EFalse);
			}
			
			break;
		}
	default:
		{
			break;
		}
	}
}
}

void CInBoxDraftsSentView::ShowDraftBoxL()
{
	CDesCArrayFlat* arrayRead = new (ELeave) CDesCArrayFlat(10);
	CDesCArrayFlat* arrayAddr = new (ELeave) CDesCArrayFlat(10);
	CDesCArrayFlat* arrayMsgBody = new (ELeave) CDesCArrayFlat(10);
	TInt nLen = 0;
	TInt nNumber = 0;
	TBuf<2> szNumber;
	CHelperGeniusAppUi* pAppui = (CHelperGeniusAppUi*)CEikonEnv::Static()->AppUi();
	switch (tFlag)
	{
		
	case EInBox://收件箱
		{
			pAppui->m_pMtmsExampleEngine->GetFolderSMSMessageInformation(KMsvGlobalInBoxIndexEntryId,arrayRead,arrayAddr,arrayMsgBody);
			nLen = arrayRead->Count();
			if (nLen > 0)
			{
				TInt i = 0;
				for (i = 0; i < nLen; i++)
				{
					szNumber.Copy(arrayRead->MdcaPoint(i));
					//根据已读和未读信息加载不同的图标
					if(arrayRead->At(i))
					{
						nNumber = 4;
					}
					else
						nNumber = 3;
					szNumber.Num(nNumber);
					iContainer->AddInfoToList(nNumber,arrayAddr->MdcaPoint(i),arrayMsgBody->MdcaPoint(i));
					//	iContainer->SizeChanged();
				}
			}
			
			break;
		}
		
	case EDrafts://草稿箱
		{					
			pAppui->m_pMtmsExampleEngine->GetFolderSMSMessageInformation(KMsvDraftEntryId,arrayRead,arrayAddr,arrayMsgBody);
			nLen = arrayRead->Count();
			if (nLen > 0)
			{
				TInt i = 0;
				for (i = 0; i < nLen; i++)
				{
					szNumber.Copy(arrayRead->MdcaPoint(i));
					//根据不同的信息加载不同的图标
					if(arrayRead->At(i))
					{
						nNumber = 0;
					}
					else
						nNumber = 1;
					szNumber.Num(nNumber);
					iContainer->AddInfoToList(nNumber,arrayAddr->MdcaPoint(i),arrayMsgBody->MdcaPoint(i));
				}
			}
			break;
		}
	case ESent://已发信息
		
		{
			pAppui->m_pMtmsExampleEngine->GetFolderSMSMessageInformation(KMsvSentEntryId,arrayRead,arrayAddr,arrayMsgBody);
			nLen = arrayRead->Count();
			if (nLen > 0)
			{
				for (TInt i = 0; i < nLen; i++)
				{
					szNumber.Copy(arrayRead->MdcaPoint(i));
					szNumber.Num(2);
					iContainer->AddInfoToList(2,arrayAddr->MdcaPoint(i),arrayMsgBody->MdcaPoint(i));
				}
			}
			break;
		}
	default:
		{
			break;
		} 
	}
	// 
	// 	TInt nLen = 0;
	// 	TInt nNumber = 1;
	// 	TBuf<2> szNumber;
	// 		
	// 	
	// 	if (nLen > 0)
	// 	{
	// 		TInt i = 0;
	// 		for (i = 0; i < nLen; i++)
	// 		{
	// 			szNumber.Copy(arrayRead->MdcaPoint(i));
	// 			szNumber.Num(nNumber);
	// 			iContainer->AddInfoToList(nNumber,arrayAddr->MdcaPoint(i),arrayMsgBody->MdcaPoint(i));
	// 		}
	// 	}
	arrayMsgBody->Reset();
	delete arrayMsgBody;
	arrayAddr->Reset();
	delete arrayAddr;
	arrayRead->Reset();
	delete arrayRead;
}


void CInBoxDraftsSentView::HandleMessageSentL(TInt aError)
{
	_LIT(KMessageSent,"send succeed!");
	_LIT(KMessageUnsent,"send fail!");
	
    if (aError == KErrNone)
    {
        CAknInformationNote* note = new (ELeave) CAknInformationNote;
        note->ExecuteLD(KMessageSent);
    }
    else
    {
        TBuf<64> buf;
        buf.Format(KMessageUnsent, aError);
        CAknErrorNote* note = new (ELeave) CAknErrorNote;
        note->ExecuteLD(buf);
    }
}


//设置状态栏图标和标题
void CInBoxDraftsSentView::SetStatusPaneIconAndTitle(  )
{
	TBuf<KMaxPath> pathMbm;
#ifdef __WINS__
	pathMbm.Copy(_L("z:\\system\\apps\\HelperGenius\\HelperGenius.mbm"));
#else
	CHelperGeniusAppUi* pApp = (CHelperGeniusAppUi*)CEikonEnv::Static()->AppUi();
	pApp->GetAppPath(pathMbm);
	
	pathMbm.Append(_L("HelperGenius.mbm"));
#endif	
	
	
	
	CEikStatusPane* statusPane = StatusPane();
	
	switch( tFlag )
	{
		// 	case EWriteSms:
		// 		{			
		// 			
		// 			//set icon
		// 			CAknContextPane* contextPane=(CAknContextPane*) statusPane->ControlL(TUid::Uid(EEikStatusPaneUidContext));
		// 			CFbsBitmap* bitmap = iEikonEnv->CreateBitmapL(pathMbm, EMbmHelpergeniusWritesmsview);
		// 			CFbsBitmap* bitmapMask = iEikonEnv->CreateBitmapL(pathMbm, EMbmHelpergeniusWritesmsview_mask);
		// 			
		// 			//contextPane->SetPicture(bitmap);
		// 			contextPane->SetPicture(bitmap, bitmapMask);
		// 			TBuf<32> sTmpTitle;
		// 			CEikonEnv::Static()->ReadResource(sTmpTitle, R_QTN_MH_WRITESMS_TITLE);
		// 			
		// 			CAknTitlePane* titlePane = (CAknTitlePane*) statusPane->ControlL(TUid::Uid(EEikStatusPaneUidTitle));
		// 			titlePane->SetTextL(sTmpTitle);
		// 			break;
		// 		}
	case EInBox:
		{
			//set icon
			CAknContextPane* contextPane=(CAknContextPane*) statusPane->ControlL(TUid::Uid(EEikStatusPaneUidContext));
			CFbsBitmap* bitmap = iEikonEnv->CreateBitmapL(pathMbm, EMbmHelpergeniusWritesmsview);
			CFbsBitmap* bitmapMask = iEikonEnv->CreateBitmapL(pathMbm, EMbmHelpergeniusWritesmsview_mask);
			
			//contextPane->SetPicture(bitmap);
			contextPane->SetPicture(bitmap, bitmapMask);
			TBuf<32> sTmpTitle;
			CEikonEnv::Static()->ReadResource(sTmpTitle, R_QTN_MH_SMS_INBOX);
			
			CAknTitlePane* titlePane = (CAknTitlePane*) statusPane->ControlL(TUid::Uid(EEikStatusPaneUidTitle));
			titlePane->SetTextL(sTmpTitle);
			break;
		}
		
	case EDrafts:
		{					
			//set icon
			CAknContextPane* contextPane=(CAknContextPane*) statusPane->ControlL(TUid::Uid(EEikStatusPaneUidContext));
			CFbsBitmap* bitmap = iEikonEnv->CreateBitmapL(pathMbm, EMbmHelpergeniusDrafts);
			CFbsBitmap* bitmapMask = iEikonEnv->CreateBitmapL(pathMbm, EMbmHelpergeniusDrafts_mask);
			
			//contextPane->SetPicture(bitmap);
			contextPane->SetPicture(bitmap, bitmapMask);
			TBuf<32> sTmpTitle;
			CEikonEnv::Static()->ReadResource(sTmpTitle, R_QTN_MH_DRAFTS_TITLE);
			
			CAknTitlePane* titlePane = (CAknTitlePane*) statusPane->ControlL(TUid::Uid(EEikStatusPaneUidTitle));
			titlePane->SetTextL(sTmpTitle);
			break;
		}
	case ESent:
		
		{
			//set icon
			CAknContextPane* contextPane=(CAknContextPane*) statusPane->ControlL(TUid::Uid(EEikStatusPaneUidContext));
			CFbsBitmap* bitmap = iEikonEnv->CreateBitmapL(pathMbm, EMbmHelpergeniusSendedsms);
			CFbsBitmap* bitmapMask = iEikonEnv->CreateBitmapL(pathMbm, EMbmHelpergeniusSendedsms_mask);
			
			//contextPane->SetPicture(bitmap);
			contextPane->SetPicture(bitmap, bitmapMask);
			TBuf<32> sTmpTitle;
			CEikonEnv::Static()->ReadResource(sTmpTitle, R_QTN_MH_SMS_SENT);
			
			CAknTitlePane* titlePane = (CAknTitlePane*) statusPane->ControlL(TUid::Uid(EEikStatusPaneUidTitle));
			titlePane->SetTextL(sTmpTitle);
			break;
		}
	default:
		{
			break;
		}	
	}	
	
}

// End of File

⌨️ 快捷键说明

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