diff -r fc7b30ed2058 -r 05bc53fe583b connectionutilities/ConnectionDialogs/DisconnectDlg/src/ConnectionModel.cpp --- a/connectionutilities/ConnectionDialogs/DisconnectDlg/src/ConnectionModel.cpp Thu Aug 19 10:18:49 2010 +0300 +++ b/connectionutilities/ConnectionDialogs/DisconnectDlg/src/ConnectionModel.cpp Tue Aug 31 15:35:44 2010 +0300 @@ -34,7 +34,7 @@ #include #endif -#include +#include // CONSTANTS @@ -165,12 +165,12 @@ User::WaitForRequest( status ); CLOG_WRITEF(_L( "KClientInfo status: %d" ), status.Int() ); - bearer = EBearerUnknown; + iMonitor.GetIntAttribute( connId, 0, KBearer, bearer, status ); User::WaitForRequest( status ); CLOG_WRITEF(_L( "KBearer status: %d" ), status.Int() ); - connStatus = KConnectionUninitialised; + iMonitor.GetIntAttribute( connId, 0, KConnectionStatus, connStatus, status ); User::WaitForRequest( status ); @@ -308,12 +308,8 @@ { // notifier will finish, so cancel all other notifications iMonitor.CancelNotifications(); - - // Bring back the 3s delay to avoid possible problems. - // (GPRS Detach and Attach overlapping, when only 1 context allowed, - // causing 15s delay.) - User::After( CAknNoteDialog::ELongTimeout ); - + SelectedConnectionClosedL(); + iDisconnectDialogUi->CompleteL( KErrNone ); } else if( iDisconnectDialogUi && @@ -352,6 +348,33 @@ // --------------------------------------------------------- +// CConnectionModel::SelectedConnectionClosedL +// --------------------------------------------------------- +// +void CConnectionModel::SelectedConnectionClosedL() + { + CLOG_ENTERFN("CConnectionModel::SelectedConnectionClosedL"); + + // the connection is succesfully closed + CConnectionInfo* info = iConnArray->At( iClosingConnectionIndex ); + + TPtrC iap = info->GetIapNameL(); + TInt bearerType = info->GetBearerType(); + + if( bearerType < EBearerExternalCSD ) + { + InfoNoteL( R_QTN_NETW_CONF_CONN_DISCONNECTED, &iap ); + } + else + { + InfoNoteL( R_QTN_NETW_CONF_MODEM_CONN_DISCONNECTED ); + } + + CLOG_LEAVEFN("CConnectionModel::SelectedConnectionClosedL"); + } + + +// --------------------------------------------------------- // CDisconnectDlgDialog::InfoNoteL // --------------------------------------------------------- //