--- a/convergedconnectionhandler/cchclientapi/cchuinotif/src/cchuinotifierimpl.cpp Wed Mar 31 21:20:05 2010 +0300
+++ b/convergedconnectionhandler/cchclientapi/cchuinotif/src/cchuinotifierimpl.cpp Wed Apr 14 15:49:55 2010 +0300
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
@@ -26,6 +26,7 @@
#include <cenrepnotifyhandler.h>
#include <ctsydomainpskeys.h>
#include <crcseprofileregistry.h>
+#include <AknNotiferAppServerApplication.h> // Application Key enable/disable
#include "cchuilogger.h"
#include "cchuicommon.hrh"
@@ -60,6 +61,14 @@
{
CCHUIDEBUG( "CCCHUiNotifierImpl::~CCCHUiNotifierImpl - IN" );
+ if ( iAppKeyBlocked )
+ {
+ // Remove application key blocking
+ (void) ((CAknNotifierAppServerAppUi*)
+ iEikEnv->EikAppUi())->SuppressAppSwitching(EFalse);
+ iAppKeyBlocked = EFalse;
+ }
+
CCCHUiNotifierBase::Cancel();
iListQueryDialog = NULL;
delete iBrandingHandler;
@@ -146,6 +155,11 @@
CAknMultiLineDataQueryDialog* dlg = CAknMultiLineDataQueryDialog::NewL(
ptrUserName, ptrPassWord );
+
+ // Block application key while showing query
+ (void) ((CAknNotifierAppServerAppUi*)
+ iEikEnv->EikAppUi())->SuppressAppSwitching(ETrue);
+ iAppKeyBlocked = ETrue;
if ( dlg->ExecuteLD( R_CCHUINOTIF_USERNAME_PWD_DIALOG ) )
{
@@ -163,6 +177,12 @@
CCHUIDEBUG( "ShowUsernamePasswordQueryL - cancelled" );
CompleteMessage( KErrCancel );
}
+
+ // Remove application key blocking
+ (void) ((CAknNotifierAppServerAppUi*)
+ iEikEnv->EikAppUi())->SuppressAppSwitching(EFalse);
+ iAppKeyBlocked = EFalse;
+
CleanupStack::PopAndDestroy( passWord );
CleanupStack::PopAndDestroy( userName );
@@ -263,7 +283,12 @@
{
// Error occurred in RetrieveServiceIconL. Nothing to do.
}
-
+
+ // Block application key while showing query
+ (void) ((CAknNotifierAppServerAppUi*)
+ iEikEnv->EikAppUi())->SuppressAppSwitching(ETrue);
+ iAppKeyBlocked = ETrue;
+
CCHUIDEBUG( "ShowNoConnectionsQueryL - run dialog" );
iListQueryDialog->RunLD();
CCHUIDEBUG( "ShowNoConnectionsQueryL - run dialog done" );
@@ -289,6 +314,12 @@
CCHUIDEBUG( "ShowNoConnectionsQueryL - complete with cancel" );
CompleteMessage( KErrCancel );
}
+
+ // Remove application key blocking
+ (void) ((CAknNotifierAppServerAppUi*)
+ iEikEnv->EikAppUi())->SuppressAppSwitching(EFalse);
+ iAppKeyBlocked = EFalse;
+
CleanupStack::PopAndDestroy( string );
CleanupStack::PopAndDestroy( &commandArray );
CleanupStack::PopAndDestroy( arrayforDialog );
@@ -399,7 +430,12 @@
{
// Error occurred in RetrieveServiceIconL. Nothing to do.
}
-
+
+ // Block application key while showing query
+ (void) ((CAknNotifierAppServerAppUi*)
+ iEikEnv->EikAppUi())->SuppressAppSwitching(ETrue);
+ iAppKeyBlocked = ETrue;
+
CCHUIDEBUG( "ShowChangeConnectionQueryL - run dialog" );
// List query dialog is deleted via RunLD except if there is
@@ -435,6 +471,11 @@
iListQueryDialog = NULL;
}
+ // Remove application key blocking
+ (void) ((CAknNotifierAppServerAppUi*)
+ iEikEnv->EikAppUi())->SuppressAppSwitching(EFalse);
+ iAppKeyBlocked = EFalse;
+
CleanupStack::PopAndDestroy( string );
CleanupStack::PopAndDestroy( &iapName );
CleanupStack::PopAndDestroy( &commandArray );
@@ -622,6 +663,11 @@
query->SetPromptL( *textForQuery );
CleanupStack::PopAndDestroy( textForQuery );
CleanupStack::Pop( query );
+
+ // Block application key while showing query
+ (void) ((CAknNotifierAppServerAppUi*)
+ iEikEnv->EikAppUi())->SuppressAppSwitching(ETrue);
+ iAppKeyBlocked = ETrue;
// Run query
if( query->RunLD() )
@@ -657,6 +703,11 @@
CompleteMessage( KErrCancel );
}
+ // Remove application key blocking
+ (void) ((CAknNotifierAppServerAppUi*)
+ iEikEnv->EikAppUi())->SuppressAppSwitching(EFalse);
+ iAppKeyBlocked = EFalse;
+
CleanupStack::PopAndDestroy( &iapName );
CCHUIDEBUG( "CCCHUiNotifierImpl::ShowConfirmChangeConnectionL - OUT" );
@@ -699,6 +750,11 @@
CCHUIDEBUG( "ShowGprsSelectionL - set item array" );
dialog->SetItemTextArray( arrayforDialog );
dialog->SetOwnershipType( ELbmDoesNotOwnItemArray );
+
+ // Block application key while showing query
+ (void) ((CAknNotifierAppServerAppUi*)
+ iEikEnv->EikAppUi())->SuppressAppSwitching(ETrue);
+ iAppKeyBlocked = ETrue;
CCHUIDEBUG( "ShowGprsSelectionL - run dialog" );
dialog->RunLD();
@@ -714,6 +770,11 @@
{
User::Leave( KErrCancel );
}
+
+ // Remove application key blocking
+ (void) ((CAknNotifierAppServerAppUi*)
+ iEikEnv->EikAppUi())->SuppressAppSwitching(EFalse);
+ iAppKeyBlocked = EFalse;
CleanupStack::PopAndDestroy( string );
CleanupStack::PopAndDestroy( arrayforDialog );