# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1262861814 -7200 # Node ID 40cb640ef159a8a5c09d2bd7738252913cd775d2 # Parent 5a93021fdf25a169042ba57f64e68e8a8997d1a8 Revision: 200951 Kit: 201001 diff -r 5a93021fdf25 -r 40cb640ef159 apengine/apeng/group/bld.inf --- a/apengine/apeng/group/bld.inf Thu Dec 17 08:55:21 2009 +0200 +++ b/apengine/apeng/group/bld.inf Thu Jan 07 12:56:54 2010 +0200 @@ -27,7 +27,7 @@ ../Rom/ApEngineResources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(ApEngineResources.iby) // export localised loc file -../loc/ApEngine.loc MW_LAYER_LOC_EXPORT_PATH(apengine.loc) +../loc/apengine.loc MW_LAYER_LOC_EXPORT_PATH(apengine.loc) ../conf/accesspoints.confml APP_LAYER_CONFML(accesspoints.confml) ../conf/accesspoints_10008D3A.crml APP_LAYER_CRML(accesspoints_10008D3A.crml) diff -r 5a93021fdf25 -r 40cb640ef159 apengine/apsettingshandlerui/group/bld.inf --- a/apengine/apsettingshandlerui/group/bld.inf Thu Dec 17 08:55:21 2009 +0200 +++ b/apengine/apsettingshandlerui/group/bld.inf Thu Jan 07 12:56:54 2010 +0200 @@ -29,7 +29,7 @@ ../Rom/ApSettingsHandlerUIResources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(ApSettingsHandlerUIResources.iby) // export localised loc file -../loc/ApSettingsHandlerUI.loc MW_LAYER_LOC_EXPORT_PATH(apsettingshandlerui.loc) +../loc/apsettingshandlerui.loc MW_LAYER_LOC_EXPORT_PATH(apsettingshandlerui.loc) PRJ_MMPFILES // gnumakefile apsettingshandleruiicons_dc.mk diff -r 5a93021fdf25 -r 40cb640ef159 apengine/apsettingsplugin/group/bld.inf --- a/apengine/apsettingsplugin/group/bld.inf Thu Dec 17 08:55:21 2009 +0200 +++ b/apengine/apsettingsplugin/group/bld.inf Thu Jan 07 12:56:54 2010 +0200 @@ -29,7 +29,7 @@ ../rom/ApSettingsPluginResources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(ApSettingsPluginResources.iby) // export localised loc file -../loc/ApSettingsPlugin.loc MW_LAYER_LOC_EXPORT_PATH(apsettingsplugin.loc) +../loc/apsettingsplugin.loc MW_LAYER_LOC_EXPORT_PATH(apsettingsplugin.loc) PRJ_MMPFILES ./ApSettingsPlugin.mmp diff -r 5a93021fdf25 -r 40cb640ef159 bearermanagement/S60MCPR/group/bld.inf --- a/bearermanagement/S60MCPR/group/bld.inf Thu Dec 17 08:55:21 2009 +0200 +++ b/bearermanagement/S60MCPR/group/bld.inf Thu Jan 07 12:56:54 2010 +0200 @@ -22,8 +22,10 @@ PRJ_EXPORTS ../rom/s60mcpr.iby CORE_MW_LAYER_IBY_EXPORT_PATH(s60mcpr.iby) +#ifdef SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW ../data/s60mcpr.confml MW_LAYER_CONFML(s60mcpr.confml) ../data/s60mcpr_101F6D4A.crml MW_LAYER_CRML(s60mcpr_101F6D4A.crml) +#endif // SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW PRJ_MMPFILES ../group/s60mcpr.mmp diff -r 5a93021fdf25 -r 40cb640ef159 bearermanagement/S60MCPR/inc/s60mcpractivities.h --- a/bearermanagement/S60MCPR/inc/s60mcpractivities.h Thu Dec 17 08:55:21 2009 +0200 +++ b/bearermanagement/S60MCPR/inc/s60mcpractivities.h Thu Jan 07 12:56:54 2010 +0200 @@ -358,6 +358,14 @@ virtual void DoL(); DECLARE_SMELEMENT_FOOTER( TSendPropagateRecoveryResponse ) + + DECLARE_SMELEMENT_HEADER( TSendPropagateRecoveryErrContextResponse, + CS60ConnectionRecoveryActivity::TTransitionBase, + NetStateMachine::MStateTransition, + TContext) + virtual void DoL(); + DECLARE_SMELEMENT_FOOTER( TSendPropagateRecoveryErrContextResponse ) + protected: /** * C++ constructor. @@ -711,7 +719,18 @@ CS60MobilityActivity::TContext ) virtual void DoL(); DECLARE_SMELEMENT_FOOTER( TSendApplicationReject ) - + + /** + * TRANSITION/ACTION: Stop the mcpr's data client (should only ever be one) and error mobility on the cpr + */ + DECLARE_SMELEMENT_HEADER( TErrorOriginatorAndStopDataClient, + MeshMachine::TStateTransition, + NetStateMachine::MStateTransition, + CS60MobilityActivity::TContext ) + virtual void DoL(); + DECLARE_SMELEMENT_FOOTER( TErrorOriginatorAndStopDataClient ) + + /** * TRANSITION/ACTION: Unregister preferred carrier notifications. */ diff -r 5a93021fdf25 -r 40cb640ef159 bearermanagement/S60MCPR/src/s60mcpractivities.cpp --- a/bearermanagement/S60MCPR/src/s60mcpractivities.cpp Thu Dec 17 08:55:21 2009 +0200 +++ b/bearermanagement/S60MCPR/src/s60mcpractivities.cpp Thu Jan 07 12:56:54 2010 +0200 @@ -327,10 +327,12 @@ TTag ) // On error, we do not terminate the activity. // We need to inform the client and propose a new handshake should the client wish to continue - THROUGH_NODEACTIVITY_ENTRY( KErrorTag, - MeshMachine::TRaiseAndClearActivityError, - TTag ) -// S60MCprMobilityActivity::TStartMobilityHandshakeBackwards ) + // Shut down the layer, to release the rejected bearer + NODEACTIVITY_ENTRY(KErrorTag, + CS60MobilityActivity::TErrorOriginatorAndStopDataClient, + CoreNetStates::TAwaitingDataClientStopped, + TTag) + // When closing, always continue to cancel the activity. LAST_NODEACTIVITY_ENTRY( KCancelTag, CS60MobilityActivity::TCancelMobilityActivity ) @@ -358,7 +360,7 @@ S60MCprErrorRecoveryActivity::CS60ConnectionRecoveryActivity::TStoreErrorContext, CoreStates::TNoTagOrNoPeer ) LAST_NODEACTIVITY_ENTRY( CoreStates::KNoPeer, - S60MCprErrorRecoveryActivity::CS60ConnectionRecoveryActivity::TSendPropagateRecoveryResponse ) //Take error codes directly from the request + S60MCprErrorRecoveryActivity::CS60ConnectionRecoveryActivity::TSendPropagateRecoveryErrContextResponse ) //Take error codes directly from the request THROUGH_NODEACTIVITY_ENTRY( KNoTag, MeshMachine::TDoNothing, S60MCprErrorRecoveryActivity::TProcessErrorBlockedByMobilityHandshaking ) diff -r 5a93021fdf25 -r 40cb640ef159 bearermanagement/S60MCPR/src/s60mcprerrorrecoveryactivity.cpp --- a/bearermanagement/S60MCPR/src/s60mcprerrorrecoveryactivity.cpp Thu Dec 17 08:55:21 2009 +0200 +++ b/bearermanagement/S60MCPR/src/s60mcprerrorrecoveryactivity.cpp Thu Jan 07 12:56:54 2010 +0200 @@ -360,6 +360,38 @@ activity.ReplyToOriginators( err ); } + // ----------------------------------------------------------------------------- + // CS60ConnectionRecoveryActivity::TSendPropagateRecoveryErrContextResponse::DoL + // ----------------------------------------------------------------------------- + // + DEFINE_SMELEMENT( CS60ConnectionRecoveryActivity::TSendPropagateRecoveryErrContextResponse, + NetStateMachine::MStateTransition, + CS60ConnectionRecoveryActivity::TContext ) + void CS60ConnectionRecoveryActivity::TSendPropagateRecoveryErrContextResponse::DoL() // codescanner::leave + { + __ASSERT_DEBUG(iContext.iNodeActivity, User::Panic(KS60MCprPanic, KPanicNoActivity)); + + CS60ConnectionRecoveryActivity& activity = + static_cast(*iContext.iNodeActivity); + + TInt error = activity.iOriginalErrContext.iStateChange.iError; + + if ( error == KErrNone ) + { + error = KErrDisconnected; + S60MCPRLOGSTRING2("S60MCPR<%x>::TSendPropagateRecoveryErrContextResponse::DoL() overriding error code %d",(TInt*)&iContext.Node(), error); + } + + // Override original error with activity error. + TEErrorRecovery::TErrorRecoveryResponse err( TErrResponse( TErrResponse::EPropagate, + error, + activity.iOriginalErrContext.iMessageId ) ); + S60MCPRLOGSTRING2("S60MCPR<%x>::TSendPropagateRecoveryErrContextResponse::DoL() %d",(TInt*)&iContext.Node(), error); + // We must clear out the activity error to prevent last automatic error message from the node. + iContext.iNodeActivity->SetError( KErrNone ); + activity.ReplyToOriginators( err ); + } + } // namespace S60MCprErrorRecoveryActivity // End of File diff -r 5a93021fdf25 -r 40cb640ef159 bearermanagement/S60MCPR/src/s60mcprmobilityactivity.cpp --- a/bearermanagement/S60MCPR/src/s60mcprmobilityactivity.cpp Thu Dec 17 08:55:21 2009 +0200 +++ b/bearermanagement/S60MCPR/src/s60mcprmobilityactivity.cpp Thu Jan 07 12:56:54 2010 +0200 @@ -463,6 +463,23 @@ // ----------------------------------------------------------------------------- + // CS60MobilityActivity::TErrorOriginatorAndStopDataClient::DoL + // ----------------------------------------------------------------------------- + // + DEFINE_SMELEMENT( CS60MobilityActivity::TErrorOriginatorAndStopDataClient, + NetStateMachine::MStateTransition, CS60MobilityActivity::TContext ) + void CS60MobilityActivity::TErrorOriginatorAndStopDataClient::DoL() + { + // Post error to originators + TEBase::TError errmsg(TCFMobilityProvider::TStartMobility::Id(), iContext.iNodeActivity->Error()); + iContext.iNodeActivity->PostToOriginators(errmsg); + + RNodeInterface* dc = iContext.Node().GetFirstClient(TClientType(TCFClientType::EData), + TClientType(TCFClientType::EData, TCFClientType::ELeaving)); + iContext.iNodeActivity->PostRequestTo(*dc, TCFDataClient::TStop(iContext.iNodeActivity->Error()).CRef()); + } + + // ----------------------------------------------------------------------------- // CS60MobilityActivity::TAwaitingPreferredCarrierOrCancelOrRejected::Accept // ----------------------------------------------------------------------------- // diff -r 5a93021fdf25 -r 40cb640ef159 bearermanagement/S60MCPR/src/s60mcprstates.cpp --- a/bearermanagement/S60MCPR/src/s60mcprstates.cpp Thu Dec 17 08:55:21 2009 +0200 +++ b/bearermanagement/S60MCPR/src/s60mcprstates.cpp Thu Jan 07 12:56:54 2010 +0200 @@ -56,13 +56,6 @@ S60MCPRLOGSTRING2("S60MCPR<%x>::THandleMPMStatusChange::DoL() calling IAPConnectionStartedL IAP %d",(TInt*)&iContext.Node(),iapid) // TODO use progress notification KLinkLayerOpen once Symbian provides them. node.Policy()->IAPConnectionStartedL( iapid ); // codescanner::leave - - /** HACK ALERT - * - * Due to regression in MOBILITY the EStartedFlag for serviceprovider is set here! - * TODO Remove this hack whenever possible!!! - */ - node.ServiceProvider()->SetFlags( TCFClientType::EStarted ); } else if ( msg.iValue == TCFControlProvider::TDataClientStatusChange::EStopped && node.RequestPermissionToSendStopped() ) @@ -351,11 +344,22 @@ // Get MCPR CS60MetaConnectionProvider& node = (CS60MetaConnectionProvider&)iContext.Node(); + _LIT( KIapProxyServiceSetting, "IAP\\IAPService" ); + TBuf field; + if (msg) + { + TRAP_IGNORE(msg->iMessage.ReadL(0, field)); + } + + S60MCPRLOGSTRING2("S60MCPR<%x>::TAwaitingServiceIdRequest::Accept() ServiceId = %x", + (TInt*)&iContext.Node(), node.PolicyPrefs().ServiceId()) + // Only EIntSetting is supported // if ( ( TMCprGetConnectionSetting::TConnectionSettingType)msg->iSettingType == TMCprGetConnectionSetting::EIntSetting - && node.PolicyPrefs().ServiceId() != 0 ) + && node.PolicyPrefs().ServiceId() != 0 + && field.Compare( KIapProxyServiceSetting ) == 0 ) { S60MCPRLOGSTRING1("S60MCPR<%x>::TAwaitingServiceIdRequest::Accept() TMCprGetConnectionSetting EIntSetting", (TInt*)&iContext.Node()) diff -r 5a93021fdf25 -r 40cb640ef159 bearermanagement/mpm/src/mpmiapselection.cpp --- a/bearermanagement/mpm/src/mpmiapselection.cpp Thu Dec 17 08:55:21 2009 +0200 +++ b/bearermanagement/mpm/src/mpmiapselection.cpp Thu Jan 07 12:56:54 2010 +0200 @@ -438,7 +438,9 @@ if ( ( iChooseIapPref.BearerSet() & TExtendedConnPref::EExtendedConnBearerWLAN ) || ( iChooseIapPref.BearerSet() == TExtendedConnPref::EExtendedConnBearerUnknown ) ) { - if ( iNewWlansAllowed ) + if ( iNewWlansAllowed && + ( iChooseIapPref.BearerSet() == + TExtendedConnPref::EExtendedConnBearerWLAN ) ) { // User allows only WLAN connections, check WLAN availability. // A note will be shown if no WLANs are available. @@ -1347,11 +1349,15 @@ // ConnectioUiUtilities client side has a nonblocking active object // implementation // - CConnectionUiUtilities* connUiUtils = CConnectionUiUtilities::NewL(); + if ( !( iChooseIapPref.NoteBehaviour() & + TExtendedConnPref::ENoteBehaviourConnDisableNotes ) ) + { + CConnectionUiUtilities* connUiUtils = CConnectionUiUtilities::NewL(); - connUiUtils->NoWLANNetworksAvailableNote(); + connUiUtils->NoWLANNetworksAvailableNote(); - delete connUiUtils; + delete connUiUtils; + } } // ----------------------------------------------------------------------------- diff -r 5a93021fdf25 -r 40cb640ef159 bearermanagement/mpm/src/mpmserversession.cpp --- a/bearermanagement/mpm/src/mpmserversession.cpp Thu Dec 17 08:55:21 2009 +0200 +++ b/bearermanagement/mpm/src/mpmserversession.cpp Thu Jan 07 12:56:54 2010 +0200 @@ -415,6 +415,24 @@ if ( error != KErrNone ) { + // Connection preferences are not valid. Display + // an error note and complete with the error code. + // + if ( ! ( mpmConnPref.NoteBehaviour() & + TExtendedConnPref::ENoteBehaviourConnDisableNotes ) ) + { + CConnectionUiUtilities* connUiUtils = NULL; + + TRAP_IGNORE( connUiUtils = CConnectionUiUtilities::NewL() ); + + if ( connUiUtils ) + { + connUiUtils->ConnectionErrorDiscreetPopup( error ); + delete connUiUtils; + connUiUtils = NULL; + } + } + MPMLOGSTRING( "CMPMServerSession::HandleServerChooseIapL - Error \ while extracting TCommDbConnPref from TConnPref" ) aMessage.Complete( error ); @@ -1425,13 +1443,17 @@ if ( !( iIapSelection->MpmConnPref().NoteBehaviour() & TExtendedConnPref::ENoteBehaviourConnDisableNotes ) ) { - CConnectionUiUtilities* connUiUtils = CConnectionUiUtilities::NewL(); - // Note: Below function shows the discreet popup only if the error code - // belongs to the set of errors that are shown to the user. - // Otherwise the popup is not shown. - connUiUtils->ConnectionErrorDiscreetPopup( error ); - delete connUiUtils; - connUiUtils = NULL; + CConnectionUiUtilities* connUiUtils = NULL; + TRAPD( popupCreateError, connUiUtils = CConnectionUiUtilities::NewL() ); + if ( popupCreateError == KErrNone && connUiUtils ) + { + // Note: Below function shows the discreet popup only if the error code + // belongs to the set of errors that are shown to the user. + // Otherwise the popup is not shown. + connUiUtils->ConnectionErrorDiscreetPopup( error ); + delete connUiUtils; + connUiUtils = NULL; + } } // Read the Connection Id of the application @@ -2647,18 +2669,21 @@ TConnectionState state; iMyServer.GetConnectionState( iConnId, state ); - // If session is roaming, notification must be delayed. - // But, only ConnMon initiated notifications need to be delayed. - // Required notifications must go through whenever MPM decides - // to initiate them. - // - if( ( iStoredIapInfo.HoldPrefIapNotif() && aCaller == EConnMon) || - ( state == ERoaming && aCaller == EConnMon ) ) + if( iMigrateState != EMigrateUserConfirmation ) { - MPMLOGSTRING( "CMPMServerSession::PrefIAPNotificationL - \ + // If session is roaming, notification must be delayed. + // But, only ConnMon initiated notifications need to be delayed. + // Required notifications must go through whenever MPM decides + // to initiate them. + // + if( ( iStoredIapInfo.HoldPrefIapNotif() && aCaller == EConnMon ) || + ( state == ERoaming && aCaller == EConnMon ) ) + { + MPMLOGSTRING( "CMPMServerSession::PrefIAPNotificationL - \ Mobility ongoing, notification will be handled later" ) - iStoredIapInfo.SetStoredIapInfo( aIapInfo ); - return; + iStoredIapInfo.SetStoredIapInfo( aIapInfo ); + return; + } } TInt err(0); @@ -2745,6 +2770,12 @@ iConfirmDlgRoaming = NULL; } + // Reset migrate state + if ( iMigrateState == EMigrateUserConfirmation ) + { + iMigrateState = EMigrateNone; + } + // Write buffer to BM // TPtrC8 d( reinterpret_cast< TUint8* >( ¬ifInfo ), @@ -2808,6 +2839,24 @@ No notification requested" ) return; } + + // Show the connecting discreet popup to the user when migrating to another iap + if ( !( iIapSelection->MpmConnPref().NoteBehaviour() & + TExtendedConnPref::ENoteBehaviourConnDisableNotes) ) + { + TBool connectionAlreadyActive = iMyServer.CheckIfStarted( aIapId ); + CConnectionUiUtilities* connUiUtils = NULL; + TRAPD( popupError, + connUiUtils = CConnectionUiUtilities::NewL(); + connUiUtils->ConnectingViaDiscreetPopup( + aIapId, + connectionAlreadyActive ); + delete connUiUtils; ); + if ( popupError && connUiUtils ) + { + delete connUiUtils; + } + } TMpmNotificationStartIAP notifInfo; notifInfo.iMPMNotificationType = EMPMStartIAPNotification; @@ -3261,17 +3310,21 @@ MPMLOGSTRING2( "CMPMServerSession::ChooseIapComplete aError = %d", aError ) // Show error popup if it's allowed per client request - if ( !( iIapSelection->MpmConnPref().NoteBehaviour() & - TExtendedConnPref::ENoteBehaviourConnDisableNotes ) + if ( ChooseBestIapCalled() && (!( iIapSelection->MpmConnPref().NoteBehaviour() & + TExtendedConnPref::ENoteBehaviourConnDisableNotes )) && ( aError != KErrNone ) ) { - CConnectionUiUtilities* connUiUtils = CConnectionUiUtilities::NewL(); - // Note: Below function shows the discreet popup only if the error code - // belongs to the set of errors that are shown to the user. - // Otherwise the popup is not shown. - connUiUtils->ConnectionErrorDiscreetPopup( aError ); - delete connUiUtils; - connUiUtils = NULL; + CConnectionUiUtilities* connUiUtils = NULL; + TRAPD( error, connUiUtils = CConnectionUiUtilities::NewL() ); + if ( error == KErrNone && connUiUtils ) + { + // Note: Below function shows the discreet popup only if the error code + // belongs to the set of errors that are shown to the user. + // Otherwise the popup is not shown. + connUiUtils->ConnectionErrorDiscreetPopup( aError ); + delete connUiUtils; + connUiUtils = NULL; + } } // Try to write back arguments and complete message. @@ -3604,9 +3657,10 @@ TConnMonIapInfo availableIAPs; availableIAPs = MyServer().Events()->GetAvailableIAPs(); - +#ifndef __WINSCW__ // Remove iaps not according to bearer set TRAP_IGNORE ( RemoveIapsAccordingToBearerSetL ( availableIAPs ) ); +#endif return availableIAPs; } diff -r 5a93021fdf25 -r 40cb640ef159 bearermanagement/mpm/src/mpmwlanquerydialog.cpp --- a/bearermanagement/mpm/src/mpmwlanquerydialog.cpp Thu Dec 17 08:55:21 2009 +0200 +++ b/bearermanagement/mpm/src/mpmwlanquerydialog.cpp Thu Jan 07 12:56:54 2010 +0200 @@ -431,6 +431,11 @@ MPMLOGSTRING2( "CMPMWlanQueryDialog::StartWlanQuery KCTSYEmergencyCallInfo = %d", emergencyCallEstablished ) + // Get note behaviour setting + TUint32 noteBehaviour( 0 ); + noteBehaviour = iIapSelection.MpmConnPref().NoteBehaviour(); + MPMLOGSTRING2( "CMPMWlanQueryDialog::StartWlanQuery noteBehaviour = %d", noteBehaviour ) + if( !emergencyCallEstablished && iIapSelection.Session()->IsPhoneOfflineL() && !activeWlanIap && @@ -444,6 +449,11 @@ MPMLOGSTRING( "CMPMWlanQueryDialog::StartWlanQuery user has already refused offline" ) iIapSelection.UserWlanSelectionDoneL( KErrCancel, iWlanIapId ); } + else if ( noteBehaviour & TExtendedConnPref::ENoteBehaviourConnDisableQueries ) + { + MPMLOGSTRING( "CMPMWlanQueryDialog::StartWlanQuery offline note query not shown due to disabled queries" ) + iIapSelection.UserWlanSelectionDoneL( KErrPermissionDenied, iWlanIapId ); + } else { MPMLOGSTRING( "CMPMWlanQueryDialog::StartWlanQuery, starting offline note" ) diff -r 5a93021fdf25 -r 40cb640ef159 cmmanager/cmmgr/Framework/BWinsCw/CmManager_prot_setupU.DEF --- a/cmmanager/cmmgr/Framework/BWinsCw/CmManager_prot_setupU.DEF Thu Dec 17 08:55:21 2009 +0200 +++ b/cmmanager/cmmgr/Framework/BWinsCw/CmManager_prot_setupU.DEF Thu Jan 07 12:56:54 2010 +0200 @@ -387,6 +387,6 @@ ?IapStillExistedL@CCmManagerImpl@@QAEHABVCCmPluginBaseEng@@@Z @ 386 NONAME ; int CCmManagerImpl::IapStillExistedL(class CCmPluginBaseEng const &) ?WatcherUnRegister@CCmManagerImpl@@QAEXXZ @ 387 NONAME ; void CCmManagerImpl::WatcherUnRegister(void) ?RemoveDestFromPool@CCmManagerImpl@@QAEXPAVCCmDestinationImpl@@@Z @ 388 NONAME ; void CCmManagerImpl::RemoveDestFromPool(class CCmDestinationImpl *) + ?OfferKeyEventL@CmPluginBaseSettingsDlg@@MAE?AW4TKeyResponse@@ABUTKeyEvent@@W4TEventCode@@@Z @ 389 NONAME ; enum TKeyResponse CmPluginBaseSettingsDlg::OfferKeyEventL(struct TKeyEvent const &, enum TEventCode) - diff -r 5a93021fdf25 -r 40cb640ef159 cmmanager/cmmgr/Framework/EABI/CmManager_prot_setupU.def --- a/cmmanager/cmmgr/Framework/EABI/CmManager_prot_setupU.def Thu Dec 17 08:55:21 2009 +0200 +++ b/cmmanager/cmmgr/Framework/EABI/CmManager_prot_setupU.def Thu Jan 07 12:56:54 2010 +0200 @@ -434,4 +434,5 @@ _ZN14CCmManagerImpl17WatcherUnRegisterEv @ 433 NONAME _ZN14CCmManagerImpl18RemoveDestFromPoolEP18CCmDestinationImpl @ 434 NONAME _ZN14CCmManagerImpl24DestinationStillExistedLEP18CCmDestinationImpl @ 435 NONAME + _ZN23CmPluginBaseSettingsDlg14OfferKeyEventLERK9TKeyEvent10TEventCode @ 436 NONAME diff -r 5a93021fdf25 -r 40cb640ef159 cmmanager/cmmgr/Framework/Inc/cmdlg.h --- a/cmmanager/cmmgr/Framework/Inc/cmdlg.h Thu Dec 17 08:55:21 2009 +0200 +++ b/cmmanager/cmmgr/Framework/Inc/cmdlg.h Thu Jan 07 12:56:54 2010 +0200 @@ -150,11 +150,6 @@ void HandleInfoPopupNoteEvent( CAknInfoPopupNoteController* aController, TAknInfoPopupNoteEvent aEvent ); - - /** - * Shows the 'bearer type: ' popup note - */ - void ShowPopupNoteL(); /** * @return the currently focused connection method in the list diff -r 5a93021fdf25 -r 40cb640ef159 cmmanager/cmmgr/Framework/Inc/cmmanagerimpl.h --- a/cmmanager/cmmgr/Framework/Inc/cmmanagerimpl.h Thu Dec 17 08:55:21 2009 +0200 +++ b/cmmanager/cmmgr/Framework/Inc/cmmanagerimpl.h Thu Jan 07 12:56:54 2010 +0200 @@ -956,6 +956,15 @@ * Get Snap Table ID from CommsDat */ TUint32 GetSnapTableIdL(); + + /** + * Check if the attribute is bearerspecific + * + * @since 9.2 + * @param aAttribute attribute-id to be checked + * @return ETrue if aAttribute is bearerspecific, otherwise EFalse + */ + TBool IsBearerSpecific( TUint32 aAttribute ) const; #include "cmmanagerimpl.inl" //========================================================================= diff -r 5a93021fdf25 -r 40cb640ef159 cmmanager/cmmgr/Framework/Src/cmdesticonmap.cpp --- a/cmmanager/cmmgr/Framework/Src/cmdesticonmap.cpp Thu Dec 17 08:55:21 2009 +0200 +++ b/cmmanager/cmmgr/Framework/Src/cmdesticonmap.cpp Thu Jan 07 12:56:54 2010 +0200 @@ -233,11 +233,8 @@ // ----------------------------------------------------------------------------- // void CCmDestinationIconMap::LoadIconL() - { - if ( iConsArray ) - { - iConsArray->ResetAndDestroy(); - } + { + iConsArray->ResetAndDestroy(); // Draw all the Icons. TParse mbmFile; User::LeaveIfError( mbmFile.Set( KManagerIconFilename, diff -r 5a93021fdf25 -r 40cb640ef159 cmmanager/cmmgr/Framework/Src/cmdestinationimpl.cpp --- a/cmmanager/cmmgr/Framework/Src/cmdestinationimpl.cpp Thu Dec 17 08:55:21 2009 +0200 +++ b/cmmanager/cmmgr/Framework/Src/cmdestinationimpl.cpp Thu Jan 07 12:56:54 2010 +0200 @@ -2584,6 +2584,12 @@ case ESnapMetadataDestinationIsLocalised: { + // Check that aValue is within valid range. + if ( aValue > ELocalisedDestIntranet ) + { + User::Leave( KErrArgument ); + } + TUint32 oldVal = TUint32(iData->iMetaDataRec->iMetadata) & ESnapMetadataInternet; if ( aValue != ENotLocalisedDest ) @@ -2638,10 +2644,26 @@ case ESnapMetadataPurpose: { + // Check that aValue is within valid range. + if ( aValue > ESnapPurposeIntranet ) + { + User::Leave( KErrArgument ); + } + + // Check if destination with the given purpose already + // exists + CheckIfPurposeExistL( aValue ); + // ESnapPurposeInternet and ESnapPurposeMMS need special // handling switch( aValue ) { + case ESnapPurposeUnknown: + { + // This also clears ESnapMetadataInternet + SetMetadataL( ESnapMetadataDestinationIsLocalised, ENotLocalisedDest ); + break; + } case ESnapPurposeInternet: { // This sets ESnapMetadataInternet and @@ -2659,7 +2681,8 @@ { SetMetadataL( ESnapMetadataDestinationIsLocalised, ELocalisedDestMMS ); - SetMetadataL( ESnapMetadataHiddenAgent, 1 ); + iData->iMetaDataRec->iMetadata = + ESnapMetadataHiddenAgent | iData->iMetaDataRec->iMetadata; } break; case ESnapPurposeIntranet: @@ -2672,10 +2695,6 @@ break; } - // Check if destination with the given purpose already - // exists - CheckIfPurposeExistL( aValue ); - TUint32 value = aValue << 8; // reset the purpose bit iData->iMetaDataRec->iMetadata = ~ESnapMetadataPurpose & iData->iMetaDataRec->iMetadata; @@ -2701,11 +2720,14 @@ case ESnapMetadataHiddenAgent: { + TUint32 internet = iData->iMetaDataRec->iMetadata & ESnapMetadataInternet; + TUint32 internetLocal = ( iData->iMetaDataRec->iMetadata & ESnapMetadataDestinationIsLocalised ) >> 4; + TUint32 internetPurpose = ( iData->iMetaDataRec->iMetadata & ESnapMetadataPurpose ) >> 8; if( aValue ) { - if ( iData->iMetaDataRec->iMetadata & ESnapMetadataInternet - || ( ( iData->iMetaDataRec->iMetadata >> 4 ) & ELocalisedDestInternet ) - || ( ( iData->iMetaDataRec->iMetadata >> 8 ) & ESnapPurposeInternet ) ) + if ( internet + || ( internetLocal == ELocalisedDestInternet ) + || ( internetPurpose == ESnapPurposeInternet ) ) { User::Leave( KErrArgument ); } diff -r 5a93021fdf25 -r 40cb640ef159 cmmanager/cmmgr/Framework/Src/cmdlg.cpp --- a/cmmanager/cmmgr/Framework/Src/cmdlg.cpp Thu Dec 17 08:55:21 2009 +0200 +++ b/cmmanager/cmmgr/Framework/Src/cmdlg.cpp Thu Jan 07 12:56:54 2010 +0200 @@ -187,8 +187,7 @@ { iListbox->ScrollToMakeItemVisible( iHighlight ); iListbox->SetCurrentItemIndexAndDraw( iHighlight ); - } - ShowPopupNoteL(); + } } // -------------------------------------------------------------------------- @@ -206,6 +205,7 @@ aMenuPane->DeleteMenuItem( EAknCmdHelp ); } // Menu items + TBool hideEdit ( EFalse ); TBool hideAdd ( EFalse ); TBool hideRename ( EFalse ); TBool hideDelete ( EFalse ); @@ -218,10 +218,12 @@ // 2. Embedded Destinations if ( !( iListbox->Model()->ItemTextArray()->MdcaCount() ) ) { + hidePrioritise = ETrue; + hideEdit = ETrue; hideRename = ETrue; hideDelete = ETrue; hideCopy = ETrue; - hideMove = ETrue; + hideMove = ETrue; } // Embedded destinations can be deleted but not edited else if ( ( CurrentCML()->GetBoolAttributeL(ECmDestination) ) ) @@ -241,36 +243,11 @@ hidePrioritise = ETrue; } } - // No available destination to copy/move the CM to - RArray destinations( KCmArrayMediumGranularity ); - CleanupClosePushL( destinations ); - iCmManager->AllDestinationsL( destinations ); - for ( TInt i = 0; i < destinations.Count(); i++ ) - { - CCmDestinationImpl* dest = - iCmManager->DestinationL( destinations[i] ); - CleanupStack::PushL( dest ); - // Not allowed to copy/move CMs into Level1 protected destinations - if ( dest->ProtectionLevel() != CMManager::EProtLevel1 ) - { - // iCmDestinationImpl is null in Uncat dlg - ignore - // Don't count the current destination - if ( !iCmDestinationImpl || - dest->Id() != iCmDestinationImpl->Id() ) - { - hideCopy = EFalse; - hideMove = EFalse; - CleanupStack::PopAndDestroy( dest ); - break; - } - } - CleanupStack::PopAndDestroy( dest ); - } - CleanupStack::PopAndDestroy( &destinations ); - + // Show or hide menu items if ( aResourceId == R_CM_MENU ) { + aMenuPane->SetItemDimmed( ECmManagerUiCmdCmEdit, hideEdit ); aMenuPane->SetItemDimmed( ECmManagerUiCmdCmAdd, hideAdd ); aMenuPane->SetItemDimmed( ECmManagerUiCmdCmRename, hideRename ); aMenuPane->SetItemDimmed( ECmManagerUiCmdCmDelete, hideDelete ); @@ -1296,47 +1273,6 @@ } // --------------------------------------------------------------------------- -// CCmDlg::ShowPopupNote -// --------------------------------------------------------------------------- -// -void CCmDlg::ShowPopupNoteL() - { - if ( iInfoPopupNoteController ) - { - if ( iListbox->Model()->NumberOfItems() && !iPrioritising ) - { - // Value is only shown for concrete bearer types - allow to leave - HBufC* bearer = NULL; - TRAPD( err, bearer = - CurrentCML()->GetStringAttributeL( ECmBearerNamePopupNote ) ); - - if ( !err ) - { - CleanupStack::PushL( bearer ); - - HBufC* title = StringLoader::LoadLC( - R_CMMANAGERUI_POPUP_TITLE_DATA_BEARER ); - - HBufC* noteText = HBufC::NewLC( title->Size() + - 1 + - bearer->Size() ); - noteText->Des().Append( *title ); - noteText->Des().Append( KCmNewLine ); - noteText->Des().Append( *bearer ); - iInfoPopupNoteController->SetTextL( *noteText ); - iInfoPopupNoteController->ShowInfoPopupNote(); - - CleanupStack::PopAndDestroy( 3, bearer ); - } - else - { - iInfoPopupNoteController->HideInfoPopupNote(); - } - } - } - } - -// --------------------------------------------------------------------------- // CCmDlg::OfferKeyEventL // --------------------------------------------------------------------------- // @@ -1376,12 +1312,7 @@ } else { - retVal = iListbox->OfferKeyEventL(aKeyEvent, aType); - if ( aKeyEvent.iCode == EKeyUpArrow || - aKeyEvent.iCode == EKeyDownArrow ) - { - ShowPopupNoteL(); - } + retVal = iListbox->OfferKeyEventL(aKeyEvent, aType); } return retVal; @@ -1805,7 +1736,6 @@ iListbox->CurrentItemIndex()); iCmDestinationImpl->UpdateL(); HandleListboxDataChangeL(); - ShowPopupNoteL(); } } // Set the softkeys back diff -r 5a93021fdf25 -r 40cb640ef159 cmmanager/cmmgr/Framework/Src/cmmanagerimpl.cpp --- a/cmmanager/cmmgr/Framework/Src/cmmanagerimpl.cpp Thu Dec 17 08:55:21 2009 +0200 +++ b/cmmanager/cmmgr/Framework/Src/cmmanagerimpl.cpp Thu Jan 07 12:56:54 2010 +0200 @@ -61,6 +61,36 @@ // Safety margin when checking disk space const TUint32 KBytesToWrite = 8000; +const TUint32 KEndOfArray = KMaxTUint; +/** +* This array lists all the bearerspecific attributes. +* The bearerspecific attributes can be queried via both +* the manager interface's and connection method interface's ::Get functions. +*/ +static const TUint32 KBearerSpecificAttributes[]= + { + /** + */ + ECmCoverage, + ECmDefaultPriority, + ECmDestination, + ECmBearerHasUi, + ECmIPv6Supported, + ECmDefaultUiPriority, + ECmBearerIcon, + ECmBearerAvailableIcon, + ECmBearerAvailableName, + ECmBearerSupportedName, + ECmBearerAvailableText, + ECmBearerNamePopupNote, + ECmCommsDBBearerType, + ECmBearerSettingName, + ECmVirtual, + ECmExtensionLevel, + ECmAddToAvailableList, + KEndOfArray + }; + // ----------------------------------------------------------------------------- // Test functions // ----------------------------------------------------------------------------- @@ -1593,6 +1623,11 @@ TUint32 aAttribute ) const { LOGGER_ENTERFN( "CCmManagerImpl::GetBearerInfoIntL" ); + if( !IsBearerSpecific( aAttribute ) ) + { + User::Leave( KErrNotSupported ); + } + for ( TInt i = 0; i < iPlugins->Count(); ++i ) { if ( aBearerType == (*iPlugins)[i]->GetIntAttributeL( ECmBearerType ) ) @@ -1605,7 +1640,7 @@ return 0; } - + // ----------------------------------------------------------------------------- // CCmManagerImpl::GetBearerInfoBoolL() // ----------------------------------------------------------------------------- @@ -1614,6 +1649,11 @@ TUint32 aAttribute ) const { LOGGER_ENTERFN( "CCmManagerImpl::GetBearerInfoBoolL" ); + if( !IsBearerSpecific( aAttribute ) ) + { + User::Leave( KErrNotSupported ); + } + for ( TInt i = 0; i < iPlugins->Count(); ++i ) { if ( aBearerType == (*iPlugins)[i]->GetIntAttributeL( ECmBearerType ) ) @@ -1635,6 +1675,11 @@ TUint32 aAttribute ) const { LOGGER_ENTERFN( "CCmManagerImpl::GetBearerInfoStringL" ); + if( !IsBearerSpecific( aAttribute ) ) + { + User::Leave( KErrNotSupported ); + } + for ( TInt i = 0; i < iPlugins->Count(); ++i ) { if ( aBearerType == (*iPlugins)[i]->GetIntAttributeL( ECmBearerType ) ) @@ -1656,6 +1701,11 @@ TUint32 aAttribute ) const { LOGGER_ENTERFN( "CCmManagerImpl::GetBearerInfoStringL" ); + if( !IsBearerSpecific( aAttribute ) ) + { + User::Leave( KErrNotSupported ); + } + for ( TInt i = 0; i < iPlugins->Count(); ++i ) { if ( aBearerType == (*iPlugins)[i]->GetIntAttributeL( ECmBearerType ) ) @@ -2333,6 +2383,7 @@ { User::Leave( KErrNotSupported ); } + if ( IsDefConnSupported() ) { OpenTransactionLC(); @@ -2980,3 +3031,21 @@ return snapTableId; } + +// ----------------------------------------------------------------------------- +// CCmManagerImpl::IsBearerSpecific() +// ----------------------------------------------------------------------------- +// +TBool CCmManagerImpl::IsBearerSpecific( TUint32 aAttribute ) const + { + TUint32 i = 0; + while( KBearerSpecificAttributes[i] != KEndOfArray ) + { + if( KBearerSpecificAttributes[i] == aAttribute ) + { + return ETrue; + } + i++; + } + return EFalse; + } diff -r 5a93021fdf25 -r 40cb640ef159 cmmanager/cmmgr/Framework/Src/cmpbasesettingsdlg.cpp --- a/cmmanager/cmmgr/Framework/Src/cmpbasesettingsdlg.cpp Thu Dec 17 08:55:21 2009 +0200 +++ b/cmmanager/cmmgr/Framework/Src/cmpbasesettingsdlg.cpp Thu Jan 07 12:56:54 2010 +0200 @@ -612,6 +612,16 @@ } } +// --------------------------------------------------------------------------- +// CmPluginBaseSettingsDlg::OfferKeyEventL +// --------------------------------------------------------------------------- +// +EXPORT_C TKeyResponse CmPluginBaseSettingsDlg::OfferKeyEventL( const TKeyEvent& aKeyEvent, + TEventCode aType ) + { + return iListbox->OfferKeyEventL( aKeyEvent, aType ); + } + //--------------------------------------------------------------------------- // CmPluginBaseSettingsDlg::LoadResourceL //--------------------------------------------------------------------------- diff -r 5a93021fdf25 -r 40cb640ef159 cmmanager/cmmgr/Framework/Src/destdlg.cpp --- a/cmmanager/cmmgr/Framework/Src/destdlg.cpp Thu Dec 17 08:55:21 2009 +0200 +++ b/cmmanager/cmmgr/Framework/Src/destdlg.cpp Thu Jan 07 12:56:54 2010 +0200 @@ -263,7 +263,7 @@ } default: { - retVal = CAknDialog::OfferKeyEventL( aKeyEvent, aType ); + retVal = iListbox->OfferKeyEventL(aKeyEvent, aType); break; } } diff -r 5a93021fdf25 -r 40cb640ef159 cmmanager/cmmgr/Framework/Src/uncatdlg.cpp --- a/cmmanager/cmmgr/Framework/Src/uncatdlg.cpp Thu Dec 17 08:55:21 2009 +0200 +++ b/cmmanager/cmmgr/Framework/Src/uncatdlg.cpp Thu Jan 07 12:56:54 2010 +0200 @@ -121,7 +121,11 @@ if ( !iCmManager->DestinationCountL() ) { hideMove = ETrue; - } + } + + // No priorities in Uncategorized -> always disabled + hidePrioritise = ETrue; + aMenuPane->SetItemDimmed( ECmManagerUiCmdCmAdd, hideAdd ); aMenuPane->SetItemDimmed( ECmManagerUiCmdCmPrioritise, hidePrioritise ); aMenuPane->SetItemDimmed( ECmManagerUiCmdCmCopyToOtherDestination, hideCopy ); diff -r 5a93021fdf25 -r 40cb640ef159 cmmanager/cmmgr/Framework/SrcData/cmmanager.rss --- a/cmmanager/cmmgr/Framework/SrcData/cmmanager.rss Thu Dec 17 08:55:21 2009 +0200 +++ b/cmmanager/cmmgr/Framework/SrcData/cmmanager.rss Thu Jan 07 12:56:54 2010 +0200 @@ -329,15 +329,6 @@ RESOURCE TBUF r_cmmanagerui_default_connection_title { buf = qtn_netw_conset_default_connection_title; } -RESOURCE TBUF r_cmmanagerui_roaming_confirmation - { buf = qtn_netw_conset_sett_roaming_confirmation; } - -RESOURCE TBUF r_cmmanagerui_roaming_automatic - { buf = qtn_netw_conset_sett_roaming_automatic; } - -RESOURCE TBUF r_cmmanagerui_roaming_confirm - { buf = qtn_netw_conset_sett_roaming_confirm; } - RESOURCE TBUF r_qtn_netw_conset_navi_nof_destinations { buf = qtn_netw_conset_navi_nof_destinations; } diff -r 5a93021fdf25 -r 40cb640ef159 cmmanager/cmmgr/Framework/loc/cmmanager.loc --- a/cmmanager/cmmgr/Framework/loc/cmmanager.loc Thu Dec 17 08:55:21 2009 +0200 +++ b/cmmanager/cmmgr/Framework/loc/cmmanager.loc Thu Jan 07 12:56:54 2010 +0200 @@ -43,12 +43,6 @@ // #define qtn_netw_conset_options_edit "Edit" -//d: Options menu text. Opens a submenu to manage the highlighted destination -//l: list_single_pane_t1_cp2 -//w: -//r: 3.2 -// -#define qtn_netw_conset_options_manage_destination "Manage" //d: Options menu text. Opens a radio button page to select default conneciton //l: list_single_pane_t1_cp2 @@ -311,13 +305,6 @@ // #define qtn_netw_conset_options_delete_method "Delete" -//d: Connection method list text. Opens a submenu for managing the highlighted -//d: connection method -//l: list_single_pane_t1_cp2/opt3 -//w: -//r: 3.2 -// -#define qtn_netw_conset_options_organise "Organise" //d:Connection method list text. Prioritise the highlighted connecton method //l: list_single_popup_submenu_pane_t1 @@ -735,29 +722,6 @@ // #define qtn_set_options_exit "Exit" - -//d: Setting list item text. -//l: list_setting_pane_t1 -//w: -//r: 3.2 -// -#define qtn_netw_conset_sett_roaming_confirmation "Utilise this method" - -//d: Setting list item text shown if automatic roaming is selected. -//l: list_set_graphic_pane_t1 -//w: -//r: 3.2 -// - -#define qtn_netw_conset_sett_roaming_automatic "Automatically" - -//d: Setting list item text shown if confirmation takes place upon roaming. -//l: list_set_graphic_pane_t1 -//w: -//r: 3.2 -// -#define qtn_netw_conset_sett_roaming_confirm "After confirmation" - //d: Bearer type cannot be modified info text //l: popup_note_window //w: diff -r 5a93021fdf25 -r 40cb640ef159 cmmanager/cmmgr/Plugins/cmpluginvpn/inc/cmvpncommonconstants.h --- a/cmmanager/cmmgr/Plugins/cmpluginvpn/inc/cmvpncommonconstants.h Thu Dec 17 08:55:21 2009 +0200 +++ b/cmmanager/cmmgr/Plugins/cmpluginvpn/inc/cmvpncommonconstants.h Thu Jan 07 12:56:54 2010 +0200 @@ -21,6 +21,7 @@ // CONSTANTS _LIT( KPluginVPNResDirAndFileName, "z:cmpluginvpnui.rsc" ); -const TInt KVpnProxyPortNumberDefault = 80; +// Do not change this default to other value because proxy number is using this value as default port number +const TInt KVpnProxyPortNumberDefault = 0; #endif // CMVPNCOMMONCONSTANTS_H diff -r 5a93021fdf25 -r 40cb640ef159 cmmanager/gsconnsettingsplugin/traces/OstTraceDefinitions.h --- a/cmmanager/gsconnsettingsplugin/traces/OstTraceDefinitions.h Thu Dec 17 08:55:21 2009 +0200 +++ b/cmmanager/gsconnsettingsplugin/traces/OstTraceDefinitions.h Thu Jan 07 12:56:54 2010 +0200 @@ -2,7 +2,7 @@ * Copyright (c) 2009 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" +* under the terms of the License "Eclipse Public License v1.0" * which accompanies this distribution, and is available * at the URL "http://www.eclipse.org/legal/epl-v10.html". * diff -r 5a93021fdf25 -r 40cb640ef159 connectionmonitoring/connectionmonitorui/group/bld.inf --- a/connectionmonitoring/connectionmonitorui/group/bld.inf Thu Dec 17 08:55:21 2009 +0200 +++ b/connectionmonitoring/connectionmonitorui/group/bld.inf Thu Jan 07 12:56:54 2010 +0200 @@ -31,7 +31,7 @@ ../ROM/ConnectionMonitorUiResources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(ConnectionMonitorUiResources.iby) // export localised loc file -../loc/ConnectionMonitorUi.loc MW_LAYER_LOC_EXPORT_PATH(connectionmonitorui.loc) +../loc/connectionmonitorui.loc MW_LAYER_LOC_EXPORT_PATH(connectionmonitorui.loc) PRJ_MMPFILES ./ConnectionMonitorUI.mmp diff -r 5a93021fdf25 -r 40cb640ef159 connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifInc/ConfirmationQuery.h --- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifInc/ConfirmationQuery.h Thu Dec 17 08:55:21 2009 +0200 +++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifInc/ConfirmationQuery.h Thu Jan 07 12:56:54 2010 +0200 @@ -76,7 +76,8 @@ */ void TryExitL( TInt aButtonId ); - TBool NeedToDismissQueryL(const TKeyEvent& aKeyEvent); + TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, + TEventCode aType); /** * Sets the available choices for the query into the class variable diff -r 5a93021fdf25 -r 40cb640ef159 connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifInc/OfflineWlanNoteDlg.h --- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifInc/OfflineWlanNoteDlg.h Thu Dec 17 08:55:21 2009 +0200 +++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifInc/OfflineWlanNoteDlg.h Thu Jan 07 12:56:54 2010 +0200 @@ -58,8 +58,6 @@ * Destructor */ virtual ~COfflineWlanNoteDlg(); - - TBool NeedToDismissQueryL(const TKeyEvent& aKeyEvent); private: /** diff -r 5a93021fdf25 -r 40cb640ef159 connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifInc/SelectWLANDlg.h --- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifInc/SelectWLANDlg.h Thu Dec 17 08:55:21 2009 +0200 +++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifInc/SelectWLANDlg.h Thu Jan 07 12:56:54 2010 +0200 @@ -62,8 +62,6 @@ * @return The value of iFromOkToExit. */ inline TBool GetOkToExit(); - - TBool NeedToDismissQueryL(const TKeyEvent& aKeyEvent); protected: @@ -97,6 +95,12 @@ */ void HandleResourceChange( TInt aType ); + /** + * from CCoeControl + * @param aKeyEvent Event to handled. + * @param aType Type of the key event. + * @return Response code (EKeyWasConsumed, EKeyWasNotConsumed). + */ TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType); diff -r 5a93021fdf25 -r 40cb640ef159 connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifInc/WepWpaQueryDlg.h --- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifInc/WepWpaQueryDlg.h Thu Dec 17 08:55:21 2009 +0200 +++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifInc/WepWpaQueryDlg.h Thu Jan 07 12:56:54 2010 +0200 @@ -22,9 +22,11 @@ // INCLUDES #include +#include "ExpiryTimerCallback.h" // FORWARD DECLARATIONS class CConnectionDialogsNotifBase; +class CExpiryTimer; enum TDialogType { @@ -38,7 +40,7 @@ /** * Class implements a query dialog. */ -NONSHARABLE_CLASS( CWepWpaQueryDlg ) : public CAknTextQueryDialog +NONSHARABLE_CLASS( CWepWpaQueryDlg ) : public CAknTextQueryDialog, public MExpiryTimerCallback { public: /** @@ -65,7 +67,19 @@ */ virtual ~CWepWpaQueryDlg(); - TBool NeedToDismissQueryL(const TKeyEvent& aKeyEvent); + /** + * from CCoeControl + * @param aKeyEvent Event to handled. + * @param aType Type of the key event. + * @return Response code (EKeyWasConsumed, EKeyWasNotConsumed). + */ + TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, + TEventCode aType); + + /** + * Dialog expiration timeout callback + */ + void HandleTimedOut(); private: @@ -86,6 +100,8 @@ CConnectionDialogsNotifBase* iNotif; // Pointer to the Notifier TInt iDialogType; TBool& iHex; + // Pointer for dialog expiration timer + CExpiryTimer* iExpiryTimer; }; diff -r 5a93021fdf25 -r 40cb640ef159 connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifInc/nowlannetworksavailablenotif.h --- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifInc/nowlannetworksavailablenotif.h Thu Dec 17 08:55:21 2009 +0200 +++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifInc/nowlannetworksavailablenotif.h Thu Jan 07 12:56:54 2010 +0200 @@ -22,9 +22,10 @@ // INCLUDES #include "ConnectionDialogsNotifBase.h" +#include "nowlansdiscreetpopup.h" //FORWARD DECLARATION -class CActiveWLANNetworkUnavailableNote; +class CNoWlansDiscreetPopup; /** * CNoWLANNetworksAvailableNotif class @@ -83,7 +84,7 @@ protected: // pointer to active object, owned - CActiveWLANNetworkUnavailableNote* iActiveNote; + CNoWlansDiscreetPopup* iActiveNote; }; diff -r 5a93021fdf25 -r 40cb640ef159 connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifInc/nowlansdiscreetpopup.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifInc/nowlansdiscreetpopup.h Thu Jan 07 12:56:54 2010 +0200 @@ -0,0 +1,95 @@ +/* + * Copyright (c) 2009 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" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * Description: Declaration of CNoWlansDiscreetPopup + * + */ + +#ifndef CNOWLANSDISCREETPOPUP_H +#define CNOWLANSDISCREETPOPUP_H + +// INCLUDES +#include // For CActive, link against: euser.lib + +#include "ConnectionDialogsNotifBase.h" + +/** + * CConnectingViaDiscreetPopup class + */ +NONSHARABLE_CLASS( CNoWlansDiscreetPopup ) : public CActive + { +public: + /** + * Destructor + * Cancel and destroy + */ + virtual ~CNoWlansDiscreetPopup(); + + /** + * NewL function + * Two-phased constructor. + * @param aNotif a pointer to notifier plugin + */ + static CNoWlansDiscreetPopup* NewL( + CConnectionDialogsNotifBase* aNotif ); + + /** + * NewL function + * Two-phased constructor. + * @param aNotif a pointer to notifier plugin + */ + static CNoWlansDiscreetPopup* NewLC( + CConnectionDialogsNotifBase* aNotif ); + +public: + /** + * StartL Function for making the initial request + */ + void StartL(); + +private: + /** + * C++ constructor + */ + CNoWlansDiscreetPopup( CConnectionDialogsNotifBase* aNotif ); + + /** + * Second-phase constructor + */ + void ConstructL(); + +private: + /** + * From CActive + */ + void RunL(); + + /** + * From CActive + */ + void DoCancel(); + + /** + * From CActive + */ + TInt RunError( TInt aError ); + +private: + // Used for complete runl, not owned + TRequestStatus* iClientStatus; + + // Pointer to notifer, not owned + CConnectionDialogsNotifBase* iNotif; + }; + +#endif // CNOWLANSDISCREETPOPUP_H diff -r 5a93021fdf25 -r 40cb640ef159 connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifInc/wlanpowersavetest.h --- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifInc/wlanpowersavetest.h Thu Dec 17 08:55:21 2009 +0200 +++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifInc/wlanpowersavetest.h Thu Jan 07 12:56:54 2010 +0200 @@ -87,14 +87,6 @@ * @param aButtonId The id of the pressed button. */ void TryExitL( TInt aButtonId ); - - /** - * Called by OfferkeyEventL(), gives a change to dismiss the query even with - * keys different than Enter of Ok. - * @param aKeyEvent has the key event details - * @return whether to dismiss the dialog or not. - */ - TBool NeedToDismissQueryL( const TKeyEvent& aKeyEvent ); private: /** diff -r 5a93021fdf25 -r 40cb640ef159 connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/ConfirmationQuery.cpp --- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/ConfirmationQuery.cpp Thu Dec 17 08:55:21 2009 +0200 +++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/ConfirmationQuery.cpp Thu Jan 07 12:56:54 2010 +0200 @@ -125,20 +125,24 @@ } // --------------------------------------------------------- -// CConfirmationQuery::NeedToDismissQueryL +// CConfirmationQuery::OfferKeyEventL // --------------------------------------------------------- // -TBool CConfirmationQuery::NeedToDismissQueryL(const TKeyEvent& aKeyEvent) +TKeyResponse CConfirmationQuery::OfferKeyEventL( const TKeyEvent& aKeyEvent, + TEventCode aType) { - if (aKeyEvent.iCode == EKeyPhoneSend) + if( aType == EEventKey && aKeyEvent.iCode == EKeyPhoneSend ) { - TryExitL(EEikBidCancel); - return ETrue; + // Let's not obscure the Dialer in the background + if ( iExpiryTimer ) + { + iExpiryTimer->Cancel(); + iExpiryTimer->StartShort(); + } } - - return EFalse; - } - + + return CAknListQueryDialog::OfferKeyEventL( aKeyEvent,aType ); + } // --------------------------------------------------------- // CConfirmationQuery::SetChoices diff -r 5a93021fdf25 -r 40cb640ef159 connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/OfflineWlanNoteDlg.cpp --- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/OfflineWlanNoteDlg.cpp Thu Dec 17 08:55:21 2009 +0200 +++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/OfflineWlanNoteDlg.cpp Thu Jan 07 12:56:54 2010 +0200 @@ -90,21 +90,6 @@ iExpiryTimer->Start(); } -// --------------------------------------------------------- -// COfflineWlanNoteDlg::NeedToDismissQueryL -// --------------------------------------------------------- -// -TBool COfflineWlanNoteDlg::NeedToDismissQueryL(const TKeyEvent& aKeyEvent) - { - if (aKeyEvent.iCode == EKeyPhoneSend) - { - TryExitL(EEikBidCancel); - return ETrue; - } - - return EFalse; - } - void COfflineWlanNoteDlg::HandleTimedOut() { diff -r 5a93021fdf25 -r 40cb640ef159 connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/SelectWLANDlg.cpp --- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/SelectWLANDlg.cpp Thu Dec 17 08:55:21 2009 +0200 +++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/SelectWLANDlg.cpp Thu Jan 07 12:56:54 2010 +0200 @@ -178,7 +178,9 @@ CLOG_ENTERFN( "CSelectWLANDlg::OkToExitL " ); TBool result( EFalse ); - if ( aButtonId == EAknSoftkeySelect || aButtonId == EAknSoftkeyOk ) + + if ( ( aButtonId == EAknSoftkeySelect || aButtonId == EAknSoftkeyOk ) && + !iFromOkToExit ) { __ASSERT_DEBUG( iPlugin, User::Panic( KErrNullPointer, KErrNone ) ); @@ -586,27 +588,17 @@ TKeyResponse CSelectWLANDlg::OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType) { - if( NeedToDismissQueryL(aKeyEvent) ) + if( aType == EEventKey && aKeyEvent.iCode == EKeyPhoneSend ) { - return EKeyWasConsumed; - } - - return CAknListQueryDialog::OfferKeyEventL(aKeyEvent,aType); - } - -// --------------------------------------------------------- -// CSelectWLANDlg::NeedToDismissQueryL -// --------------------------------------------------------- -// -TBool CSelectWLANDlg::NeedToDismissQueryL(const TKeyEvent& aKeyEvent) - { - if (aKeyEvent.iCode == EKeyPhoneSend) - { - TryExitL(EEikBidCancel); - return ETrue; + // Let's not obscure the Dialer in the background + if ( iExpiryTimer && !iFromOkToExit ) + { + iExpiryTimer->Cancel(); + iExpiryTimer->StartShort(); + } } - return EFalse; + return CAknListQueryDialog::OfferKeyEventL( aKeyEvent,aType ); } // --------------------------------------------------------- diff -r 5a93021fdf25 -r 40cb640ef159 connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/WepWpaQueryDlg.cpp --- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/WepWpaQueryDlg.cpp Thu Dec 17 08:55:21 2009 +0200 +++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/WepWpaQueryDlg.cpp Thu Jan 07 12:56:54 2010 +0200 @@ -27,6 +27,7 @@ #include "EasyWepDlgNotif.h" #include "EasyWpaDlgNotif.h" #include "ConnectionDialogsLogger.h" +#include "ExpiryTimer.h" // CONSTANTS @@ -85,6 +86,7 @@ { STATIC_CAST( CEikServAppUi*, CCoeEnv::Static()->AppUi() )->SuppressAppSwitching( EFalse ); + delete iExpiryTimer; } @@ -272,18 +274,33 @@ } // --------------------------------------------------------- -// CWepWpaQueryDlg::NeedToDismissQueryL +// CWepWpaQueryDlg::OfferKeyEventL // --------------------------------------------------------- // -TBool CWepWpaQueryDlg::NeedToDismissQueryL(const TKeyEvent& aKeyEvent) +TKeyResponse CWepWpaQueryDlg::OfferKeyEventL( const TKeyEvent& aKeyEvent, + TEventCode aType) { - if (aKeyEvent.iCode == EKeyPhoneSend) + if( aType == EEventKey && aKeyEvent.iCode == EKeyPhoneSend ) { - TryExitL(EEikBidCancel); - return ETrue; + // Let's not obscure the Dialer in the background + if ( !iExpiryTimer ) + { + iExpiryTimer = CExpiryTimer::NewL( *this ); + } + else + { + iExpiryTimer->Cancel(); + } + + iExpiryTimer->StartShort(); } - - return EFalse; + + return CAknTextQueryDialog::OfferKeyEventL( aKeyEvent,aType ); + } + +void CWepWpaQueryDlg::HandleTimedOut() + { + TRAP_IGNORE( TryExitL( EAknSoftkeyCancel ) ); } // End of File diff -r 5a93021fdf25 -r 40cb640ef159 connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/nowlannetworksavailablenotif.cpp --- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/nowlannetworksavailablenotif.cpp Thu Dec 17 08:55:21 2009 +0200 +++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/nowlannetworksavailablenotif.cpp Thu Jan 07 12:56:54 2010 +0200 @@ -15,10 +15,10 @@ * */ - // INCLUDE FILES +#include "ConnectionDialogsUidDefs.h" #include "nowlannetworksavailablenotif.h" -#include "ActiveWLANNetworkUnavailableNote.h" +#include "nowlansdiscreetpopup.h" #include "ConnUiUtilsNotif.h" @@ -59,10 +59,9 @@ iMessage = aMessage; iCancelled = EFalse; - iActiveNote = new( ELeave ) CActiveWLANNetworkUnavailableNote( this ); + iActiveNote = CNoWlansDiscreetPopup::NewL( this ); - iActiveNote->LaunchWLANNetworkUnavailable( - CActiveWLANNetworkUnavailableNote::EWlanNote2 ); + iActiveNote->StartL(); } // --------------------------------------------------------- @@ -70,17 +69,13 @@ // --------------------------------------------------------- // void CNoWLANNetworksAvailableNotif::CompleteL( TInt aStatus ) - { - delete iActiveNote; - iActiveNote = NULL; - + { iCancelled = ETrue; if ( !iMessage.IsNull() ) { iMessage.Complete( aStatus ); } - Cancel(); } // --------------------------------------------------------- @@ -124,7 +119,10 @@ { iMessage.Complete( KErrCancel ); } - + } + + if ( iActiveNote ) + { delete iActiveNote; iActiveNote = NULL; } diff -r 5a93021fdf25 -r 40cb640ef159 connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/nowlansdiscreetpopup.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/nowlansdiscreetpopup.cpp Thu Jan 07 12:56:54 2010 +0200 @@ -0,0 +1,166 @@ +/* + * Copyright (c) 2009 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" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * Description: Implementation of CNoWlansDiscreetPopup. + * + */ + +// INCLUDE FILES + +#include +#include +#include +#include +#include +#include + +#include "nowlansdiscreetpopup.h" + + +// No discreet popup => Uid 0 +const TUid KDiscreetPopupUidNone = + { + 0x0 + }; + +// Path of the app's iconfile +_LIT( KIconFileName, "\\resource\\apps\\connectionuiutilities.mif" ); +// Empty string +_LIT( KEmpty, ""); + +// ================= MEMBER FUNCTIONS ======================= + +// --------------------------------------------------------- +// CNoWlansDiscreetPopup::CNoWlansDiscreetPopup +// --------------------------------------------------------- +// +CNoWlansDiscreetPopup::CNoWlansDiscreetPopup( + CConnectionDialogsNotifBase* aNotif ) : + CActive( EPriorityUserInput ), // Standard priority + iNotif( aNotif ) + { + } + +// --------------------------------------------------------- +// CNoWlansDiscreetPopup::NewLC +// --------------------------------------------------------- +// +CNoWlansDiscreetPopup* CNoWlansDiscreetPopup::NewLC( + CConnectionDialogsNotifBase* aNotif ) + { + CNoWlansDiscreetPopup* self = + new (ELeave) CNoWlansDiscreetPopup( aNotif ); + CleanupStack::PushL( self ); + self->ConstructL(); + return self; + } + +// --------------------------------------------------------- +// CNoWlansDiscreetPopup::NewL +// --------------------------------------------------------- +// +CNoWlansDiscreetPopup* CNoWlansDiscreetPopup::NewL( + CConnectionDialogsNotifBase* aNotif ) + { + CNoWlansDiscreetPopup* self = + CNoWlansDiscreetPopup::NewLC( aNotif ); + CleanupStack::Pop(self); + return self; + } + +// --------------------------------------------------------- +// CNoWlansDiscreetPopup::ConstructL +// --------------------------------------------------------- +// +void CNoWlansDiscreetPopup::ConstructL() + { + CActiveScheduler::Add( this ); // Add to scheduler + } + +// --------------------------------------------------------- +// CNoWlansDiscreetPopup::~CNoWlansDiscreetPopup +// --------------------------------------------------------- +// +CNoWlansDiscreetPopup::~CNoWlansDiscreetPopup() + { + Cancel(); // Cancel any request, if outstanding + } + +// --------------------------------------------------------- +// CNoWlansDiscreetPopup::DoCancel +// --------------------------------------------------------- +// +void CNoWlansDiscreetPopup::DoCancel() + { + } + +// --------------------------------------------------------- +// CNoWlansDiscreetPopup::StartL +// --------------------------------------------------------- +// +void CNoWlansDiscreetPopup::StartL() + { + Cancel(); // Cancel any request, just to be sure + + SetActive(); // Tell scheduler a request is active + iClientStatus = &iStatus; + User::RequestComplete( iClientStatus, KErrNone ); + + // Complete the note so client can continue its tasks + // immediately + iNotif->SetCancelledFlag( ETrue ); + iNotif->CompleteL( KErrNone ); + } + +// --------------------------------------------------------- +// CNoWlansDiscreetPopup::RunL +// --------------------------------------------------------- +// +void CNoWlansDiscreetPopup::RunL() + { + if ( iStatus == KErrNone ) + { + + // Load strings from resources + HBufC* stringText1 = StringLoader::LoadLC( R_OCC_INFO_NO_WLAN_AVAILABLE ); + HBufC* stringText2 = KEmpty().AllocLC(); + + CAknDiscreetPopup::ShowGlobalPopupL( + *stringText1, // 1st text row + *stringText2, // second text row + KAknsIIDDefault, // icon skin id + KIconFileName, // bitmap file path + EMbmConnectionuiutilitiesQgn_prop_wlan_bearer, // bitmap id + EMbmConnectionuiutilitiesQgn_prop_wlan_bearer_mask, // mask id + KAknDiscreetPopupDurationLong, // flags + 0, // command id + NULL, // command observer + KDiscreetPopupUidNone, // application to be launched + KDiscreetPopupUidNone); // view to be activated + + CleanupStack::PopAndDestroy(2, stringText1); + } + + // Cleanup + iNotif->Cancel(); + } + +// --------------------------------------------------------- +// CNoWlansDiscreetPopup::RunError +// --------------------------------------------------------- +// +TInt CNoWlansDiscreetPopup::RunError( TInt aError ) + { + return aError; + } + diff -r 5a93021fdf25 -r 40cb640ef159 connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/wlanpowersavetest.cpp --- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/wlanpowersavetest.cpp Thu Dec 17 08:55:21 2009 +0200 +++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/wlanpowersavetest.cpp Thu Jan 07 12:56:54 2010 +0200 @@ -100,9 +100,9 @@ { CLOG_ENTERFN( "CWlanPowerSaveQuery::OfferKeyEventL" ); TInt code = aKeyEvent.iCode; - + switch ( code ) - { + { case EKeyUpArrow: case EKeyDownArrow: { @@ -192,19 +192,4 @@ CLOG_LEAVEFN( "CWlanPowerSaveQuery::TryExitL" ); } -// --------------------------------------------------------- -// CWlanPowerSaveQuery::NeedToDismissQueryL -// --------------------------------------------------------- -// -TBool CWlanPowerSaveQuery::NeedToDismissQueryL(const TKeyEvent& aKeyEvent) - { - if (aKeyEvent.iCode == EKeyPhoneSend) - { - TryExitL(EEikBidCancel); - return ETrue; - } - - return EFalse; - } - // End of File diff -r 5a93021fdf25 -r 40cb640ef159 connectionutilities/ConnectionDialogs/ConnectionUiUtilities/data/ConnUiUtilsNotif.rss --- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/data/ConnUiUtilsNotif.rss Thu Dec 17 08:55:21 2009 +0200 +++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/data/ConnUiUtilsNotif.rss Thu Jan 07 12:56:54 2010 +0200 @@ -318,51 +318,16 @@ buf = qtn_netw_conset_info_roaming_to; } -RESOURCE TBUF r_qtn_netw_conset_prmpt_roam_less_preferred - { - buf = qtn_netw_conset_prmpt_roam_less_preferred; - } - RESOURCE TBUF r_qtn_netw_conset_quest_roam_less_preferred { buf = qtn_netw_conset_quest_roam_less_preferred; } -RESOURCE TBUF r_qtn_netw_conset_prmpt_roam_more_preferred - { - buf = qtn_netw_conset_prmpt_roam_more_preferred; - } - -RESOURCE TBUF r_qtn_netw_conset_quest_roam_more_preferred - { - buf = qtn_netw_conset_quest_roam_more_preferred; - } - -RESOURCE TBUF r_qtn_netw_conset_quest_connect_via_method - { - buf = qtn_netw_conset_quest_connect_via_method; - } - RESOURCE TBUF r_qtn_netw_conset_conf_connected_via_method { buf = qtn_netw_conset_conf_connected_via_method; } -RESOURCE TBUF r_qtn_netw_conset_prmpt_connection_needed - { - buf = qtn_netw_conset_prmpt_connection_needed; - } - -RESOURCE TBUF r_qtn_netw_conset_msg_query_link_always_accept - { - buf = qtn_netw_conset_msg_query_link_always_accept; - } - -RESOURCE TBUF r_qtn_netw_conset_msg_query_link_try_next - { - buf = qtn_netw_conset_msg_query_link_try_next; - } - RESOURCE TBUF r_qtn_wlan_manual_ssid_input { buf = qtn_wlan_manual_ssid_input; diff -r 5a93021fdf25 -r 40cb640ef159 connectionutilities/ConnectionDialogs/ConnectionUiUtilities/loc/connectionuiutilities.loc --- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/loc/connectionuiutilities.loc Thu Dec 17 08:55:21 2009 +0200 +++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/loc/connectionuiutilities.loc Thu Jan 07 12:56:54 2010 +0200 @@ -168,13 +168,6 @@ #define qtn_netw_conset_info_roaming_to "Changing connection to: '%U'" -//d:Confirmation query, is aksed when a change in connection method is take place, heading -//l:heading_pane_t1 -//w: -//r:3.2 -// -#define qtn_netw_conset_prmpt_roam_less_preferred "Connection was lost. " - //d:Confirmation query, is aksed when a change in connection method is take place //l:popup_info_list_pane_t1 //w: @@ -182,12 +175,6 @@ // #define qtn_netw_conset_quest_roam_less_preferred "Re-establish connection to '%0U' via method '%1U'?" -//d:Confirmation query, is aksed when a change in connection method is take place, heading -//l:heading_pane_t1 -//w: -//r:3.2 -// -#define qtn_netw_conset_prmpt_roam_more_preferred "Preferred connection: " //d:Confirmation query, is aksed when a change in connection method is take place //l:popup_info_list_pane_t1 @@ -196,13 +183,6 @@ // #define qtn_netw_conset_quest_roam_more_preferred "Connection to '%0U' now available via method '%1U'. Connect?" -//d:Confirmation query, to ask the user a confirmation before establishing a -//d:connection to the destination %0U via the Connection Method %1U -//l:popup_info_list_pane_t1 -//w: -//r:3.2 -// -#define qtn_netw_conset_quest_connect_via_method "Connect to destination '%0U' via connection method '%1U'?" //d:Confirmation note, after the connection has been successfully establilshed //l:popup_note_window/opt2 @@ -211,30 +191,6 @@ // #define qtn_netw_conset_conf_connected_via_method "Connected via:\n '%U'" -//d:Title of the MessageQuery with links when a new connection needs to be -//d:established. -//l:heading_pane_t1 -//w: -//r:3.2 -// -#define qtn_netw_conset_prmpt_connection_needed "Connection needed:" - -//d:Link inside a MessageQuery to change the seamlessness value of the selected -//d:Connection Method -//l:popup_info_list_pane_t1 -//w: -//r:3.2 -// -#define qtn_netw_conset_msg_query_link_always_accept "-Remember this and connect" - -//d:Link inside a MessageQuery to refuse connection with the selected method, -//d: but to keep the possibility to try with the next best method. -//l:popup_info_list_pane_t1 -//w: -//r:3.2 -// -#define qtn_netw_conset_msg_query_link_try_next "-Try next best method" - //d:Entry to enable the manual input of WLAN network’s SSID, e.g. in case //d:of a hidden network which is not directly visible in the scan results @@ -305,36 +261,12 @@ #define qtn_occ_connecting_discreet_popup_text2 "Via '%U'" -//d:Title of information query when new WLAN networks are found -//l:heading_pane_t1 -//w: -//r:5.2 -// -#define qtn_occ_prmpt_new_wlans_found "New WLAN networks found" - -//d:Text asking to select a WLAN network to be used from the list instead of -//d:cellular data -//l:loc_type_pane +//d:No WLAN networks are available at the moment - note +//l:popup_discreet_window_t1/opt4 //w: //r:5.2 // -#define qtn_occ_detail_new_wlans_select "Select a WLAN network to be used instead of cellular data." - -//d:Selection item in New WLAN networks found query note to choose only the -//d:known networks for connection -//l:list_single_graphic_pane_t1_cp2 -//w: -//r:5.2 -// -#define qtn_occ_list_new_wlans_use_only_known "Use only known networks" - - -//d:No WLAN networks are available at the moment - note -//l:popup_note_window -//w: -//r:5.2 -// -#define qtn_occ_info_no_wlan_available "No WLAN networks are available at the moment. Connection not available." +#define qtn_occ_info_no_wlan_available "No WLANs found." //d:Confirmation query, to ask the user a confirmation before establishing a diff -r 5a93021fdf25 -r 40cb640ef159 connectionutilities/ConnectionDialogs/cconndlg/inc/IAPDialog.h --- a/connectionutilities/ConnectionDialogs/cconndlg/inc/IAPDialog.h Thu Dec 17 08:55:21 2009 +0200 +++ b/connectionutilities/ConnectionDialogs/cconndlg/inc/IAPDialog.h Thu Jan 07 12:56:54 2010 +0200 @@ -71,6 +71,15 @@ virtual TBool OkToExitL( TInt aButtonId ); /** + * from CCoeControl + * @param aKeyEvent Event to handled. + * @param aType Type of the key event. + * @return Response code (EKeyWasConsumed, EKeyWasNotConsumed). + */ + TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, + TEventCode aType); + + /** * Dialog refreshing */ void RefreshDialogL( CConnectionInfoArray* aIAP, diff -r 5a93021fdf25 -r 40cb640ef159 connectionutilities/ConnectionDialogs/cconndlg/inc/SelectExplicitDialog.h --- a/connectionutilities/ConnectionDialogs/cconndlg/inc/SelectExplicitDialog.h Thu Dec 17 08:55:21 2009 +0200 +++ b/connectionutilities/ConnectionDialogs/cconndlg/inc/SelectExplicitDialog.h Thu Jan 07 12:56:54 2010 +0200 @@ -89,10 +89,14 @@ */ inline TBool GetOkToExit(); + /** + * from CCoeControl + * @param aKeyEvent Event to handled. + * @param aType Type of the key event. + * @return Response code (EKeyWasConsumed, EKeyWasNotConsumed). + */ TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType); - - TBool NeedToDismissQueryL(const TKeyEvent& aKeyEvent); /** * Dialog expiration timeout callback diff -r 5a93021fdf25 -r 40cb640ef159 connectionutilities/ConnectionDialogs/cconndlg/src/ActiveIapPlugin.cpp --- a/connectionutilities/ConnectionDialogs/cconndlg/src/ActiveIapPlugin.cpp Thu Dec 17 08:55:21 2009 +0200 +++ b/connectionutilities/ConnectionDialogs/cconndlg/src/ActiveIapPlugin.cpp Thu Jan 07 12:56:54 2010 +0200 @@ -35,14 +35,6 @@ #include -// CONSTANTS - -// Panic string -#if defined(_DEBUG) -_LIT( KErrNullPointer, "NULL pointer" ); -#endif - - /////////////////////////////////////////////////////////////////////////////// // --------------------------------------------------------- diff -r 5a93021fdf25 -r 40cb640ef159 connectionutilities/ConnectionDialogs/cconndlg/src/IAPDialog.cpp --- a/connectionutilities/ConnectionDialogs/cconndlg/src/IAPDialog.cpp Thu Dec 17 08:55:21 2009 +0200 +++ b/connectionutilities/ConnectionDialogs/cconndlg/src/IAPDialog.cpp Thu Jan 07 12:56:54 2010 +0200 @@ -256,6 +256,26 @@ CLOG_LEAVEFN( "CIapDialog::RefreshDialogL " ); } +// --------------------------------------------------------- +// CIapDialog::OfferKeyEventL +// --------------------------------------------------------- +// +TKeyResponse CIapDialog::OfferKeyEventL( const TKeyEvent& aKeyEvent, + TEventCode aType) + { + if( aType == EEventKey && aKeyEvent.iCode == EKeyPhoneSend ) + { + // Let's not obscure the Dialer in the background + if ( iExpiryTimer ) + { + iExpiryTimer->Cancel(); + iExpiryTimer->StartShort(); + } + } + + return CAknListQueryDialog::OfferKeyEventL( aKeyEvent,aType ); + } + void CIapDialog::HandleTimedOut() { TRAP_IGNORE( TryExitL(EAknSoftkeyCancel) ); diff -r 5a93021fdf25 -r 40cb640ef159 connectionutilities/ConnectionDialogs/cconndlg/src/SelectConnectionDialog.cpp --- a/connectionutilities/ConnectionDialogs/cconndlg/src/SelectConnectionDialog.cpp Thu Dec 17 08:55:21 2009 +0200 +++ b/connectionutilities/ConnectionDialogs/cconndlg/src/SelectConnectionDialog.cpp Thu Jan 07 12:56:54 2010 +0200 @@ -42,7 +42,6 @@ #if defined(_DEBUG) _LIT( KErrNullPointer, "NULL pointer" ); -_LIT( KErrActiveObjectNull, "iActiveSelectExplicit not NULL" ); #endif @@ -362,17 +361,16 @@ case ESelectConnectionCmdChooseMethod: { - __ASSERT_DEBUG( !iActiveSelectExplicit, - User::Panic( KErrActiveObjectNull, KErrNone ) ); - - iActiveSelectExplicit = CActiveSelectExplicit::NewL( this, - iDestIDs[ListBox()->CurrentItemIndex()], - iRefreshInterval, - iBearerSet, - iIsWLANFeatureSupported, - iDefaultCMId ); - iActiveSelectExplicit->ShowSelectExplicitL(); - + if ( !iActiveSelectExplicit ) + { + iActiveSelectExplicit = CActiveSelectExplicit::NewL( this, + iDestIDs[ListBox()->CurrentItemIndex()], + iRefreshInterval, + iBearerSet, + iIsWLANFeatureSupported, + iDefaultCMId ); + iActiveSelectExplicit->ShowSelectExplicitL(); + } break; } @@ -394,6 +392,16 @@ TEventCode aType ) { CLOG_ENTERFN( "CSelectConnectionDialog::OfferKeyEventL" ); + + if( aType == EEventKey && aKeyEvent.iCode == EKeyPhoneSend ) + { + // Let's not obscure the Dialer in the background + if ( iExpiryTimer && !iActiveSelectExplicit ) + { + iExpiryTimer->Cancel(); + iExpiryTimer->StartShort(); + } + } TKeyResponse result( EKeyWasNotConsumed ); TInt indexBefore = -1; diff -r 5a93021fdf25 -r 40cb640ef159 connectionutilities/ConnectionDialogs/cconndlg/src/SelectExplicitDialog.cpp --- a/connectionutilities/ConnectionDialogs/cconndlg/src/SelectExplicitDialog.cpp Thu Dec 17 08:55:21 2009 +0200 +++ b/connectionutilities/ConnectionDialogs/cconndlg/src/SelectExplicitDialog.cpp Thu Jan 07 12:56:54 2010 +0200 @@ -206,28 +206,18 @@ TKeyResponse CSelectExplicitDialog::OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType) { - if( NeedToDismissQueryL(aKeyEvent) ) + if( aType == EEventKey && aKeyEvent.iCode == EKeyPhoneSend ) { - return EKeyWasConsumed; - } - - return CAknListQueryDialog::OfferKeyEventL(aKeyEvent,aType); - } - -// --------------------------------------------------------- -// CSelectExplicitDialog::NeedToDismissQueryL -// --------------------------------------------------------- -// -TBool CSelectExplicitDialog::NeedToDismissQueryL(const TKeyEvent& aKeyEvent) - { - if (aKeyEvent.iCode == EKeyPhoneSend) - { - TryExitL(EEikBidCancel); - return ETrue; + // Let's not obscure the Dialer in the background + if ( iExpiryTimer ) + { + iExpiryTimer->Cancel(); + iExpiryTimer->StartShort(); + } } - return EFalse; - } + return CAknListQueryDialog::OfferKeyEventL( aKeyEvent,aType ); + } void CSelectExplicitDialog::HandleTimedOut() { diff -r 5a93021fdf25 -r 40cb640ef159 connectionutilities/ConnectionDialogs/group/ConnUiUtilsNotif.mmp --- a/connectionutilities/ConnectionDialogs/group/ConnUiUtilsNotif.mmp Thu Dec 17 08:55:21 2009 +0200 +++ b/connectionutilities/ConnectionDialogs/group/ConnUiUtilsNotif.mmp Thu Jan 07 12:56:54 2010 +0200 @@ -78,11 +78,12 @@ SOURCE connectingviadiscreetpopupnotif.cpp SOURCE connectionerrordiscreetpopup.cpp SOURCE connectionerrordiscreetpopupnotif.cpp +SOURCE nowlansdiscreetpopup.cpp SOURCEPATH ../src SOURCE ConnectionInfo.cpp SOURCE ConnectionDialogsNotifBase.cpp -SOURCE ExpiryTimer.cpp +SOURCE ExpiryTimer.cpp USERINCLUDE ../ConnectionUiUtilities/NotifInc USERINCLUDE ../ConnectionUiUtilities/inc diff -r 5a93021fdf25 -r 40cb640ef159 connectionutilities/ConnectionDialogs/group/bld.inf --- a/connectionutilities/ConnectionDialogs/group/bld.inf Thu Dec 17 08:55:21 2009 +0200 +++ b/connectionutilities/ConnectionDialogs/group/bld.inf Thu Jan 07 12:56:54 2010 +0200 @@ -39,8 +39,8 @@ // export localised loc file ../cconndlg/loc/agentdialog.loc MW_LAYER_LOC_EXPORT_PATH(agentdialog.loc) -../ConnectionUiUtilities/loc/ConnectionUiUtilities.loc MW_LAYER_LOC_EXPORT_PATH(connectionuiutilities.loc) -../DisconnectDlg/loc/DisconnectDlg.loc MW_LAYER_LOC_EXPORT_PATH(disconnectdlg.loc) +../ConnectionUiUtilities/loc/connectionuiutilities.loc MW_LAYER_LOC_EXPORT_PATH(connectionuiutilities.loc) +../DisconnectDlg/loc/disconnectdlg.loc MW_LAYER_LOC_EXPORT_PATH(disconnectdlg.loc) ../conf/connectiondialogs.confml APP_LAYER_CONFML(connectiondialogs.confml) ../conf/connectiondialogs_101FD67E.crml APP_LAYER_CRML(connectiondialogs_101FD67E.crml) diff -r 5a93021fdf25 -r 40cb640ef159 connectionutilities/ConnectionDialogs/inc/ExpiryTimer.h --- a/connectionutilities/ConnectionDialogs/inc/ExpiryTimer.h Thu Dec 17 08:55:21 2009 +0200 +++ b/connectionutilities/ConnectionDialogs/inc/ExpiryTimer.h Thu Jan 07 12:56:54 2010 +0200 @@ -43,6 +43,11 @@ * Starts up the timer */ void Start(); + + /** + * Starts up the short timer + */ + void StartShort(); private: /** diff -r 5a93021fdf25 -r 40cb640ef159 connectionutilities/ConnectionDialogs/rom/agentdialog.iby --- a/connectionutilities/ConnectionDialogs/rom/agentdialog.iby Thu Dec 17 08:55:21 2009 +0200 +++ b/connectionutilities/ConnectionDialogs/rom/agentdialog.iby Thu Jan 07 12:56:54 2010 +0200 @@ -20,7 +20,7 @@ REM Test agent dialog server -file=ABI_DIR\DEBUG_DIR\agentdialog.dll SHARED_LIB_DIR\agentdialog.dll +file=ABI_DIR\BUILD_DIR\agentdialog.dll SHARED_LIB_DIR\agentdialog.dll #if defined(TEXT_ONLY_ROM) diff -r 5a93021fdf25 -r 40cb640ef159 connectionutilities/ConnectionDialogs/src/ExpiryTimer.cpp --- a/connectionutilities/ConnectionDialogs/src/ExpiryTimer.cpp Thu Dec 17 08:55:21 2009 +0200 +++ b/connectionutilities/ConnectionDialogs/src/ExpiryTimer.cpp Thu Jan 07 12:56:54 2010 +0200 @@ -18,7 +18,9 @@ #include "ExpiryTimer.h" -static const TInt KTimeout = 60000000; +static const TInt KTimeout = 60000000; +static const TInt KShortTimeout = 1000000; + // --------------------------------------------------------------------------- // NewL. Constructs and returns the class object. // --------------------------------------------------------------------------- @@ -55,6 +57,12 @@ After( timeout ); } +void CExpiryTimer::StartShort() + { + TTimeIntervalMicroSeconds32 timeout = KShortTimeout; + After( timeout ); + } + void CExpiryTimer::RunL() { iCallback.HandleTimedOut(); diff -r 5a93021fdf25 -r 40cb640ef159 ipcm_plat/bearer_settings_plugin_api/inc/cmpbasesettingsdlg.h --- a/ipcm_plat/bearer_settings_plugin_api/inc/cmpbasesettingsdlg.h Thu Dec 17 08:55:21 2009 +0200 +++ b/ipcm_plat/bearer_settings_plugin_api/inc/cmpbasesettingsdlg.h Thu Jan 07 12:56:54 2010 +0200 @@ -116,7 +116,11 @@ /** From MEikListBoxObserver */ IMPORT_C void HandleListBoxEventL( CEikListBox* aListBox, TListBoxEvent aEventType ); - + + /** From CCoeControl */ + IMPORT_C TKeyResponse OfferKeyEventL + ( const TKeyEvent& aKeyEvent, TEventCode aType ); + /** * Updates Setting items in the listbox (setting names and values are * refreshed).