www.pudn.com > LDFUCK.rar > EditView.cpp


/* Copyright (c) 2007, Nokia. All rights reserved */ 
#include "LDFUCKAppUi.h" 
#include "EditView.h" 
#include "EditContainer.h" 
#include "LDFUCK.hrh" 
#include "LDFUCK.rsg" 
 
#include  
#include  
#include  
#include "OperateInfo.h" 
 
CEditView* CEditView::NewL() 
{ 
    CEditView* self = NewLC(); 
    CleanupStack::Pop(self); 
    return self; 
} 
 
CEditView* CEditView::NewLC() 
{ 
	CEditView* self = new (ELeave) CEditView(); 
	CleanupStack::PushL(self); 
	self->ConstructL(); 
	return self; 
} 
 
void CEditView::ConstructL() 
{ 
	BaseConstructL(R_PLAN_EDIT_VIEW); 
	//´´½¨ÒýÇæ 
	mEngine = CMtmsEngine::NewL(*this); 
} 
 
CEditView::CEditView() 
{ 
	m_pAppContainer = NULL; 
} 
 
 
CEditView::~CEditView() 
{ 
	if (mEngine) 
	{ 
		delete mEngine; 
		mEngine=NULL; 
	} 
} 
 
TUid CEditView::Id() const 
{ 
	return TUid::Uid(EEditViewID); 
} 
 
void CEditView::HandleCommandL(TInt aCommand) 
{ 
	switch(aCommand){ 
	case EPLANCmdEditInsert:// 
		{	 
			 
		TBuf<16>sName; 
		TBuf<128>sContent; 
		m_pAppContainer->getNumber(sName); 
		m_pAppContainer->getText(sContent); 
			 
		m_pTempNotify->EditToTempNotify(sName, sContent); 
 
		AppUi()->ActivateLocalViewL(TUid::Uid(ETempViewID)); 
		} 
		break; 
	case EAknSoftkeyExit:// 
		AppUi()->ActivateLocalViewL(TUid::Uid(EHelpViewID)); 
	 
		break; 
	case EPLANCmdEditSend:// 
		{ 
		if(m_pAppContainer->NumJudge()&&m_pAppContainer->TextJudge()) 
		{ 
			 //send sms 
 
			m_Num = HBufC::NewL(14); 
			m_Name = HBufC::NewL(128); 
	 
			m_pAppContainer->getNumber(m_Num->Des()); 
 			m_pAppContainer->getText(m_Name->Des()); 
 
			m_OperateInfo->getEditInfo(m_Num,m_Name); 
 
	 
			mEngine->CreateSMSMessageL(m_Num->Des(), m_Name->Des()); 
			mEngine->ValidateCreatedSMS(); 
    		mEngine->SendSMSL(); 
			break; 
		} 
		else 
			break; 
  
 
 
 
//		AppUi()->ActivateLocalViewL(TUid::Uid(EEditViewID)); 
		} 
		break; 
	default: 
		AppUi()->HandleCommandL(aCommand); 
 		break; 
	} 
//	AppUi()->HandleCommandL(aCommand); 
} 
 
void CEditView::HandleClientRectChange() 
{ 
 
} 
 
void CEditView::DoActivateL(const TVwsViewId&, TUid, const TDesC8&) 
{ 
	m_pAppContainer = new( ELeave ) CEditContainer(); 
	m_pAppContainer->SetMopParent(this); 
	m_pAppContainer->ConstructL(TRect(TPoint(0,44),TSize(176,144)),m_Number,m_Content );	 
	AppUi()->AddToStackL( *this, m_pAppContainer ); 
 
	//set title 
	TBuf<32> buf; 
	CEikonEnv::Static()->ReadResource(buf, R_QTN_IF_EDITTITLE); 
	CEikStatusPane* sp=iEikonEnv->AppUiFactory()->StatusPane(); 
	CAknTitlePane* tp=(CAknTitlePane*)sp->ControlL(TUid::Uid(EEikStatusPaneUidTitle)); 
	tp->SetTextL(buf); 
 
 
} 
 
void CEditView::DoDeactivate() 
{ 
	m_Number.Zero(); 
	m_Content.Zero(); 
 
	if(m_pAppContainer) 
	{ 
		AppUi()->RemoveFromStack( m_pAppContainer ); 
		delete m_pAppContainer; 
		m_pAppContainer = NULL; 
	} 
} 
 
 
void CEditView::TempToEditNotify(const TDesC& aNumber,const TDesC& aContent) 
{ 
	this->SetContent(aContent); 
	this->SetNumber(aNumber); 
} 
 
TDesC CEditView::SetContent(const TDesC&  aContent ){ 
	m_Content=aContent; 
	return m_Content; 
} 
 
TDesC CEditView::SetNumber(const TDesC&  aNumber ){ 
	m_Number=aNumber; 
	return m_Number; 
} 
 
//sms succeed or failed notes 
void CEditView::HandleMessageSentL(TInt aError) 
{ 
	TBuf<32> buf; 
	m_error=aError; 
	if (KErrNone==aError)  
	{ 
		CEikonEnv::Static()->ReadResource(buf, R_QTN_LF_ALERT_SUCCEED);  
		CAknInformationNote* informationNote = new (ELeave) CAknInformationNote; 
		informationNote->ExecuteLD(buf); 
	}else 
	{	 
		CEikonEnv::Static()->ReadResource(buf, R_QTN_LF_ALERT_FAILED);  
		CAknInformationNote* informationNote = new (ELeave) CAknInformationNote; 
		informationNote->ExecuteLD(buf); 
 	} 
}