--- a/cmmanager/cmmgr/Plugins/cmpluginwlan/src/cmpwlansettingsdlg.cpp Thu Aug 19 10:18:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,976 +0,0 @@
-/*
-* Copyright (c) 2006 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: Dialog for editing wlan settings for a wlan connection method
-*
-*/
-
-#include <badesca.h>
-#include <cmcommonui.h>
-#include <WEPSecuritySettingsUI.h>
-#include <WPASecuritySettingsUI.h>
-#include <wapisecuritysettingsui.h>
-#include <StringLoader.h>
-#include <akntextsettingpage.h>
-#include <cmwlanui.rsg>
-#include <ConnectionUiUtilities.h>
-#include <csxhelp/cp.hlp.hrh>
-#include <featmgr.h>
-#include "cmlogger.h"
-#include "cmwlancommonconstants.h"
-#include "cmpwlansettingsdlg.h"
-#include "cmpwlansettingsdlgadv.h"
-#include <cmpluginwlandef.h>
-#include "cmpluginwlan.h"
-#include "cmpluginmenucommands.hrh"
-#include <cmcommonconstants.h>
-#include <cmpsettingsconsts.h>
-#include "cmmanagerimpl.h"
-
-using namespace CMManager;
-
-const TUint32 KScanSSIDSelectionItems[] =
- {
- R_QTN_WLAN_SETT_HIDDEN_NETWORK_NO,
- R_QTN_WLAN_SETT_HIDDEN_NETWORK_YES,
- 0
- };
-
-const TUint32 KSecModeRBSelectionItems[] =
- {
- R_QTN_WLAN_SETT_SECURITY_MODE_OPEN,
- R_QTN_WLAN_SETT_SECURITY_MODE_WEP,
- 0
- };
-
-const TUint32 KSecModeRBIRSelectionItems[] =
- {
- R_QTN_WLAN_SETT_SECURITY_MODE_OPEN,
- R_QTN_WLAN_SETT_SECURITY_MODE_WEP,
- R_QTN_WLAN_SETT_SECURITY_MODE_802_1X,
- R_QTN_WLAN_SETT_SECURITY_MODE_WPA,
- 0
- };
-
-const TUint32 KSecModeRBIRSelectionItemsWAPI[] =
- {
- R_QTN_WLAN_SETT_SECURITY_MODE_OPEN,
- R_QTN_WLAN_SETT_SECURITY_MODE_WEP,
- R_QTN_WLAN_SETT_SECURITY_MODE_802_1X,
- R_QTN_WLAN_SETT_SECURITY_MODE_WPA,
- R_QTN_WLAN_SETT_SECURITY_MODE_WAPI,
- 0
- };
-
-const TUint32 KNetworkRBSelectionItems[] =
- {
- R_QTN_WLAN_SETT_NETWORK_MODE_INFRA,
- R_QTN_WLAN_SETT_NETWORK_MODE_ADHOC,
- 0
- };
-
-const TUint32 KNWNameSelectionItems[] =
- {
- R_QTN_WLAN_SETT_NETWORK_NAME_USER_DEFINED,
- R_QTN_WLAN_SETT_NETWORK_NAME_SCAN,
- 0
- };
-
-// ================= MEMBER FUNCTIONS =======================================
-
-// --------------------------------------------------------------------------
-// CmPluginWlanSettingsDlg::NewL()
-// --------------------------------------------------------------------------
-//
-CmPluginWlanSettingsDlg* CmPluginWlanSettingsDlg::NewL(
- CCmPluginBaseEng& aCmPluginBase )
- {
- CmPluginWlanSettingsDlg* self =
- new (ELeave) CmPluginWlanSettingsDlg( aCmPluginBase );
- return self;
- }
-
-// --------------------------------------------------------------------------
-// CmPluginWlanSettingsDlg::CmPluginWlanSettingsDlg()
-// --------------------------------------------------------------------------
-//
-CmPluginWlanSettingsDlg::CmPluginWlanSettingsDlg(
- CCmPluginBaseEng& aCmPluginBase )
- : CmPluginBaseSettingsDlg( aCmPluginBase )
- , iNotifyFromAdv( KCmNotifiedNone )
- {
-
- }
-
-// --------------------------------------------------------------------------
-// CmPluginWlanSettingsDlg::ConstructAndRunLD
-// --------------------------------------------------------------------------
-//
-TInt CmPluginWlanSettingsDlg::ConstructAndRunLD( )
- {
- // Set this flag to allow edit continue
- iCanEditingContinue = ETrue;
-
- CleanupStack::PushL( this );
- LoadResourceL( KPluginWlanResDirAndFileName );
- CleanupStack::Pop( this );
-
- CCmManagerImpl& cmMgr = iCmPluginBaseEng.CmMgr();
- cmMgr.WatcherRegisterL( this );
-
- return CmPluginBaseSettingsDlg::ConstructAndRunLD( );
- }
-
-// ---------------------------------------------------------
-// CmPluginWlanSettingsDlg::~CmPluginWlanSettingsDlg
-// Destructor
-// ---------------------------------------------------------
-//
-CmPluginWlanSettingsDlg::~CmPluginWlanSettingsDlg()
- {
- iResourceReader.Close();
- }
-
-// --------------------------------------------------------------------------
-// CmPluginWlanSettingsDlg::RunAdvancedSettingsL
-// --------------------------------------------------------------------------
-//
-void CmPluginWlanSettingsDlg::RunAdvancedSettingsL()
- {
- CmPluginWlanSettingsDlgAdv* AdvDlg =
- CmPluginWlanSettingsDlgAdv::NewL( iCmPluginBaseEng );
-
- if (!iHasSettingChanged)
- {
- iHasSettingChanged = ETrue;
- }
-
- // This view may have to un-register as watcher here
- CCmManagerImpl& cmMgr = iCmPluginBaseEng.CmMgr();
- cmMgr.WatcherUnRegister();
-
- AdvDlg->RegisterParentView( this );
- TInt ret = AdvDlg->ConstructAndRunLD();
-
- if( iNotifyFromAdv == KCmNotifiedNone )
- {
- if( ret == KDialogUserExit )
- {
- iExitReason = KDialogUserExit;
- ExitSettingsL(EFalse);
- }
- else
- {
- // Re-register as watcher if advanced view comes back or exists normally
- cmMgr.WatcherRegisterL( this );
- }
- }
- else
- {
- HandleCommsDatChangeL();
- }
- }
-
-// --------------------------------------------------------------------------
-// CmPluginBaseSettingsDlg::UpdateListBoxContentBearerSpecificL
-// --------------------------------------------------------------------------
-//
-void CmPluginWlanSettingsDlg::UpdateListBoxContentBearerSpecificL(
- CDesCArray& aItemArray )
- {
- TBool boolSettingVal( EFalse ); // just for helping make code readable
- TInt valResId(0);
-
- // DATA BEARER - only for real bearer types
- AppendSettingTextsL( aItemArray, ECmBearerSettingName );
- // NETWORK NAME
- AppendSettingTextsL( aItemArray, EWlanSSID );
- // NETWORK STATUS
- boolSettingVal = iCmPluginBaseEng.GetBoolAttributeL( EWlanScanSSID );
- AppendSettingTextsL( aItemArray,
- EWlanScanSSID,
- boolSettingVal ?
- R_QTN_WLAN_SETT_HIDDEN_NETWORK_YES :
- R_QTN_WLAN_SETT_HIDDEN_NETWORK_NO );
- // WLAN NETWORK MODE
- switch( iCmPluginBaseEng.GetIntAttributeL( EWlanConnectionMode ) )
- {
- case EAdhoc:
- {
- valResId = R_QTN_WLAN_SETT_NETWORK_MODE_ADHOC;
- break;
- }
- case EInfra:
- // fall-through intended here
- default:
- {
- valResId = R_QTN_WLAN_SETT_NETWORK_MODE_INFRA;
- break;
- }
- }
-
- AppendSettingTextsL( aItemArray, EWlanConnectionMode, valResId );
- // WLAN SECURITY MODE
- switch( iCmPluginBaseEng.GetIntAttributeL( EWlanSecurityMode ) )
- {
- case EWlanSecModeWep :
- {
- valResId = R_QTN_WLAN_SETT_SECURITY_MODE_WEP;
- break;
- }
- case EWlanSecMode802_1x:
- {
- valResId = R_QTN_WLAN_SETT_SECURITY_MODE_802_1X;
- break;
- }
- case EWlanSecModeWpa:
- case EWlanSecModeWpa2:
- {
- valResId = R_QTN_WLAN_SETT_SECURITY_MODE_WPA;
- break;
- }
- case EWlanSecModeWAPI:
- {
- valResId = R_QTN_WLAN_SETT_SECURITY_MODE_WAPI;
- break;
- }
- case EWlanSecModeOpen:
- // fall-through intended here
- default:
- {
- valResId = R_QTN_WLAN_SETT_SECURITY_MODE_OPEN;
- break;
- }
- }
- AppendSettingTextsL( aItemArray, EWlanSecurityMode, valResId );
- // WLAN SECURITY SETTINGS
- AppendSettingTextsL( aItemArray,
- EWlanSecuritySettings,
- R_QTN_WLAN_SETT_SECURITY_SETTINGS,
- 0 );
- // HOMEPAGE
- AppendSettingTextsL( aItemArray, ECmStartPage );
- }
-
-
-//---------------------------------------------------------------------------
-// CmPluginWlanSettingsDlg::ChangeBoolSettingL
-//---------------------------------------------------------------------------
-//
-void CmPluginWlanSettingsDlg::ChangeBoolSettingL( TUint32 aAttribute,
- TInt aCommandId )
- {
- // Change was selected from menu
- if ( aCommandId == EPluginBaseCmdChange )
- {
- TInt selected =
- iCmPluginBaseEng.GetBoolAttributeL( aAttribute );
- TInt origVal = selected;
-
- if ( ShowRadioButtonSettingPageL( KScanSSIDSelectionItems,
- selected,
- R_QTN_WLAN_SETT_HIDDEN_NETWORK ) &&
- origVal != selected )
- {
- iCmPluginBaseEng.SetBoolAttributeL( aAttribute,
- selected );
- UpdateListBoxContentL();
- }
- }
- // Selection key was selected
- else
- {
- switch ( aAttribute )
- {
- case EWlanScanSSID:
- {
- TBool boolFromCM = EFalse;
- boolFromCM = iCmPluginBaseEng.GetBoolAttributeL( aAttribute );
- iCmPluginBaseEng.SetBoolAttributeL( aAttribute , !boolFromCM );
- UpdateListBoxContentL();
- break;
- }
- case EWlanConnectionMode:
- {
- TInt intFromCM = 0;
- intFromCM = iCmPluginBaseEng.GetIntAttributeL( aAttribute );
- iCmPluginBaseEng.SetIntAttributeL( aAttribute , !intFromCM );
- UpdateListBoxContentL();
- break;
- }
- }
- }
- }
-
-//---------------------------------------------------------------------------
-// CmPluginWlanSettingsDlg::ShowSecurityModeRBPageL
-//---------------------------------------------------------------------------
-//
-void CmPluginWlanSettingsDlg::ShowSecurityModeRBPageL()
- {
- TInt selected = 0;
- TInt secMode = iCmPluginBaseEng.GetIntAttributeL( EWlanSecurityMode );
- const TUint32* items = NULL;
-
- //converting secMode to idex
- switch ( secMode )
- {
- case EWlanSecModeOpen:
- {
- selected = 0;
- break;
- }
- case EWlanSecModeWep:
- {
- selected = 1;
- break;
- }
- case EWlanSecMode802_1x:
- {
- selected = 2;
- break;
- }
- case EWlanSecModeWpa:
- {
- selected = 3;
- break;
- }
- // is this a real case?
- case EWlanSecModeWpa2:
- {
- selected = 3;
- break;
- }
- case EWlanSecModeWAPI:
- {
- selected = 4;
- break;
- }
- default:
- {
- User::Leave( KErrNotSupported );
- break;
- }
- }
-
- if ( iCmPluginBaseEng.GetIntAttributeL( EWlanConnectionMode ) == EInfra )
- {
- if ( !FeatureManager::FeatureSupported( KFeatureIdFfWlanWapi ) )
- {
- items = KSecModeRBIRSelectionItems;
- }
- else
- {
- items = KSecModeRBIRSelectionItemsWAPI;
- }
- }
- else
- {
- items = KSecModeRBSelectionItems;
- }
-
- TInt origVal = selected;
- if ( ShowRadioButtonSettingPageL( items,
- selected,
- R_QTN_WLAN_SETT_SECURITY_MODE ) &&
- origVal != selected )
- {
- if ( !iHasSettingChanged )
- {
- iHasSettingChanged = ETrue;
- }
-
- switch ( selected )
- {
- case 0:
- {
- secMode = EWlanSecModeOpen;
- break;
- }
- case 1:
- {
- secMode = EWlanSecModeWep;
- break;
- }
- case 2:
- {
- secMode = EWlanSecMode802_1x;
- break;
- }
- case 3:
- {
- secMode = EWlanSecModeWpa;
- break;
- }
- case 4:
- {
- secMode = EWlanSecModeWAPI;
- break;
- }
- default:
- {
- User::Leave( KErrNotSupported );
- break;
- }
- }
- iCmPluginBaseEng.SetIntAttributeL( EWlanSecurityMode , secMode );
- UpdateListBoxContentL();
- }
- }
-
-//---------------------------------------------------------------------------
-// CmPluginWlanSettingsDlg::ShowNetworkModeRBPageL
-//---------------------------------------------------------------------------
-//
-void CmPluginWlanSettingsDlg:: ShowNetworkModeRBPageL()
- {
- const TUint32* items = KNetworkRBSelectionItems;
-
- TInt selected;
-
- // convert values to indices for UI
- TInt netMode = iCmPluginBaseEng.GetIntAttributeL( EWlanConnectionMode );
- switch ( netMode )
- {
- case EAdhoc:
- {
- selected = 1;
- break;
- }
- case EInfra:
- {
- selected = 0;
- break;
- }
- }
-
- TInt origVal = selected;
- if ( ShowRadioButtonSettingPageL( items,
- selected,
- R_QTN_WLAN_SETT_NETWORK_MODE ) &&
- origVal != selected )
- {
- // convert indices back to proper values
- switch ( selected )
- {
- case 0:
- {
- netMode = EInfra;
- break;
- }
- case 1:
- {
- netMode = EAdhoc;
- TInt secMode = iCmPluginBaseEng.GetIntAttributeL(
- EWlanSecurityMode );
- if( secMode != EWlanSecModeOpen &&
- secMode != EWlanSecModeWep )
- {
- iCmPluginBaseEng.SetIntAttributeL( EWlanSecurityMode,
- EWlanSecModeOpen );
- }
- break;
- }
- default:
- {
- User::Leave( KErrNotSupported );
- break;
- }
- }
- iCmPluginBaseEng.SetIntAttributeL( EWlanConnectionMode , netMode );
- UpdateListBoxContentL();
- }
- }
-
-//---------------------------------------------------------------------------
-// CmPluginWlanSettingsDlg::ShowWlanNWNamePageL
-//---------------------------------------------------------------------------
-//
-void CmPluginWlanSettingsDlg::ShowWlanNWNamePageL()
- {
- const TCmAttribConvTable* convItem =
- iCmPluginBaseEng.ConvTableItem( EWlanSSID );
-
- const TUint32* items = KNWNameSelectionItems;
- TInt selected ( EWlanNwNameUserDefined );
-
- // Display a radio button page with options: User defined and Scan for Networks
- if ( ShowRadioButtonSettingPageL( items,
- selected,
- R_QTN_WLAN_SETT_NETWORK_NAME ) )
- {
- if ( selected == EWlanNwNameUserDefined )
- {
- HBufC* oldssId = iCmPluginBaseEng.GetStringAttributeL( EWlanSSID );
- CleanupStack::PushL( oldssId );
-
- TBuf<KCmWlanNWNameMaxLength> buf;
- buf.Copy( *oldssId );
-
- if ( TCmCommonUi::ShowConfirmationQueryWithInputL(
- R_QTN_WLAN_PRMPT_NETWORK_NAME,
- buf ) )
- {
- if( buf.Compare( *oldssId ) )
- // SSID is changed
- {
- iCmPluginBaseEng.SetStringAttributeL( EWlanSSID, buf );
- UpdateListBoxContentL();
- }
- }
- CleanupStack::PopAndDestroy( oldssId );
- }
- else
- {
- // Let's search for a WLAN network
- TWlanSsid ssid;
- TWlanConnectionMode connectionMode;
- TWlanConnectionSecurityMode securityMode;
-
- CConnectionUiUtilities* uiUtils = CConnectionUiUtilities::NewL();
- CleanupStack::PushL( uiUtils );
-
- if ( uiUtils->SearchWLANNetwork( ssid, connectionMode, securityMode ) )
- {
- HBufC* temp = HBufC::NewLC( convItem->iMaxLength );
- temp->Des().Copy( ssid );
- iCmPluginBaseEng.SetStringAttributeL( EWlanSSID, *temp );
- CleanupStack::PopAndDestroy( temp );
-
- UpdateListBoxContentL();
- }
- CleanupStack::PopAndDestroy( uiUtils );
- }
- }
- }
-
-//---------------------------------------------------------------------------
-// CmPluginWlanSettingsDlg::ShowPopupSettingPageL
-//---------------------------------------------------------------------------
-//
-TBool CmPluginWlanSettingsDlg::ShowPopupSettingPageL( TUint32 aAttribute,
- TInt aCommandId )
- {
- TBool retval = EFalse;
- switch( aAttribute )
- {
- // Boolean settings
- case EWlanScanSSID:
- {
- ChangeBoolSettingL( aAttribute, aCommandId );
- break;
- }
- // Textual Settings
- case ECmStartPage:
- {
- ShowPopupTextSettingPageL( aAttribute );
- break;
- }
- case EWlanSecurityMode:
- {
- ShowSecurityModeRBPageL();
- break;
- }
- case EWlanSecuritySettings:
- {
- TInt secmode = iCmPluginBaseEng.GetIntAttributeL( EWlanSecurityMode );
- if( secmode == EWlanSecModeOpen )
- {
- TCmCommonUi::ShowNoteL( R_QTN_WLAN_INFO_NO_SECURITY_SETTINGS,
- TCmCommonUi::ECmInfoNote);
- }
- else
- {
- TInt exitValue =
- STATIC_CAST( CCmPluginWlan*, &iCmPluginBaseEng )->
- EditSecuritySettingsL( *( CEikonEnv::Static() ) );
- if ( secmode == EWlanSecModeWep )
- { // WEP
- if ( exitValue & CWEPSecuritySettings::EExitReq )
- {
- iSecDialExit = ETrue;
- iExitReason = KDialogUserExit;
- ExitSettingsL(EFalse);
- }
- }
- else if ( secmode == EWlanSecModeWAPI )
- {
- if ( exitValue & CWAPISecuritySettings::EExitReq )
- {
- iSecDialExit = ETrue;
- iExitReason = KDialogUserExit;
- ExitSettingsL(EFalse);
- }
- }
- else
- {// 802.1x, WPA/WPA2
- if ( exitValue & CWPASecuritySettings::EExitReq )
- {
- iSecDialExit = ETrue;
- iExitReason = KDialogUserExit;
- ExitSettingsL(EFalse);
- }
- }
- }
- break;
- }
- case EWlanConnectionMode:
- {
- if ( aCommandId == EPluginBaseCmdChange )
- {
- ShowNetworkModeRBPageL();
- }
- else
- {
- TInt netMode =
- iCmPluginBaseEng.GetIntAttributeL( EWlanConnectionMode );
- // OK has been used: switch the value without opening the setting page
- if ( netMode == EInfra )
- {
- netMode = EAdhoc;
- TInt secMode = iCmPluginBaseEng.GetIntAttributeL(
- EWlanSecurityMode );
- if( secMode != EWlanSecModeOpen &&
- secMode != EWlanSecModeWep )
- {
- iCmPluginBaseEng.SetIntAttributeL( EWlanSecurityMode,
- EWlanSecModeOpen );
- }
- }
- else
- {
- netMode = EInfra;
- }
- iCmPluginBaseEng.SetIntAttributeL( EWlanConnectionMode, netMode );
- UpdateListBoxContentL();
- }
- break;
- }
- case EWlanSSID:
- {
- ShowWlanNWNamePageL();
- break;
- }
- default:
- {
- CmPluginBaseSettingsDlg::ShowPopupSettingPageL( aAttribute,
- aCommandId );
- break;
- }
- }
- return retval;
- }
-
-
-// --------------------------------------------------------------------------
-// CmPluginWlanSettingsDlg::ExitSettingsL
-// --------------------------------------------------------------------------
-//
-void CmPluginWlanSettingsDlg::ExitSettingsL( TBool aConfirm )
- {
- if ( STATIC_CAST( CCmPluginWlan*, &iCmPluginBaseEng )->
- AreSecuritySettingsValidL() )
- {
- if ( iIsPossibleToSaveSetting && iHasSettingChanged )
- {
- iCmPluginBaseEng.UpdateL();
- iHasSettingChanged = EFalse;
- }
- TryExitL( iExitReason );
- }
- else
- {
- HBufC* netwName = iCmPluginBaseEng.GetStringAttributeL( EWlanSSID );
- TBool noNetwName = ETrue;
- CleanupStack::PushL( netwName );
- if ( *netwName != KNullDesC )
- {
- noNetwName = EFalse;
- }
- CleanupStack::PopAndDestroy( netwName );
-
- if ( noNetwName )
- {
- if ( aConfirm )
- {
- if ( TCmCommonUi::ShowConfirmationQueryL(
- R_QTN_WLAN_QUEST_NW_NAME_NOT_DEFINED ) )
- {
- iExitReason = KDialogUserDelete;
- TryExitL( iExitReason );
- }
- else
- {
- // Find the index of the EWlanSSID item
- for ( TInt i = 0; i < iSettingIndex->Count(); i++ )
- {
- if ( iSettingIndex->At(i) == EWlanSSID )
- {
- SelectItem(i);
- break;
- }
- }
- }
- }
- else
- {
- TryExitL( iExitReason );
- }
- }
- else
- {
- if ( iCmPluginBaseEng.GetIntAttributeL( EWlanSecurityMode ) ==
- EWlanSecModeOpen )
- {
- if ( iIsPossibleToSaveSetting && iHasSettingChanged)
- {
- iCmPluginBaseEng.UpdateL();
- iHasSettingChanged = EFalse;
- }
- TryExitL( iExitReason );
- }
- else
- {
- if ( aConfirm )
- {
- if ( TCmCommonUi::ShowConfirmationQueryL(
- R_QTN_WLAN_QUEST_SECURITY_SETTINGS_EMPTY ) )
- {
- iExitReason = KDialogUserDeleteConfirmed;
- TryExitL( iExitReason );
- }
- else
- {
- // Show the securitysettings page for WEP, other security mode
- // is not supported here(WPA has a default value)...
- ShowPopupSettingPageL( EWlanSecuritySettings, EWlanSecModeWep );
- }
- }
- else
- {
- TryExitL( iExitReason );
- }
- }
- }
- }
- }
-
-
-// --------------------------------------------------------------------------
-// CmPluginWlanSettingsDlg::OkToExitL
-// Good to know : EAknSoftkeyCancel is never called, because
-// EEikDialogFlagNotifyEsc flag is not set in the resource.
-// --------------------------------------------------------------------------
-//
-TBool CmPluginWlanSettingsDlg::OkToExitL( TInt aButtonId )
- {
- // Database has been changed by other application so exit from this view
- // without update editings to database
- if ( !iCanEditingContinue )
- {
- if ( iExitReason == KDialogUserExit )
- {
- iCmPluginBaseEng.CmMgr().WatcherUnRegister();
-
- // Set iExitReason back to KDialogUserBack so as to exit from this view through else in the next call
- TInt exitValue = KDialogUserExit;
- iExitReason = KDialogUserBack;
- // If destination has been deleted by other application
- // then we may have to exit from Cmmgr
- TryExitL( exitValue );
- return EFalse;
- }
- else
- {
- // Exit from this view here to avoid possible update to databse
- return ETrue;
- }
- }
-
- // Translate the button presses into commands for the appui & current
- // view to handle
- TBool retval( EFalse );
-
- switch ( aButtonId )
- {
- case EAknSoftkeyOk:
- case EAknSoftkeyChange:
- {
- ProcessCommandL( aButtonId );
- break;
- }
- case EAknSoftkeyBack:
- {
- ProcessCommandL( aButtonId );
- break;
- }
- case EAknSoftkeyOptions:
- {
- DisplayMenuL();
- break;
- }
- case KDialogUserExit:
- {
- if ( iSecDialExit )
- {
- iSecDialExit = EFalse;
- }
- retval=ETrue;
- break;
- }
- default:
- {
- retval = ETrue;
- break;
- }
- }
-
- return retval;
- }
-
-
-// --------------------------------------------------------------------------
-// CmPluginWlanSettingsDlg::ProcessCommandL
-// --------------------------------------------------------------------------
-//
-void CmPluginWlanSettingsDlg::ProcessCommandL( TInt aCommandId )
- {
- if ( !iCanEditingContinue )
- {
- // We have to block all editing activity if database changed by
- // other application
- return;
- }
-
- if ( MenuShowing() )
- {
- HideMenu();
- }
-
- switch ( aCommandId )
- {
- case EPluginBaseCmdExit:
- {
- iExitReason = KDialogUserExit;
- }
- case EAknSoftkeyBack:
- {
- CCmManagerImpl& cmMgr = iCmPluginBaseEng.CmMgr();
- cmMgr.WatcherUnRegister();
-
- ExitSettingsL(ETrue);
- break;
- }
- case EPluginBaseCmdAdvanced:
- {
- RunAdvancedSettingsL();
- break;
- }
- case EPluginBaseCmdChange:
- case EAknSoftkeyOk:
- {
- TUint32 attrib = iSettingIndex->At( iListbox->CurrentItemIndex() );
- ShowPopupSettingPageL( attrib, aCommandId );
- break;
- }
- default:
- {
- CmPluginBaseSettingsDlg::ProcessCommandL( aCommandId );
- break;
- }
- }
- }
-
-// --------------------------------------------------------------------------
-// CmPluginWlanSettingsDlg::GetHelpContext
-// --------------------------------------------------------------------------
-//
-void CmPluginWlanSettingsDlg::GetHelpContext( TCoeHelpContext& aContext ) const
- {
- LOGGER_ENTERFN( "CmPluginWlanSettingsDlg::GetHelpContext" );
- aContext.iMajor = KHelpUidPlugin;
- aContext.iContext = KSET_HLP_AP_SETTING_WLAN;
- }
-
-// --------------------------------------------------------------------------
-// CmPluginWlanSettingsDlg::CommsDatChangesL
-// --------------------------------------------------------------------------
-//
-void CmPluginWlanSettingsDlg::CommsDatChangesL()
- {
- if ( !iCanEditingContinue )
- {
- return;
- }
-
- CCmManagerImpl& cmMgr = iCmPluginBaseEng.CmMgr();
- CCmDestinationImpl* parentDest = iCmPluginBaseEng.ParentDestination();
-
- if ( parentDest )
- {
- if( !cmMgr.DestinationStillExistedL( parentDest ) )
- {
- // If parent destination is deleted by somebody then the dialog must exit back to main view
- iExitReason = KDialogUserExit;
- iCanEditingContinue = EFalse;
-
- cmMgr.RemoveDestFromPool( parentDest );
- delete parentDest;
- return;
- }
-
- // We may have to go back to parent view if database is changed by other application
- iCanEditingContinue = EFalse;
-
- cmMgr.RemoveDestFromPool( parentDest );
- delete parentDest;
- }
- else // Legacy
- {
- // We may have to go back to parent view if database is changed by other application
- iCanEditingContinue = EFalse;
- }
- }
-
-// --------------------------------------------------------------------------
-// CmPluginWlanSettingsDlg::NotifyParentView
-// --------------------------------------------------------------------------
-//
-void CmPluginWlanSettingsDlg::NotifyParentView( TInt aValue )
- {
- iNotifyFromAdv = aValue;
- }
-
-// --------------------------------------------------------------------------
-// CmPluginWlanSettingsDlg::HandleCommsDatChangeL
-// --------------------------------------------------------------------------
-//
-void CmPluginWlanSettingsDlg::HandleCommsDatChangeL()
- {
- if ( iCanEditingContinue )
- {
- // Set iCanEditingContinue to False so that exit fromn this view without update editings
- iCanEditingContinue = EFalse;
- }
-
- if( iNotifyFromAdv == KCmNotifiedIapIsNotInThisDestination ||
- iNotifyFromAdv == KCmNotifiedIapDisappear )
- {
- TryExitL( iExitReason );
- }
- else if( iNotifyFromAdv == KCmNotifiedDestinationDisappear )
- {
- iExitReason = KDialogUserExit;
- TryExitL( iExitReason );
- }
- }