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); } }