cmmanager/cpwlanapplugin/src/cpwlanapview.cpp
branchRCL_3
changeset 58 83ca720e2b9a
parent 57 05bc53fe583b
child 62 bb1f80fb7db2
--- a/cmmanager/cpwlanapplugin/src/cpwlanapview.cpp	Tue Aug 31 15:35:44 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,856 +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 WLAN AP settings view implementation.
-*
-*/
-
-// System includes
-#include <QString>
-#include <QVariant>
-#include <QDir>
-#include <QPluginLoader>
-#include <HbMainWindow>
-#include <HbMenu>
-#include <HbDataForm>
-#include <HbDataFormModel>
-#include <HbDataFormViewItem>
-#include <HbLineEdit>
-#include <HbEditorInterface>
-#include <HbUrlFilter>
-#include <HbPopup>
-#include <HbMessageBox>
-#include <HbAction>
-#include <HbStringUtil>
-#include <wlanmgmtcommon.h>
-#include <cpitemdatahelper.h>
-#include <cpsettingformitemdata.h>
-#include <cppluginutility.h>
-#include <cmconnectionmethod_shim.h>
-#include <cpwlansecurityplugininterface.h>
-
-// User includes
-#include "cpwlanapplugin.h"
-#include "cpwlanapview.h"
-#include "cpwlanapadvancedview.h"
-#include "OstTraceDefinitions.h"
-#ifdef OST_TRACE_COMPILER_IN_USE
-#include "cpwlanapviewTraces.h"
-#endif
-
-/*!
-    \class CpWlanApView
-    \brief This class implements the WLAN AP Control Panel settings view.
-*/
-
-// External function prototypes
-
-// Local constants
-
-static const QString wlanSecurityPluginsDir =
-    "\\resource\\qt\\plugins\\controlpanel\\wlansecurity";
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-/*!
-    Constructor.
-*/
-CpWlanApView::CpWlanApView(
-    CmConnectionMethodShim *cmConnectionMethod,
-    QGraphicsItem *parent) :
-        CpBaseSettingView(0, parent),
-        mForm(0),
-        mModel(0),
-        mItemDataHelper(0),
-        mApSettingsGroupItem(0),
-        mConnectionNameItem(0),
-        mWlanNetworkNameItem(0),
-        mNetworkStatusItem(0),
-        mNetworkModeItem(0),
-        mAdHocChannelItem(0),
-        mSecurityModeItem(0),
-        mHomepageItem(0),
-        mSecuritySettingsGroupItem(0),
-        mAdvancedSettingsAction(0),
-        mCmConnectionMethod(cmConnectionMethod),
-        mMessageBox(0)
-{
-    OstTraceFunctionEntry0(CPWLANAPVIEW_CPWLANAPVIEW_ENTRY);
-    
-    // Add "Advanced settings" menu item
-    HbMenu *menu = this->menu();
-    mAdvancedSettingsAction = menu->addAction(
-        hbTrId("txt_occ_opt_advanced_settings"));
-    bool status = connect(
-        menu,
-        SIGNAL(triggered(HbAction*)),
-        this,
-        SLOT(menuActionTriggered(HbAction*)));
-    Q_ASSERT(status);
-
-    // Construct WLAN AP settings UI
-    mForm = new HbDataForm();
-    this->setWidget(mForm);
-    CpPluginUtility::addCpItemPrototype(mForm);
-    mModel = new HbDataFormModel(mForm);
-    
-    // The parameter given as 0 is a HbDataForm pointer, not parent
-    mItemDataHelper = new CpItemDataHelper(0);
-    mItemDataHelper->setParent(this);
-
-    // Add access point settings group
-    createAccessPointSettingsGroup();
-        
-    mItemDataHelper->bindToForm(mForm);
-    mForm->setModel(mModel);
-
-    status = connect(
-        mForm,
-        SIGNAL(itemShown(const QModelIndex)),
-        this,
-        SLOT(setEditorPreferences(const QModelIndex)));
-    Q_ASSERT(status);
-
-    // Expand access point settings group
-    mForm->setExpanded(mModel->indexFromItem(mApSettingsGroupItem), TRUE);
-        
-    // Add security settings group if necessary
-    updateSecurityGroup(
-        mSecurityModeItem->contentWidgetData("currentIndex").toInt());
-    
-    OstTraceFunctionExit0(CPWLANAPVIEW_CPWLANAPVIEW_EXIT);
-}
-
-/*!
-    Destructor.
-*/
-CpWlanApView::~CpWlanApView()
-{
-    OstTraceFunctionEntry0(DUP1_CPWLANAPVIEW_CPWLANAPVIEW_ENTRY);
-    
-    OstTraceFunctionExit0(DUP1_CPWLANAPVIEW_CPWLANAPVIEW_EXIT);
-}
-
-/*!
-    Creates the WLAN "Access point settings" group.
-*/
-void CpWlanApView::createAccessPointSettingsGroup()
-{
-    OstTraceFunctionEntry0(CPWLANAPVIEW_CREATEACCESSPOINTSETTINGSGROUP_ENTRY);
-    
-    // Access point settings group
-    mApSettingsGroupItem = new HbDataFormModelItem(
-        HbDataFormModelItem::GroupItem, 
-        hbTrId("txt_occ_subhead_access_point_settings"));
-    mModel->appendDataFormItem(mApSettingsGroupItem);
-    
-    // Connection name
-    mConnectionNameItem = new CpSettingFormItemData(
-        HbDataFormModelItem::TextItem,
-        hbTrId("txt_occ_setlabel_connection_name"));
-    // Connect signal and add item to group
-    mForm->addConnection(
-        mConnectionNameItem,
-        SIGNAL(editingFinished()),
-        this,
-        SLOT(connectionNameChanged()));
-    mConnectionNameItem->setContentWidgetData("objectName", "connectionNameEdit");
-    mApSettingsGroupItem->appendChild(mConnectionNameItem); 
-    
-    // WLAN network name
-    mWlanNetworkNameItem = new CpSettingFormItemData(
-        HbDataFormModelItem::TextItem,
-        hbTrId("txt_occ_setlabel_wlan_network_name"));
-    // Connect signal and add item to group
-    mForm->addConnection(
-        mWlanNetworkNameItem,
-        SIGNAL(editingFinished()),
-        this,
-        SLOT(wlanNetworkNameChanged()));
-    mWlanNetworkNameItem->setContentWidgetData("objectName", "wlanNetworkNameEdit");
-    mApSettingsGroupItem->appendChild(mWlanNetworkNameItem);
-    
-    // Network status
-    mNetworkStatusItem = new CpSettingFormItemData(
-        HbDataFormModelItem::ComboBoxItem,
-        hbTrId("txt_occ_setlabel_network_status"));
-    // Add items to combobox
-    QStringList networkStatusItems;
-    networkStatusItems
-        << hbTrId("txt_occ_setlabel_network_status_val_public")
-        << hbTrId("txt_occ_setlabel_network_status_val_hidden");
-    mNetworkStatusItem->setContentWidgetData("items", networkStatusItems);
-    // Construct map to link item indexes to setting values
-    mNetworkStatusMap.insert(0, false); // public
-    mNetworkStatusMap.insert(1, true); // hidden
-    // Connect signal and add item to group
-    mForm->addConnection(
-        mNetworkStatusItem,
-        SIGNAL(currentIndexChanged(int)),
-        this,
-        SLOT(networkStatusChanged(int)));
-    mNetworkStatusItem->setContentWidgetData("objectName", "networkStatusCB");
-    mApSettingsGroupItem->appendChild(mNetworkStatusItem);
-    
-    // Network mode
-    mNetworkModeItem = new CpSettingFormItemData(
-        HbDataFormModelItem::ComboBoxItem,
-        hbTrId("txt_occ_setlabel_wlan_network_mode"));
-    // Add items to combobox
-    QStringList networkModeItems;
-    networkModeItems
-        << hbTrId("txt_occ_setlabel_wlan_network_mode_val_infrastruct")
-        << hbTrId("txt_occ_setlabel_wlan_network_mode_val_adhoc");
-    mNetworkModeItem->setContentWidgetData("items", networkModeItems);
-    // Construct map to link item indexes to setting values
-    mNetworkModeMap.insert(0, CMManagerShim::Infra); // infrastructure
-    mNetworkModeMap.insert(1, CMManagerShim::Adhoc); // adhoc
-    // Connect signal and add item to group
-    mForm->addConnection(
-        mNetworkModeItem,
-        SIGNAL(currentIndexChanged(int)),
-        this,
-        SLOT(networkModeChanged(int)));
-    mNetworkModeItem->setContentWidgetData("objectName", "networkModeCB");
-    mApSettingsGroupItem->appendChild(mNetworkModeItem);
-    
-    // Ad-hoc channel
-    // Added dynamically according to set network mode
-    
-    // Security mode
-    mSecurityModeItem = new CpSettingFormItemData(
-        HbDataFormModelItem::ComboBoxItem,
-        hbTrId("txt_occ_setlabel_wlan_security_mode"));
-    // Security modes added dynamically according to set network mode
-
-    // Connect signal and add item to group
-    mForm->addConnection(
-        mSecurityModeItem,
-        SIGNAL(currentIndexChanged(int)),
-        this,
-        SLOT(securityModeChanged(int)));
-    mSecurityModeItem->setContentWidgetData("objectName", "securityModeCB");
-    mApSettingsGroupItem->appendChild(mSecurityModeItem);
-    
-    // Homepage
-    mHomepageItem = new CpSettingFormItemData(
-        HbDataFormModelItem::TextItem,
-        hbTrId("txt_occ_setlabel_homepage"));
-    // Connect signal and add item to group
-    mForm->addConnection(
-        mHomepageItem,
-        SIGNAL(editingFinished()),
-        this,
-        SLOT(homepageChanged()));
-    mHomepageItem->setContentWidgetData("objectName", "homepageEdit");
-    mApSettingsGroupItem->appendChild(mHomepageItem);
-    
-    // Read settings from CommsDat and update widgets
-    updateAccessPointSettingsGroup();
-    
-    OstTraceFunctionExit0(CPWLANAPVIEW_CREATEACCESSPOINTSETTINGSGROUP_EXIT);
-}
-
-/*!
-    Reads attribute values and updates "Access point settings" group settings.
-*/
-void CpWlanApView::updateAccessPointSettingsGroup()
-{
-    OstTraceFunctionEntry0(CPWLANAPVIEW_UPDATEACCESSPOINTSETTINGSGROUP_ENTRY);
-    
-    // Get attributes from CommsDat and set values to UI widgets
-    
-    // Connection name
-    QString connectionName = mCmConnectionMethod->getStringAttribute(
-        CMManagerShim::CmName);
-    mConnectionNameItem->setContentWidgetData("text", connectionName);
-    
-    // WLAN network name
-    QString networkName = mCmConnectionMethod->getStringAttribute(
-        CMManagerShim::WlanSSID);
-    mWlanNetworkNameItem->setContentWidgetData("text", networkName);
-    
-    // Network status
-    bool scanSsid = mCmConnectionMethod->getBoolAttribute(
-        CMManagerShim::WlanScanSSID);
-    mNetworkStatusItem->setContentWidgetData(
-        "currentIndex",
-        mNetworkStatusMap.key(scanSsid));
-    
-    // Network mode
-    CMManagerShim::WlanConnMode networkMode =
-		static_cast<CMManagerShim::WlanConnMode>
-      	(mCmConnectionMethod->getIntAttribute(
-            CMManagerShim::WlanConnectionMode));
-    mNetworkModeItem->setContentWidgetData(
-        "currentIndex",
-        mNetworkModeMap.key(networkMode));
-    
-    // Ad-hoc channel
-    updateAdHocChannelItem(networkMode);
-    
-    // Security mode
-    updateSecurityModeItem(networkMode);
-    
-    // Homepage
-    QString homepage = mCmConnectionMethod->getStringAttribute(
-        CMManagerShim::CmStartPage);
-    mHomepageItem->setContentWidgetData("text", homepage);
-    
-    OstTraceFunctionExit0(CPWLANAPVIEW_UPDATEACCESSPOINTSETTINGSGROUP_EXIT);
-}
-
-/*!
-    Loads all WLAN security plugins.
-*/
-void CpWlanApView::loadSecurityPlugins(
-    CMManagerShim::WlanConnMode networkMode)
-{
-    OstTraceFunctionEntry0(CPWLANAPVIEW_LOADSECURITYPLUGINS_ENTRY);
-    
-    // Load security plugins
-    QList<CpWlanSecurityPluginInterface *> plugins;
-    QDir pluginsDir(wlanSecurityPluginsDir);
-    foreach (QString fileName, pluginsDir.entryList(QDir::Files)) {
-        QPluginLoader loader(pluginsDir.absoluteFilePath(fileName));
-        CpWlanSecurityPluginInterface *plugin = 
-            qobject_cast<CpWlanSecurityPluginInterface *>(loader.instance());
-        if (plugin) {
-            // Sort items based on the orderNumber()
-            QList<CpWlanSecurityPluginInterface *>::iterator i;
-            for (i = plugins.begin(); i != plugins.end(); ++i) {
-                if ((*i)->orderNumber() > plugin->orderNumber()) {
-                    plugins.insert(i, plugin);
-                    plugin = NULL;
-                    break;
-                }
-            }
-            if (plugin) {
-                plugins.append(plugin);
-            }
-        }
-    }
-    
-    // Add security plugins to map. If network mode is ad-hoc, only WEP
-    // is allowed.
-    int i;
-    i = mSecurityModeMap.size();
-    foreach (CpWlanSecurityPluginInterface *plugin, plugins) {
-        if (networkMode != CMManagerShim::Adhoc
-            || plugin->securityMode() == CMManagerShim::WlanSecModeWep) {
-            mSecurityModeMap.insert(i, plugin);
-            i++;
-        }
-    }
-    
-    OstTraceFunctionExit0(CPWLANAPVIEW_LOADSECURITYPLUGINS_EXIT);
-}
-
-/*!
-    Updates the "Security settings" group.
-*/
-void CpWlanApView::updateSecurityGroup(int index)
-{
-    OstTraceFunctionEntry0(CPWLANAPVIEW_UPDATESECURITYGROUP_ENTRY);
-    
-    // Remove old security settings group
-    if (mSecuritySettingsGroupItem) {
-        mModel->removeItem(mSecuritySettingsGroupItem);
-        mSecuritySettingsGroupItem = NULL;
-    }
-
-    // Add new security settings group
-    if (index > 0) {
-        // Get correct security plugin
-        CpWlanSecurityPluginInterface *plugin = mSecurityModeMap.value(index);
-        if (plugin) {
-            // Ask plugin to create the security group
-            plugin->setReference(
-                mCmConnectionMethod,
-                mCmConnectionMethod->getIntAttribute(CMManagerShim::CmId));
-            mSecuritySettingsGroupItem = plugin->uiInstance(*mItemDataHelper);
-            if (mSecuritySettingsGroupItem) {
-                // And add it to dataform
-                mModel->appendDataFormItem(mSecuritySettingsGroupItem);
-            }
-        }
-    }
-    
-    OstTraceFunctionExit0(CPWLANAPVIEW_UPDATESECURITYGROUP_EXIT);
-}
-
-/*!
-    Shows message box with "OK" button using given text.
-*/
-void CpWlanApView::showMessageBox(
-    HbMessageBox::MessageBoxType type,
-    const QString &text)
-{
-    OstTraceFunctionEntry0(CPWLANAPVIEW_SHOWMESSAGEBOX_ENTRY);
-    
-    // Create a message box
-    mMessageBox = QSharedPointer<HbMessageBox>(new HbMessageBox(type));
-    mMessageBox->setText(text);
-    mMessageBox->setModal(true);
-    mMessageBox->setTimeout(HbPopup::NoTimeout);
-    mMessageBox->open();
-    
-    OstTraceFunctionExit0(CPWLANAPVIEW_SHOWMESSAGEBOX_EXIT);
-}
-
-/*!
-    Tries to update connection method changes to CommsDat.
-    Returns "true" if success, "false" if some error happened. 
-*/
-bool CpWlanApView::tryUpdate()
-{
-    OstTraceFunctionEntry0(CPWLANAPVIEW_TRYUPDATE_ENTRY);
-    
-    // Try update
-    try {
-        mCmConnectionMethod->update();
-    }
-    catch (const std::exception&) {
-        // Handle error
-        handleUpdateError();
-        
-        OstTraceFunctionExit0(CPWLANAPVIEW_TRYUPDATE_EXIT);
-        return false;
-    }
-
-    OstTraceFunctionExit0(DUP1_CPWLANAPVIEW_TRYUPDATE_EXIT);
-    return true;
-}
-
-/*!
-    Handles failed CommsDat update.
- */
-void CpWlanApView::handleUpdateError()
-{
-    OstTraceFunctionEntry0(CPWLANAPVIEW_HANDLEUPDATEERROR_ENTRY);
-    
-    // Show error note to user
-    showMessageBox(
-        HbMessageBox::MessageTypeWarning,
-        hbTrId("txt_occ_info_unable_to_save_setting"));
-    // Reload settings from CommsDat and update UI
-    try {
-        mCmConnectionMethod->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,
-            CPWLANAPPLUGIN_HANDLEUPDATEERROR,
-            "Refresh failed");
-    };
-    updateAccessPointSettingsGroup();
-    
-    OstTraceFunctionExit0(CPWLANAPVIEW_HANDLEUPDATEERROR_EXIT);
-}
-
-/*!
-    Updates Ad-hoc channel item. Setting item is shown if network mode is
-    ad-hoc, otherwise it is not shown.
- */
-void CpWlanApView::updateAdHocChannelItem(
-    CMManagerShim::WlanConnMode networkMode)
-{
-    if (networkMode == CMManagerShim::Infra) {
-        // Infrastructure
-        if (mAdHocChannelItem) {
-            mApSettingsGroupItem->removeChild(
-                mApSettingsGroupItem->indexOf(mAdHocChannelItem));
-            mAdHocChannelItem = NULL;
-        }
-    } else {
-        // Ad-hoc
-        if (!mAdHocChannelItem) {
-            // Ad-hoc channel item not shown, add it
-            mAdHocChannelItem = new CpSettingFormItemData(
-                HbDataFormModelItem::ComboBoxItem,
-                hbTrId("txt_occ_setlabel_adhoc_channel"));
-            // Add items to combobox
-            QStringList adHocChannelItems;
-            adHocChannelItems
-                << hbTrId("txt_occ_setlabel_adhoc_channel_val_automatic");
-            for (int i = WlanAdHocChannelMinValue;
-                i <= WlanAdHocChannelMaxValue;
-                i++) {
-                QString channel;
-                channel.setNum(i);
-                adHocChannelItems << HbStringUtil::convertDigits(channel);
-            }
-            mAdHocChannelItem->setContentWidgetData(
-                "items",
-                adHocChannelItems);
-            // Connect signal and add item to group
-            mForm->addConnection(
-                mAdHocChannelItem,
-                SIGNAL(currentIndexChanged(int)),
-                this,
-                SLOT(adHocChannelChanged(int)));
-            // Add item after the network mode item
-            mApSettingsGroupItem->insertChild(
-                mApSettingsGroupItem->indexOf(mNetworkModeItem) + 1,
-                mAdHocChannelItem);
-        }
-        // Update ad-hoc item
-        int adHocChannelId = mCmConnectionMethod->getIntAttribute(
-            CMManagerShim::WlanChannelID);
-        mAdHocChannelItem->setContentWidgetData(
-            "currentIndex",
-            adHocChannelId);
-    }
-}
-
-/*!
-    Updates security mode item.
- */
-void CpWlanApView::updateSecurityModeItem(
-    CMManagerShim::WlanConnMode networkMode)
-{
-    // Load WLAN security plugins and construct map
-    mSecurityModeMap.clear();
-    mSecurityModeMap.insert(0, NULL); // open mode
-    loadSecurityPlugins(networkMode);
-    
-    // Add items to combobox
-    QStringList securityModeItems;
-    foreach (CpWlanSecurityPluginInterface *plugin, mSecurityModeMap) {
-        if (plugin) {
-            // Add security mode from plugin
-            securityModeItems
-                << hbTrId(plugin->securityModeTextId().toLatin1());
-        } else {
-            // Add open mode
-            securityModeItems
-                << hbTrId("txt_occ_setlabel_wlan_security_mode_val_open");
-        }
-    }
-    // Remove connection before setting new content, because combobox
-    // will emit currentIndexChanged signal and we don't want that.
-    mForm->removeConnection(
-        mSecurityModeItem,
-        SIGNAL(currentIndexChanged(int)),
-        this,
-        SLOT(securityModeChanged(int)));
-    mSecurityModeItem->setContentWidgetData("items", securityModeItems);
-    mForm->addConnection(
-        mSecurityModeItem,
-        SIGNAL(currentIndexChanged(int)),
-        this,
-        SLOT(securityModeChanged(int)));
-    
-    uint securityMode = mCmConnectionMethod->getIntAttribute(
-        CMManagerShim::WlanSecurityMode);
-    // Iterate through the map to find correct security plugin and set
-    // mode index
-    int securityModeIndex = 0;
-    QMapIterator<int, CpWlanSecurityPluginInterface *> i(mSecurityModeMap);
-    while (i.hasNext()) {
-        i.next();
-        if (i.value()
-            && i.value()->securityMode() == securityMode) {
-            securityModeIndex = i.key();
-        }
-    }
-    mSecurityModeItem->setContentWidgetData("currentIndex",
-        securityModeIndex);
-    
-    if (securityMode != CMManagerShim::WlanSecModeOpen
-        && securityModeIndex == 0) {
-        // Security plugin implementing the selected security mode not found,
-        // set security mode to open also in CommsDat  
-        mCmConnectionMethod->setIntAttribute(
-            CMManagerShim::WlanSecurityMode,
-            CMManagerShim::WlanSecModeOpen);
-        // Try update
-        try {
-            mCmConnectionMethod->update();
-        }
-        catch (const std::exception&) {
-            // Error in update, but can't show error notes at this point
-        }
-    }
-}
-
-/*!
-    Stores connection name.
-*/
-void CpWlanApView::connectionNameChanged()
-{
-    OstTraceFunctionEntry0(CPWLANAPVIEW_CONNECTIONNAMECHANGED_ENTRY);
-    
-    QString connectionName =
-        mConnectionNameItem->contentWidgetData("text").toString();
-    if (!connectionName.isEmpty()) {
-        // Update to CommsDat
-        mCmConnectionMethod->setStringAttribute(
-            CMManagerShim::CmName,
-            connectionName);
-        if (tryUpdate()) {
-            // Update successful
-            // Read name because in case the name already exists it will
-            // be made unique by CMManager
-            connectionName = mCmConnectionMethod->getStringAttribute(
-                CMManagerShim::CmName);
-            mConnectionNameItem->setContentWidgetData("text", connectionName);
-        }
-    } else {
-        // Inform user of invalid name
-        showMessageBox(
-            HbMessageBox::MessageTypeInformation,
-            hbTrId("txt_occ_info_invalid_name"));
-
-        // Empty name not allowed, revert back to old value
-        connectionName = mCmConnectionMethod->getStringAttribute(
-            CMManagerShim::CmName);
-        mConnectionNameItem->setContentWidgetData("text", connectionName);
-    }
-
-    OstTraceFunctionExit0(CPWLANAPVIEW_CONNECTIONNAMECHANGED_EXIT);
-}
-
-/*!
-    Stores WLAN network name.
-*/
-void CpWlanApView::wlanNetworkNameChanged()
-{
-    OstTraceFunctionEntry0(CPWLANAPVIEW_WLANNETWORKNAMECHANGED_ENTRY);
-    
-    // Update to CommsDat
-    QString wlanNetworkName =
-        mWlanNetworkNameItem->contentWidgetData("text").toString();
-    if (!wlanNetworkName.isEmpty()) {
-        mCmConnectionMethod->setStringAttribute(
-            CMManagerShim::WlanSSID,
-            wlanNetworkName);
-        (void)tryUpdate();
-    } else {
-        // Inform user of invalid name
-        showMessageBox(
-            HbMessageBox::MessageTypeInformation,
-            hbTrId("txt_occ_info_invalid_name"));
-
-        // Empty name not allowed, revert back to old value
-        wlanNetworkName = mCmConnectionMethod->getStringAttribute(
-            CMManagerShim::WlanSSID);
-        mWlanNetworkNameItem->setContentWidgetData("text", wlanNetworkName);
-    }
-    
-    OstTraceFunctionExit0(CPWLANAPVIEW_WLANNETWORKNAMECHANGED_EXIT);
-}
-
-/*!
-    Stores WLAN network status.
-*/
-void CpWlanApView::networkStatusChanged(int index)
-{
-    OstTraceFunctionEntry0(CPWLANAPVIEW_NETWORKSTATUSCHANGED_ENTRY);
-    
-    // Update to CommsDat
-    mCmConnectionMethod->setBoolAttribute(
-        CMManagerShim::WlanScanSSID,
-        mNetworkStatusMap.value(index));
-    (void)tryUpdate();
-    
-    OstTraceFunctionExit0(CPWLANAPVIEW_NETWORKSTATUSCHANGED_EXIT);
-}
-
-/*!
-    Stores WLAN network mode.
-*/
-void CpWlanApView::networkModeChanged(int index)
-{
-    OstTraceFunctionEntry0(CPWLANAPVIEW_NETWORKMODECHANGED_ENTRY);
-    
-    // Update to CommsDat
-    mCmConnectionMethod->setIntAttribute(
-        CMManagerShim::WlanConnectionMode,
-        mNetworkModeMap.value(index));
-    if (tryUpdate()) {
-        // If mode is ad-hoc, ad-hoc channel item must be shown
-        CMManagerShim::WlanConnMode networkMode =
-            static_cast<CMManagerShim::WlanConnMode>
-                (mNetworkModeMap.value(index));
-        updateAdHocChannelItem(networkMode);
-		// Also security mode list may need updating
-        updateSecurityModeItem(networkMode);
-    }
-    
-    OstTraceFunctionExit0(CPWLANAPVIEW_NETWORKMODECHANGED_EXIT);
-}
-
-/*!
-    Stores ad-hoc channel ID.
-*/
-void CpWlanApView::adHocChannelChanged(int index)
-{
-    OstTraceFunctionEntry0(CPWLANAPVIEW_ADHOCCHANNELCHANGED_ENTRY);
-    
-    // Update to CommsDat
-    mCmConnectionMethod->setIntAttribute(
-        CMManagerShim::WlanChannelID,
-        index);
-    (void)tryUpdate();
-    
-    OstTraceFunctionExit0(CPWLANAPVIEW_ADHOCCHANNELCHANGED_EXIT);
-}
-
-/*!
-    Stores WLAN security mode.
-*/
-void CpWlanApView::securityModeChanged(int index)
-{
-    OstTraceFunctionEntry0(CPWLANAPVIEW_SECURITYMODECHANGED_ENTRY);
-    
-    // Get security plugin
-    CpWlanSecurityPluginInterface *plugin = mSecurityModeMap.value(index);
-    // Update to CommsDat
-    if (plugin) {
-        mCmConnectionMethod->setIntAttribute(
-            CMManagerShim::WlanSecurityMode,
-            plugin->securityMode());
-    } else {
-        mCmConnectionMethod->setIntAttribute(
-            CMManagerShim::WlanSecurityMode,
-            CMManagerShim::WlanSecModeOpen);
-    }
-    (void)tryUpdate();
-    
-    // Update UI
-    updateSecurityGroup(
-        mSecurityModeItem->contentWidgetData("currentIndex").toInt());
-    
-    OstTraceFunctionExit0(CPWLANAPVIEW_SECURITYMODECHANGED_EXIT);
-}
-
-/*!
-    Stores homepage.
-*/
-void CpWlanApView::homepageChanged()
-{
-    OstTraceFunctionEntry0(CPWLANAPVIEW_HOMEPAGECHANGED_ENTRY);
-    
-    // Update to CommsDat
-    QString homepage = mHomepageItem->contentWidgetData("text").toString();
-    mCmConnectionMethod->setStringAttribute(
-        CMManagerShim::CmStartPage,
-        homepage);
-    (void)tryUpdate();
-    
-    OstTraceFunctionExit0(CPWLANAPVIEW_HOMEPAGECHANGED_EXIT);
-}
-
-/*!
-    Handles view menu actions.
-*/
-void CpWlanApView::menuActionTriggered(HbAction *action)
-{
-    OstTraceFunctionEntry0(CPWLANAPVIEW_MENUACTIONTRIGGERED_ENTRY);
-    
-    if (action == mAdvancedSettingsAction) {
-        HbMainWindow *mainWindow = this->mainWindow();
-
-        // Create the advanced settings view
-        HbView *newView = new CpWlanApAdvancedView(mCmConnectionMethod);
-        // Connect signal to return back to the previous view
-        bool status = QObject::connect(
-            newView,
-            SIGNAL(aboutToClose()),
-            this,
-            SLOT(restoreCurrentView()));
-        Q_ASSERT(status);
-        
-        mainWindow->addView(newView);
-        mainWindow->setCurrentView(newView);
-    }
-    
-    OstTraceFunctionExit0(CPWLANAPVIEW_MENUACTIONTRIGGERED_EXIT);
-}
-
-/*!
-    Removes current view from main window and sets this view as the
-    current view. Used when "back" button is pressed in "Advanced settings"
-    view.
-*/
-void CpWlanApView::restoreCurrentView()
-{
-    OstTraceFunctionEntry0(CPWLANAPVIEW_RESTORECURRENTVIEW_ENTRY);
-    
-    HbMainWindow *mainWindow = this->mainWindow();
-    
-    // Remove the previous view and delete it
-    HbView *prevView = mainWindow->currentView();
-    mainWindow->removeView(prevView);
-    prevView->deleteLater();
-    
-    // Set this view on top
-    mainWindow->setCurrentView(this);
-    
-    OstTraceFunctionExit0(CPWLANAPVIEW_RESTORECURRENTVIEW_EXIT);
-}
-
-/*!
-    Sets editor preferences for all HbLineEdit items.
-*/
-void CpWlanApView::setEditorPreferences(const QModelIndex modelIndex)
-{
-    OstTraceFunctionEntry0(CPWLANAPVIEW_SETEDITORPREFERENCES_ENTRY);
-    
-    HbDataFormViewItem *viewItem = qobject_cast<HbDataFormViewItem *>
-        (mForm->itemByIndex(modelIndex));
-    HbDataFormModelItem *modelItem = mModel->itemFromIndex(modelIndex);
-    
-    if (modelItem == mConnectionNameItem
-        || modelItem == mWlanNetworkNameItem
-        || modelItem == mHomepageItem ) {
-        // HbLineEdit items, get editor and editor interface
-        HbLineEdit *edit = qobject_cast<HbLineEdit *>
-            (viewItem->dataItemContentWidget());
-        HbEditorInterface editInterface(edit);
-        
-        if (modelItem == mConnectionNameItem) {
-            // Setup editor for connection name
-            editInterface.setInputConstraints(HbEditorConstraintLatinAlphabetOnly);
-            edit->setInputMethodHints(Qt::ImhNoPredictiveText); 
-            edit->setMaxLength(CMManagerShim::CmNameLength);
-        } else if (modelItem == mWlanNetworkNameItem) {
-            // Setup editor for WLAN SSID
-            editInterface.setMode(HbInputModeNone);
-            editInterface.setInputConstraints(HbEditorConstraintLatinAlphabetOnly);
-            editInterface.setEditorClass(HbInputEditorClassNetworkName); 
-            editInterface.setDigitType(HbDigitTypeNone);
-            edit->setInputMethodHints(
-                Qt::ImhNoPredictiveText | Qt::ImhPreferLowercase);
-            edit->setMaxLength(CMManagerShim::WlanSSIDLength);
-        } else { /* mHomepageItem */
-            // Setup editor for URL
-            editInterface.setMode(HbInputModeNone);
-            editInterface.setInputConstraints(HbEditorConstraintLatinAlphabetOnly);
-            editInterface.setFilter(HbUrlFilter::instance());
-            editInterface.setEditorClass(HbInputEditorClassUrl);
-            editInterface.setDigitType(HbDigitTypeNone);
-            edit->setInputMethodHints(
-                Qt::ImhNoPredictiveText | Qt::ImhPreferLowercase);
-            edit->setMaxLength(CMManagerShim::CmStartPageLength);
-        }
-    }
-    
-    OstTraceFunctionExit0(CPWLANAPVIEW_SETEDITORPREFERENCES_EXIT);
-}