frmesappui.cpp.bak

来自「symbian 3nd 实现短信息收发」· BAK 代码 · 共 266 行

BAK
266
字号
/* 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 "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>


void CFrMesAppUi::ConstructL()
{
    BaseConstructL(EAknEnableSkin);
	
	m_pDB = CFrMesDB::NewL();
	CleanupStack::PushL(m_pDB);
	m_pDB->ReadDBL();
	CleanupStack::Pop();
	
	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);

	iSelectCardView = CSelectCardView::NewL();
	AddViewL(iSelectCardView);

	iMessageView = CMessageView::NewL();
	AddViewL(iMessageView);

	iCreateMesView = CCreateMesView::NewL();
	AddViewL(iCreateMesView);

	iReceiveMesView = CReceiveMesView::NewL();
	AddViewL(iReceiveMesView);

	iDetailMesView = CDetailMesView::NewL();
	AddViewL(iDetailMesView);

	iSendingMesView = CSendingMesView::NewL();
	AddViewL(iSendingMesView);

	iSendMesView = CSendMesView::NewL();
	AddViewL(iSendMesView);

	iBookMesView = CBookMesView::NewL();
	AddViewL(iBookMesView);

    if(!ReadINI())
		SetDefaultViewL(*iRegisterView);
	else
		SetDefaultViewL(*iLogonView);
}

CFrMesAppUi::CFrMesAppUi()                              
{
    // add any construction that cannot leave here
}

CFrMesAppUi::~CFrMesAppUi()
{
	delete m_pDB;
}

// void CFrMesAppUi::GetAppPath(TDes& aPath)
// {
// 	TFileName appFullName;
//  	appFullName = Application()->AppFullName();
//  	TParsePtr parse(appFullName);
// 	aPath.Copy(parse.DriveAndPath());
// }

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 EFrMesCmdMainInterfaceMenu1:
// 		{
// 			ActivateLocalViewL(KPersonInfoViewId);
// 		}
// 		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, EMbmFrmesReceivemes,EMbmFrmesReceivemesm);
	case 6:
		return iEikonEnv->CreateIconL(pathAppMbm, EMbmFrmesNotebook,EMbmFrmesNotebookm);
	case 7:
		return iEikonEnv->CreateIconL(pathAppMbm, EMbmFrmesSendmes,EMbmFrmesSendmesm);
	case 8:
		return iEikonEnv->CreateIconL(pathAppMbm, EMbmFrmesSendingmes,EMbmFrmesAlert_mask);
	default:
		return NULL;
	}
}

⌨️ 快捷键说明

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