📄 frmesappui.cpp
字号:
/* Copyright (c) 2008, Nokia. All rights reserved */
#include <avkon.hrh>
#include <aknnotewrappers.h>
#include <FrMes.mbg>
#include "FrMes.pan"
#include "FrMesAppUi.h"
#include "RegisterView.h"
#include "LogonView.h"
#include "MainInterfaceView.h"
#include "PersonInfoView.h"
#include "CreatInfoView.h"
#include "DetailInfoView.h"
#include "HelpView.h"
#include "BookEngine.h"
#include "CardClipView.h"
#include "DetailCardView.h"
#include "ModifyCardView.h"
#include "CreateCardView.h"
#include "SelectCardView.h"
#include "MessageView.h"
#include "CreateMesView.h"
#include "ReceiveMesView.h"
#include "DetailMesView.h"
#include "SendingMesView.h"
#include "SendMesView.h"
#include "BookMesView.h"
#include "FrMes.hrh"
#include "s32file.h"
#include "FrMesDB.h"
#include <eikapp.h>
#include "MtmsEngine.h"
#include "MessageDB.h"
#include "ServerManager.h"
void CFrMesAppUi::ConstructL()
{
BaseConstructL(EAknEnableSkin);
m_pServerManager = CServerManager::NewL();
m_pDB = CFrMesDB::NewL();
CleanupStack::PushL(m_pDB);
m_pDB->ReadDBL();
CleanupStack::Pop();
iBookEngine = CBookEngine::NewL();
iPhoneBookArray = new(ELeave)CArrayPtrSeg<CBookInfo>(10);
iBookEngine->UpdatePhoneBook(0,*iPhoneBookArray);
iRegisterView = CRegisterView::NewL();
AddViewL(iRegisterView);
iLogonView = CLogonView::NewL();
AddViewL(iLogonView);
iMainInterfaceView = CMainInterfaceView::NewL();
AddViewL(iMainInterfaceView);
iPersonInfoView = CPersonInfoView::NewL();
AddViewL(iPersonInfoView);
iCreatInfoView = CCreatInfoView::NewL();
AddViewL(iCreatInfoView);
iDetailInfoView = CDetailInfoView::NewL();
AddViewL(iDetailInfoView);
iHelpView = CHelpView::NewL();
AddViewL(iHelpView);
iCardClipView = CCardClipView::NewL();
AddViewL(iCardClipView);
iDetailCardView = CDetailCardView::NewL();
AddViewL(iDetailCardView);
iModifyCardView = CModifyCardView::NewL();
AddViewL(iModifyCardView);
iCreateCardView = CCreateCardView::NewL();
AddViewL(iCreateCardView);
iMessageView = CMessageView::NewL();
AddViewL(iMessageView);
iCreateMesView = CCreateMesView::NewL();
AddViewL(iCreateMesView);
iSelectCardView = CSelectCardView::NewL(iCreateMesView);
AddViewL(iSelectCardView);
iReceiveMesView = CReceiveMesView::NewL(iCreateMesView);
AddViewL(iReceiveMesView);
iSendingMesView = CSendingMesView::NewL();
AddViewL(iSendingMesView);
iSendMesView = CSendMesView::NewL();
AddViewL(iSendMesView);
iDetailMesView = CDetailMesView::NewL(iReceiveMesView,iSendMesView);
AddViewL(iDetailMesView);
iBookMesView = CBookMesView::NewL(iCreateMesView);
AddViewL(iBookMesView);
m_pMessageDB = CMessageDB::NewL(*iSendingMesView);
//pass pointer to servermanger
iRegisterView->SetLoginNotifyPointer(m_pServerManager);
iLogonView->SetLoginNotifyPointer(m_pServerManager);
// if(!ReadINI())
// SetDefaultViewL(*iRegisterView);
// else
// SetDefaultViewL(*iLogonView);
SetDefaultViewL(*iMainInterfaceView);
}
CFrMesAppUi::CFrMesAppUi()
{
// add any construction that cannot leave here
}
CFrMesAppUi::~CFrMesAppUi()
{
if(m_pMessageDB)
{
delete m_pMessageDB;
m_pMessageDB = NULL;
}
if(m_pDB)
{
delete m_pDB;
m_pDB = NULL;
}
if (iBookEngine)
{
delete iBookEngine;
iBookEngine = NULL;
}
if(iPhoneBookArray)
{
for (TInt i = 0; i < iPhoneBookArray->Count(); i++)
{
delete iPhoneBookArray->At(i);
iPhoneBookArray->At(i) = NULL;
}
iPhoneBookArray->Reset();
delete iPhoneBookArray;
iPhoneBookArray = NULL;
}
delete m_pServerManager;
}
MSendCardIndex* CFrMesAppUi::SetMSendCardIndex(MSendCardIndex* aMSendCardIndex)
{
return aMSendCardIndex;
}
void CFrMesAppUi::HandleCommandL(TInt aCommand)
{
switch(aCommand)
{
case EEikCmdExit:
case EAknSoftkeyExit:
{
m_pDB->SaveDBL();
Exit();
}
break;
case EFrMesCmdRegisterMenu2:
{
ActivateLocalViewL(KLogonViewId);
}
break;
case EFrMesCmdRegisterMenu1:
{
ActivateLocalViewL(KMainInterfaceViewId);
}
break;
case EAknSoftkeyLogon:
{
ActivateLocalViewL(KMainInterfaceViewId);
}
break;
case EFrMesCmdMainInterfaceMenu2:
{
KPreViewID = KMainInterfaceViewId;
ActivateLocalViewL(KHelpViewId);
}
break;
case EFrMesCmdPersonInfoMenu2:
{
ActivateLocalViewL(KCreatInfoViewId);
}
break;
case EFrMesCmdPersonInfoMenu1:
{
KPreViewID = KPersonInfoViewId;
ActivateLocalViewL(KDetailInfoViewId);
}
break;
case EFrMesCmdPersonInfoMenu4:
{
KPreViewID = KPersonInfoViewId;
ActivateLocalViewL(KHelpViewId);
}
break;
case EAknSoftkeyBack:
{
ActivateLocalViewL(KPreViewID);
}
break;
case EAknSoftkeyReturn:
{
ActivateLocalViewL(KMainInterfaceViewId);
}
break;
case EAknSoftkeyOk:
case EAknSoftkeyCancel:
{
ActivateLocalViewL(KPersonInfoViewId);
}
break;
default:
Panic(EFrMesBasicUi);
break;
}
}
TBool CFrMesAppUi::ReadINI()
{
#ifdef __WINS__
_LIT(KFrMesUserFile,"c:\\system\\data\\user.ini");
#else
_LIT(KFrMesUserFile,"c:\\system\\apps\\FrMes\\user.ini");
#endif
RFs &iFession = CEikonEnv::Static()->FsSession();//声明一个RFs类型的句柄以访问File服务器
RFile file;
User::LeaveIfError( file.Open(iFession, KFrMesUserFile, EFileRead));//打开文件
TInt aSize;
file.Size(aSize); //得到文件长度
file.Close();
if(aSize == 0)
return EFalse;
else
return ETrue;
}
CGulIcon* CFrMesAppUi::LoadGraphicsL(TInt aType)
{
TBuf<KMaxPath> pathAppMbm;
#ifdef __WINS__
pathAppMbm.Copy(_L("z:\\system\\apps\\frmes\\frmes.mbm"));
#else
TFileName appFullName;
appFullName = Application()->AppFullName();
TParsePtr parse(appFullName);
pathAppMbm.Copy(parse.DriveAndPath());
pathAppMbm.Append(_L("frmes.mbm"));
#endif
switch(aType)
{
case 0:
return iEikonEnv->CreateIconL(pathAppMbm, EMbmFrmesDiskete,EMbmFrmesDiskete_mask);
case 1:
return iEikonEnv->CreateIconL(pathAppMbm, EMbmFrmesAlert,EMbmFrmesAlert_mask);
case 2:
return iEikonEnv->CreateIconL(pathAppMbm, EMbmFrmesCardclip,EMbmFrmesCardclip_mask);
case 3:
return iEikonEnv->CreateIconL(pathAppMbm, EMbmFrmesMessage,EMbmFrmesMessage_mask);
case 4:
return iEikonEnv->CreateIconL(pathAppMbm, EMbmFrmesCreatemes,EMbmFrmesCreatemesm);
case 5:
return iEikonEnv->CreateIconL(pathAppMbm, EMbmFrmesReveivemes,EMbmFrmesReveivemesm);
case 6:
return iEikonEnv->CreateIconL(pathAppMbm, EMbmFrmesNotebook,EMbmFrmesNotebookm);
case 7:
return iEikonEnv->CreateIconL(pathAppMbm, EMbmFrmesSendmes,EMbmFrmesSendmesm);
case 8:
return iEikonEnv->CreateIconL(pathAppMbm, EMbmFrmesSendingmes,EMbmFrmesSendingmesm);
case 9:
return iEikonEnv->CreateIconL(pathAppMbm, EMbmFrmesEnvelope,EMbmFrmesEnvelopem);
case 10:
return iEikonEnv->CreateIconL(pathAppMbm, EMbmFrmesOpenenvelope,EMbmFrmesOpenenvelopem);
default:
return NULL;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -