📄 iapconnectwaitdialog.cpp
字号:
/*
* ============================================================================
* Name : CIAPConnectWaitDialog from IAPConnectWaitDialog.cpp
* Part of : IAPConnect
* Created : 07.11.2002
* Implementation notes:
* Wait dialog
* Version : 1.0
* Copyright:
* ============================================================================
*/
// INCLUDE FILES
#include <coeaui.h>
#include <eikenv.h>
#include <avkon.rsg>
#include <Sabber.rsg>
#include "Sabber.hrh"
#include "IAPConnectWaitDialog.h"
#include "IAPConnectEngine.h"
// CONSTANTS
//_LIT(KConnecting, "Connecting...");
_LIT(KDisconnecting, "Disconnecting...");
const TInt KConnectTimeout = 60000000;
// ========================== MEMBER FUNCTIONS ===============================
// ---------------------------------------------------------------------------
// CIAPConnectWaitDialog::NewL(CIAPConnectEngine* aEngine)
//
// Constructs CIAPConnectWaitDialog object
// ---------------------------------------------------------------------------
//
CIAPConnectWaitDialog* CIAPConnectWaitDialog::NewL(CIAPConnectEngine* aEngine)
{
CIAPConnectWaitDialog* self = NewLC(aEngine);
CleanupStack::Pop(self);
return self;
}
// ---------------------------------------------------------------------------
// CIAPConnectWaitDialog::NewLC(CIAPConnectEngine* aEngine)
//
// Constructs CIAPConnectWaitDialog object
// ---------------------------------------------------------------------------
//
CIAPConnectWaitDialog* CIAPConnectWaitDialog::NewLC(CIAPConnectEngine* aEngine)
{
CIAPConnectWaitDialog* self = new (ELeave) CIAPConnectWaitDialog(aEngine);
CleanupStack::PushL(self);
self->ConstructL();
return self;
}
// ---------------------------------------------------------------------------
// CIAPConnectWaitDialog::CIAPConnectWaitDialog(CIAPConnectEngine* aEngine)
//
// Constructor
// ---------------------------------------------------------------------------
//
CIAPConnectWaitDialog::CIAPConnectWaitDialog(CIAPConnectEngine* aEngine)
: CActive(0), iEngine(aEngine)
{
}
// ---------------------------------------------------------------------------
// CIAPConnectWaitDialog::~CIAPConnectWaitDialog()
//
// Destructor
// ---------------------------------------------------------------------------
//
CIAPConnectWaitDialog::~CIAPConnectWaitDialog()
{
iTimer.Close();
Cancel();
}
// ---------------------------------------------------------------------------
// CIAPConnectWaitDialog::ConstructL()
//
// Second phase constructor
// ---------------------------------------------------------------------------
//
void CIAPConnectWaitDialog::ConstructL()
{
iTimer.CreateLocal();
CActiveScheduler::Add(this);
}
// ---------------------------------------------------------------------------
// CIAPConnectWaitDialog::ShowDialogL(TInt aState)
//
// Show wait dialog. aState indicates whether it is case of connectiong or
// disconnecting.
// ---------------------------------------------------------------------------
//
void CIAPConnectWaitDialog::ShowDialogL(TInt aState)
{
iWaitDialog = new(ELeave) CAknWaitDialog(NULL, ETrue);
iWaitDialog->SetCallback(this);
if (aState == EIAPConnectStateConnecting)
{
TBuf< 32 > buf;
CEikonEnv::Static()->ReadResource( buf, R_BUF_IAP_CONNECT );
iWaitDialog->SetTextL( buf );
iWaitDialog->ExecuteLD(R_IAPCONNECT_WAIT_DIALOG);
}
iTimer.After(iStatus, KConnectTimeout);
SetActive();
}
// ---------------------------------------------------------------------------
// CIAPConnectWaitDialog::DoCancel()
//
// Cancel the active request
// ---------------------------------------------------------------------------
//
void CIAPConnectWaitDialog::DoCancel()
{
iTimer.Cancel();
}
// ---------------------------------------------------------------------------
// CIAPConnectWaitDialog::RunL()
//
// Handles request completion events
// ---------------------------------------------------------------------------
//
void CIAPConnectWaitDialog::RunL()
{
// Cancels the operation if timeout happens
iEngine->Cancel();
}
// ---------------------------------------------------------------------------
// CIAPConnectWaitDialog::DialogDismissedL(TInt aButtonId)
//
// This function is called when dialog is dismissed
// ---------------------------------------------------------------------------
//
void CIAPConnectWaitDialog::DialogDismissedL(TInt /*aButtonId*/)
{
Cancel();
iEngine->Cancel();
}
// ---------------------------------------------------------------------------
// CIAPConnectWaitDialog::DismissDialogL()
//
// Dismisses the dialog
// ---------------------------------------------------------------------------
//
void CIAPConnectWaitDialog::DismissDialogL()
{
if (IsActive())
{
CCoeAppUi* ui = static_cast<CCoeAppUi*>(CEikonEnv::Static()->AppUi());
// Check whether wait note is displayed.
if (ui->IsDisplayingMenuOrDialog())
{
TKeyEvent key;
key.iCode = EKeyEscape;
key.iModifiers = 0;
CEikonEnv::Static()->SimulateKeyEventL(key, EEventKey);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -