securitysettings/cpeapuiplugins/cpeaptlsmethodsui/src/cpeaptlsmethodsui.cpp
branchRCL_3
changeset 46 c74b3d9f6b9e
parent 45 bad0cc58d154
child 55 9c2aa05919d9
--- a/securitysettings/cpeapuiplugins/cpeaptlsmethodsui/src/cpeaptlsmethodsui.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,985 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0"
- * 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:
- *   Control Panel QT UI for TLS-based EAP methods configuration
- *
- */
-
-/*
- * %version: 24 %
- */
-
-// System includes
-#include <HbDataForm>
-#include <HbDataFormModel>
-#include <HbDataFormViewItem>
-#include <HbParameterLengthLimiter>
-#include <HbMessageBox> 
-#include <HbAction>
-#include <HbLineEdit>
-#include <cpsettingformitemdata.h>
-#include <cpitemdatahelper.h>
-#include <eapqtvalidator.h>
-#include <eapqtexpandedeaptype.h>
-#include <eapqtcertificateinfo.h>
-#include <cppluginutility.h>
-
-// User includes
-#include "cpeapciphersuiteui.h"
-#include "cpeaptlsmethodsui.h"
-#include "cpeaptlsmethodsinnereapui.h"
-
-/*!
- * \class CpEapTlsMethodsUi
- * \brief Implementes TLS based methods configuration ui. 
- */
-
-// External function prototypes
-
-// Local constants
-
-/*!
- * ComboBox index is unkown
- */
-static const int UnknownIndex = -1;
-/*!
- * Default index for ComboBox, used if no value has been stored
- */
-static const int DefaultIndex = 0;
-/*!
- * Index of 'Not in use'in certificate selection lists.
- */
-static const int NotInUseIndex = 0;
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-/*!
- * Constructor.
- * 
- * @param bearer        Bearer type of the accessed configuration.
- * @param iapId         IAP ID of the accessed configuration.
- * @param plugin        Plugin.
- * @param outerHandle   Outer handle.
- */
-
-CpEapTlsMethodsUi::CpEapTlsMethodsUi(
-    const EapQtConfigInterface::EapBearerType bearer,
-    const int iapId,
-    const EapQtPluginInfo &plugin,
-    const EapQtPluginHandle& outerHandle) :
-        mConfigIf(NULL),
-        mPluginInfo(plugin),
-        mOuterHandle(outerHandle),
-        mForm(NULL),
-        mModel(NULL),
-        mItemDataHelper(NULL),
-        mGroupItem(NULL),
-        mUsernameAutomatic(NULL),
-        mUsername(NULL),
-        mRealmAutomatic(NULL),
-        mRealm(NULL),
-        mCaCertAutomatic(NULL),
-        mCaCert(NULL),
-        mPeapVersion(NULL),
-        mInnerEapType(NULL),
-        mGroupItemCs(NULL),
-        mCurrentUserCert(0),
-        mCurrentAuthorityCert(0),
-        mCurrentPeapVersion(0),
-        mCurrentInnerPlugin(0),
-        mInnerEapMschapv2(0),
-        mInnerEapGtc(0),
-        mDefaultPluginInUse(false)
-{
-    qDebug("CpEapTlsMethodsUi::CpEapTlsMethodsUi()");
-
-    // IAP must be valid in construction (check includes
-    // EapQtConfigInterface::IapIdUndefined)
-    if (iapId < 0) {
-        QT_THROW(std::bad_alloc());
-        // scoped pointer gets deleted automaticaly on exception
-    }
-
-    // Get EAP config interface
-    mConfigIf.reset(new EapQtConfigInterface(bearer, iapId));
-    
-    // Request supported inner EAP types
-    mPlugins.append(mConfigIf->supportedInnerTypes(mPluginInfo.pluginHandle()));
-
-    // Create UI
-    createUi();
-}
-
-/*!
- * Destructor.
- */
-CpEapTlsMethodsUi::~CpEapTlsMethodsUi()
-{
-    qDebug("CpEapTlsMethodsUi::~CpEapTlsMethodsUi()");
-    
-    // mEapQtConfigInterface: scoped pointer deleted automatically
-    // mValidatorRealm: scoped pointer deleted automatically
-    // mValidatorUsername: scoped pointer deleted automatically
-}
-
-/*!
- * Calls inner UI instance
- * 
- * @return pointer to inner UI instance
- */
-CpBaseSettingView *CpEapTlsMethodsUi::innerUiInstance()
-{
-    return mConfigIf->uiInstance(mPluginInfo.pluginHandle(),
-        mPlugins.at(mCurrentInnerPlugin).pluginHandle());
-}
-
-/*!
- * Creates TLS based methods UI and initilizes settings read via
- * EapQtConfigInterface
- */
-void CpEapTlsMethodsUi::createUi()
-{
-    qDebug("CpEapTlsMethodsUi::createUi()");
-
-    // Read EAP Configurations
-    bool configurationRead = mConfigIf->readConfiguration(mOuterHandle, mPluginInfo.pluginHandle(),
-        mEapConfig);
-    if (!configurationRead) {
-        qDebug("CpEapTlsMethodsUi::createUi - read configuration failed.");
-    }
-    
-    // Construct TLS based methods settings UI
-    mForm = new HbDataForm();
-    this->setWidget(mForm);
-    CpPluginUtility::addCpItemPrototype(mForm);
-    mModel = new HbDataFormModel(mForm);
-    
-    // Create settings group
-    mGroupItem = new HbDataFormModelItem(HbDataFormModelItem::GroupItem,
-        HbParameterLengthLimiter(
-            hbTrId("txt_occ_subhead_eap_module_settings")).arg(
-            mPluginInfo.localizationId()));
-    mModel->appendDataFormItem(mGroupItem);
-
-    // The parameter given as 0 is a HbDataForm pointer, not parent
-    mItemDataHelper = new CpItemDataHelper(0);
-    mItemDataHelper->setParent(this);
-
-    // Create method specific UI
-    if (mPluginInfo.pluginHandle() == EapQtPluginHandle::PluginEapTls) {
-        createTlsUi();
-    }
-    else if (mPluginInfo.pluginHandle() == EapQtPluginHandle::PluginEapTtls) {
-        createTtlsUi();
-    }
-    else if (mPluginInfo.pluginHandle() == EapQtPluginHandle::PluginPeap) {
-        createPeapUi();
-    }
-    else {
-        qDebug("CpEapTlsMethodsUi::createUi() - unknown EAP method");
-    }
-    
-    // Load cipher suites view
-    QVariant variant;
-    variant = mEapConfig.value(EapQtConfig::CipherSuites);
-    mGroupItemCs = new CpEapCiphersuiteUi(variant);
-    mModel->appendDataFormItem(mGroupItemCs);
-
-    mItemDataHelper->bindToForm(mForm);
-    mForm->setModel(mModel);
-
-    // Connect signal to add validators
-    bool connected = connect(mForm, SIGNAL( itemShown(const QModelIndex&) ), this,
-        SLOT( setValidator(const QModelIndex) ));
-    Q_ASSERT(connected); 
-    
-    // Expand TLS based method settings group
-    mForm->setExpanded(mModel->indexFromItem(mGroupItem), true);
-}
-
-/*!
- * Creates EAP-TLS settings UI
- */
-void CpEapTlsMethodsUi::createTlsUi()
-{
-    qDebug("CpEapTlsMethodsUi::createTlsUi()");
-    // Create common TLS settings componenets
-    createAuthorityCerts();
-    createUserCerts();
-    createUsername();
-    createRealm();
-}
-
-/*!
- * Creates EAP-TTLS settings UI
- */
-void CpEapTlsMethodsUi::createTtlsUi()
-{
-    qDebug("CpEapTlsMethodsUi::createTtlsUi()");
-    // Create common TLS settings componenets
-    createAuthorityCerts();
-    createUserCerts();
-    createUsername();
-    createRealm();
-    
-    // Create Inner Eap type selection comboBox and configuration button
-    createInnerMethod();
-}
-
-/*!
- * Creates PEAP settings UI
- */
-void CpEapTlsMethodsUi::createPeapUi()
-{
-    qDebug("CpEapTlsMethodsUi::createPeapUi()");
-    // Create common TLS settings componenets
-    createAuthorityCerts();
-    createUserCerts();
-    createUsername();
-    createRealm();
- 
-    // Create PEAP version selection comboBox
-    createPeapVersion();
-    
-    // Create Inner Eap type selection comboBox and configuration button    
-    createInnerMethod();
-    
-    // If not stored inner Eap type, set default inner EAP method
-    // according PEAP version
-    if (mDefaultPluginInUse) {
-        defaultInnerPlugin();
-    }
-}
-/*!
- * Creates Username group:
- * Generate automatically checkBox and username lineEdit
- */
-void CpEapTlsMethodsUi::createUsername()
-{
-    qDebug("CpEapTlsMethodsUi::createUsername()");
-    // UsernameAutomatic
-    mUsernameAutomatic = new CpSettingFormItemData(HbDataFormModelItem::CheckBoxItem, hbTrId(
-        "txt_occ_setlabel_user_name"));
-    mUsernameAutomatic->setContentWidgetData("text", hbTrId(
-        "txt_occ_setlabel_user_name_val_generate_automatica"));
-    // Initialize the value from EapQtConfig
-    // Generate username automatically is selected by default
-    mUsernameAutomatic->setContentWidgetData("checkState", boolToCheckState(mEapConfig.value(
-        EapQtConfig::UsernameAutomatic).toBool()));
-    // Connect signal to disable/enable username when usernameAutomatic changed   
-    mForm->addConnection(mUsernameAutomatic, SIGNAL(stateChanged(int)), this,
-        SLOT(usernameAutomaticChanged(int)));
-    mGroupItem->appendChild(mUsernameAutomatic);
-
-    //Username
-    mUsername = new CpSettingFormItemData(HbDataFormModelItem::TextItem, hbTrId(
-        "txt_occ_setlabel_user_name"));
-    mUsername->setContentWidgetData("text", mEapConfig.value(EapQtConfig::Username));
-    // Dim username if usernameAutomatic selected
-    usernameAutomaticChanged(mUsernameAutomatic->contentWidgetData("checkState") == Qt::Checked);
-    mGroupItem->appendChild(mUsername);
-}
-
-/*!
- * Creates Realm group:
- * Generate automatically checkBox and realm lineEdit
- */
-void CpEapTlsMethodsUi::createRealm()
-{
-    qDebug("CpEapTlsMethodsUi::createRealm()");
-    // RealmAutomatic
-    mRealmAutomatic = new CpSettingFormItemData(HbDataFormModelItem::CheckBoxItem, hbTrId(
-        "txt_occ_setlabel_realm"));
-    mRealmAutomatic->setContentWidgetData("text", hbTrId(
-        "txt_occ_setlabel_realm_val_generate_automatically"));
-    // Initialize the value from EapQtConfig
-    // Generate realm automatically is selected by default
-    mRealmAutomatic->setContentWidgetData("checkState", boolToCheckState(mEapConfig.value(
-        EapQtConfig::RealmAutomatic).toBool()));
-    // connect signal to disable/enable realm when realmAutomatic changed 
-    mForm->addConnection(mRealmAutomatic, SIGNAL(stateChanged(int)), this,
-        SLOT(realmAutomaticChanged(int)));
-    mGroupItem->appendChild(mRealmAutomatic);
-
-    //Realm
-    mRealm = new CpSettingFormItemData(HbDataFormModelItem::TextItem, hbTrId(
-        "txt_occ_setlabel_realm"));
-    mRealm->setContentWidgetData("text", mEapConfig.value(EapQtConfig::Realm));
-    // Dim realm if realmAutomatic selected
-    realmAutomaticChanged(mRealmAutomatic->contentWidgetData("checkState") == Qt::Checked);
-    mGroupItem->appendChild(mRealm); 
-}
-
-/*!
- * Creates User certificate selection comboBox
- */
-void CpEapTlsMethodsUi::createUserCerts()
-{
-    qDebug("CpEapTlsMethodsUi::createUserCerts()");
-    // Create User certificate comboBox
-    CpSettingFormItemData *userCertList = new CpSettingFormItemData(
-        HbDataFormModelItem::ComboBoxItem, 
-        hbTrId("txt_occ_setlabel_user_certificate"));
-    
-    // Stored certificate
-    QList<QVariant> storedCertsList = mEapConfig.value(EapQtConfig::UserCertificate).toList();
-    EapQtCertificateInfo storedCert;
-    if (!storedCertsList.empty() && storedCertsList[0].canConvert<EapQtCertificateInfo> ()) {
-        // Stored certificate found, index is still unknown 
-        storedCert = storedCertsList[0].value<EapQtCertificateInfo> ();
-        mCurrentUserCert = UnknownIndex;
-    }
-    else {
-        // no stored certificate, use 'not in use'
-        mCurrentUserCert = DefaultIndex;
-    }
-
-    // User certificates found from system
-    mUserCerts = mConfigIf->userCertificates();
-    
-    // List of comboBox items
-    QStringList items;
-    // Add 'Not in use' to comboBox list
-    items << hbTrId("txt_occ_setlabel_user_certificate_val_not_in_use");
-    // Add certificates to comboBox list and find index of stored certificate
-    for (int i = 0; i < mUserCerts.count(); ++i) {
-        items << mUserCerts.at(i).value(EapQtCertificateInfo::CertificateLabel).toString();
-        if (mCurrentUserCert == UnknownIndex 
-            && storedCert.value(EapQtCertificateInfo::SubjectKeyId)
-            == mUserCerts.at(i).value(EapQtCertificateInfo::SubjectKeyId)) {
-            mCurrentUserCert = i + 1;
-        }
-    }
-    if (mCurrentUserCert == UnknownIndex) {
-        // Stored certificate not found in the certificate list
-        qDebug("CpEapTlsMethodsUi::createUserCerts() - stored certificate not in the list");
-        mCurrentUserCert = DefaultIndex;
-    }
-    
-    // Initialize comboBox
-    userCertList->setContentWidgetData("items", items);
-    userCertList->setContentWidgetData("currentIndex", mCurrentUserCert);
-    
-    // Get info when user certificate selection has been changed
-    mForm->addConnection(userCertList, SIGNAL(currentIndexChanged(int)), this,
-        SLOT(userCertChanged(int)));
-    mGroupItem->appendChild(userCertList);
-}
-
-/*!
- * Creates Authority certs group:
- * Select automatically check box and certificate comboBox
- */
-void CpEapTlsMethodsUi::createAuthorityCerts()
-{
-    qDebug("CpEapTlsMethodsUi::createAuthorityCerts()");
-    // Select Authority Certificate Automatically
-    mCaCertAutomatic = new CpSettingFormItemData(HbDataFormModelItem::CheckBoxItem, hbTrId(
-        "txt_occ_setlabel_authority_certificate"));
-    mCaCertAutomatic->setContentWidgetData("text", hbTrId(
-        "txt_occ_setlabel_authority_certificate_val_select"));
-    // Initialize the value from EapQtConfig
-    // Select CA Cert automatically is selected by default
-    mCaCertAutomatic->setContentWidgetData("checkState", boolToCheckState(mEapConfig.value(
-        EapQtConfig::AuthorityCertificateAutomatic).toBool()));
-    // connect signal to disable/enable CA cert when CaCertAutomatic changed 
-    mForm->addConnection(mCaCertAutomatic, SIGNAL(stateChanged(int)), this,
-        SLOT(authorityCertAutomaticChanged(int)));
-    mGroupItem->appendChild(mCaCertAutomatic);
-    
-    // Authority certificate comboBox
-    mCaCert = new CpSettingFormItemData(HbDataFormModelItem::ComboBoxItem, 
-        hbTrId("txt_occ_setlabel_authority_certificate"));
-    
-    // Stored certificate from EAP configuration
-    QList<QVariant> storedCertsList = mEapConfig.value(EapQtConfig::AuthorityCertificate).toList();
-    EapQtCertificateInfo storedCert;
-    if (!storedCertsList.empty() && storedCertsList[0].canConvert<EapQtCertificateInfo> ()) {
-        // Stored certificate found, index is still unknown 
-        storedCert = storedCertsList[0].value<EapQtCertificateInfo> ();
-        mCurrentAuthorityCert = UnknownIndex;
-    }
-    else {
-        // no selected certificate, use 'not in use'
-        mCurrentAuthorityCert = DefaultIndex;
-    }
-
-    // Authority certificates found from system
-    mAuthorityCerts = mConfigIf->certificateAuthorityCertificates();
-    
-    // List of comboBox items
-    QStringList items;
-    // Add 'Not in use' to comboBox list
-    items << hbTrId("txt_occ_setlabel_authority_certificate_val_not_in");
-    // Add certificates to comboBox list and find index of stored certificate 
-    for (int i = 0; i < mAuthorityCerts.count(); ++i) {
-        items << mAuthorityCerts.at(i).value(EapQtCertificateInfo::CertificateLabel).toString();
-        if (mCurrentAuthorityCert == UnknownIndex 
-            && storedCert.value(EapQtCertificateInfo::SubjectKeyId)
-            == mAuthorityCerts.at(i).value(EapQtCertificateInfo::SubjectKeyId)) {
-            mCurrentAuthorityCert = i + 1;
-        }
-    }
-    if (mCurrentAuthorityCert == UnknownIndex) {
-        // Selected certificate not found in the certificate list
-        mCurrentAuthorityCert = DefaultIndex;
-    }
-    
-    // Initialize Authority certificates comboBox
-    mCaCert->setContentWidgetData("items", items);
-    mCaCert->setContentWidgetData("currentIndex", mCurrentAuthorityCert);
-    
-    // Get info when authority certificate selection has been changed
-    mForm->addConnection(mCaCert, SIGNAL(currentIndexChanged(int)), this,
-        SLOT(authorityCertChanged(int)));
-    // Dim authority certificate if select automatically checked
-    authorityCertAutomaticChanged(mCaCertAutomatic->contentWidgetData("checkState") == Qt::Checked);
-    mGroupItem->appendChild(mCaCert);
-}
-
-/*!
- * Creates PEAP version selection comboBox
- */
-void CpEapTlsMethodsUi::createPeapVersion()
-{
-    qDebug("CpEapTlsMethodsUi::createPeapVersion()");
-    // Create PEAP version comboBox
-    mPeapVersion = new CpSettingFormItemData(
-        HbDataFormModelItem::ComboBoxItem, 
-        hbTrId("txt_occ_setlabel_peap_version"));
-    
-    // Add items to comboBox List
-    QStringList items;
-    items << hbTrId("txt_occ_setlabel_peap_version_val_peapv0")
-        << hbTrId("txt_occ_setlabel_peap_version_val_peapv1")
-        << hbTrId("txt_occ_setlabel_peap_version_val_peapv0_or_peapv1");
-    mPeapVersion->setContentWidgetData("items", items);
-    
-    // Initialize PEAP version from EAP configuration
-    if (mEapConfig.value(EapQtConfig::PeapVersion0Allowed).toBool()
-        && mEapConfig.value(EapQtConfig::PeapVersion1Allowed).toBool()) {
-        // PEAPv0 or PEAPv1
-        mCurrentPeapVersion = PeapVersionBoth;
-    }
-    else if (mEapConfig.value(EapQtConfig::PeapVersion1Allowed).toBool()) {
-        // PEAPv1
-        mCurrentPeapVersion = PeapVersion1;
-    }
-    else if (mEapConfig.value(EapQtConfig::PeapVersion0Allowed).toBool()) {
-        // PEAPv0
-        mCurrentPeapVersion = PeapVersion0;
-    }
-    else {
-        qDebug("CpEapTlsMethodsUi::createPeapVersion() - unknown version");    
-        // Set default (PEAPv0 or PEAPv1)
-        mCurrentPeapVersion = PeapVersionBoth;
-    }
-    mPeapVersion->setContentWidgetData("currentIndex", mCurrentPeapVersion);
-
-    // Get info when PEAP version selection has been changed
-    mForm->addConnection(mPeapVersion, SIGNAL(currentIndexChanged(int)), this,
-        SLOT(peapVersionChanged(int)));
-    mGroupItem->appendChild(mPeapVersion);
-}
-
-/*!
- * Creates inner EAP type selection comboBox and configure button
- */
-void CpEapTlsMethodsUi::createInnerMethod()
-{
-    qDebug("CpEapTlsMethodsUi::createInnerMethod()");
-    // Create inner EAP type selection combo box
-    createEapSelector();
-    // Create 'configure inner EAP type' button
-    EapInnerMethodEntryItemData *eapEntry = NULL;
-    eapEntry = new EapInnerMethodEntryItemData(this, *mItemDataHelper,
-        hbTrId("txt_occ_button_inner_eap_type"));
-    mGroupItem->appendChild(eapEntry);    
-}
-
-/*!
- * Creates Combo box for inner EAP type selection
- */
-void CpEapTlsMethodsUi::createEapSelector()
-{
-    mInnerEapType = new CpSettingFormItemData(
-        HbDataFormModelItem::ComboBoxItem, 
-        hbTrId("txt_occ_setlabel_inner_eap_type"));
-
-    // Selected inner EAP type stored into the database
-    QList<QVariant> currentEapList = mEapConfig.value(EapQtConfig::InnerType).toList();
-    EapQtPluginHandle readInnerEap;
-    if (!currentEapList.empty() && currentEapList[0].canConvert<EapQtPluginHandle> ()) {
-        readInnerEap = currentEapList[0].value<EapQtPluginHandle> ();
-        mCurrentInnerPlugin = UnknownIndex;
-    }
-    else {
-        // no selected inner EAP type, use the first one
-        mCurrentInnerPlugin = DefaultIndex;
-        mDefaultPluginInUse = true;
-    }
-    
-    QStringList items;
-    for (int i = 0; i < mPlugins.count(); ++i) {
-        // Add certificate to comboBox list
-        items << mPlugins.at(i).localizationId();
-        if (mCurrentInnerPlugin == UnknownIndex && readInnerEap.pluginId() 
-            == mPlugins.at(i).pluginHandle().pluginId()) {
-            // Store index of selected certificate
-            mCurrentInnerPlugin = i;
-        }
-        if (mPlugins.at(i).pluginHandle().pluginId() == EapQtPluginHandle::PluginEapMschapv2) {
-            // Store index of EAP-MSCHAPv2 (used as default with PEAP and unauthenticated FAST)
-            mInnerEapMschapv2 = i;
-        }
-        else if (mPlugins.at(i).pluginHandle().pluginId() == EapQtPluginHandle::PluginEapGtc) {
-            // Store index of EAP-GTC (Used as default with PEAPv1)
-            mInnerEapGtc = i;
-        }
-    }
-    if (mCurrentInnerPlugin == UnknownIndex) {
-        // Selected inner EAP type not found
-        mCurrentInnerPlugin = DefaultIndex;
-        mDefaultPluginInUse = true;      
-    }
-    
-    mInnerEapType->setContentWidgetData("items", items);
-    mInnerEapType->setContentWidgetData("currentIndex", mCurrentInnerPlugin);
-    
-    mForm->addConnection(mInnerEapType, SIGNAL(currentIndexChanged(int)), this,
-        SLOT(innerEapTypeChanged(int)));
-    
-    mGroupItem->appendChild(mInnerEapType);
-}
-
-/*!
- * Adds validators.
- * 
- * @param modelIndex Model index
- */
-void CpEapTlsMethodsUi::setValidator(const QModelIndex modelIndex)
-{
-    qDebug("CpEapTlsMethodsUi::itemActivated");
-
-    HbDataFormViewItem *viewItem = qobject_cast<HbDataFormViewItem *>
-        (mForm->itemByIndex(modelIndex));
-    HbDataFormModelItem *modelItem = mModel->itemFromIndex(modelIndex);
-    
-    if (modelItem == mUsername) {
-        // When username lineEdit is activated (shown) first time, validator is added
-        mValidatorUsername.reset(mConfigIf->validatorEap(mPluginInfo.pluginHandle().type(),
-            EapQtConfig::Username));
-        HbLineEdit *edit = qobject_cast<HbLineEdit *> (viewItem->dataItemContentWidget());
-        mValidatorUsername->updateEditor(edit);
-    }
-    else if (modelItem == mRealm) {
-        // When realm lineEdit is activated (shown) first time, validator is added
-        mValidatorRealm.reset(mConfigIf->validatorEap(mPluginInfo.pluginHandle().type(),
-                EapQtConfig::Realm));
-        HbLineEdit *edit = qobject_cast<HbLineEdit *> (viewItem->dataItemContentWidget());
-        mValidatorRealm->updateEditor(edit);
-    }
-}
-
-/*!
- * Sets default Inner EAP method according PEAP version
- */
-void CpEapTlsMethodsUi::defaultInnerPlugin()
-{
-    qDebug("CpEapTlsMethodsUi::defaultInnerPlugin()");
-    if (mCurrentPeapVersion == PeapVersion1) {
-        mInnerEapType->setContentWidgetData("currentIndex", mInnerEapGtc);
-        mCurrentInnerPlugin = mInnerEapGtc;
-    }
-    else {
-        mInnerEapType->setContentWidgetData("currentIndex", mInnerEapMschapv2);
-        mCurrentInnerPlugin = mInnerEapMschapv2;
-    }  
-}
-
-/*!
- * Stores the index of selected user certificate
- * 
- * @param value Index of selected certificate.
- */
-void CpEapTlsMethodsUi::userCertChanged(int value)
-{
-    qDebug("CpEapTlsMethodsUi::userCertChanged()");
-    mCurrentUserCert = value;
-}
-
-/*!
- * Stores the index of selected authority certificate
- * 
- * @param value Index of selected certificate.
- */
-void CpEapTlsMethodsUi::authorityCertChanged(int value)
-{
-    qDebug("CpEapTlsMethodsUi::authorityCertChanged()");
-    mCurrentAuthorityCert = value;
-}
-
-/*!
- * Stores the index of selected PEAP version
- * 
- * @param value Index of selected PEAP version.
- */
-void CpEapTlsMethodsUi::peapVersionChanged(int value)
-{
-    qDebug("CpEapTlsMethodsUi::peapVersionChanged()");
-    mCurrentPeapVersion = value;
-    defaultInnerPlugin();
-}
-
-/*!
- * Stores the index of selected inner EAP type
- * 
- * @param value Index of selected ineer EAP type.
- */
-void CpEapTlsMethodsUi::innerEapTypeChanged(int value)
-{
-    qDebug("CpEapTlsMethodsUi::innerEapTypeChanged()");
-    mCurrentInnerPlugin = value;
-}
-
-/*!
- * Dims the username if generate username automatically has been selected.
- * 
- * @param state Tells is generate automatically checked.
- */
-void CpEapTlsMethodsUi::usernameAutomaticChanged(int state)
-{
-    qDebug("CpEapTlsMethodsUi::usernameAutomaticChanged");
-
-    mUsername->setContentWidgetData("enabled", !checkStateToBool(state));
-}
-
-/*!
- * Dims the realm if generate realm automatically has been selected.
- * 
- * @param state Tells is generate automatically checked.
- */
-void CpEapTlsMethodsUi::realmAutomaticChanged(int state)
-{
-    qDebug("CpEapTlsMethodsUi::realmAutomaticChanged");
-
-    mRealm->setContentWidgetData("enabled", !checkStateToBool(state));
-}
-
-/*!
- * Dims the authority certificate if select caCert automatically has been selected.
- * 
- * @param state Tells is select automatically checked.
- */
-void CpEapTlsMethodsUi::authorityCertAutomaticChanged(int state)
-{
-    qDebug("CpEapTlsMethodsUi::authorityCertAutomaticChanged");
-
-    mCaCert->setContentWidgetData("enabled", !checkStateToBool(state));
-}
-
-/*!
- * Converts check box state to boolean.
- * 
- * @param state Check box state
- * 
- * @return true if Check box is checked, false otherwise.
- */
-bool CpEapTlsMethodsUi::checkStateToBool(const int state)
-{
-    return (Qt::Unchecked == state ? false : true);
-}
-
-/*!
- * Converts boolean to check box state.
- * 
- * @param state Tells is check box checked.
- * 
- * @return Qt check state
- */
-int CpEapTlsMethodsUi::boolToCheckState(const bool state)
-{
-    return (false == state ? Qt::Unchecked : Qt::Checked);
-}
-
-/*!
- * This is called when user is about to exit the view.
- * Validates configuration and saves settings.
- * If configuration is not valid prompts question dialog.
- * If user chooses "OK" leaves without saving.
- * 
- */
-void CpEapTlsMethodsUi::close()
-{
-    qDebug("CpEapTlsMethodsUi::close");
-    
-    // Validate configuration
-    if (validate()) {
-        qDebug("CpEapTlsMethodsUi::close - Validation OK");
-        
-        // Store settings
-        if (storeSettings()){
-            qDebug("CpEapTlsMethodsUi::close - Settings stored, close view");
-            // Close view
-            CpBaseSettingView::close();   
-        }
-        else {
-            qDebug("CpEapTlsMethodsUi::close - Store settings failed, prompt warning");
-            // Store failed. Show error note to user
-            QScopedPointer<HbMessageBox> infoBox;
-            infoBox.reset(new HbMessageBox(
-                HbMessageBox::MessageTypeWarning));
-            infoBox->setText(hbTrId("txt_occ_info_unable_to_save_setting"));
-            infoBox->clearActions();
-            // Connect 'OK'-button to CpBaseSettingView 'aboutToClose'-signal
-            HbAction *okAction = new HbAction(hbTrId("txt_common_button_ok"));
-            infoBox->addAction(okAction);
-            bool connected = connect(
-                okAction,
-                SIGNAL(triggered()),
-                this,
-                SIGNAL(aboutToClose()));
-            Q_ASSERT(connected);
-            infoBox->open();
-            infoBox.take();
-        }
-    }
-    else {
-        qDebug("CpEapTlsMethodsUi::close - validation failed. Prompt question.");
-
-        // Validate failed. Request user to exit anyway
-        QScopedPointer<HbMessageBox> messageBox;
-        messageBox.reset(new HbMessageBox(
-            HbMessageBox::MessageTypeQuestion));
-        messageBox->setAttribute(Qt::WA_DeleteOnClose);
-        messageBox->setText(hbTrId("txt_occ_info_incomplete_details_return_without_sa"));
-        messageBox->clearActions();
-        // Connect 'YES'-button to CpBaseSettingView 'aboutToClose'-signal
-        HbAction *okAction = new HbAction(hbTrId("txt_common_button_yes"));
-        messageBox->addAction(okAction);
-        bool connected = connect(
-            okAction,
-            SIGNAL(triggered()),
-            this,
-            SIGNAL(aboutToClose()));
-        Q_ASSERT(connected);
-        // Clicking 'NO'-button does nothing
-        HbAction *cancelAction = new HbAction(hbTrId("txt_common_button_no"));
-        messageBox->addAction(cancelAction);
-        messageBox->setTimeout(HbPopup::NoTimeout);
-        messageBox->open();
-        messageBox.take();
-    }
-}
-
-/*!
- * Validates settings configuration.
- * 
- * @return true if configuration OK, false otherwise.
- */
-bool CpEapTlsMethodsUi::validate()
-{
-    qDebug("CpEapTlsMethodsUi::validate()");
-    bool valid = false;
-
-    if (validateUsernameGroup() 
-        && validateRealmGroup()
-        && validateAuthorityCertificate()
-        && validateUserCertificate()
-        && validateCiphersuites()) {
-        valid = true;
-    }
-
-    return valid;
-}
-
-/*!
- * Validates username checkBox and lineEdit group.
- * 
- * @return true if OK, false otherwise.
- */
-bool CpEapTlsMethodsUi::validateUsernameGroup()
-{
-    bool status = false;
-    // true if generate automatically is checked or given value is valid
-    if (mUsernameAutomatic->contentWidgetData("checkState") == Qt::Checked
-        || EapQtValidator::StatusOk == mValidatorUsername->validate(
-            mUsername->contentWidgetData("text"))) {
-        status = true;
-    }
-    qDebug("CpEapTlsMethodsUi::validateUsernameGroup() - status: %d", status);
-    return status;
-}
-
-/*!
- * Validates realm checkBox and lineEdit group.
- * 
- * @return true if OK, false otherwise.
- */
-bool CpEapTlsMethodsUi::validateRealmGroup()
-{
-    bool status = false;
-    // true if generate automatically is checked or given value is valid
-    if (mRealmAutomatic->contentWidgetData("checkState") == Qt::Checked
-        || EapQtValidator::StatusOk == mValidatorRealm->validate(
-            mRealm->contentWidgetData("text"))) {
-        status = true;
-    }
-    qDebug("CpEapTlsMethodsUi::validateRealmGroup() - status: %d", status);
-    return status;
-}
-
-/*!
- * Validates authority certificate checkBox and comboBox group.
- * 
- * @return true if OK, false otherwise.
- */
-bool CpEapTlsMethodsUi::validateAuthorityCertificate()
-{
-    bool status = false;
-    //true if select automatically is checked or certificate is selected
-    if (mCaCertAutomatic->contentWidgetData("checkState") == Qt::Checked
-        || mCurrentAuthorityCert > NotInUseIndex) {
-        status = true;
-    }
-    qDebug("CpEapTlsMethodsUi::validateAuthorityCertificate()- status: %d", status);
-    return status;
-}
-
-/*!
- * Validates user certificate selection.
- * 
- * @return false if EAP-TLS and no certificate, true otherwise
- */
-bool CpEapTlsMethodsUi::validateUserCertificate()
-{
-    bool status = true;
-    // false if EAP-TLS and not selected user certificate
-    if (mPluginInfo.pluginHandle() == EapQtPluginHandle::PluginEapTls
-        && mCurrentUserCert == NotInUseIndex) {
-        status = false;
-    }
-    qDebug("CpEapTlsMethodsUi::validateUserCertificate() - status: %d", status);
-    return status;
-}
-
-/*!
- * Validates cipher suites selection.
- * 
- * @return false if no cipher suite is selected, true otherwise
- */
-bool CpEapTlsMethodsUi::validateCiphersuites()
-{
-    bool status = true;
-    QVariant cipherSuites = mGroupItemCs->ciphersuites();
-    QList<QVariant> cipherList = cipherSuites.toList();
-    if (cipherList.count() == 0){
-        status = false;
-    }
-    qDebug("CpEapTlsMethodsUi::validateCiphersuites() - status: %d", status);
-    return status;
-}
-
-/*!
- * Write PEAP specific values into the EAP configuration
- * 
- * @param eapConfig
- */
-void CpEapTlsMethodsUi::setPeapVersion(EapQtConfig &eapConfig)
-{
-    qDebug("CpEapTlsMethodsUi::setPeapVersion()");
-    if (mCurrentPeapVersion == PeapVersion0) {
-        eapConfig.setValue(EapQtConfig::PeapVersion0Allowed, true);
-        eapConfig.setValue(EapQtConfig::PeapVersion1Allowed, false);
-    }
-    else if (mCurrentPeapVersion == PeapVersion1) {
-        eapConfig.setValue(EapQtConfig::PeapVersion0Allowed, false);
-        eapConfig.setValue(EapQtConfig::PeapVersion1Allowed, true);            
-    }
-    else {
-        Q_ASSERT(mCurrentPeapVersion == PeapVersionBoth);
-        eapConfig.setValue(EapQtConfig::PeapVersion0Allowed, true);
-        eapConfig.setValue(EapQtConfig::PeapVersion1Allowed, true);            
-    }    
-}
-
-/*!
- * Stores settings given via TLS based methods setting UI
- * 
- * @return false if saving failed, true otherwise
- */
-bool CpEapTlsMethodsUi::storeSettings()
-{
-    qDebug("CpEapTlsMethodsUi::storeSettings");
-
-    EapQtConfig eapConfig;
-
-    // Store common settings
-    qDebug("CpEapTlsMethodsUi::storeSettings - Common settings");
-    eapConfig.setValue(EapQtConfig::OuterType, qVariantFromValue(mOuterHandle));
-    eapConfig.setValue(EapQtConfig::UsernameAutomatic, checkStateToBool(
-        mUsernameAutomatic->contentWidgetData("checkState").toInt()));
-    eapConfig.setValue(EapQtConfig::Username, mUsername->contentWidgetData("text"));
-    eapConfig.setValue(EapQtConfig::RealmAutomatic, checkStateToBool(
-        mRealmAutomatic->contentWidgetData("checkState").toInt()));
-    eapConfig.setValue(EapQtConfig::Realm, mRealm->contentWidgetData("text"));
-
-    // User certificate
-    qDebug("CpEapTlsMethodsUi::storeSettings - User certificate");
-    if (mCurrentUserCert > NotInUseIndex) {
-        QList<QVariant> userCerts;
-        userCerts.append(qVariantFromValue(mUserCerts.at(mCurrentUserCert - 1)));
-        // The first item in UI(index 0) is 'not in use'
-        eapConfig.setValue(EapQtConfig::UserCertificate, userCerts); 
-    }
-
-    // Authority certificate
-    qDebug("CpEapTlsMethodsUi::storeSettings - Authority certificate");
-    eapConfig.setValue(EapQtConfig::AuthorityCertificateAutomatic, checkStateToBool(
-        mCaCertAutomatic->contentWidgetData("checkState").toInt()));
-    if (mCurrentAuthorityCert > NotInUseIndex && !checkStateToBool(
-        mCaCertAutomatic->contentWidgetData("checkState").toInt())) {
-        QList<QVariant> authorityCerts;
-        authorityCerts.append(qVariantFromValue(mAuthorityCerts.at(mCurrentAuthorityCert - 1)));
-        // The first item in UI(index 0) is 'not in use'
-        eapConfig.setValue(EapQtConfig::AuthorityCertificate, authorityCerts); 
-    }    
-    
-    // Inner EAP method (Not valid for EAP-TLS)
-    if (!(mPluginInfo.pluginHandle() == EapQtPluginHandle::PluginEapTls)) {
-        qDebug("CpEapTlsMethodsUi::storeSettings - Inner EAP method");
-        QList<QVariant> innerEaps;
-        innerEaps.append(qVariantFromValue(mPlugins.at(mCurrentInnerPlugin).pluginHandle()));
-        eapConfig.setValue(EapQtConfig::InnerType, innerEaps);
-    }
-
-    // Cipher suites
-    qDebug("CpEapTlsMethodsUi::storeSettings - Cipher suites");
-    eapConfig.setValue(EapQtConfig::CipherSuites, mGroupItemCs->ciphersuites());
-    
-    // PEAP version (valid only for PEAP)
-    if (mPluginInfo.pluginHandle() == EapQtPluginHandle::PluginPeap) {
-        setPeapVersion(eapConfig);
-    }
-    
-    // Save configuration
-    if (!mConfigIf->saveConfiguration(mPluginInfo.pluginHandle(), eapConfig)) {
-        qDebug("CpEapTlsMethodsUi::storeSettings - configuration saving failed.");
-        return false;
-    }
-    return true;
-}
-