📄 smsmainview.cpp
字号:
/* Copyright (c) 2007, Nokia. All rights reserved */
#include <gulicon.h>
#include <eikseced.h>
#include <eikccpu.h>
#include <coemain.h>
#include <aknnotewrappers.h>
#include <eikspane.h>
#include <akntitle.h>
#include <akncontext.h> //CAknContextPane
#include "SMSMainView.h"
#include "SMSMainContainer.h"
#include "AssistantAppUi.h"
#include "Assistant.hrh"
#include "Assistant.rsg"
CSMSMainView* CSMSMainView::NewL()
{
CSMSMainView* self = NewLC();
CleanupStack::Pop(self);
return self;
}
CSMSMainView* CSMSMainView::NewLC()
{
CSMSMainView* self = new (ELeave) CSMSMainView();
CleanupStack::PushL(self);
self->ConstructL();
return self;
}
void CSMSMainView::ConstructL()
{
BaseConstructL(R_ASSISTANT_MESSAGE_MAIN);
}
CSMSMainView::CSMSMainView()
{
m_pAppContainer = NULL;
}
CSMSMainView::~CSMSMainView()
{
}
TUid CSMSMainView::Id() const
{
return TUid::Uid(7);
}
void CSMSMainView::HandleCommandL(TInt aCommand)
{
TInt n_Index;
n_Index = m_pAppContainer->GetIndex();
if (n_Index == 0)
{
n_Index = EAssistantStatusNew; //写信息
}
else if(n_Index == 1)
{
n_Index = EAssistantStatusOutBox; //发件箱
}
else if(n_Index == 2)
{
n_Index = EAssistantStatusInBox; //收件箱
}
else if(n_Index == 3)
{
n_Index = EAssistantStatusSendBox; //已发信息
}
else if(n_Index == 4)
{
n_Index = EAssistantStatusDraft; //草稿箱
}
switch(aCommand)
{
case EAssistantOpen:
if(n_Index == EAssistantStatusNew)
{
AppUi()->ActivateLocalViewL(TUid::Uid(9)); //写信息
}
else
{
m_pSMSStatus->SetStatus(n_Index);
AppUi()->ActivateLocalViewL(TUid::Uid(8));
}
break;
case EAssistantHelp:
{
m_pHelpStatus->SetStatus(EAssistantStatusMessage);
// AppUi()->ActivateLocalViewL(TUid::Uid(4));
}
break;
case EAssistantBack:
AppUi()->ActivateLocalViewL(TUid::Uid(3));
break;
default:
AppUi()->HandleCommandL(aCommand);
break;
}
}
void CSMSMainView::HandleClientRectChange()
{
if(m_pAppContainer)
{
m_pAppContainer->SetRect(ClientRect());
}
}
void CSMSMainView::DoActivateL(const TVwsViewId&, TUid, const TDesC8&)
{
m_pAppContainer = new( ELeave ) CSMSMainContainer();
m_pAppContainer->SetMopParent(this);
TRect rc;
rc.SetRect(ClientRect().iTl, TSize(176,144));
m_pAppContainer->ConstructL( rc,this );
AppUi()->AddToStackL( *this, m_pAppContainer );
CEikStatusPane* sp=iEikonEnv->AppUiFactory()->StatusPane();
//Set View icon
CAssistantAppUi* pApp = (CAssistantAppUi*)CEikonEnv::Static()->AppUi();
CFbsBitmap* pIcon = pApp->LoadGraphicsL1(1);
CAknContextPane* contextPane = (CAknContextPane*) sp->ControlL(TUid::Uid(EEikStatusPaneUidContext));
contextPane->SetPicture(pIcon);
//Set View Title
TBuf<32> sTmpTitle;
CEikonEnv::Static()->ReadResource(sTmpTitle, R_QTN_ASSISTANT_MESSAGE);
CAknTitlePane* tp = (CAknTitlePane*)sp->ControlL(TUid::Uid(EEikStatusPaneUidTitle));
tp->SetTextL(sTmpTitle);
}
void CSMSMainView::DoDeactivate()
{
if(m_pAppContainer)
{
AppUi()->RemoveFromStack( m_pAppContainer );
delete m_pAppContainer;
}
}
void CSMSMainView::SetSMSStatusPtr(MStatus* aPtr)
{
m_pSMSStatus = aPtr;
}
void CSMSMainView::SetHelpStatusPtr(MStatus* aPtr)
{
m_pHelpStatus = aPtr;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -