📄 iapconnect_v20appui.cpp
字号:
/*
* ============================================================================
* Name : CIAPConnect_v20AppUi from IAPConnect_v20AppUi.cpp
* Part of : IAPConnect_v20
* Created : 08.01.2004 by Forum Nokia
* Implementation notes:
* Application UI class implementation
* Version :
* Copyright: Nokia Corporation
* ============================================================================
*/
// INCLUDE FILES
#include "IAPConnect_v20AppUi.h"
#include "IAPConnect_v20Container.h"
#include "IAPConnect_v20Engine.h"
#include <IAPConnect_v20.rsg>
#include "iapconnect_v20.hrh"
#include <avkon.hrh>
#include <documenthandler.h>
#include <apmstd.h>
#include <eikmenup.h>
// ========================= MEMBER FUNCTIONS ================================
//
// ---------------------------------------------------------------------------
// CIAPConnect_v20AppUi::ConstructL()
//
// Second phase constructor
// ---------------------------------------------------------------------------
//
void CIAPConnect_v20AppUi::ConstructL()
{
BaseConstructL();
iAppContainer = new (ELeave) CIAPConnect_v20Container;
iAppContainer->SetMopParent( this );
iAppContainer->ConstructL( ClientRect() );
AddToStackL( iAppContainer );
iDocHandler = CDocumentHandler::NewL((CEikProcess*)Application()->Process());
iEngine = CIAPConnect_v20Engine::NewL(iAppContainer);
}
// ---------------------------------------------------------------------------
// CIAPConnect_v20AppUi::~CIAPConnect_v20AppUi()
//
// Destructor
// ---------------------------------------------------------------------------
//
CIAPConnect_v20AppUi::~CIAPConnect_v20AppUi()
{
delete iEngine;
delete iDocHandler;
if (iAppContainer)
{
RemoveFromStack( iAppContainer );
delete iAppContainer;
}
}
// ---------------------------------------------------------------------------
// CIAPConnect_v20AppUi::HandleCommandL(TInt aCommand)
//
// Takes care of command handling
// ---------------------------------------------------------------------------
//
void CIAPConnect_v20AppUi::HandleCommandL(TInt aCommand)
{
switch ( aCommand )
{
case EAknSoftkeyBack:
case EAknSoftkeyExit:
case EEikCmdExit:
{
Exit();
break;
}
case EIAPConnectCmdConnect:
{
iEngine->SetConnectionPreferences(KCommDbBearerUnknown, ETrue);
iEngine->ConnectL();
iAppContainer->DrawNow();
break;
}
case EIAPConnectCmdConnectPSD:
{
iEngine->SetConnectionPreferences(KCommDbBearerPSD, ETrue);
iEngine->ConnectL();
iAppContainer->DrawNow();
break;
}
case EIAPConnectCmdConnectCSD:
{
iEngine->SetConnectionPreferences(KCommDbBearerCSD, ETrue);
iEngine->ConnectL();
iAppContainer->DrawNow();
break;
}
case EIAPConnectCmdConnectUsingAPHandler:
{
TUint32 iapId;
iEngine->SelectAccessPointL(iapId);
if (iapId) // if iapId == 0 no access point selected
{
iEngine->SetConnectionPreferences(
KCommDbBearerUnknown, EFalse, iapId);
iEngine->ConnectL();
iAppContainer->DrawNow();
}
break;
}
case EIAPConnectCmdTerminate:
{
iEngine->TerminateConnectionL();
break;
}
case EIAPConnectCmdShowConnectionInfo:
{
// This is not fully save. It can overflow.
TBuf8<1024> buf;
iEngine->GetConnectionInfoL(buf);
TDataType dataType;
User::LeaveIfError(iDocHandler->OpenBufferEmbeddedL(buf, dataType));
break;
}
default:
break;
}
}
// ---------------------------------------------------------------------------
// CIAPConnect_v20AppUi::DynInitMenuPaneL(TInt aResourceId,
// CEikMenuPane* aMenuPane)
//
// Hide Connect options if already connected
// ---------------------------------------------------------------------------
//
void CIAPConnect_v20AppUi::DynInitMenuPaneL(TInt aResourceId,
CEikMenuPane* aMenuPane)
{
if (aResourceId == R_IAPCONNECT_V20_MENU)
{
if (iEngine->GetState() == EIAPConnectStateConnected)
{
aMenuPane->SetItemDimmed(EIAPConnectCmdConnect, ETrue);
aMenuPane->SetItemDimmed(EIAPConnectCmdConnectPSD, ETrue);
aMenuPane->SetItemDimmed(EIAPConnectCmdConnectCSD, ETrue);
aMenuPane->SetItemDimmed(EIAPConnectCmdConnectUsingAPHandler, ETrue);
}
}
}
// End of File
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -