diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpwlansecurityuiplugins/cpwpacmnui/src/cpwpacmnui_p.cpp --- a/securitysettings/cpwlansecurityuiplugins/cpwpacmnui/src/cpwpacmnui_p.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,759 +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: - * Private Implementation for Control Panel QT UI for WPA/WPA2/802_Dot_1x configuration - * - */ - -/* - * %version: tr1cfwln#13 % - */ - -// User Includes -#include "cpwpacmnui_p.h" -#include "wpakeyvalidator.h" -#include "cpwpacmneapui.h" - -// System Includes -#include -#include -#include -#include -#include -#include -#include -#include -#include - -// Trace Definition -#include "OstTraceDefinitions.h" -#ifdef OST_TRACE_COMPILER_IN_USE -#include "cpwpacmnui_pTraces.h" -#endif - - -/*! - \class CpWpaCmnUiPrivate - \brief CpWpaCmnUiPrivate is a private class implementation the common Ui for WPA/WPA2/802.1x/WPA2 only - Security Settings Control Panel Plugins, - which will allow viewing/editing of WPA/WPA2/802.1x/WPA2 Security Settings. - */ -/*! - * Constructor Common Ui (WPA/WPA2/802.1x/WPA2only) object - * - * \param securityMode chosen by user , for which Ui is constructed and returned - * \param dataHelpper Control Panel Item data helpper object - * \param commonUi Pointer To public class for CpWpaCmnUiPrivate - */ -CpWpaCmnUiPrivate::CpWpaCmnUiPrivate(CMManagerShim::WlanSecMode securityMode, - CpItemDataHelper &dataHelpper) : - mDataHelper(dataHelpper), - mCmnUi(NULL), - mPskKeyText(NULL), - mEapPlugins(NULL), - mUnencryptedConnection(NULL), - mWpaEapItem(NULL), - mEapEntry(NULL), - mEapQtConfigInterface(NULL), - mSecurityMode(securityMode), - mConnMethod(NULL), - mEnablePskMode(true), - mCurrentEapPlugin(0), - mUnencryptState(false) -{ - Q_ASSERT( - mSecurityMode == CMManagerShim::WlanSecModeWpa || - mSecurityMode == CMManagerShim::WlanSecModeWpa2 || - mSecurityMode == CMManagerShim::WlanSecMode802_1x); - OstTrace1( TRACE_FLOW, DUP1_CPWPACMNUIPRIVATE_CPWPACMNUIPRIVATE, "CpWpaCmnUiPrivate::CpWpaCmnUiPrivate;mSecurityMode=%u", mSecurityMode ); - -} - -/*! - * Destructor - Deletes objects owned by Common Ui - */ -CpWpaCmnUiPrivate::~CpWpaCmnUiPrivate() -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_CPWPACMNUIPRIVATE_ENTRY, this ); - //delete all dynamically allocated objects - - mCmnUi = NULL; - mConnMethod = NULL; - - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_CPWPACMNUIPRIVATE_EXIT, this ); -} - -// ======== MEMBER FUNCTIONS ======== - -/*! - * Creates the Ui instance based on the security mode;WPAWPA2/802.1x/WPA2 only - * Owns the Ui instance - * - * \param eapQtConfigInterface to list all eap plugins - * \param mCmCM Connection MethoD Qt interface - * - * \return Ui instance for the security mode set - */ - -CpSettingFormItemData* CpWpaCmnUiPrivate::createUi( - EapQtConfigInterface *eapQtConfigInterface, - CmConnectionMethodShim *cmCM) -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_CREATEUI_ENTRY, this ); - - // NOT OWNED - mConnMethod = cmCM; - mEapQtConfigInterface = eapQtConfigInterface; - mPlugins.append(mEapQtConfigInterface->supportedOuterTypes()); - qSort(mPlugins.begin(), mPlugins.end(), CpWpaCmnUiPrivate::pluginLessThan); - - mCmnUi = new CpSettingFormItemData(HbDataFormModelItem::GroupItem, - hbTrId("txt_occ_subhead_security_settings")); - - //LoadUi based on the security mode - loadUi(); - - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_CREATEUI_EXIT, this ); - return mCmnUi; -} - -/*! - Load the CpSettingFormItemData components,for the - EAP mode - */ -CpBaseSettingView* CpWpaCmnUiPrivate::eapUiInstance() -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_EAPUIINSTANCE_ENTRY, this ); - - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_EAPUIINSTANCE_EXIT, this ); - return mEapQtConfigInterface->uiInstance(EapQtPluginHandle::PluginUndefined, - mPlugins.at(mCurrentEapPlugin).pluginHandle()); -} - - - -/*! - * Creates Combo box for PSK and EAP mode selection. - * - * @return CompoBox object. - */ -CpSettingFormItemData* CpWpaCmnUiPrivate::createWpaTypeSelector() -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_CREATEWPATYPESELECTOR_ENTRY, this ); - - // In case of the object exists just update the data - if (!mWpaEapItem) { - mWpaEapItem = new CpSettingFormItemData( - HbDataFormModelItem::ComboBoxItem, hbTrId( - "txt_occ_setlabel_wpawpa2"), mCmnUi); - - QStringList wpatype; - wpatype.append(hbTrId("txt_occ_setlabel_wpawpa2_val_eap")); - wpatype.append(hbTrId("txt_occ_setlabel_wpawpa2_val_preshared_key")); - - mWpaEapItem->setContentWidgetData("items", wpatype); - - mDataHelper.addConnection(mWpaEapItem, - SIGNAL(currentIndexChanged(int)), this, - SLOT(wpaTypeChanged(int))); - - mCmnUi->appendChild(mWpaEapItem); - } - - mWpaEapItem->setContentWidgetData("currentIndex", mEnablePskMode ? 1 : 0); - - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_CREATEWPATYPESELECTOR_EXIT, this ); - return mWpaEapItem; -} - -/*! - * Creates LineEditor for WPA-PSK - * - * @return LineEdit object. - */ -CpSettingFormItemData* CpWpaCmnUiPrivate::createPskEditor() -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_CREATEPSKEDITOR_ENTRY, this ); - - if (!mPskKeyText) { - mPskKeyText = new CpSettingFormItemData( - HbDataFormModelItem::TextItem, hbTrId( - "txt_occ_setlabel_preshared_key"), mCmnUi); - - mPskKeyText->setContentWidgetData("echoMode", HbLineEdit::PasswordEchoOnEdit); - mPskKeyText->setContentWidgetData("smileysEnabled", "false"); - mDataHelper.addConnection(mPskKeyText, SIGNAL( editingFinished ()), - this, SLOT(pskKeyChanged() )); - - mDataHelper.connectToForm(SIGNAL(itemShown (const QModelIndex &) ), - this, SLOT(setEditorPreferences(const QModelIndex &))); - - mCmnUi->appendChild(mPskKeyText); - } - - mPskKeyText->setContentWidgetData("text", mKeyData); - - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_CREATEPSKEDITOR_EXIT, this ); - return mPskKeyText; -} - -/*! - * Creates Combo box for EAP outer type selection - * - * @return CompoBox object. - */ -CpSettingFormItemData* CpWpaCmnUiPrivate::createEapSelector() -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_CREATEEAPSELECTOR_ENTRY, this ); - - if (!mEapPlugins) { - mEapPlugins = new CpSettingFormItemData( - HbDataFormModelItem::ComboBoxItem, - hbTrId("txt_occ_setlabel_eap_type")); - - QStringList list; - QList::iterator i; - for (i = mPlugins.begin() ; i != mPlugins.end() ; ++i){ - list << i->localizationId(); - } - - mEapPlugins->setContentWidgetData("items", list); - - mDataHelper.addConnection(mEapPlugins, - SIGNAL(currentIndexChanged(int)), this, - SLOT(eapTypeChanged(int))); - - mCmnUi->appendChild(mEapPlugins); - } - - mEapPlugins->setContentWidgetData("currentIndex", mCurrentEapPlugin); - - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_CREATEEAPSELECTOR_EXIT, this ); - return mEapPlugins; -} - -/*! - * Creates a button for EAP configurations - * - * @return EntryItem for EAP - */ -EapEntryItemData* CpWpaCmnUiPrivate::createEapEntryItem() -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_CREATEEAPENTRYITEM_ENTRY, this ); - - if (!mEapEntry) { - mEapEntry = new EapEntryItemData(this, mDataHelper, hbTrId( - "txt_occ_button_eap_type_settings")); - - mCmnUi->appendChild(mEapEntry); - } - - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_CREATEEAPENTRYITEM_EXIT, this ); - return mEapEntry; -} - -/*! - * Creates Combo box for Unencrypted selection - * - * @return CompoBox object. - */ -CpSettingFormItemData* CpWpaCmnUiPrivate::createUnencryptedBox() -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_CREATEUNENCRYPTEDBOX_ENTRY, this ); - - if (!mUnencryptedConnection) { - mUnencryptedConnection = new CpSettingFormItemData( - HbDataFormModelItem::CheckBoxItem, hbTrId( - "txt_occ_setlabel_unencrypted_connection"), mCmnUi); - - mUnencryptedConnection->setContentWidgetData("text", hbTrId( - "txt_occ_setlabel_unencrypted_connection_val_allowe")); - - mDataHelper.addConnection(mUnencryptedConnection, - SIGNAL( stateChanged(int)), this, - SLOT(unencryptConnStateChanged(int))); - - mCmnUi->appendChild(mUnencryptedConnection); - } - - mUnencryptedConnection->setContentWidgetData("checkState", - mUnencryptState ? Qt::Checked : Qt::Unchecked); - - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_CREATEUNENCRYPTEDBOX_EXIT, this ); - return mUnencryptedConnection; -} - -/*! - Removes provided object from the UI if it exists there and sets the pointer - to NULL. - - @param object object to be removed and nulled. - */ -void CpWpaCmnUiPrivate::removeObjectFromView(CpSettingFormItemData *&object) -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_REMOVEOBJECTFROMVIEW_ENTRY, this ); - - if (object) { - mCmnUi->removeChild(mCmnUi->indexOf(object)); - object = NULL; - } - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_REMOVEOBJECTFROMVIEW_EXIT, this ); -} - - -/*! - Load the CpSettingFormItemData components, based on the security - mode chosen. Only those components that are required by that security - mode are loaded - */ -void CpWpaCmnUiPrivate::loadUi() -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_LOADUI_ENTRY, this ); - - //Read values From CommsDatbase - int err; - QT_TRYCATCH_ERROR(err, ( readValues())); - if (err != KErrNone) { - OstTrace1( TRACE_ERROR, CPWPACMNUIPRIVATE_CREATEUI, "CPWPACMNUI ReadValues returned %d", err ); - } - - switch (mSecurityMode) - { - case CMManagerShim::WlanSecModeWpa: - case CMManagerShim::WlanSecModeWpa2: - createWpaTypeSelector(); - if (mEnablePskMode) { - loadWPAPskView(); - } - else { - loadWPAEapView(); - } - break; - - case CMManagerShim::WlanSecMode802_1x: - default: - Q_ASSERT(mSecurityMode == CMManagerShim::WlanSecMode802_1x); - createEapSelector(); - createEapEntryItem(); -#if 0 /* not supported for now */ - createUnencryptedBox(); -#endif /* #if 0 */ - break; - } - - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_LOADUI_EXIT, this ); -} - -/*! - Load the CpSettingFormItemData components,for the - Pre-Shared key mode - */ -void CpWpaCmnUiPrivate::loadWPAPskView() -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_LOADWPAPSKVIEW_ENTRY, this ); - - removeObjectFromView(mEapPlugins); - - if (mEapEntry) { - mCmnUi->removeChild(mCmnUi->indexOf(mEapEntry)); - mEapEntry = NULL; - } - createPskEditor(); - - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_LOADWPAPSKVIEW_EXIT, this ); -} - -/*! - Load the CpSettingFormItemData components,for the - EAP mode - */ -void CpWpaCmnUiPrivate::loadWPAEapView() -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_LOADWPAEAPVIEW_ENTRY, this ); - - removeObjectFromView(mPskKeyText); - createEapSelector(); - createEapEntryItem(); - - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_LOADWPAEAPVIEW_EXIT, this ); -} - -/*! - * Reads the wlan security wpa/wpa2 related fields from CommsDb - */ -void CpWpaCmnUiPrivate::loadWPA_WPA2Fields() -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_LOADWPA_WPA2FIELDS_ENTRY, this ); - - mEnablePskMode = mConnMethod->getBoolAttribute( - CMManagerShim::WlanEnableWpaPsk); - - mKeyData = mConnMethod->getString8Attribute( - CMManagerShim::WlanWpaPreSharedKey); - - loadEapConfigurations(); - - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_LOADWPA_WPA2FIELDS_EXIT, this ); -} - -/*! - Reads the WLAN security eap related fields from CommsDb and from EAP Qt - Configuration Interface - */ -void CpWpaCmnUiPrivate::load802Dot1xFields() -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_LOAD802DOT1XFIELDS_ENTRY, this ); - - loadEapConfigurations(); - - mUnencryptState - = mConnMethod->getBoolAttribute(CMManagerShim::Wlan802_1xAllowUnencrypted); - - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_LOAD802DOT1XFIELDS_EXIT, this ); - } - -/*! - Loads selected EAP method. - */ -void CpWpaCmnUiPrivate::loadEapConfigurations() -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_LOADEAPCONFIGURATIONS_ENTRY, this ); - - QList types = mEapQtConfigInterface->selectedOuterTypes(); - mCurrentEapPlugin = 0; - if (types.length() > 0) { - for (int i = 0; i < mPlugins.length(); ++i) - { - if (mPlugins.at(i).pluginHandle() == types.at(0)) { - mCurrentEapPlugin = i; - break; - } - } - } - - else { - types.append(mPlugins.at(0).pluginHandle()); - mEapQtConfigInterface->setSelectedOuterTypes(types); - } - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_LOADEAPCONFIGURATIONS_EXIT, this ); -} - - -/*! - * Reads the wlan security fields from CommsDb - */ -void CpWpaCmnUiPrivate::readValues() -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_READVALUES_ENTRY, this ); - - switch (mSecurityMode) - { - case CMManagerShim::WlanSecModeWpa: - case CMManagerShim::WlanSecModeWpa2: - loadWPA_WPA2Fields(); - break; - - case CMManagerShim::WlanSecMode802_1x: - default: - Q_ASSERT(mSecurityMode == CMManagerShim::WlanSecMode802_1x); - load802Dot1xFields(); - break; - } - - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_READVALUES_EXIT, this ); -} - - - -/*! - * Tries an Update on Comms Db for the latest settings. - * Catches and handles any exception while updating. - */ -bool CpWpaCmnUiPrivate::tryUpdate() -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_TRYUPDATE_ENTRY, this ); - int ret(true); - // Try update - try { - mConnMethod->update(); - } - catch (const std::exception&) { - // Handle error - handleUpdateError(); - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_TRYUPDATE_EXIT, this ); - ret = false; - } - OstTraceFunctionExit1( DUP1_CPWPACMNUIPRIVATE_TRYUPDATE_EXIT, this ); - return ret; -} - -/*! - Handles failed CommsDat update. - */ -void CpWpaCmnUiPrivate::handleUpdateError() -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_HANDLEUPDATEERROR_ENTRY, this ); - // Show error note to user - showMessageBox(HbMessageBox::MessageTypeWarning, hbTrId( - "txt_occ_info_unable_to_save_setting")); - // Reload settings from CommsDat and update UI - try { - mConnMethod->refresh(); - } - catch (const std::exception&) { - // Ignore error from refresh. Most likely this will not happen, but - // if it does, there isn't very much we can do. - OstTrace0( TRACE_ERROR, CPWPACMNUIPRIVATE_HANDLEUPDATEERROR, "CpWpaCmnUiPrivate::handleUpdateError" ); - - }; - - //Call reset on Ui elements - reset(); - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_HANDLEUPDATEERROR_EXIT, this ); -} - -/*! - Shows message box with "OK" button using given text. - */ -void CpWpaCmnUiPrivate::showMessageBox(HbMessageBox::MessageBoxType type, - const QString &text) -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_SHOWMESSAGEBOX_ENTRY, this ); - // Create a message box - mMessageBox = QSharedPointer (new HbMessageBox(type)); - mMessageBox->setText(text); - mMessageBox->open(); - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_SHOWMESSAGEBOX_EXIT, this ); -} - -/*! - * Resets all the Ui elements to their previous values, - * by reading values from DB - */ -void CpWpaCmnUiPrivate::reset() -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_RESET_ENTRY, this ); - - //Reload Ui with the previous settings (read from Comms ) - loadUi(); - - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_RESET_EXIT, this ); -} - -/*! - Method to handle change in wpa mode :- PSK /EAP, - Update Key in Comms - - \param pskEnable the current mode chosen - */ -void CpWpaCmnUiPrivate::updateWpaType(int pskEnable) -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_UPDATEWPATYPE_ENTRY, this ); - int err; - bool PskEnable = pskEnable ? true : false; - - QT_TRYCATCH_ERROR(err,mConnMethod->setBoolAttribute(CMManagerShim::WlanEnableWpaPsk, PskEnable)); - - if (err != KErrNone) { - OstTrace1( TRACE_ERROR, CPWPACMNUIPRIVATE_UPDATEWPATYPE, "CpWpaCmnUiPrivate::updateWpaType;err=%d", err ); - } - tryUpdate(); - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_UPDATEWPATYPE_EXIT, this ); -} - -/*! - Slot to handle change in pre-shared key string - - \param key changed string for PSK - */ -void CpWpaCmnUiPrivate::updatePskKey(QString &key) -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_UPDATEPSKKEY_ENTRY, this ); - int err; - //Check for Validity of Pre-shared Key - WpaKeyValidator::KeyStatus keystatus = WpaKeyValidator::validateWpaKey(key); - - if (keystatus == WpaKeyValidator::KeyStatusOk) { - QT_TRYCATCH_ERROR(err, mConnMethod->setString8Attribute(CMManagerShim::WlanWpaPreSharedKey, key)); - if (err != KErrNone) { - OstTrace1( TRACE_ERROR, CPWPACMNUIPRIVATE_UPDATEPSKKEY, "CpWpaCmnUiPrivate::updatePskKey;err=%d", err ); - } - tryUpdate(); - - //Store the String that was just set - mKeyData = key; - } - else { - showMessageBox(HbMessageBox::MessageTypeWarning, hbTrId( - "txt_occ_info_invalid_input")); - } - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_UPDATEPSKKEY_EXIT, this ); -} - - - -//====================== PRIVATE SLOTS=================================== - - -/*! - Slot to handle change in wpa mode :- PSK /EAP - Emits a mode change signal to the security plugin - to indicate the change - - \param pskEnable the current mode chosen - */ -void CpWpaCmnUiPrivate::wpaTypeChanged(int pskEnable) -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_WPATYPECHANGED_ENTRY, this ); - - mEnablePskMode = pskEnable == 0 ? false : true; - - if (mEnablePskMode) { - loadWPAPskView(); - } - else { - loadWPAEapView(); - } - - //Update pskEnable flag in DB - updateWpaType(pskEnable); - - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_WPATYPECHANGED_EXIT, this ); -} - -/*! - Slot to handle change in eap method in use. - Emits signal back to the security plugin to indicate - the change - \param currentplugin plugin number to indicate the - eap method in use - */ -void CpWpaCmnUiPrivate::eapTypeChanged(int eapPlugin) -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_EAPTYPECHANGED_ENTRY, this ); - - mCurrentEapPlugin = eapPlugin; - QList outerHandles; - outerHandles.append(mPlugins.at(mCurrentEapPlugin).pluginHandle()); - mEapQtConfigInterface->setSelectedOuterTypes(outerHandles); - - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_EAPTYPECHANGED_EXIT, this ); -} - -/*! - Slot to handle change in pre-shared key string - Emits signal back to the security plugin to indicate - the change - - */ -void CpWpaCmnUiPrivate::pskKeyChanged() -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_PSKKEYCHANGED_ENTRY, this ); - - QVariant keyValue = mPskKeyText->contentWidgetData("text"); - QString keyString = keyValue.toString(); - - //Update Pre Shared key in DB - updatePskKey(keyString); - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_PSKKEYCHANGED_EXIT, this ); -} - -/*! - Slot to handle change in the state of unencrypted connection; - to indicate if such a connection is allowed. - Emits signal back to the security plugin to indicate - the change - \param state checked-Allowed / Unchecked-Not allowed - */ -void CpWpaCmnUiPrivate::unencryptConnStateChanged(int state) -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_UNENCRYPTCONNSTATECHANGED_ENTRY, this ); - - bool checked = (state == Qt::Checked) ? true : false; - mConnMethod->setBoolAttribute( - CMManagerShim::Wlan802_1xAllowUnencrypted,checked); - - tryUpdate(); - - //store the Unencrypted Connection State - mUnencryptState = checked; - - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_UNENCRYPTCONNSTATECHANGED_EXIT, this ); -} - -/*! - * Slot that configures the editor settings for Pre-Shared Key Field. - * This slot is invoked whenever a new item(s) are shown in the current view - * - * \param modelIndex Index of the current item in the model - */ -void CpWpaCmnUiPrivate::setEditorPreferences(const QModelIndex &modelIndex) -{ - - HbDataFormModelItem *item = mDataHelper.modelItemFromModelIndex(modelIndex); - - /* Configure settings only for text fields*/ - if(item->type() == HbDataFormModelItem::TextItem) { - HbLineEdit *edit = qobject_cast(mDataHelper.widgetFromModelIndex(modelIndex)); - HbEditorInterface editInterface(edit); - editInterface.setInputConstraints(HbEditorConstraintLatinAlphabetOnly); - edit->setInputMethodHints(Qt::ImhNoPredictiveText); - } -} - -/*! - Validates current security settings. This function is called whenever - user tries to exit from the settings view. If the plugin determines - that some settings need editing before considered valid, it shall - return false. A dialog will be shown to the user indicating that - settings are still incomplete and asking if he/she wishes to exit - anyway. - - \return True if security settings fpr WPA/WPA2 , WPA2 only are valid, - false if not. -*/ -bool CpWpaCmnUiPrivate::validateSettings() -{ - bool ret(false); - if(mEnablePskMode) { - //Check the latest string entered for the Pre-Shared key in the text box - QVariant keyValue = mPskKeyText->contentWidgetData("text"); - QString keyString = keyValue.toString(); - WpaKeyValidator::KeyStatus keystatus = WpaKeyValidator::validateWpaKey(keyString); - - if (keystatus == WpaKeyValidator::KeyStatusOk && (!keyString.isEmpty())) { - ret= true; - } - } - else{ - //return true if EAP mode - ret = true; - } - return ret; -} - -/*! - comparator for qSort() method to sort Eap plugins based on ordernumber. - - @param plugin1 Plugin1 - @param plugin2 Plugin2 - */ -bool CpWpaCmnUiPrivate::pluginLessThan( - const EapQtPluginInfo &plugin1, - const EapQtPluginInfo &plugin2) -{ - return plugin1.orderNumber() < plugin2.orderNumber(); -} - -